Contas a receber¶
conta-a-receber list ✅¶
GET /v1/financeiro/eventos-financeiros/contas-a-receber/buscar
| Parâmetro | Obrig. | Padrão | Descrição |
|---|---|---|---|
--data-vencimento-de |
não¹ | 1º dia do mês corrente | Vencimento inicial (YYYY-MM-DD) |
--data-vencimento-ate |
não¹ | último dia do mês corrente | Vencimento final (YYYY-MM-DD) |
--pagina |
não | 1 |
Número da página |
--tamanho-pagina |
não | 50 |
Itens por página |
¹ A API exige o intervalo; o CLI supre com o mês corrente e avisa em stderr.
O
idde cada item é o da PARCELA, não do evento financeiro. É esse valor queparcela geteparcela baixarconsomem. O id do evento vem aninhado emevento.idna resposta deparcela get.
Cada item traz id, status (ACQUITTED, OVERDUE, …), status_traduzido, total, pago, nao_pago, data_vencimento, data_competencia, descricao, categorias[], centros_de_custo[], cliente. A resposta ainda inclui um bloco totais com somatórios por situação.
conta-a-receber create ✅¶
POST /v1/financeiro/eventos-financeiros/contas-a-receber — escrita assíncrona.
| Parâmetro | Obrig. | Padrão | Descrição |
|---|---|---|---|
--json |
sim | — | Payload JSON, repassado à API verbatim |
--poll-timeout |
não | 60 |
Segundos aguardando a confirmação assíncrona |
--no-wait |
não | — | Retorna o protocolo na hora, sem aguardar |
O CLI não valida o conteúdo de --json; o schema é o da API.
Payload mínimo aceito — descoberto exercitando, porque a documentação oficial erra em dois pontos (ver adiante):
{
"descricao": "…",
"data_competencia": "2026-08-19",
"valor": 1.00,
"rateio": [{"id_categoria": "<uuid>", "valor": 1.00, "rateio_centro_custo": []}],
"condicao_pagamento": {"parcelas": [{
"descricao": "…",
"data_vencimento": "2026-09-30",
"detalhe_valor": {"multa":0,"juros":0,"valor_bruto":1.00,"valor_liquido":1.00,"desconto":0,"taxa":0}
}]}
}
Armadilhas confirmadas:
- Este endpoint acusa todos os campos faltantes de uma vez, diferente do
resto da API, que revela um por
400. O primeiro400já listacompetenceDate,valor,condicao_pagamentoerateio— em camelCase, com o nome do campo Java, não o nome JSON (data_competencia). condicao_pagamentonão é o que a leitura devolve. Na escrita é{parcelas: [...]}, uma lista;parcela getdevolve{quantidade_parcelas, montante_fixo}, um resumo. Mandar o formato de leitura dápaymentCondition.installments: deve ter no mínimo uma parcela.- A composição de valor da parcela é
detalhe_valorna escrita evalor_composicaoem toda leitura.composicao_valor— o nome que as Baixas usam — não funciona aqui. - A documentação oficial marca
observacao,contatoeconta_financeiracomo obrigatórios; não são. O payload acima é aceito sem os três. contatoé obrigatório na prática se você for gerar cobrança. Sem elecobranca createrecusa com "Existem parcelas associadas a eventos financeiros sem identificação do pagador" — e, como não háPUT/PATCHde evento financeiro, não dá para adicionar o pagador depois. Decida antes de criar.- A resposta é
200, não o202documentado, e traz{protocolo, status, data_criacao}comstatusPENDING.
Não existe como desfazer. A API não publica
DELETEnemGETde evento financeiro (/v1/financeiro/eventos-financeiros/{id}responde o404genérico de rota inexistente em ambos). Conta a receber criada por engano só sai pela interface web.