Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Especificação Lógica
Projeto: Microsiga Protheus 11.5 - Controladoria Requisito: AR11.5_CTR_001 - Localização Argentina: Projeto SIM
Histórico de Alterações
Item Descrição da Alteração Data
01 Inclusão do item “Definições Complementares” registrando novas definições sobre esta 02/09/11
especificação
Rotinas
Rotina Tipo de Operação Opção de Menu
FINA100 – Movimentos bancários Alteração Atualizações Movimento bancário Movimento
bancário
Objetivo
Criação de uma interface para o gerenciamento do controle de cheques recebidos e emitidos na rotina de Movimentação
Bancária, considerando as funcionalidades de emissão, compensação, controle de baixas, cancelamentos e devoluções, bem
como a apresentação dos lançamentos no fluxo de caixa.
As despesas financeiras lançadas como movimento bancário podem ser realizadas através de cheques devendo os mesmos
serem registrados no arquivo de movimentações financeiras, proporcionando um controle efetivo e atualizado do status dos
cheques recebidos ou emitidos.
Definições:
Definir as características dos processos macros que necessitarão de adequações no ambiente Protheus Financeiro para
atender as regras de negócio e exigências legais da Especificação do País Argentina, quanto ao processo de Controle de
Cheques Recebidos e Emitidos na rotina de Movimentação Bancaria.
Definição da tabelas.
Tipo de Títulos
Tabela Chave Descrição
05 CCR Carta de Credito
05 LCA Letra de Cambio
Situação de Cheques
Observação: Alguns códigos serão utilizados na especificação do processo de Cheques Recebidos e Emitidos
Código Descrição
01 Em carteira
02 Pagamento Vinculado (Asignado a un Pago)
03 Emitido (somente para carteira a pagar)
04 Liquidado (Dado de Baja)
05 Anulado (Imnutilizado)
06 Substituído (Reemplazado)
07 Devolvido (Rechazado)
08 Protestado – somente a receber
09 Compensado (controle de terceiros)
Código Descrição
01 Banco Conta Corrente
02 Banco Conta Poupança
03 Fundo Fixo
04 Caixinha
Campo Descrição
FRE_FILIAL Filial do Sistema.
FRE_BANCO Código do Banco (SA6->A6_COD).
FRE_AGENCIA Código da Agencia (SA6->A6_AGENCIA)
FRE_CONTA Conta Corrente (SA6->A6_CONTA)
FRE_TIPO Tipo de talonário. Onde:
1 = Cheque Diferido;
2 = Cheque Eletrônico;
3 = Cheque comum.
FRE_TALAO Numero Seqüencial do Talão de Cheques.
FRE_SEQINI Numero de Seqüência inicial do 1º. cheque constante no talão.
SEF – Cheques.
Campo Descrição
EF_REFTIP Tipo de Referencia (LP=Liquidação a Proveedores).
EF_ORDPAGO Numero do Comprovante ou Ordem de Pago.
EF_STATUS Situação do Cheque. Onde:
01 – Carteira;
02 – Vinculado a Pagamento (Asignado a un Pago);
03 – Emitido;
04 – Liquidado (Dado de Baja); Presentado al Cobro
05 – Anulado (Inutilizado);
06 – Substituído (Reemplazado);
07 – Devolvido (Rechazado)
08 – Protestado (somente carteira a receber)
09 – Compensado (controle de terceiros)
EF_SUBSCHE Substituído pelo Cheque Numero (Novo cheque)
Campo Descrição
FRF_FILIAL Filial do sistema.
FRF_BANCO Valor do Cheque.
FRF_AGENCIA Tipo de Referencia (LP=Liquidação a Proveedores).
FRF_CONTA Numero do Comprovante ou Ordem de Pago.
FRF_NUM Numero do Cheque
FRF_CART Carteira. Onde:
‘P’ – Pagar;
‘R’ – Receber.
FRF_DATPAG Data do Pagamento
FRF_DATDEV Data da Devolução
FRF_MOTIVO Código de Motivos de Devolução
FRF_DESCR Descrição do Motivo
Na função Legenda definir as cores baseadas na tabela de Situação ou Status de Cheque conforme abaixo:
Legenda de Situação ou Status:
Controle de Cheques.
CHEQUES RECEBIDOS
Um cheque recebido, poderá ser liquidado (depositado) pelo processo de Controle de Cheques Recebidos, ou caso seja
endossável a terceiros, ser utilizado para pagamento a fornecedores.
Este processo é similar ao Controle de Cheques recebidos da Carteira a receber, que ocorre na rotina Recebimentos Diversos
A diferença é que nesta rotina, não temos títulos a receber a serem baixados quando da entrada do cheque e não temos um
Recibo como comprovante, no entanto um registro na tabela SE1 será gerado representado o titulo do cheque.
Um cheque recebido pela movimentação bancária devera ter os mesmos controles que um cheque recebido pela rotina de
Recebimentos Diversos, ou seja, quando o mesmo é incluído por uma movimentação bancaria ainda não sabemos se o
mesmo é valido (seja por fundos, assinatura ou qualquer outro motivo que possa causar uma devolução pelo banco do
emitente).
A movimentação bancária não exige titulo atrelado ao registro. Ela se caracteriza por movimentar o saldo bancário no
momento em que ele é incluído, no entanto, quando o recebimento é feito por cheque, a sua liquidação é que determinará o
crédito.
Portanto, um cheque recebido, devera gerar um registro de movimentação bancaria sem movimentar o saldo bancário. Este
somente poderá ser creditado quando da sua liquidação, ou seja, pela rotina de Controle de Cheques Recebidos, Opção :
Liquidação.
Um cheque recebido por esta rotina, também pode ser utilizado para pagamento, caso seja endossado. Neste processo, o
mesmo irá para Carteira e poderá ser utilizado no pagamento a fornecedores por uma Ordem de Pago, quando o usuário
escolher pagamento com cheque de terceiros.
Deverão existir os seguinte campos para que as informações do cheque sejam digitadas e gravadas na tabela de cheques e no
registro de títulos a receber:
Cliente
Loja
Prefixo
Numero
Parcela
Data de Vencimento
Banco, Agência e conta corrente do cheque
Se endossado ou não
CUIT do firmante (emitente) do cheque
Campo Conteúdo
E1_PREFIXO Informação digitada
E1_NUM Informação digitada
E1_PARCELA Informação digitada
E1_TIPO “CH”
E1_VENCTO Informação digitada
E1_BCOCHQ Informação digitada
E1_AGECHQ Informação digitada
E1_CTACHQ Informação digitada
Campo Conteúdo
E5_FILIAL xFilial(“SE5”)
E5_DATA dDataBase
E5_TIPO ‘NF’
E5_VALOR Valor do cheque
E5_DOCUMEN Documento informado
E5_RECPAG ‘R’
E5_HISTOR ‘BJ.P/MOV.REC’
E5_TIPODOC ‘BA’
E5_VLMOED2 xMoeda()
E5_LA ‘S’
E5_PREFIXO Prefixo digitado
E5_NUMERO Número digitado
E5_PARCELA Brancos
E5_CLIEFOR Cliente digitado
E5_LOJA Loja digitada
E5_DTDIGIT Database
E5_MOTBX ‘NOR’
E5_SEQ ‘01’
E5_NUMLIQ
Campo Conteúdo
EF_FILIAL xFilial(‘SEF’)
EF_BANCO Código do Banco
EF_AGENCIA Código da Agencia
EF_CONTA Código da Conta
EF_NUM Numero do Cheque
EF_VALOR Valor do cheque
EF_DATA dDataBase
EF_VENCTO Data de vencimento informado + Clearing
EF_TITULO Brancos
EF_TIPO ‘CH’
EF_CLIENTE Cliente digitado
EF_LOJA Loja digitada
EF_HIST ‘Recibo ’+ histórico informado
EF_CART ‘R’
EF_LA ‘S’
EF_LIBER ‘S’
EF_SEQUENC ‘01’
EF_TERCEIR F
EF_ORIGEM ‘FINA100’
Liquidação do Cheque
A Liquidação dos cheques recebidos deverá ser realizada pelas rotinas de Controle de Cheques Recebidos..
O usuário deverá clicar na opção ‘Liquidar’ no sub-menu de opções para efetivar a baixa ou liquidação do cheque.
O programa FINA090, função fA090Aut(cAlias,nReg,nOpcx) para realizar a operação de baixa à partir da execução do
programa FINA095 deverá ser adaptado para tratar cheques originados pela movimentação bancária. Neste tipo de processo
não há titulo original (carteira a receber) para ser baixado.
Desenvolver a função fA095Compes(), como todas as funções executadas à partir do aRotina, esta também deverá receber os
parâmetros cAlias, nReg e nOpcx.
Na função fA095Compes(cAlias, nReg, nOpcx) definir a variável lCtrlCheq como local para controlar a origem da execução
chamada, ou seja, se a função foi executada através do fina095 ou pelo fina090. Inicializar as demais variáveis locais e privates
que são manipuladas dentro da função fA090Aut().
A função fA090Aut() tem como objetivo realizar a liquidação dos cheques recebidos, desta forma se requer um tratamento
interno para o sucesso da execução. O tratamento deve atribuir algumas variáveis quando lCtrlCheq igual a .T..
Exemplo:
If lCtrlCheq
cBco090 := SEF->EF_BANCO
cAge090 := SEF->EF_AGENCIA
cCta090 := SEF->EF_CONTA
cCheq090 := SEF->EF_NUM
EndIf
A tela de solicitação e confirmação dos dados do banco é a mesma usada pelo programa Fina090, porém as variáveis
definidas nas caixas de edição para Banco (cBco090), Agencia (cAge090), Conta (cCta090) e Numero do Cheque (cCheq090)
devem ser inicializadas à partir do registro do Cheque posicionado, respectivamente SEF->EF_BANCO, SEF->EF_AGENCIA, SEF-
>EF_CONTA e SEF->EF_NUM.
Permitir que o usuário informe os dados complementares como o Nome do Beneficiário (cBenef090) e Histórico do Cheque
(cHistor090).
Quando o usuário confirmar a liquidação ou baixa automática, o sistema realizará a operação de baixa por meio da função
fA090Aut().
Após o retorno da função fA090Aut(), verificar o reposicionamento do registro, atualizar os campos referentes a baixa na
tabela de Cheques (SEF) e registrar o Histórico da compensação na tabela (FRE).
Exemplo:
Campo Descrição
EF_DATAPAG DDataBase
EF_REFTIP “LP”
EF_STATUS “04” (Cheque liquidado)
EF_BENEF cBenef090
EF_HISTOR cHistor090
Campo Descrição
FRF_FILIAL xFilial(“FRF”)
FRF_BANCO SEF->EF_BANCO
FRF_AGENCIA SEF->EF_AGENCIA
FRF_CONTA SEF->EF_CONTA
FRF_NUM SEF->EF_NUM
FRF_CART “R”
FRF_DATPAG DDataBase
FRF_MOTIVO “10”
FRF_DESCRI “CHEQUE LIQUIDADO”
IMPORTANTE:
Não existe liquidação de cheques recebidos (depósito) e posterior uso como pagamento seja de um titulo ou de uma
movimentação bancária a pagar. O termo utilizado é “compensação”, pois o mesmo é recebido e redirecionado antes da
liquidação, portanto há simplesmente uma transferência entre carteiras e não uma movimentação que caracterize crédito ou
debito no saldo bancário.
Fazer uma validação (segurança) na rotina de movimentação bancaria opção Anular. Se for uma movimentação com cheque e
o mesmo já tenha passado por uma liquidação, o usuário devera utilizar as rotinas de Controle de cheques recebidos.
Essas rotinas são responsáveis por verificar se o cheque já foi liquidado, se é uma devolução de compensação e também será
capaz de gravar o motivo pelo qual o cheque esta sendo simplesmente anulado ou devolvido pelo banco.
Se o cheque ainda não passou por uma liquidação, poderá ser realizado um estorno do movimento bancário, apagando antes
o registro gerado para o cheque na tabela de títulos a receber .
Para anular cheques recebidos já liquidados e necessário utilizar a rotina Cheques Recebidos, Opcao Anular
Nesta opção teremos duas funcionalidades diferentes dependendo do tipo do cheque que será anulado, sendo cheques
liquidados pela rotina de Controle de cheques recebidos (depositado) e cheques compensados (endossáveis) utilizados em
pagamentos através da Ordem de Pago ou Movimentação Bancaria.
Cheques liquidados são cheques recebidos pela rotina de Movimentacao Bancaria e não utilizados para pagamentos. Os
cheques foram liquidados (depositados) e portanto movimentaram o saldo bancário.
O usuário deverá clicar na opção ‘Anular’ no sub-menu de opções para efetivar a anulação da liquidação e registrar o motivo
da devolução do cheque.
Desenvolver a função fA096Anula(). Como todas as funções executadas à partir do aRotina, esta também deverá receber os
parâmetros cAlias, nReg e nOpcx.
Criar uma nova tela de edição para informar os dados do cheque como banco, agencia, conta, numero do cheque e o motivo
da devolução.
Permitir que o usuário informe o motivo da devolução, veja o resultado na tela de cheques (vide protótipo 05).
No caixa de edição do campo Motivo, disponibilizar a consulta F3 com base na tabela de Motivos “G0” denominada (Alínea de
cheques devolvidos).
Neste caso, o cheque volta para o Status 01-Carteira e aguarda que nova liquidação seja feita. Da mesma maneira, a
movimentação bancária é cancelada (E5_SITUACA = “C”) e o titulo correspondente ao cheque volta a ficar pendente na
carteira de títulos a receber.
No momento da devolução deste cheque, embora possa ser reapresentado pelo fornecedor que o recebeu é necessário
registrar o fato ocorrido.
Neste caso, o cheque volta para o Status 01-Carteira e aguarda que nova liquidação seja feita, ou seja, uma reapresentação.
Da mesma maneira, a movimentação bancária é cancelada (E5_SITUACA = “C”) no registro do cheque quando estava na
carteira a receber.
O titulo correspondente ao cheque volta a ficar pendente na carteira a receber e um titulo tipo “NDP” devera ser gerado no
contas a pagar, demonstrando a pendência de pagamento com o fornecedor.
O cheque então, estando em carteira, pode ser liquidado pela rotina de contas a receber novamente, realizando um crédito
bancário a receber na conta do banco escolhido. Na carteira a receber, o titulo que representa o cheque é liquidado e no
registro do cheque constará o status 04- Liquidado.
De outra forma, o mesmo cheque poderá ser disponibilizado para uso na Movimentacao Bancaria, quando escolhido forma
de pagamento com cheque de terceiros.
O cheque será compensado novamente ficando com Status = 09 – Compensado. Deverá ser gerado um registro de
movimento bancário, mas sem alterar o saldo do banco, uma vez que o valor nunca foi creditado quando recebido.
Se o motivo digitado for igual a “12”, o cheque não poderá ser reapresentado. Desta forma, o sistema deverá cancelar a baixa
do cheque pela rotina Cheques Recebidos e alterar o Status do cheque para 07-Devolvido
Todo cheque devolvido que não pode ser reapresentado, deverá gerar uma nota de débito (Tipo NDC) a fim de registrar a
pendência do cliente.
A geração do novo título tipo NDC (Nota de Debito ao Cliente) será realizada chamando a função de inclusão de títulos da
rotina FINA040. O novo registro será gerado obrigatoriamente com o campo Tipo = “NDC”, valor do cheque e data de emissão
igual a Database. Os demais campos deverão ser digitados pelo usuário.
No momento da devolução deste cheque, a rotina deverá cancelar a utilização do cheque, ficando este com o Status 07 –
Devolvido
Neste caso, o cheque volta para o Status 07-Devolvido, a movimentação bancária é cancelada (E5_SITUACA = “C no registro
do cheque quando estava na carteira a receber.
Ao confirmar o estorno do cheque, a rotina devera gerar um titulo do tipo NDC para o cliente, registrando assim um debito
que o cliente precisa quitar. Da mesma forma, devera ser gerado um titulo do tipo NDP para o fornecedor, demonstrando a
obrigação que a empresa ainda tem para com o fornecedor.
A geração do novo título tipo NDC (Nota de Debito ao Cliente) será realizada chamando a função de inclusão de títulos da
rotina FINA040, títulos a receber. O novo registro será gerado obrigatoriamente com o campo Tipo = “NDC”, valor do cheque
e data de emissão igual a Database. Os demais campos deverão ser digitados pelo usuário.
A geração do novo título tipo NDP (Nota de Debito ao Provedor) será realizada chamando a função de inclusão de títulos da
rotina FINA050, titulos a pagar. O novo registro será gerado obrigatoriamente com o campo Tipo = “NDP”, valor do cheque e
data de emissão igual a Database. Os demais campos deverão ser digitados pelo usuário.
Campo Descrição
FRF_FILIAL xFilial(“FRF”)
FRF_BANCO SEF->EF_BANCO
FRF_AGENCIA SEF->EF_AGENCIA
FRF_CONTA SEF->EF_CONTA
FRF_NUM SEF->EF_NUM
FRF_CART “R”
FRF_DATDEV DDataBase
FRF_MOTIVO “12”
FRF_DESCRI SX5->X5_DESCRIC (Descrição do motivo da devolução)
Campo Descrição
EF_STATUS “04” Anulado ou Cancelado
EF_IMPRESS “C”
Campo Descrição
E1_BAIXA CTD(“”)
E1_VALOR SE1->E1_VALOR + SEF->EF_VALOR
E1_DESCONT 0.00
E1_MULTA 0.00
E1_JUROS 0.00
E1_CORREC 0.00
E1_VALLIQ 0.00
E1_LOTE Space(Len(SE1->E1_LOTE))
e) Gerar lançamento contábil de estorno através do lançamento padrão 576 (Cancelamento de Baixas).
Observação: Verificar que existe a possibilidade de 01 cheque baixar diversos títulos, portanto deve-se criar uma função para
retornar em um array os campos do SE1 correspondente aos títulos baixados pelo cheque.
fA088Cancel() -> Executa o cancelamento das baixas no contas a receber com base em um título ou cheque.
As operações de Conciliar ou Protestar um cheque são realizadas pela rotina de Cheques Recebidos normalmente. O fluxo
pode ser verificado na Especificação P11-5_CTR_006_11_003_02 Rebtos Diversos - Contr Cheques
No momento em que informar um numerário igual a “CH” a movimentação será realizada utilizando um cheque, seja próprio
ou de terceiros. Deverá existir um combo onde o usuário optará por uma dessas duas formas de utilização do cheque:
Caso escolha cheque próprio, a partir do banco informado, a rotina deverá trazer um cheque desse banco em carteira
disponível para uso. O cheque então ficara vinculado com esse movimento bancário ate que seja impresso e liquidado, similar
ao processo já descrito na especificação de pagamentos por Ordem de Pago. A função a ser utilizada neste momento é
similiar a Function a085aEnch(), na qual o sistema utiliza o primeiro cheque disponível do talão informado.
Caso escolha cheque de terceiros, a rotina deverá trazer todos os cheques da carteira a receber, endossáveis e disponíveis
para uso (em Carteira). O processo segue então similar ao pagamento com cheque de terceiros da rotina Ordem de
Pagamento.
A diferença entre este processo e a Ordem de Pago, é que na movimentação bancaria não temos um titulo a pagar a ser
baixado e não existe Ordem de Pago a ser emitida e associada ao cheque.
Na movimentação bancária a pagar pode ser utilizado um cheque próprio, ou seja, que tenha sido gerado através da rotina
Cheques Emitidos, onde se cria um talão com seus respectivos cheques.
Deverão existir os seguinte campos para que as informações do cheque sejam digitadas e gravadas na tabela de cheques e no
registro de títulos a pagar:
Data de Vencimento
Código do Fornecedor
Loja do Fornecedor
Gerar a movimentação financeira registrando na tabela SE5 o vinculo entre o registro do título do cheque da tabela SE2.
Campo Conteúdo
E2_PREFIXO Prefixo do talonário
E2_NUM Numero do cheque
E2_PARCELA Brancos
E2_TIPO “CH”
E2_VENCTO Vencimento informado
Campo Conteúdo
E5_FILIAL xFilial(“SE5”)
E5_DATA DDataBase
E5_TIPO ‘NF’
E5_VALOR SE2->E2_VALOR
E5_DOCUMEN Documento informado
E5_RECPAG ‘P’
E5_HISTOR ‘BJ.P/MOV.PAG’
E5_TIPODOC ‘BA’
E5_VLMOED2 xMoeda()
E5_LA ‘S’
E5_PREFIXO SE2->E2_PREFIXO
E5_NUMERO SE2->E2_NUM
E5_PARCELA SE2->E2_PARCELA
E5_CLIEFOR SE2->E2_FORNECE
E5_LOJA SE2->E2_LOJA
E5_DTDIGIT Database
E5_MOTBX ‘NOR’
E5_SEQ ‘01’
E5_NUMLIQ Numero da Ordem de Pago
E5_ORDREC SE5->E5_NUMLIQ
Campo Conteúdo
EF_FILIAL xFilial(‘SEF’)
EF_BANCO Código do Banco
EF_AGENCIA Código da Agencia
EF_CONTA Código da Conta
EF_NUM Numero do Cheque
EF_VALOR Valor do cheque
EF_DATA DDataBase
EF_VENCTO Vencimento informado + Clearing
EF_TITULO
EF_TIPO ‘CH’
EF_FORNECE SE2->E2_FORNECE
EF_LOJA SE2->E2_LOJA
EF_HIST ‘CH a Pagar’+SE5->E5_DOCUMEN
EF_CART ‘P’
O uso de cheque de terceiros será realizada pela função já existente na rotina padrão, sendo a mesma Function Fa085aTerc(),
que deverá ser modificada seguindo critérios abaixo. Deve-se criar um índice novo para apresentar os cheques por data de
vencimento.
Este processo é similar ao uso de cheque de terceiros em uma Ordem de Pago, conforme já detalhado na Especificação P11-
5_CTR_006_11_003_01 – Ordem de Pago Chequeras.
É considerado cheque de terceiros, todo cheque recebido pela rotina de Recebimentos Diversos e endossável. Para utilização
deste tipo de cheque, o fornecedor também deverá estar habilitado através do campo E2_ENDOSSO.
Deverão existir os seguinte campos para que as informações do cheque sejam digitadas e gravadas na tabela de cheques e no
registro de títulos a pagar:
Data de Vencimento
Código do Fornecedor
Loja do Fornecedor
Gerar a movimentação financeira registrando na tabela SE5 o vinculo entre o registro do título do cheque da tabela SE1.
Campo Conteúdo
E1_BAIXA dDataBase
E1_SALDO Valor do título – valor do cheque.
E1_VALLIQ SE1->E1_VALOR
E1_EMIS1 SE1->E1_BAIXA
E1_MOVIMEN SE1->E1_BAIXA
Campo Conteúdo
E5_FILIAL xFilial(“SE5”)
E5_DATA DDataBase
E5_TIPO ‘NF’
E5_VALOR Valor informado
E5_DOCUMEN Documento informado
E5_RECPAG ‘R’
E5_HISTOR ‘MOV.PG CH’
E5_TIPODOC ‘BA’
E5_VLMOED2 xMoeda()
E5_LA ‘S’
E5_PREFIXO SE1->E1_PREFIXO
E5_NUMERO SE1->E1_NUM
Campo Conteúdo
EF_FILIAL xFilial(‘SEF’)
EF_BANCO Código do Banco
EF_AGENCIA Código da Agencia
EF_CONTA Código da Conta
EF_NUM Numero do Cheque
EF_VALOR Valor do cheque
EF_DATA DDataBase
EF_VENCTO Vencimento informado + Clearing
EF_TITULO
EF_TIPO ‘CH’
EF_CLIENTE SE1->E1_CLIENTE
EF_LOJA SE1->E1_LOJA
EF_HIST ‘CH a Pagar’+SE5->E5_DOCUMEN
EF_CART ‘P’
EF_LA ‘S’
EF_LIBER ‘S’
EF_SEQUENC ‘01’
EF_TERCEIR F
EF_STATUS “09” – Compensado
EF_ORIGEM ‘FINA100’
A impressão de um cheque próprio utilizado em uma movimentação bancária é realizada pela rotina de Controle de cheques
emitidos.
O usuário deverá clicar na opção ‘Emitir’ no sub-menu de opções para imprimir um cheque próprio.
Desenvolver a função fA095Emitir(). Como todas as funções executadas à partir do aRotina, esta também deverá receber os
parâmetros cAlias, nReg e nOpcx.
1.) Somente permitir que o usuário imprima o cheque caso o Status (EF_STATUS) igual a 01, 02, o Controle de Impressão
(EF_IMPRESS) diferente de S, A e C.
Após o retorno do programa FINR480 e impressão finalizada com sucesso, atualizar o Status do Cheque (EF_STATUS)
Exemplo:
lRet := FINR480()
If lRet
dbSelectArea("SEF")
dbSetOrder(1)
If dbSeek(xFilial("SEF")+aCheque[1]+aCheque[2]+aCheque[3]+aCheque[4])
If SEF->EF_IMPRESS == "S"
RecLock("SEF",.F.)
EF_STATUS := "03"
MsUnLock()
EndIf
EndIf
EndIf
A Liquidação dos cheques emitidos deverá ser realizada pelas rotinas de Controle de Cheques Emitidos.
O usuário deverá clicar na opção ‘Liquidar’ no sub-menu de opções para efetivar a baixa ou liquidação do cheque.
O programa FINA090, função fA090Aut(cAlias,nReg,nOpcx) para realizar a operação de baixa à partir da execução do
programa FINA095 deverá ser adaptado para tratar cheques originados pela movimentação bancária. Neste tipo de processo
não há titulo original (carteira a receber) para ser baixado. A rotina deverá ser adequada para cheques emitidos pela
movimentação bancaria, uma vez que este processo não tem vinculo com um titulo a pagar e não gera Ordem de Pago.
Desenvolver a função fA095Compes(), como todas as funções executadas à partir do aRotina, esta também deverá receber os
parâmetros cAlias, nReg e nOpcx.
Na função fA095Compes(cAlias, nReg, nOpcx) definir a variável lCtrlCheq como local para controlar a origem da execução
chamada, ou seja, se a função foi executada através do fina095 ou pelo fina090. Inicializar as demais variáveis locais e privates
que são manipuladas dentro da função fA090Aut().
A função fA090Aut() tem como objetivo realizar a liquidação dos cheques recebidos, desta forma se requer um tratamento
interno para o sucesso da execução. O tratamento deve atribuir algumas variáveis quando lCtrlCheq igual a .T..
If lCtrlCheq
cBco090 := SEF->EF_BANCO
cAge090 := SEF->EF_AGENCIA
cCta090 := SEF->EF_CONTA
cCheq090 := SEF->EF_NUM
EndIf
A tela de solicitação e confirmação dos dados do banco é a mesma usada pelo programa Fina090, porém as variáveis
definidas nas caixas de edição para Banco (cBco090), Agencia (cAge090), Conta (cCta090) e Numero do Cheque (cCheq090)
devem ser inicializadas à partir do registro do Cheque posicionado, respectivamente SEF->EF_BANCO, SEF->EF_AGENCIA, SEF-
>EF_CONTA e SEF->EF_NUM.
Permitir que o usuário informe os dados complementares como o Nome do Beneficiário (cBenef090) e Histórico do Cheque
(cHistor090).
Quando o usuário confirmar a liquidação ou baixa automática, o sistema realizará a operação de baixa por meio da função
fA090Aut().
Após o retorno da função fA090Aut(), verificar o reposicionamento do registro, atualizar os campos referentes a baixa na
tabela de Cheques (SEF) e registrar o Histórico da compensação na tabela (FRE).
Exemplo:
Campo Descrição
EF_DATAPAG DDataBase
EF_REFTIP “LP”
EF_STATUS “04” (Cheque liquidado)
EF_BENEF cBenef090
EF_HISTOR cHistor090
Campo Descrição
FRF_FILIAL xFilial(“FRF”)
FRF_BANCO SEF->EF_BANCO
FRF_AGENCIA SEF->EF_AGENCIA
FRF_CONTA SEF->EF_CONTA
FRF_NUM SEF->EF_NUM
FRF_CART “R”
FRF_DATPAG DDataBase
FRF_MOTIVO “10”
FRF_DESCRI “CHEQUE LIQUIDADO”
IMPORTANTE:
Não existe liquidação de cheques de terceiros e posterior uso como pagamento seja de um titulo ou de uma movimentação
bancária a pagar. O termo utilizado é “compensação”, pois o mesmo é recebido e redirecionado antes da liquidação, portanto
há simplesmente uma transferência entre carteiras e não uma movimentação que caracterize crédito ou debito no saldo
bancário.
Fazer uma validação (segurança) na rotina de movimentação bancaria opção Anular. Se for uma movimentação com cheque e
o mesmo já tenha sido impresso, o usuário devera utilizar as rotinas de Controle de Cheques Emitidos
Essas rotinas são responsáveis por verificar se o cheque já foi emitido ou liquidado, se é uma devolução de compensação e
também será capaz de gravar o motivo pelo qual o cheque esta sendo simplesmente anulado ou devolvido pelo banco.
Se o cheque ainda não foi emitido, poderá ser realizado um estorno do movimento bancário, apagando antes o registro
gerado para o cheque na tabela de títulos a pagar.
Para anular cheques emitido já liquidados é necessário utilizar a rotina Cheques Emitidos, Opcao Anular
Nesta opção teremos duas funcionalidades diferentes dependendo do tipo do cheque que será anulado, sendo cheques
liquidados pela rotina de Controle de Cheques Emitidos e cheques compensados (endossáveis) utilizados em pagamentos
através da Ordem de Pago ou Movimentação Bancaria.
Cheques liquidados são cheques emitidos pela rotina de Movimentação Bancaria e liquidados pela rotina Cheques Emitidos,
movimentando assim o saldo bancário.
O usuário deverá clicar na opção ‘Anular’ no sub-menu de opções para efetivar a anulação da liquidação e registrar o motivo
da devolução do cheque.
Desenvolver a função fA096Anula(). Como todas as funções executadas à partir do aRotina, esta também deverá receber os
parâmetros cAlias, nReg e nOpcx.
Criar uma nova tela de edição para informar os dados do cheque como banco, agencia, conta, numero do cheque e o motivo
da devolução.
Permitir que o usuário informe o motivo da devolução, veja o resultado na tela de cheques (vide protótipo 05).
No caixa de edição do campo Motivo, disponibilizar a consulta F3 com base na tabela de Motivos “G0” denominada (Alínea de
cheques devolvidos).
Neste caso, o cheque volta para o Status 01-Carteira e aguarda que nova liquidação seja feita. Da mesma maneira, a
movimentação bancária é cancelada (E5_SITUACA = “C”) e o titulo correspondente ao cheque volta a ficar pendente na
carteira de títulos a pagar.
No momento da devolução deste cheque, embora possa ser reapresentado pelo fornecedor que o recebeu é necessário
registrar o fato ocorrido.
Neste caso, o cheque volta para o Status 01-Carteira e aguarda que nova liquidação seja feita, ou seja, uma reapresentação.
Da mesma maneira, a movimentação bancária é cancelada (E5_SITUACA = “C”) no registro do cheque quando estava na
carteira a receber.
O cheque então, estando em carteira, pode ser liquidado pela rotina de contas a receber novamente, realizando um crédito
bancário a receber na conta do banco escolhido. Na carteira a receber, o titulo que representa o cheque é liquidado e no
registro do cheque constará o status 04- Liquidado.
De outra forma, o mesmo cheque poderá ser disponibilizado para uso na Movimentação Bancaria, quando escolhido forma
de pagamento com cheque de terceiros.
O cheque será compensado novamente ficando com Status = 09 – Compensado. Deverá ser gerado um registro de
movimento bancário, mas sem alterar o saldo do banco, uma vez que o valor nunca foi creditado quando recebido.
Campo Descrição
Se o motivo digitado for igual a “12”, o cheque não poderá ser reapresentado. Desta forma, o sistema deverá cancelar a baixa
do cheque pela rotina Cheques Recebidos e alterar o Status do cheque para 07-Devolvido
Todo cheque devolvido que não pode ser reapresentado, deverá gerar uma nota de débito (Tipo NDC) a fim de registrar a
pendência do cliente.
A geração do novo título tipo NDC (Nota de Debito ao Cliente) será realizada chamando a função de inclusão de títulos da
rotina FINA040. O novo registro será gerado obrigatoriamente com o campo Tipo = “NDC”, valor do cheque e data de emissão
igual a Database. Os demais campos deverão ser digitados pelo usuário.
No momento da devolução deste cheque, a rotina deverá cancelar a utilização do cheque, ficando este com o Status 07 –
Devolvido
Neste caso, o cheque volta para o Status 07-Devolvido, a movimentação bancária é cancelada (E5_SITUACA = “C no registro
do cheque quando estava na carteira a receber.
Ao confirmar o estorno do cheque, a rotina devera gerar um titulo do tipo NDC para o cliente, registrando assim um debito
que o cliente precisa quitar.
Ao contrário da Ordem de Pago, nesta devolução não iremos gerar NDP ao fornecedor, pois nunca houve um titulo vinculado
ou uma Ordem de Pago.
A geração do novo título tipo NDC (Nota de Debito ao Cliente) será realizada chamando a função de inclusão de títulos da
rotina FINA040, títulos a receber. O novo registro será gerado obrigatoriamente com o campo Tipo = “NDC”, valor do cheque
e data de emissão igual a Database. Os demais campos deverão ser digitados pelo usuário.
Campo Descrição
FRF_FILIAL xFilial(“FRF”)
FRF_BANCO SEF->EF_BANCO
FRF_AGENCIA SEF->EF_AGENCIA
FRF_CONTA SEF->EF_CONTA
FRF_NUM SEF->EF_NUM
FRF_CART “R”
FRF_DATDEV DDataBase
FRF_MOTIVO “12”
FRF_DESCRI SX5->X5_DESCRIC (Descrição do motivo da devolução)
Campo Descrição
EF_STATUS “04” Anulado ou Cancelado
EF_IMPRESS “C”
Campo Descrição
E1_BAIXA CTD(“”)
E1_VALOR SE1->E1_VALOR + SEF->EF_VALOR
E1_DESCONT 0.00
E1_MULTA 0.00
E1_JUROS 0.00
E1_CORREC 0.00
E1_VALLIQ 0.00
E1_LOTE Space(Len(SE1->E1_LOTE))
e) Gerar lançamento contábil de estorno através do lançamento padrão 576 (Cancelamento de Baixas).
Observação: Verificar que existe a possibilidade de 01 cheque baixar diversos títulos, portanto deve-se criar uma função para
retornar em um array os campos do SE1 correspondente aos títulos baixados pelo cheque.
fA088Cancel() -> Executa o cancelamento das baixas no contas a receber com base em um título ou cheque.
Código Motivo
11 Insuficiência de fundos 1ª. Apresentação
12 Insuficiência de fundos 2ª. Apresentação
13 Conta encerrada
14 Prática espúria (Compromisso pronto atendimento)
IMPEDIMENTO AO PAGAMENTO:
Código Motivo
20 Folha de cheque cancelada por satisfação do correntista
21 Contra ordem ou oposição ao pagamento
22 Divergência ou insuficiência de assinatura
23 Cheques de órgãos da administração federal em desacordo com o Decreto-Lei no. 200
24 Bloqueio Judicial ou determinação do BACEN
25 Cancelamento do talonário pelo banco sacado
26 Inoperância temporária de transporte
27 Feriado municipal não previsto
28 Contra ordem ou oposição ao pagamento motivada por furto ou roubo
29 Falta de confirmação do recebimento do talonário pelo correntista
30 Furto ou roubo de malotes
Código Motivo
31 Erro formal de preenchimento
32 Ausência ou irregularidade na aplicação do carimbo de compensação
33 Divergência de endosso
34 Cheque apresentado por estabelecimento que não o indicado no cruzamento em preto,
sem o endosso-mandato.
35 Cheque fraudado, emitido sem prévio controle ou responsabilidade do estabelecimento
bancário (“cheque universal”), ou ainda com adulteração da praça sacada.
36 Cheque emitido com mais de um endosso – Lei no. 9.311/96.
37 Registro inconsistente Compensação Eletrônica.
APRESENTAÇÃO INDEVIDA:
Código Motivo
40 Moeda inválida
41 Cheque apresentado a banco que não sacado
42 Cheque não compensável na sessão ou sistema de compensação em que apresentado e
o recibo bancário trocado em sessão indevida.
43 Cheque devolvido anteriormente pelos motivos 21, 22, 23, 24, 31 e 34, persistindo o
motivo de devolução.
44 Cheque prescrito
45 Cheque emitido por entidade obrigada a emitir Ordem bancária
46 CR – Comunicação de Remessa cujo cheque correspondente não for entregue no prazo
devido.
47 CR – Comunicação de Remessa com ausência ou inconsistência de dados obrigatórios.
48 Cheque de valor superior a R$ 100,00 sem identificação do beneficiário
49 Remessa nula, caracterizada pela reapresentação de cheque devolvido pelos motivos
12, 13, 14, 20, 25, 28, 30, 35, 43, 44 e 45.
O usuário deverá clicar na opção ‘Conciliar’ no sub-menu de opções das rotinas Cheques Recebidos ou Cheques Emitidos,
dependendo da carteira do cheque.
Para tanto é necessário efetuar a parametrização do programa FINA380, função fA380Rec(cAlias,nReg,nOpcx) para realizar a
operação de baixa à partir da execução do programa FINA095.
Desenvolver a função Fa095Concil(), como todas as funções executadas à partir do aRotina, esta também deverá receber os
parâmetros cAlias, nReg e nOpcx.
Na função fA380Concil(cAlias, nReg, nOpcx) definir a variável lCtrlCheq como local para controlar a origem da execução
chamada, ou seja, se a função foi executada através do fina095 ou pelo fina090. Inicializar as demais variáveis locais e privates
que são manipuladas dentro da função fA380Concil().
A função fA380Rec() tem como objetivo realizar a conciliação de títulos, porém é necessário a criação de um filtro para que a
rotina concilie apenas os cheques emitidos, além do filtro requer também um tratamento interno para o sucesso da
execução. O tratamento deve atribuir algumas variáveis quando lCtrlCheq igual a .T..
Exemplo:
If lCtrlCheq
CBco380 := SEF->EF_BANCO
cAge380 := SEF->EF_AGENCIA
cCta380 := SEF->EF_CONTA
cCheq380 := SEF->EF_NUM
EndIf
Alterar a sintaxe da expressão de filtro na função fa380Checa(cAlias), considerar a variável cPaisLoc == “ARG” e somente o
movimentos correspondente aos cheques emitidos.
Exemplo:
If cPaisLoc == “ARG”
cFiltro += “E5_TIPO == ‘CH’ .and. E5_TIPODOC = ‘BA’”
EndIf
A tela de solicitação e confirmação dos dados do banco será a mesma usada pelo programa Fina380, porém as variáveis
definidas nas caixas de edição para Banco (cBco380), Agencia (cAge380), Conta (cCta380) devem ser inicializadas à partir do
registro do Cheque posicionado, respectivamente SEF->EF_BANCO, SEF->EF_AGENCIA, SEF->EF_CONTA e SEF->EF_NUM.
Ao confirmar a liquidação ou baixa automática, o sistema realizará a conciliação de forma standard gravando no campo
Reconciliação (E5_RECONC) com o conteúdo “x”.
Após o retorno da função Fa380Rec(), verificar o reposicionamento do registro, atualizar também o campo Reconciliação
(E5_RECONC) com o conteúdo “x” no registro do cheque.
Exemplo:
Campo Descrição
E5_RECONC “X”
Nas funções fA095Visual(), fA095Compes(), fA095Concil(), fA096Anular(), fA095Emitir(), definir o primeiro botão que deverá
ser apresentado na barra de botões do programa de Controle de cheques.
O botão denominado “Devoluções” deverá executar um listbox que imprimirá em tela as informações sobre a compensação
ou devoluções do respectivo cheque.
Local aButtons := {}
Apresentar os dados da tabela FRF em formato planilha, observar o protótipo de tela 05:
Mostrar os registros da tabela FRF, quando o Código do Banco (FRF_BANCO), Agencia (FRF_AGENCIA), Conta (FRF_CONTA) e
Cheque (FRF_NUM) forem iguais aos campos Código do Banco (M->EF_BANCO), Agencia (M->EF_AGENCIA), Conta (M-
>EF_CONTA) e Cheque (M->EF_NUM).
Através do Cadastro de Bancos o usuário incluirá o Código Bancário Unificado – CBU, este sendo sempre único para cada
Agencia/Banco/Conta. Nas rotinas onde se deva informar o código do banco, também será possível pesquisar pelo Código
CBU .
Campo Descrição
A6_IBAN C.B.U. – Codigo Bancario Unificado
Permitir ao usuário pesquisar e visualizar no fluxo de caixa, os cheques emitidos e ainda não compensados, para isso será
necessário configurar o parâmetro MV_LIBCHEQ com o conteúdo igual a “N”.
Nas funções fA095Visual(), fA095Compes(), fA095Concil(), fA096Anular(), fA095Emitir(), definir o segundo botão que deverá
ser apresentado na barra de botões do programa de Controle de cheques.
O botão denominado “Fluxo de Caixa” deverá executar o programa de Consultas FINC021 que imprimirá em tela a
disponibilidade de entradas e saídas de recursos no contas a pagar e receber.
Local aButtons := {}
Desenvolver uma query relacionando as tabelas SEF e FRF através dos campos Banco, Agencia, Conta e Numero do Cheque.
Na clausula where, definir os filtros com base nas perguntas e o Campo Carteira (EF_CART) igual a “P”.
Com o resultado da query, posicionar no inicio e realizar a leitura dos registros até o final do arquivo. Imprimir os registros
observando o modelo do relatório abaixo:
No. Talão No. Cheque Valor Data Vencimento Fornecedor Beneficiário Status
Emissão
Continuação:
Motivo Descrição Data Devolução Data Pagamento
11 INSUFICIENCIA DE FUNDOS 1ª. APRESENTAÇÃO 26/05/10 / /
12 INSUFICIENCIA DE FUNDOS 2ª. APRESENTAÇÃO 30/05/10 / /
10 CHEQUE COMPENSADO / / 25/05/10
10 CHEQUE COMPENSADO / / 26/05/10
(I) (J) (K) (L)
Onde:
(A) = SFE->FE_TALAO
(B) = SFE->FE_NUM
(C) = SFE->FE_VALOR
(D) = SFE->FE_DATA
(E) = SFE->FE_VENCTO
(F) = SFE->FE_FORNECE+” “+SFE->FE_LOJA
(G) = SFE->FE_BENEF
(H) = SFE->FE_STATUS
(I) = FRF->FRF_MOTIVO
(J) = SX5->X5_DESCRI (Tabela ‘G0’)
(K) = FRF->FRF_DATDEV
(L) = FRF->FRF_DATPAG
A conciliação bancaria automática, que permite associar os movimentos do extrato bancário ao sistema ainda esta
em estudo de viabilidade, não fazendo portanto parte desde escopo.
Uma movimentação bancária não está vinculado a nenhum titulo da carteira a pagar ou receber. Será gerado
somente 1 (um) registro tipo “CH”, representando o cheque, seja na carteira a pagar (SE2) ou receber(SE1), mas não
há titulo de cliente ou fornecedor para ser “baixado”.
A data de emissão do movimento e moeda devem fazer parte das informações de uma movimentação bancária. A
identificação de cheque próprio o terceiros, será realizada pela tabela Forma de Pagamento.
Quando um valor é depositado, os dados do banco de depósito ficam registrados na tabela SE5 – Movimentos
Bancários.
Todo o controle de um cheque recebido pela rotina de Movimento Bancário é feito pela rotina específica Controle de
Cheques Recebidos. Após o registro do cheque, a liquidação, devolução, conciliação, etc, é realizado pela rotina
mencionada.
Todo o controle de um cheque emitido pela rotina de Movimento Bancário é feito pela rotina específica Controle de
Cheques Emitidos. Após o registro do cheque, a liquidação, devolução, conciliação, etc, é realizado pela rotina
mencionada.
Dados como Banco, Agencia, data de emissão e outros que são considerados campos “chaves” dentro do sistema,
não poderão ser alterados após a gravação dos dados. Esta solicitação foi realizada na Especificação Carteira de
Valores e no momento não será desenvolvida por interferir na integridade dos dados. Esta solicitação poderá ser
revista em nova especificação.
Após a liquidação de um cheque recebido ou emitido, não é possível seu estorno (anulando o movimento bancário
por exemplo). O cheque deve ser “anulado” para o registro do motivo da devolução.
Se um cheque recebido ou emitido não for liquidado, é possível anular a movimentação bancária e o cheque
reutilizado. Para cheques emitidos, somente será permitido o reuso, caso não tenha sido emitido. Se emitido, o
cheque será anulado e não poderá mais ser reutilizado.
Controle de juros e gastos sobre cheques devolvidos (rechazados) serão analisados em nova especificação.
Cheque comum e cheque pós datado (também “pré datado” no Brasil ou “cheque pago diferido” na Argentina)
poderão ser diferenciados pela Tabela Forma de pagamento/recebimento, pelo processo que será gerado quando da
sua utilização. Para cheque comum, gerará uma movimentação bancária (débito inmediato), para cheque pós datado
gerará um titulo financeiro (débito mediato) representando um titulo de cheque.
Imprimir a expressão “No a la Ordem” no cheque. Esta solicitação deverá ser analisada em nova especificação.
Cálculo do digito verificador do Banco/Agencia, Conta Corrente e CBU será analisado em nova especificação.
Tabelas Envolvidas
SA2 – Fornecedor
SE2 – Contas a Pagar
SE5 – Movimentos Bancários
SEF – Cheques
FR0 – Tabelas
FRE – Talonário de Cheques
FRF – Histórico de Compensações e Devoluções
Regras de Integridade
Não se aplica
Condições de sucesso:
O usuário conseguir cadastrar os talonários de cheques dos respectivos Bancos;
O usuário conseguir emitir os cheques;
O usuário conseguir compensar os cheques vinculados a pagamentos por meio da Ordem de pago;
O usuário conseguir anular os cheques emitidos, cancelando as baixas no Contas a pagar;
O usuário conseguir visualizar os cheques emitidos no fluxo de caixa;
O usuário conseguir consultar o histórico de devoluções ou compensação;
O usuário conseguir imprimir os cheques emitidos e seus status.
Condições de falha: O usuário não conseguir visualizar os cheques gerados na tabela SEF.
Inicializador: Cadastro de Bancos, Contas a Pagar, Ordem de Pago.
Situação 01:
A empresa realizou compras de equipamentos do fornecedor DELL Computadores S/A (003280-00) no valor de U$
250.000,00 com a data de vencimento da nota fiscal em 25/05/2010. O pagamento foi realizado com cheque
emitido em 20/05/2010 e mesmo vencimento da nota fiscal. Por problemas operacionais no setor financeiro o saldo
da conta bancos ficou sem previsão de fundos.
Banco Agencia Conta Corrente No. Talão Cheque Inicial Cheque Final Quant. Status Tipo
022 00151 0097856-2 001 00001 00005 05 2-Desbloqueado 1-Cheque Comum
SEF – Cheques
Banco Agencia Conta Corrente No. Cheque Tipo Carteira Impresso Liberado Status Valor
022 00151 0097856-2 00001 CH P N N 00-Não usado 0,00
022 00151 0097856-2 00002 CH P N N 00-Não usado 0,00
022 00151 0097856-2 00003 CH P N N 00-Não usado 0,00
022 00151 0097856-2 00004 CH P N N 00-Não usado 0,00
022 00151 0097856-2 00005 CH P N N 00-Não usado 0,00
o Incluir a nota fiscal de compras no. 000012 - serie A, no valor total de US$ 250.000,00.
Na Ordem de Pago de no. 0002000, baixar o título através do cheque 00001 com data de emissão em 20/05/2010 e
vencimento em 25/05/2010.
SEF – Cheques
Banco Agencia Conta Corrente No. Cheque Tipo Carteira Impresso Liberado Status Valor
022 00151 0097856-2 00001 CH P N N 02-Pago Asig. 250.000,00
No dia 25/05/2010 data do vencimento do Cheque, realizar a compensação do cheque na rotina de controle de
cheques.
Numero Tipo Fornecedor Loja Valor Data Documento Histórico Mot. BX Tipo Doc
000012 NF 003280 00 250.000,00 20/05/10 0002000 BJ.TIT.P/ORD. PAGO NOR BA
00001 CH 003280 00 250.000,00 25/05/10 Cheq. Por Canc. Automatica NOR VL
SEF – Cheques
Banco Agencia Conta Corrente No. Cheque Tipo Carteira Impresso Liberado Status Valor
022 00151 0097856-2 00001 CH P N N 04-
250.000,00
Compensado
No dia 27/05/2010 o Banco devolveu o cheque por insuficiência de fundos, motivo 11. Porém o fornecedor
reapresentou o cheque nesta mesma data.
Numero Tipo Fornecedor Loja Valor Data Documento Histórico Mot. BX Tipo Doc
000012 NF 003280 00 250.000,00 20/05/10 0002000 BJ.TIT.P/ORD. PAGO NOR BA
SEF – Cheques
Banco Agencia Conta Corrente No. Cheque Tipo Carteira Impresso Liberado Status Valor
022 00151 0097856-2 00001 CH P A N 07-Substituido 250.000,00
Situação 02:
Banco Agencia Conta Corrente No. Talão Cheque Inicial Cheque Final Quant. Status Tipo
022 00151 0097856-2 001 00001 00005 05 2-Desbloqueado 1-Cheque Comum
o Incluir a nota fiscal de compras no. 001001 - serie A, no valor total de US$ 15.000,00.
Na Ordem de Pago de no. 0002001, baixar o título através do cheque 00002 com data de emissão em 20/05/2010 e
vencimento em 25/05/2010.
SEF – Cheques
Banco Agencia Conta Corrente No. Cheque Tipo Carteira Impresso Liberado Status Valor
022 00151 0097856-2 00002 CH P S N 02-Vinculado 15.000,00
No dia 25/05/2010 data do vencimento do Cheque, realizar a compensação do cheque na rotina de controle de
cheques.
Numero Tipo Fornecedor Loja Valor Data Documento Histórico Mot. BX Tipo Doc
001001 NF 000505 00 15.000,00 20/05/10 0002001 BJ.TIT.P/ORD. PAGO NOR BA
00002 CH 000505 00 15.000,00 25/05/10 Cheq. Por Canc. Automática NOR VL
SEF – Cheques
Banco Agencia Conta Corrente No. Cheque Tipo Carteira Impresso Liberado Status Valor
022 00151 0097856-2 00002 CH P S N 04-Liquidado 250.000,00
Protótipo de Tela
No. Talão No. Cheque Valor Data Vencimento Fornecedor Beneficiário Status
Emissão
001 000000251 250.000,00 20/05/10 25/05/10 000001-00 DELL COMPUTERS BRASIL S/A 03
Continuação:
Motivo Descrição Data Devolução Data Pagamento
11 INSUFICIENCIA DE FUNDOS 1ª. APRESENTAÇÃO 26/05/10 / /
12 INSUFICIENCIA DE FUNDOS 2ª. APRESENTAÇÃO 30/05/10 / /
10 CHEQUE COMPENSADO / / 25/05/10
10 CHEQUE COMPENSADO / / 26/05/10
(I) (J) (K) (L)
Onde:
(A) = SFE->FE_TALAO
(B) = SFE->FE_NUM
(C) = SFE->FE_VALOR
(D) = SFE->FE_DATA
(E) = SFE->FE_VENCTO
(F) = SFE->FE_FORNECE+” “+SFE->FE_LOJA
(G) = SFE->FE_BENEF
(H) = SFE->FE_STATUS
(I) = FRF->FRF_MOTIVO
(J) = SX5->X5_DESCRI (Tabela ‘G0’)
(K) = FRF->FRF_DATDEV
(L) = FRF->FRF_DATPAG
Protótipo 01 – Legenda
Fontes de Consulta
Consultor da TOTVS Argentina
Consultores
Juan Moreno
e-mail: patricio.rodriguez@tmf-group.com
Anexos
Sem anexos.
Especificação Física
Arquivo: FR0 – Dados auxiliares do Financeiro
Dicionário de Dados
Alias FRE
Nome Talonário de cheques
Rotina
Modo E
Chave única FRE_FILIAL+FRE_BANCO+FRE_AGENCIA+FRE_CONTA+FRE_TALAO
Pyme Sim
Alias FRF
Nome Hist. de compensação e devoluções
Rotina
Modo E
Chave única FRF_FILIAL+FRF_BANCO+FRF_AGENCIA+FRF_CONTA+FRF_NUM
Pyme Sim
Campo SA6_IBAN
Tipo C
Tamanho 25
Descrição Código Bancário Unificado
Título C.B.U.
Usado Sim
Obrigatório Sim
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Código Bancário Unificado
Grupo 033
Ordem 05
Campo FRE_FILIAL
Tipo C
Tamanho 02
Descrição Filial do Sistema
Título Filial
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Filial do Sistema
Grupo 033
Ordem 01
Campo FRE_BANCO
Tipo C
Tamanho 03
Descrição Código do banco
Título Banco
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação ExistChav(“SA6”, M->FRE_BANCO)
Consulta padrão SA6
Help Código do Banco expedidor do talonário do cheque
Ordem 02
Campo FRE_AGENCIA
Tipo C
Tamanho 05
Formato @!
Descrição Código agência bancária
Título Agencia
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação ExistChav(“SA6”, M->FRE_BANCO + M->FRE_AGENCIA)
Consulta padrão
Help Código da agência bancária.
Ordem 03
Campo FRE_CONTA
Tipo C
Tamanho 10
Formato @!
Descrição Numero da conta bancaria
Título Conta
Usado Não
Campo FRE_TIPO
Tipo C
Tamanho 1
Formato @!
Descrição Tipo do talonário
Título Tipo
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação Pertence(123)
Consulta padrão
Opções 1=Cheque Comum;2=Cheque eletrônico;3=Cheque diferido
Help Tipo do talonário de cheques permitido por lei para a a
realização das operações bancárias.
Ordem 05
Campo FRE_TALAO
Tipo C
Tamanho 3
Formato @!
Descrição Número do talonário
Título Talonário
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Número de seqüência do talonário de cheques expedido pelo
banco.
Ordem 06
Campo FRE_SEQINI
Tipo C
Tamanho 10
Formato 9999999999
Descrição Numero de seqüência do 1º. Cheque
Título 1º. Cheque
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Campo FRE_SEQFIM
Tipo C
Tamanho 10
Formato 9999999999
Descrição Numero de seqüência do último Cheque
Usado Não
Obrigatório Não
Browse Não
Título Ultimo Cheq.
Folder Cadastrais
Validação
Consulta padrão
Help Número de seqüência do último cheque constante no
talonário.
Ordem 08
Campo FRE_QTDCHE
Tipo N
Tamanho 02
Formato 99
Descrição Quantidade de cheques
Usado Não
Obrigatório Não
Browse Não
Título Qtde Cheque
Folder Cadastrais
Validação Positivo()
Consulta padrão
Help Quantidade de cheques validos no talonário.
Ordem 09
Campo FRE_DATA
Tipo D
Tamanho 08
Formato 99/99/99
Descrição Data de emissão
Título Dt. Emissão
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Data de emissão ou registro do talonário de cheques.
Ordem 10
Campo FRE_STATUS
Campo FRE_OBSERV
Tipo C
Tamanho 40
Formato @!
Descrição Observação
Título Observação
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Reservado para gravar informações complementares.
Ordem 12
Campo FRF_FILIAL
Tipo C
Tamanho 02
Descrição Filial do Sistema
Título Filial
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Consulta padrão
Help Reservado para gravar informações complementares.
Grupo 033
Ordem 01
Campo FRF_BANCO
Tipo C
Tamanho 03
Descrição Código do banco
Título Banco
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação ExistChav(“SA6”)
Consulta padrão SA6
Help Código do Banco expedidor do talonário do cheque
Ordem 02
Campo FRF_AGENCIA
Tipo C
Tamanho 05
Formato @!
Descrição Código agência bancária
Título Agencia
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Código da agência bancária.
Ordem 03
Campo FRF_CONTA
Tipo C
Tamanho 10
Formato @!
Descrição Numero da conta bancaria
Título Conta
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Código da conta bancaria.
Ordem 04
Campo FRF_NUM
Tipo C
Tamanho 10
Formato 9999999999
Descrição Numero do cheque
Título Cheque
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão ExistChav(“SEF”, M-> FRF_NUM)
Help Numero do cheque.
Ordem 05
Campo FRF_CART
Tipo C
Tamanho 01
Formato !
Descrição Carteira
Título Carteira
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação Pertence(“PR”)
Consulta padrão
Opções P=Pagar;R=Receber
Help Registra o tipo de carteira do cheque.
Ordem 06
Campo FRF_DATPAG
Tipo D
Tamanho 08
Formato @D 99/99/99
Descrição Data do pagamento
Título Dt. Pagamento
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Opções
Help Data do pagamento ou tipo de carteira do cheque.
Ordem 07
Campo FRF_DATDEV
Tipo D
Tamanho 08
Formato @D 99/99/99
Descrição Data da devolução
Título Dt. devolução
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Opções
Help Registra o tipo de carteira do cheque.
Ordem 08
Campo FRF_MOTIVO
Tipo C
Tamanho 02
Formato @!
Descrição Código do Motivo da devolução
Título Cod. Motivo
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação fA095Motivo()
Consulta padrão ‘G0’
Opções
Help Registra o tipo de carteira do cheque.
Ordem 09
Campo FRF_DESCRI
Tipo C
Tamanho 60
Formato @!
Descrição Descrição do Motivo da devolução
Título Desc. Motivo
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Opções
Help Descrição do motivo da devolução do cheque.
Exemplo:
12-INSUFICIENCIA DE FUNDOS – 2ª. Apresentação.
Ordem 10
Campo EF_REFTIP
Tipo C
Tamanho 02
Descrição Tipo de Referencia
Título Refer.
Usado Não
Obrigatório Não
Browse Não
Folder
Validação
Consulta padrão
Help Tipo de referencia (LP=Liquidação a Proveedores)
Ordem 58
Campo EF_STATUS
Tipo C
Tamanho 02
Descrição Status do cheque
Título Status
Usado Não
Obrigatório Não
Browse Não
Folder
Validação
Consulta padrão EQ5
Help Código do status ou situação do cheque.
Exemplo:
00 – Não Usado
01 – Carteira;
02 – Vinculado a Pagamento;
03 – Emitido;
04 – Liquidado ;
05 – Anulado;
06 – Substituído;
07 – Devolvido.
Ordem 59
Campo EF_SUBSCHE
Tipo C
Tamanho 10
Descrição Cheque Substituto
Usado Não
Obrigatório Não
Browse Não
Título Subs. Cheque
Folder
Validação ExistChav(“SEF”)
Consulta padrão
Help Numero do cheque substituto (quando o principal estiver
com status 06-Substituído)
Ordem 61
Campo EF_FILSUB
Tipo C
Tamanho 02
Descrição Filial do Ch Substituto
Título Filial
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Consulta padrão
Help Reservado para gravar informações complementares.
Grupo 033
Ordem 62
Campo EF_BCOSUB
Tipo C
Tamanho 03
Descrição Código do banco do Ch Substituto
Título Banco Sub
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação ExistChav(“SA6”)
Consulta padrão SA6
Help Código do Banco do cheque substituto
Ordem 63
Campo EF_AGSUB
Tipo C
Tamanho 05
Formato @!
Descrição Código agência do Ch substituto
Campo EF_CTASUB
Tipo C
Tamanho 10
Formato @!
Descrição Numero da conta Ch Substituto
Título Conta Sub
Usado Não
Obrigatório Não
Browse Não
Folder Cadastrais
Validação
Consulta padrão
Help Código da conta bancaria do cheque substituto
Ordem 65
Campo SA2_ENDOSSO
Tipo C
Tamanho 1
Decimal 0
Descrição Aceite de cheque endossável
Título Status
Usado Não
Obrigatório Não
Browse Não
Folder
Validação Pertence(“12”)
Consulta padrão
Opções 1=Sim;2=Não
Help Aceite de cheque endossável
Ordem Próxima disponível
Alias FRE
Ordem 1
Descrição Cadastrais
Proprietário S
Alias FRF
Ordem 1
Descrição Cadastrais
Proprietário S
Índices (SIX)
Índice SA6
Ordem 4
Chave A6_FILIAL + A6_IBAN
Descrição Filial + Cód. Bancario Unificado (CBU)
Pesquisa S
Proprietário S
Índice FRE
Ordem 1
Chave FRE_FILIAL+FRE_BANCO+FRE_AGENCIA+FRE_CONTA+FRE_TALAO
Descrição Banco+Agencia+Conta+Numero do Talão
Pesquisa S
Proprietário S
Índice FRE
Ordem 2
Chave FRE_FILIAL+FRE_TALAO
Descrição Numero do talão
Pesquisa S
Proprietário S
Índice FRF
Ordem 1
Chave FRF_FILIAL+FRF_BANCO+FRF_AGENCIA+FRF_CONTA+FRF_NUM
Descrição Banco+Agencia+Conta+Numero do Cheque
Pesquisa S
Proprietário S
Índice FRF
Ordem 2
Chave FRF_FILIAL+FRF_NUM
Descrição Numero do Cheque
Pesquisa S
Proprietário S
___/___/_____