Contas a receber
Lista, cria, altera e apaga as contas a receber do seller.
Listar contas a receber
Uma conta a receber é um valor que um cliente deve ao seller, com vencimento. Esta lista ordena pelo vencimento mais próximo.
/api/v1/vendor/erp/financeiro/receivablesSellerLista as contas a receber
Parâmetros de consulta
statusstringopenpartialoverduereceivedcancelledEstado, incluindo os derivados:
open é só o que está a vencer e sem baixa parcial; partial é o que já teve baixa e ainda deve; overdue é o vencido e ainda aberto (inclui parciais). Os outros valores filtram o estado gravado.fromstringVencimento a partir de
YYYY-MM-DD, inclusivo.tostringVencimento até
YYYY-MM-DD, inclusivo.categorystringCategoria exata.
customerstringBusca parcial, sem diferenciar maiúsculas, em
customer_ref.customer_user_iduuidSó títulos deste cliente cadastrado.
pageintegerpadrão: 1Página, a partir de 1.
per_pageintegerpadrão: 50Itens por página, de 1 a 100. Acima disso vale 100.
Exemplo de requisição: Listar contas a receber
bash
curl "$BASE_URL/api/v1/vendor/erp/financeiro/receivables?status=overdue&from=2026-10-01&to=2026-10-31" \
-H "Authorization: Bearer $TOKEN"Resposta: Listar contas a receber
200Títulos retornados
json
{
"receivables": [
{
"id": "cd8210a4-9275-4142-949f-b0f54e5a984c",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"customer_ref": "Mercadinho Pinheiros",
"customer_user_id": "",
"customer_name": "",
"description": "Venda a prazo 1043",
"amount_cents": 20000,
"paid_amount_cents": 0,
"category": "Vendas",
"cost_center": "",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"attachment_url": "",
"attachment_name": "",
"due_date": "2026-11-15",
"received_at": null,
"status": "open",
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}
],
"total": 1
}Campos da resposta
receivablesarrayTítulos da página.
iduuidId do título.
vendor_iduuidSeller dono.
customer_refstringReferência livre ao cliente (nome, apelido). Vazio se não informada.
customer_user_iduuidCliente cadastrado, quando houver. Vazio se não informado.
customer_namestringNome do cliente resolvido a partir de
customer_user_id. Vazio se não há.descriptionstringDescrição do título.
amount_centsintegerValor total em centavos.
paid_amount_centsintegerQuanto já foi baixado (soma das baixas, só o principal), em centavos.
categorystringCategoria livre. Vazio se não informada.
cost_centerstringCentro de custo livre. Vazio se não informado.
bank_account_iduuidConta bancária padrão do título. Vazio se não informada.
attachment_urlstringURL do comprovante. Vazio se não informada.
attachment_namestringNome do comprovante.
due_datestringVencimento
YYYY-MM-DD.received_atdatetimeQuando foi quitado por inteiro.
null enquanto houver saldo.statusstringopenreceivedcancelledEstado gravado.
partial e overdue não existem aqui: um título parcial ou vencido continua open.created_atdatetimeCriação.
updated_atdatetimeÚltima alteração.
totalintegerTotal que atende ao filtro.
Erros: Listar contas a receber
| Status | Quando | Corpo |
|---|---|---|
| 500 | Um filtro de id não é um UUID válido (a plataforma devolve 500, não 400). | {"error":"failed to list receivables","detail":"o valor \"xyz\" não é um uuid válido. Envie o identificador completo, com os 36 caracteres e os hífens. Corrija o campo e reenvie."} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Criar conta a receber
/api/v1/vendor/erp/financeiro/receivablesSellerCria uma conta a receber
Corpo da requisição
customer_refstringReferência livre ao cliente.
customer_user_iduuidCliente cadastrado.
descriptionstringobrigatórioDescrição. Obrigatória.
amount_centsintegerobrigatórioValor em centavos, zero ou mais.
due_datestringobrigatórioVencimento
YYYY-MM-DD. Obrigatório.categorystringCategoria livre.
cost_centerstringCentro de custo livre.
bank_account_iduuidConta bancária padrão.
attachment_urlstringURL do comprovante.
attachment_namestringNome do comprovante.
Exemplo de requisição: Criar conta a receber
bash
curl -X POST "$BASE_URL/api/v1/vendor/erp/financeiro/receivables" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_ref": "Mercadinho Pinheiros",
"description": "Venda a prazo 1043",
"amount_cents": 20000,
"category": "Vendas",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"due_date": "2026-11-15"
}'Resposta: Criar conta a receber
201Título criado em aberto
json
{
"id": "cd8210a4-9275-4142-949f-b0f54e5a984c",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"customer_ref": "Mercadinho Pinheiros",
"customer_user_id": "",
"customer_name": "",
"description": "Venda a prazo 1043",
"amount_cents": 20000,
"paid_amount_cents": 0,
"category": "Vendas",
"cost_center": "",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"attachment_url": "",
"attachment_name": "",
"due_date": "2026-11-15",
"received_at": null,
"status": "open",
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidId do título.
vendor_iduuidSeller dono.
customer_refstringReferência livre ao cliente (nome, apelido). Vazio se não informada.
customer_user_iduuidCliente cadastrado, quando houver. Vazio se não informado.
customer_namestringNome do cliente resolvido a partir de
customer_user_id. Vazio se não há.descriptionstringDescrição do título.
amount_centsintegerValor total em centavos.
paid_amount_centsintegerQuanto já foi baixado (soma das baixas, só o principal), em centavos.
categorystringCategoria livre. Vazio se não informada.
cost_centerstringCentro de custo livre. Vazio se não informado.
bank_account_iduuidConta bancária padrão do título. Vazio se não informada.
attachment_urlstringURL do comprovante. Vazio se não informada.
attachment_namestringNome do comprovante.
due_datestringVencimento
YYYY-MM-DD.received_atdatetimeQuando foi quitado por inteiro.
null enquanto houver saldo.statusstringopenreceivedcancelledEstado gravado.
partial e overdue não existem aqui: um título parcial ou vencido continua open.created_atdatetimeCriação.
updated_atdatetimeÚltima alteração.
Erros: Criar conta a receber
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | description em branco. | {"error":"vendorerp: description required"} |
| 400 | amount_cents negativo. | {"error":"vendorerp: amount_cents must be >= 0"} |
| 400 | due_date em branco. | {"error":"vendorerp: due_date required"} |
| 400 | due_date em outro formato. | {"error":"vendorerp: due_date must be YYYY-MM-DD"} |
| 400 | Um campo de id (customer_user_id ou bank_account_id) não é um UUID válido; a mensagem em português diz qual valor. | {"error":"o valor \"abc\" não é um uuid válido. Envie o identificador completo, com os 36 caracteres e os hífens. Corrija o campo e reenvie."} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Alterar conta a receber
Substitui todos os campos editáveis do título. Campos de texto omitidos são apagados. Estado, valor já baixado e baixas não mudam por aqui.
/api/v1/vendor/erp/financeiro/receivables/{id}SellerAltera uma conta a receber
Parâmetros de caminho
iduuidobrigatórioId (UUID) da conta a receber.
Corpo da requisição
customer_refstringReferência livre ao cliente.
customer_user_iduuidCliente cadastrado.
descriptionstringobrigatórioDescrição. Obrigatória.
amount_centsintegerobrigatórioValor em centavos, zero ou mais.
due_datestringobrigatórioVencimento
YYYY-MM-DD. Obrigatório.categorystringCategoria livre.
cost_centerstringCentro de custo livre.
bank_account_iduuidConta bancária padrão.
attachment_urlstringURL do comprovante.
attachment_namestringNome do comprovante.
Exemplo de requisição: Alterar conta a receber
bash
curl -X PUT "$BASE_URL/api/v1/vendor/erp/financeiro/receivables/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_ref": "Mercadinho Pinheiros",
"description": "Venda a prazo 1043",
"amount_cents": 20000,
"category": "Vendas",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"due_date": "2026-11-15"
}'Resposta: Alterar conta a receber
200Título alterado
json
{
"id": "cd8210a4-9275-4142-949f-b0f54e5a984c",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"customer_ref": "Mercadinho Pinheiros",
"customer_user_id": "",
"customer_name": "",
"description": "Venda a prazo 1043",
"amount_cents": 20000,
"paid_amount_cents": 0,
"category": "Vendas",
"cost_center": "",
"bank_account_id": "a1c3e5f7-2b4d-4f6a-8c0e-1d3f5a7b9c21",
"attachment_url": "",
"attachment_name": "",
"due_date": "2026-11-15",
"received_at": null,
"status": "open",
"created_at": "2026-10-11T14:30:00Z",
"updated_at": "2026-10-11T14:30:00Z"
}Campos da resposta
iduuidId do título.
vendor_iduuidSeller dono.
customer_refstringReferência livre ao cliente (nome, apelido). Vazio se não informada.
customer_user_iduuidCliente cadastrado, quando houver. Vazio se não informado.
customer_namestringNome do cliente resolvido a partir de
customer_user_id. Vazio se não há.descriptionstringDescrição do título.
amount_centsintegerValor total em centavos.
paid_amount_centsintegerQuanto já foi baixado (soma das baixas, só o principal), em centavos.
categorystringCategoria livre. Vazio se não informada.
cost_centerstringCentro de custo livre. Vazio se não informado.
bank_account_iduuidConta bancária padrão do título. Vazio se não informada.
attachment_urlstringURL do comprovante. Vazio se não informada.
attachment_namestringNome do comprovante.
due_datestringVencimento
YYYY-MM-DD.received_atdatetimeQuando foi quitado por inteiro.
null enquanto houver saldo.statusstringopenreceivedcancelledEstado gravado.
partial e overdue não existem aqui: um título parcial ou vencido continua open.created_atdatetimeCriação.
updated_atdatetimeÚltima alteração.
Erros: Alterar conta a receber
| Status | Quando | Corpo |
|---|---|---|
| 400 | Corpo não é um JSON válido. | {"error":"invalid request body","detail":"invalid character 'b' looking for beginning of object key string"} |
| 400 | description em branco. | {"error":"vendorerp: description required"} |
| 400 | amount_cents negativo. | {"error":"vendorerp: amount_cents must be >= 0"} |
| 400 | due_date em branco. | {"error":"vendorerp: due_date required"} |
| 400 | due_date em outro formato. | {"error":"vendorerp: due_date must be YYYY-MM-DD"} |
| 400 | Um campo de id (customer_user_id ou bank_account_id) não é um UUID válido; a mensagem em português diz qual valor. | {"error":"o valor \"abc\" não é um uuid válido. Envie o identificador completo, com os 36 caracteres e os hífens. Corrija o campo e reenvie."} |
| 404 | A conta a receber não existe ou é de outro seller. | {"error":"receivable not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |
Apagar conta a receber
Exclusão lógica do título, em qualquer estado. As baixas já feitas não são apagadas e continuam contando nos saldos bancários e no fluxo de caixa diário.
/api/v1/vendor/erp/financeiro/receivables/{id}SellerApaga uma conta a receber
Parâmetros de caminho
iduuidobrigatórioId (UUID) da conta a receber.
Exemplo de requisição: Apagar conta a receber
bash
curl -X DELETE "$BASE_URL/api/v1/vendor/erp/financeiro/receivables/3f6c1c1e-8d0b-4a55-9a52-1d6f6a4a7b10" \
-H "Authorization: Bearer $TOKEN"Resposta: Apagar conta a receber
200Título apagado
json
{
"message": "receivable deleted"
}Campos da resposta
messagestringreceivable deleted ou payable deleted.Erros: Apagar conta a receber
| Status | Quando | Corpo |
|---|---|---|
| 404 | A conta a receber não existe ou é de outro seller. | {"error":"receivable not found"} |
| 401 | Cabeçalho Authorization ausente, token inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 403 | O usuário não está vinculado a um seller, ou o cadastro do seller ainda está em análise (vendor_pending_review). | {"error":"no vendor account associated with this user"} |