SE1 — Contas a Receber
Titulos a receber do cliente. Gerado por NF (MATA440), cobranca manual (FINA040), antecipacoes. Chave E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO.
SE1 e o livro caixa do lado de entradas — todo dinheiro que o cliente deve. Geracao automatica vem da NF de saida; geracao manual via FINA040. Baixas em FINA070.
Campos principais
| Campo | Tipo | Descricao |
| E1_FILIAL | C | Filial |
| E1_PREFIXO | C | Prefixo (ex: "001", "ECF", "JUR") |
| E1_NUM | C | Numero do titulo |
| E1_PARCELA | C | Parcela (A, B, C ou 01, 02) |
| E1_TIPO | C | NF, NCC (nota credito), JUR (juros), MUL (multa), RA (recibo adiantamento)... |
| E1_CLIENTE | C | Cliente (SA1) |
| E1_LOJA | C | Loja |
| E1_EMISSAO | D | Data emissao |
| E1_VENCTO | D | Vencimento original |
| E1_VENCREAL | D | Vencimento real (ajustado dia util) |
| E1_VALOR | N | Valor original |
| E1_VALLIQ | N | Valor liquidado (pago) |
| E1_BAIXA | D | Data da baixa (vazia = aberto) |
| E1_NATUREZ | C | Natureza financeira |
| E1_PORTADO | C | Banco portador |
| E1_NUMBOR | C | Numero do bordero (CNAB) |
| E1_NUMNOTA | C | NF origem |
| E1_SERIE | C | Serie NF |
| E1_NSUTEF | C | NSU TEF |
Status de um titulo
- Em aberto:
E1_BAIXA = ' ' + E1_VALLIQ < E1_VALOR
- Baixado parcial:
E1_BAIXA = ' ' + E1_VALLIQ > 0
- Baixado total:
E1_BAIXA != ' '
- Saldo:
E1_VALOR - E1_VALLIQ - E1_VALPAR (ver SaldoTit)
Indices principais
| Ordem | Chave |
| 1 | E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO |
| 2 | E1_FILIAL+E1_CLIENTE+E1_LOJA+E1_PREFIXO+E1_NUM |
| 3 | E1_FILIAL+E1_VENCTO+E1_PREFIXO |
| 5 | E1_FILIAL+E1_NUMBOR+E1_PREFIXO+E1_NUM |
Codigo tipico
// Total a receber de um cliente
nTotal := 0
SE1->(DBSetOrder(2))
SE1->(DBSeek(xFilial("SE1") + cCli + cLoja))
While !SE1->(Eof()) .And. ;
SE1->E1_CLIENTE == cCli .And. ;
SE1->E1_LOJA == cLoja
If Empty(SE1->E1_BAIXA) // em aberto
nTotal += SE1->E1_VALOR - SE1->E1_VALLIQ
EndIf
SE1->(DBSkip())
EndDo
// Titulos vencidos hoje
SE1->(DBSetOrder(3))
SE1->(DBSeek(xFilial("SE1") + DToS(dDataBase)))
While !SE1->(Eof()) .And. SE1->E1_VENCTO <= dDataBase
If Empty(SE1->E1_BAIXA)
// titulo vencido em aberto
EndIf
SE1->(DBSkip())
EndDo
Tabelas relacionadas
| Tabela | Relacao |
| SA1 | Cliente |
| SE5 | Movimentacao bancaria (baixas, taxas) |
| SEF | Bordero |
| SF2 | NF origem |
Pegadinhas
- Chave composta enorme: prefixo+num+parcela+tipo. Esquecer um campo = busca errada.
- Tipo NCC (Nota de Credito) tem saldo "negativo" pro cliente — entra como abatimento.
- SaldoTit em loop: anti-padrao classico — ver SaldoTit.
- E1_VENCTO vs E1_VENCREAL: VENCREAL pode ser ajustado pra dia util (ver DataValida).
- Baixa parcial: voce ve titulo "em aberto" mas com E1_VALLIQ > 0.
Veja também