Financeiro
Contas a pagar/receber, notas fiscais e impostos.
| Método | Path | Resumo | Acesso |
|---|---|---|---|
| GET | /teams/{teamId}/imports/jobs | Devolve a página de jobs do team, mais novos primeiro, com `next_cursor` keyset quando a página veio cheia. | Admin da equipe |
| POST | /teams/{teamId}/imports/jobs | Valida a fonte contra a allowlist deny-default, cria a linha `pending` e devolve 201 com as instruções de upload. | Admin da equipe |
| GET | /teams/{teamId}/imports/jobs/{id} | Detalhe + progresso de um job do team do caller; 404 quando o id não existe NESSE team. | Admin da equipe |
| POST | /teams/{teamId}/imports/jobs/{id}/cancel | Vira o status para `cancelled` quando o job é do team do caller E ainda está pendente/rodando; 409 caso contrário (o repo devolve `pgx.Er... | Admin da equipe |
| GET | /teams/{teamId}/imports/jobs/{id}/logs | Devolve linhas com `id > after_id` em ordem cronológica, para o poll incremental do painel de log. | Admin da equipe |
| POST | /teams/{teamId}/imports/jobs/{id}/start | Exige job `pending` com upload concluído e enfileira o envelope em `axuz:jobs`. | Admin da equipe |
| PUT | /teams/{teamId}/imports/jobs/{id}/upload | Transmite o corpo direto para o disco (sem bufferizar o ZIP inteiro em memória) sob `<storageDir>/imports/<job-id>.zip` e marca o upload... | Admin da equipe |
| GET | /teams/{teamId}/nfe/certificates | Devolve todos os certificados A1/A3 cadastrados no team. | Membro com permissão |
| POST | /teams/{teamId}/nfe/certificates | Valida o PFX (abre com a senha via parsePFXMetadata), extrai subject/issuer/serial/not_before/not_after e grava o par PFX+senha criptogra... | Admin da equipe |
| DELETE | /teams/{teamId}/nfe/certificates/{certId} | Marca o cert como revogado (soft revocation). | Admin da equipe |
| GET | /teams/{teamId}/nfe/invoices | Devolve as últimas 200 invoices do team (qualquer status). | Membro com permissão |
| POST | /teams/{teamId}/nfe/invoices | Cria uma invoice em status='draft'. | Membro com permissão |
| GET | /teams/{teamId}/nfe/invoices/{invoiceId} | Devolve a invoice + timeline de eventos. | Membro com permissão |
| POST | /teams/{teamId}/nfe/invoices/{invoiceId}/cancel | Cancela uma invoice. | Membro com permissão |
| GET | /teams/{teamId}/nfe/invoices/{invoiceId}/pdf | Redireciona pra URL do DANFE/DANFSE (assinado pelo driver). | Membro com permissão |
| POST | /teams/{teamId}/nfe/invoices/{invoiceId}/send | — gated pelo feature flag. | Membro com permissão |
| GET | /teams/{teamId}/nfe/invoices/{invoiceId}/xml | Entrega o XML assinado + protocolado. | Membro com permissão |
| GET | /teams/{teamId}/nfe/settings | Devolve as settings do módulo nfe do team. | Membro com permissão |
| PUT | /teams/{teamId}/nfe/settings | Aplica patch parcial nas settings do team. | Admin da equipe |
| GET | /teams/{teamId}/payables/accounts | Responde GET /teams/{teamId}/payables/accounts com o plano de contas do team ordenado por code. | Membro com permissão |
| POST | /teams/{teamId}/payables/accounts | Responde POST /teams/{teamId}/payables/accounts, persistindo uma conta contábil nova (chart_of_accounts) e registrando audit event coa.ac... | Membro com permissão |
| GET | /teams/{teamId}/payables/approval-policies | — GET /payables/approval-policies. | Membro com permissão |
| POST | /teams/{teamId}/payables/approval-policies | — POST /payables/approval-policies. | Admin da equipe |
| DELETE | /teams/{teamId}/payables/approval-policies/{policyId} | — DELETE /payables/approval-policies/{id}. | Admin da equipe |
| PATCH | /teams/{teamId}/payables/approval-policies/{policyId} | — PATCH /payables/approval-policies/{id}. | Admin da equipe |
| GET | /teams/{teamId}/payables/bills | Responde GET /payables/bills com filtros opcionais via query string: status, vendor_id, period=YYYY-MM (janela de due_date), overdue=true... | Membro com permissão |
| POST | /teams/{teamId}/payables/bills | Responde POST /payables/bills. | Membro com permissão |
| GET | /teams/{teamId}/payables/bills/{billId} | Responde GET /payables/bills/{billId} com bill + lines + payments + approvals + approval_progress. | Membro com permissão |
| PATCH | /teams/{teamId}/payables/bills/{billId} | Responde PATCH /payables/bills/{billId}. | Membro com permissão |
| POST | /teams/{teamId}/payables/bills/{billId}/approve | — HTTP da aprovação de bill. | Membro da equipe |
| POST | /teams/{teamId}/payables/bills/{billId}/move | — POST /teams/{teamId}/payables/bills/{billId}/move. | Membro com permissão |
| POST | /teams/{teamId}/payables/bills/{billId}/reject | — aprovador registra rejeição (bill volta pra draft pra ser revisada). | Membro da equipe |
| POST | /teams/{teamId}/payables/bills/{billId}/submit-for-approval | De qualquer forma; (2) bill foi criada abaixo do threshold mas requisita review discricionário. | Membro com permissão |
| POST | /teams/{teamId}/payables/bills/{billId}/void | Responde POST /payables/bills/{billId}/void. | Membro com permissão |
| POST | /teams/{teamId}/payables/boleto/parse | — endpoint síncrono do boleto parser. | Membro com permissão |
| GET | /teams/{teamId}/payables/dashboard | Responde GET /payables/dashboard?period=YYYY-MM com o resumo consolidado (spent/to_pay/overdue + comparação mês anterior + by_category +... | Membro com permissão |
| GET | /teams/{teamId}/payables/drive/boletos/tree | — wrapper que injeta o `kind` fixado no path (boleto/nfe/other) na query e delega pro driveTree. | Membro com permissão |
| GET | /teams/{teamId}/payables/drive/contratos/tree | — wrapper que injeta o `kind` fixado no path (boleto/nfe/other) na query e delega pro driveTree. | Membro com permissão |
| GET | /teams/{teamId}/payables/drive/nfe/tree | — wrapper que injeta o `kind` fixado no path (boleto/nfe/other) na query e delega pro driveTree. | Membro com permissão |
| GET | /teams/{teamId}/payables/expectations | Responde GET /payables/expectations com as expectations do team ordenadas por (active DESC, name ASC). | Membro com permissão |
| POST | /teams/{teamId}/payables/expectations | Responde POST /payables/expectations. | Membro com permissão |
| PATCH | /teams/{teamId}/payables/expectations/{expectationId} | Audit event expectation.updated com diff before/after. | Membro com permissão |
| GET | /teams/{teamId}/payables/occurrences | Responde GET /payables/occurrences?status=... | Membro com permissão |
| GET | /teams/{teamId}/payables/payment-methods | GET /teams/{teamId}/payables/payment-methods | Membro com permissão |
| POST | /teams/{teamId}/payables/payment-methods | Responde POST /payables/payment-methods. | Membro com permissão |
| GET | /teams/{teamId}/payables/payments | Responde GET /payables/payments com até 500 pagamentos do team, mais recentes primeiro. | Membro com permissão |
| POST | /teams/{teamId}/payables/payments | UPDATE bills; audit event payment.recorded; Redis pub bill.paid quando zerou o saldo ou bill.updated caso contrário. | Membro com permissão |
| POST | /teams/{teamId}/payables/payments/{paymentId}/reverse | Marca o pagamento como estornado, recalcula o saldo da bill a partir das alocações vivas e redefine o status dela — tudo na mesma transaç... | Membro com permissão |
| GET | /teams/{teamId}/payables/recurrences | — GET /payables/recurrences | Membro com permissão |
| POST | /teams/{teamId}/payables/recurrences | — POST /payables/recurrences | Membro com permissão |
| GET | /teams/{teamId}/payables/recurrences/{id} | — GET /payables/recurrences/{id} returning detail + last 5 generated bills. | Membro com permissão |
| DELETE | /teams/{teamId}/payables/recurrences/{id} | — DELETE /payables/recurrences/{id} (soft-delete via active=false; preserves audit trail + last_generated_bill_id). | Membro com permissão |
| PATCH | /teams/{teamId}/payables/recurrences/{id} | — PATCH /payables/recurrences/{id}. | Membro com permissão |
| POST | /teams/{teamId}/payables/recurrences/{id}/backfill | — POST /payables/recurrences/{id}/backfill Body: {"from": "YYYY-MM-DD"} Gera bills retroativos pra todas as ocorrências entre `from` e ho... | Membro com permissão |
| POST | /teams/{teamId}/payables/recurrences/{id}/run-now | — POST /payables/recurrences/{id}/run-now. | Membro com permissão |
| GET | /teams/{teamId}/payables/reports/aging | — GET /payables/reports/aging. | Membro com permissão |
| GET | /teams/{teamId}/payables/reports/by-category | — GET /payables/reports/by-category?period=YYYY-MM. | Membro com permissão |
| GET | /teams/{teamId}/payables/reports/by-vendor | — GET /payables/reports/by-vendor?period=YYYY-MM. | Membro com permissão |
| GET | /teams/{teamId}/payables/reports/cash-flow | Bills whose due_date falls in range with expectation occurrences' predicted_due_date that aren't already linked to a bill. | Membro com permissão |
| GET | /teams/{teamId}/payables/reports/export | Uma linha plana por bill (formato mais útil pra importar em ferramenta contábil). | Membro com permissão |
| GET | /teams/{teamId}/payables/settings | Responde GET /payables/settings com o workflow de aprovação do team (threshold + N approvers). | Membro com permissão |
| PUT | /teams/{teamId}/payables/settings | Responde PUT /payables/settings. | Admin da equipe |
| POST | /teams/{teamId}/payables/settings/approvers | Nomeia um membro ativo do team como aprovador; guest (papel só-guest) é recusado com 400 sem INSERT (W-012 S3). | Admin da equipe |
| DELETE | /teams/{teamId}/payables/settings/approvers/{userId} | Responde DELETE /payables/settings/approvers/{userId}. | Admin da equipe |
| GET | /teams/{teamId}/payables/vendors | Responde GET /payables/vendors com fornecedores vivos do team, ordenados por name. | Membro com permissão |
| POST | /teams/{teamId}/payables/vendors | Responde POST /payables/vendors. | Membro com permissão |
| GET | /teams/{teamId}/payables/vendors/{vendorId} | Responde GET /payables/vendors/{vendorId} com o fornecedor completo. | Membro com permissão |
| PATCH | /teams/{teamId}/payables/vendors/{vendorId} | Efeito: até 1 UPDATE vendors; audit event vendor.updated com before/after. | Membro com permissão |
| GET | /teams/{teamId}/receivables/customers | Responde GET /teams/{teamId}/receivables/customers. | Membro com permissão |
| POST | /teams/{teamId}/receivables/customers | Responde POST /customers criando um cliente PF/PJ. | Membro com permissão |
| GET | /teams/{teamId}/receivables/customers/{customerId} | Uma resposta. | Membro com permissão |
| DELETE | /teams/{teamId}/receivables/customers/{customerId} | Via WHERE deleted_at IS NULL. | Membro com permissão |
| PATCH | /teams/{teamId}/receivables/customers/{customerId} | Audit diff. | Membro com permissão |
| GET | /teams/{teamId}/receivables/customers/{customerId}/bank-accounts | Responde GET .../customers/{customerId}/bank-accounts. | Membro com permissão |
| POST | /teams/{teamId}/receivables/customers/{customerId}/bank-accounts | Body bankAccountIn. | Membro com permissão |
| DELETE | /teams/{teamId}/receivables/customers/{customerId}/bank-accounts/{accountId} | Responde DELETE .../bank-accounts/{accountId}. | Membro com permissão |
| GET | /teams/{teamId}/receivables/dashboard | Responde GET /dashboard?period=YYYY-MM com o resumo do mês. | Membro com permissão |
| GET | /teams/{teamId}/receivables/expectations | Responde GET /expectations com previsões de recebimento. | Membro com permissão |
| POST | /teams/{teamId}/receivables/expectations | Responde POST /expectations criando uma previsão. | Membro com permissão |
| DELETE | /teams/{teamId}/receivables/expectations/{id} | Responde DELETE /expectations/{id} marcando cancelled. | Membro com permissão |
| PATCH | /teams/{teamId}/receivables/expectations/{id} | Responde PATCH /expectations/{id} com update parcial. | Membro com permissão |
| POST | /teams/{teamId}/receivables/expectations/{id}/realize | Responde POST /expectations/{id}/realize. | Membro com permissão |
| GET | /teams/{teamId}/receivables/receipts | Responde GET /receipts com os últimos 500 recebimentos. | Membro com permissão |
| POST | /teams/{teamId}/receivables/receipts | Responde POST /receipts criando um recebimento. | Membro com permissão |
| GET | /teams/{teamId}/receivables/receipts/{receiptId} | Responde GET /receipts/{receiptId} com receipt + allocations. | Membro com permissão |
| POST | /teams/{teamId}/receivables/receipts/{receiptId}/allocate | Responde POST /receipts/{receiptId}/allocate. | Membro com permissão |
| GET | /teams/{teamId}/receivables/receivables | Responde GET /receivables com filtros combinados. | Membro com permissão |
| POST | /teams/{teamId}/receivables/receivables | Responde POST /receivables emitindo uma conta a receber. | Membro com permissão |
| GET | /teams/{teamId}/receivables/receivables/{receivableId} | Numa resposta. | Membro com permissão |
| PATCH | /teams/{teamId}/receivables/receivables/{receivableId} | PATCH-shape; customer_id e chart_account_id precisam pertencer ao team (ensureRefsInTeam, W-012 — senão 400 sem UPDATE). | Membro com permissão |
| POST | /teams/{teamId}/receivables/receivables/{receivableId}/cancel | Responde POST /receivables/{receivableId}/cancel. | Membro com permissão |
| POST | /teams/{teamId}/receivables/receivables/{receivableId}/pay | Responde POST /receivables/{receivableId}/pay. | Membro com permissão |
| GET | /teams/{teamId}/receivables/recurrences | Responde GET /recurrences com todos os templates do team. | Membro com permissão |
| POST | /teams/{teamId}/receivables/recurrences | Responde POST /recurrences criando um template recorrente. | Membro com permissão |
| GET | /teams/{teamId}/receivables/recurrences/{id} | Responde GET /recurrences/{id}. | Membro com permissão |
| DELETE | /teams/{teamId}/receivables/recurrences/{id} | Receivable_recurrences; audit_events (receivable_recurrence.deactivated). | Membro com permissão |
| PATCH | /teams/{teamId}/receivables/recurrences/{id} | 200 + Recurrence; 400 se customer_id não é do team (W-012). | Membro com permissão |
| POST | /teams/{teamId}/receivables/recurrences/{id}/run-now | Responde POST /recurrences/{id}/run-now. | Membro com permissão |
| GET | /teams/{teamId}/receivables/reports/aging | Responde GET /reports/aging com buckets de inadimplência. | Membro com permissão |
| GET | /teams/{teamId}/receivables/reports/by-customer | Responde GET /reports/by-customer. | Membro com permissão |
| POST | /teams/{teamId}/tax/calculate | — POST /calculate. | Membro com permissão |
| GET | /teams/{teamId}/tax/calculations | — GET /calculations?entity_type=&entity_id=&from=&to= | Membro com permissão |
| GET | /teams/{teamId}/tax/cnae | — GET /cnae?q=&is_service=&limit= Busca full-text simples em `description` via ILIKE (gin index do to_tsvector também poderia ser usado,... | Membro com permissão |
| GET | /teams/{teamId}/tax/cnae/{code} | — GET /cnae/{code}. | Membro com permissão |
| GET | /teams/{teamId}/tax/profile | — GET /profile. | Membro com permissão |
| PUT | /teams/{teamId}/tax/profile | — PUT /profile. | Membro com permissão |
| POST | /teams/{teamId}/tax/simulate | — POST /simulate. | Membro com permissão |
| GET | /teams/{teamId}/tax/summary | — GET /summary?period=YYYY-MM. | Membro com permissão |