Axuz Developers

Finance

Payables/receivables, invoices and taxes.

MétodoPathResumoAccess
GET/teams/{teamId}/imports/jobsDevolve a página de jobs do team, mais novos primeiro, com `next_cursor` keyset quando a página veio cheia.Team admin
POST/teams/{teamId}/imports/jobsValida a fonte contra a allowlist deny-default, cria a linha `pending` e devolve 201 com as instruções de upload.Team admin
GET/teams/{teamId}/imports/jobs/{id}Detalhe + progresso de um job do team do caller; 404 quando o id não existe NESSE team.Team admin
POST/teams/{teamId}/imports/jobs/{id}/cancelVira 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...Team admin
GET/teams/{teamId}/imports/jobs/{id}/logsDevolve linhas com `id > after_id` em ordem cronológica, para o poll incremental do painel de log.Team admin
POST/teams/{teamId}/imports/jobs/{id}/startExige job `pending` com upload concluído e enfileira o envelope em `axuz:jobs`.Team admin
PUT/teams/{teamId}/imports/jobs/{id}/uploadTransmite o corpo direto para o disco (sem bufferizar o ZIP inteiro em memória) sob `<storageDir>/imports/<job-id>.zip` e marca o upload...Team admin
GET/teams/{teamId}/nfe/certificatesDevolve todos os certificados A1/A3 cadastrados no team.Member with permission
POST/teams/{teamId}/nfe/certificatesValida o PFX (abre com a senha via parsePFXMetadata), extrai subject/issuer/serial/not_before/not_after e grava o par PFX+senha criptogra...Team admin
DELETE/teams/{teamId}/nfe/certificates/{certId}Marca o cert como revogado (soft revocation).Team admin
GET/teams/{teamId}/nfe/invoicesDevolve as últimas 200 invoices do team (qualquer status).Member with permission
POST/teams/{teamId}/nfe/invoicesCria uma invoice em status='draft'.Member with permission
GET/teams/{teamId}/nfe/invoices/{invoiceId}Devolve a invoice + timeline de eventos.Member with permission
POST/teams/{teamId}/nfe/invoices/{invoiceId}/cancelCancela uma invoice.Member with permission
GET/teams/{teamId}/nfe/invoices/{invoiceId}/pdfRedireciona pra URL do DANFE/DANFSE (assinado pelo driver).Member with permission
POST/teams/{teamId}/nfe/invoices/{invoiceId}/send— gated pelo feature flag.Member with permission
GET/teams/{teamId}/nfe/invoices/{invoiceId}/xmlEntrega o XML assinado + protocolado.Member with permission
GET/teams/{teamId}/nfe/settingsDevolve as settings do módulo nfe do team.Member with permission
PUT/teams/{teamId}/nfe/settingsAplica patch parcial nas settings do team.Team admin
GET/teams/{teamId}/payables/accountsResponde GET /teams/{teamId}/payables/accounts com o plano de contas do team ordenado por code.Member with permission
POST/teams/{teamId}/payables/accountsResponde POST /teams/{teamId}/payables/accounts, persistindo uma conta contábil nova (chart_of_accounts) e registrando audit event coa.ac...Member with permission
GET/teams/{teamId}/payables/approval-policies— GET /payables/approval-policies.Member with permission
POST/teams/{teamId}/payables/approval-policies— POST /payables/approval-policies.Team admin
DELETE/teams/{teamId}/payables/approval-policies/{policyId}— DELETE /payables/approval-policies/{id}.Team admin
PATCH/teams/{teamId}/payables/approval-policies/{policyId}— PATCH /payables/approval-policies/{id}.Team admin
GET/teams/{teamId}/payables/billsResponde GET /payables/bills com filtros opcionais via query string: status, vendor_id, period=YYYY-MM (janela de due_date), overdue=true...Member with permission
POST/teams/{teamId}/payables/billsResponde POST /payables/bills.Member with permission
GET/teams/{teamId}/payables/bills/{billId}Responde GET /payables/bills/{billId} com bill + lines + payments + approvals + approval_progress.Member with permission
PATCH/teams/{teamId}/payables/bills/{billId}Responde PATCH /payables/bills/{billId}.Member with permission
POST/teams/{teamId}/payables/bills/{billId}/approve— HTTP da aprovação de bill.Team member
POST/teams/{teamId}/payables/bills/{billId}/move— POST /teams/{teamId}/payables/bills/{billId}/move.Member with permission
POST/teams/{teamId}/payables/bills/{billId}/reject— aprovador registra rejeição (bill volta pra draft pra ser revisada).Team member
POST/teams/{teamId}/payables/bills/{billId}/submit-for-approvalDe qualquer forma; (2) bill foi criada abaixo do threshold mas requisita review discricionário.Member with permission
POST/teams/{teamId}/payables/bills/{billId}/voidResponde POST /payables/bills/{billId}/void.Member with permission
POST/teams/{teamId}/payables/boleto/parse— endpoint síncrono do boleto parser.Member with permission
GET/teams/{teamId}/payables/dashboardResponde GET /payables/dashboard?period=YYYY-MM com o resumo consolidado (spent/to_pay/overdue + comparação mês anterior + by_category +...Member with permission
GET/teams/{teamId}/payables/drive/boletos/tree— wrapper que injeta o `kind` fixado no path (boleto/nfe/other) na query e delega pro driveTree.Member with permission
GET/teams/{teamId}/payables/drive/contratos/tree— wrapper que injeta o `kind` fixado no path (boleto/nfe/other) na query e delega pro driveTree.Member with permission
GET/teams/{teamId}/payables/drive/nfe/tree— wrapper que injeta o `kind` fixado no path (boleto/nfe/other) na query e delega pro driveTree.Member with permission
GET/teams/{teamId}/payables/expectationsResponde GET /payables/expectations com as expectations do team ordenadas por (active DESC, name ASC).Member with permission
POST/teams/{teamId}/payables/expectationsResponde POST /payables/expectations.Member with permission
PATCH/teams/{teamId}/payables/expectations/{expectationId}Audit event expectation.updated com diff before/after.Member with permission
GET/teams/{teamId}/payables/occurrencesResponde GET /payables/occurrences?status=...Member with permission
GET/teams/{teamId}/payables/payment-methodsGET /teams/{teamId}/payables/payment-methodsMember with permission
POST/teams/{teamId}/payables/payment-methodsResponde POST /payables/payment-methods.Member with permission
GET/teams/{teamId}/payables/paymentsResponde GET /payables/payments com até 500 pagamentos do team, mais recentes primeiro.Member with permission
POST/teams/{teamId}/payables/paymentsUPDATE bills; audit event payment.recorded; Redis pub bill.paid quando zerou o saldo ou bill.updated caso contrário.Member with permission
POST/teams/{teamId}/payables/payments/{paymentId}/reverseMarca o pagamento como estornado, recalcula o saldo da bill a partir das alocações vivas e redefine o status dela — tudo na mesma transaç...Member with permission
GET/teams/{teamId}/payables/recurrences— GET /payables/recurrencesMember with permission
POST/teams/{teamId}/payables/recurrences— POST /payables/recurrencesMember with permission
GET/teams/{teamId}/payables/recurrences/{id}— GET /payables/recurrences/{id} returning detail + last 5 generated bills.Member with permission
DELETE/teams/{teamId}/payables/recurrences/{id}— DELETE /payables/recurrences/{id} (soft-delete via active=false; preserves audit trail + last_generated_bill_id).Member with permission
PATCH/teams/{teamId}/payables/recurrences/{id}— PATCH /payables/recurrences/{id}.Member with permission
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...Member with permission
POST/teams/{teamId}/payables/recurrences/{id}/run-now— POST /payables/recurrences/{id}/run-now.Member with permission
GET/teams/{teamId}/payables/reports/aging— GET /payables/reports/aging.Member with permission
GET/teams/{teamId}/payables/reports/by-category— GET /payables/reports/by-category?period=YYYY-MM.Member with permission
GET/teams/{teamId}/payables/reports/by-vendor— GET /payables/reports/by-vendor?period=YYYY-MM.Member with permission
GET/teams/{teamId}/payables/reports/cash-flowBills whose due_date falls in range with expectation occurrences' predicted_due_date that aren't already linked to a bill.Member with permission
GET/teams/{teamId}/payables/reports/exportUma linha plana por bill (formato mais útil pra importar em ferramenta contábil).Member with permission
GET/teams/{teamId}/payables/settingsResponde GET /payables/settings com o workflow de aprovação do team (threshold + N approvers).Member with permission
PUT/teams/{teamId}/payables/settingsResponde PUT /payables/settings.Team admin
POST/teams/{teamId}/payables/settings/approversNomeia um membro ativo do team como aprovador; guest (papel só-guest) é recusado com 400 sem INSERT (W-012 S3).Team admin
DELETE/teams/{teamId}/payables/settings/approvers/{userId}Responde DELETE /payables/settings/approvers/{userId}.Team admin
GET/teams/{teamId}/payables/vendorsResponde GET /payables/vendors com fornecedores vivos do team, ordenados por name.Member with permission
POST/teams/{teamId}/payables/vendorsResponde POST /payables/vendors.Member with permission
GET/teams/{teamId}/payables/vendors/{vendorId}Responde GET /payables/vendors/{vendorId} com o fornecedor completo.Member with permission
PATCH/teams/{teamId}/payables/vendors/{vendorId}Efeito: até 1 UPDATE vendors; audit event vendor.updated com before/after.Member with permission
GET/teams/{teamId}/receivables/customersResponde GET /teams/{teamId}/receivables/customers.Member with permission
POST/teams/{teamId}/receivables/customersResponde POST /customers criando um cliente PF/PJ.Member with permission
GET/teams/{teamId}/receivables/customers/{customerId}Uma resposta.Member with permission
DELETE/teams/{teamId}/receivables/customers/{customerId}Via WHERE deleted_at IS NULL.Member with permission
PATCH/teams/{teamId}/receivables/customers/{customerId}Audit diff.Member with permission
GET/teams/{teamId}/receivables/customers/{customerId}/bank-accountsResponde GET .../customers/{customerId}/bank-accounts.Member with permission
POST/teams/{teamId}/receivables/customers/{customerId}/bank-accountsBody bankAccountIn.Member with permission
DELETE/teams/{teamId}/receivables/customers/{customerId}/bank-accounts/{accountId}Responde DELETE .../bank-accounts/{accountId}.Member with permission
GET/teams/{teamId}/receivables/dashboardResponde GET /dashboard?period=YYYY-MM com o resumo do mês.Member with permission
GET/teams/{teamId}/receivables/expectationsResponde GET /expectations com previsões de recebimento.Member with permission
POST/teams/{teamId}/receivables/expectationsResponde POST /expectations criando uma previsão.Member with permission
DELETE/teams/{teamId}/receivables/expectations/{id}Responde DELETE /expectations/{id} marcando cancelled.Member with permission
PATCH/teams/{teamId}/receivables/expectations/{id}Responde PATCH /expectations/{id} com update parcial.Member with permission
POST/teams/{teamId}/receivables/expectations/{id}/realizeResponde POST /expectations/{id}/realize.Member with permission
GET/teams/{teamId}/receivables/receiptsResponde GET /receipts com os últimos 500 recebimentos.Member with permission
POST/teams/{teamId}/receivables/receiptsResponde POST /receipts criando um recebimento.Member with permission
GET/teams/{teamId}/receivables/receipts/{receiptId}Responde GET /receipts/{receiptId} com receipt + allocations.Member with permission
POST/teams/{teamId}/receivables/receipts/{receiptId}/allocateResponde POST /receipts/{receiptId}/allocate.Member with permission
GET/teams/{teamId}/receivables/receivablesResponde GET /receivables com filtros combinados.Member with permission
POST/teams/{teamId}/receivables/receivablesResponde POST /receivables emitindo uma conta a receber.Member with permission
GET/teams/{teamId}/receivables/receivables/{receivableId}Numa resposta.Member with permission
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).Member with permission
POST/teams/{teamId}/receivables/receivables/{receivableId}/cancelResponde POST /receivables/{receivableId}/cancel.Member with permission
POST/teams/{teamId}/receivables/receivables/{receivableId}/payResponde POST /receivables/{receivableId}/pay.Member with permission
GET/teams/{teamId}/receivables/recurrencesResponde GET /recurrences com todos os templates do team.Member with permission
POST/teams/{teamId}/receivables/recurrencesResponde POST /recurrences criando um template recorrente.Member with permission
GET/teams/{teamId}/receivables/recurrences/{id}Responde GET /recurrences/{id}.Member with permission
DELETE/teams/{teamId}/receivables/recurrences/{id}Receivable_recurrences; audit_events (receivable_recurrence.deactivated).Member with permission
PATCH/teams/{teamId}/receivables/recurrences/{id}200 + Recurrence; 400 se customer_id não é do team (W-012).Member with permission
POST/teams/{teamId}/receivables/recurrences/{id}/run-nowResponde POST /recurrences/{id}/run-now.Member with permission
GET/teams/{teamId}/receivables/reports/agingResponde GET /reports/aging com buckets de inadimplência.Member with permission
GET/teams/{teamId}/receivables/reports/by-customerResponde GET /reports/by-customer.Member with permission
POST/teams/{teamId}/tax/calculate— POST /calculate.Member with permission
GET/teams/{teamId}/tax/calculations— GET /calculations?entity_type=&entity_id=&from=&to=Member with permission
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,...Member with permission
GET/teams/{teamId}/tax/cnae/{code}— GET /cnae/{code}.Member with permission
GET/teams/{teamId}/tax/profile— GET /profile.Member with permission
PUT/teams/{teamId}/tax/profile— PUT /profile.Member with permission
POST/teams/{teamId}/tax/simulate— POST /simulate.Member with permission
GET/teams/{teamId}/tax/summary— GET /summary?period=YYYY-MM.Member with permission