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

CampoTipoDescricao
E1_FILIALCFilial
E1_PREFIXOCPrefixo (ex: "001", "ECF", "JUR")
E1_NUMCNumero do titulo
E1_PARCELACParcela (A, B, C ou 01, 02)
E1_TIPOCNF, NCC (nota credito), JUR (juros), MUL (multa), RA (recibo adiantamento)...
E1_CLIENTECCliente (SA1)
E1_LOJACLoja
E1_EMISSAODData emissao
E1_VENCTODVencimento original
E1_VENCREALDVencimento real (ajustado dia util)
E1_VALORNValor original
E1_VALLIQNValor liquidado (pago)
E1_BAIXADData da baixa (vazia = aberto)
E1_NATUREZCNatureza financeira
E1_PORTADOCBanco portador
E1_NUMBORCNumero do bordero (CNAB)
E1_NUMNOTACNF origem
E1_SERIECSerie NF
E1_NSUTEFCNSU TEF

Status de um titulo

Indices principais

OrdemChave
1E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO
2E1_FILIAL+E1_CLIENTE+E1_LOJA+E1_PREFIXO+E1_NUM
3E1_FILIAL+E1_VENCTO+E1_PREFIXO
5E1_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

TabelaRelacao
SA1Cliente
SE5Movimentacao bancaria (baixas, taxas)
SEFBordero
SF2NF origem

Pegadinhas

Veja também