Títulos a pagar e a receber

Dúvida: de onde nasce o título, quais campos conferir na tela e o que é unicidade de parcela.

Dúvida: como conferir um título gerado pela NF ou pelo faturamento?

Ambiente: /apps/financeiro/contas-a-pagar (mv_type=CP) e /apps/financeiro/contas-a-receber (CR). Tabela FAB012. Lançamento manual existe (Nova CR / Nova CP); “Gerar parcelas” na tela só simula — persistir é o Salvar.

Pré-requisitos: origem operacional preferencialmente já confirmada (NF) ou faturada (PV). Unicidade: (document, filial, installmentNumber, mv_type) — createBatch rejeita o lote inteiro se uma parcela duplicar.

Caminho

  1. Abra CP ou CR. Filtros: status, vencimento, pagamento, parte, valor, origem, centro, atrasados, categoria. Busca por nome (sem dígitos) resolve IDs em cliente/fornecedor (LIMIT 250).
  2. Abra o título: valores originais, pago, desconto, juros, multa, dueAmount, histórico FAB013, origem vinculada.
  3. Visão 360 CR: em aberto sem juros, juros, com juros.

Entidade (FAB012)

CampoSignificado
mv_typeCP ou CR
entityTypeFORNECEDOR ou CLIENTE (XOR supplierId / customerId)
linkedDocumentTypePEDIDO_COMPRA | PEDIDO_VENDA | NF_ENTRADA | NF_SAIDA | MANUAL
statusABERTA | PAGA | PARCIAL | VENCIDA | CANCELADA | EM_COBRANCA
amountoriginal
dueAmountamount − paid − discount + interest + fine
installmentNumber / totalInstallmentsparcelas
isRural / safraIdLCDPR / agro

Unicidade: (document, filial, installmentNumber, mv_type). createBatch é transacional: uma duplicata rejeita o lote inteiro.

Lançamento manual: Nova Conta a Receber grava CR; Nova Conta a Pagar grava CP. “Gerar parcelas” na tela simula (simulate-installments); persistir é o Salvar.

Visão 360 CR: em aberto sem juros, juros (interestAmount + fineAmount) e com juros (dueAmount).

Crédito de carteira (FAB016 / FAB015)

Solicitação em /apps/financeiro/carteira-credito. Só gera o CP ticket (category=CUSTOMER_CREDIT, mv_type=CP, no nome do cliente) após APPROVED.

PENDING → APPROVED | REJECTED | CANCELLED. APPROVED → REVERSED só se paidAmount do CP ≈ 0.

Consumo no faturamento ou na baixa CR (paymentMethod=CUSTOMER_CREDIT / Ticket) usa FIFO em FAB015 e baixa o ticket (PARCIAL/PAGA) — não exclui o título.

API grants: GET/POST /customer-credit/grants, POST .../approve|reject|cancel|reverse|printed.

Parcelas da NF de entrada (FAR02)

Espelho das duplicatas da NF (nDup). Status próprio (ABERTA, PARCIALMENTE_PAGA, …). Ligadas a entryDocumentId.

Aglutinação e renegociação

POST /financial-transactions/:id/aglutinar e POST .../aglutinar-selecao.
POST /financial-transactions/:id/renegociar.
GET .../older-open/:partyType/:partyId — títulos mais antigos em aberto da parte.