Essa rotina foi ajustada para atender a Lei Geral de Proteção de Dados (Lei n° 13.70), sendo que alguns campos que apresentam informações consideradas como dados sensíveis e/ou pessoais, serão ofuscados deixando de ser legíveis. |
Esta rotina permite que sejam executadas as compensações de todos os adiantamentos já efetuados e cadastrados, realizados pelos fornecedores (títulos tipo PA), além de notas de crédito a abater (títulos tipo NDF).
Os adiantamentos selecionados e informados pelo usuário serão abatidos do valor total do título original.
É possível vincular adiantamentos a pedidos de compra para que o sistema faça a compensação automaticamente ao classificar o documento de entrada. Veja mais em Adiantamento no Pedido de Compras. |
Procedimento efetuado de forma manual via rotina Compensação contas a pagar (FINA340), com exibição das telas envolvidas no processo e necessitando de ações/comandos do usuário
Procedimento realizado de forma automática na rotina de Compensação contas a pagar (FINA340), sem exibição de telas ou necessidade de interação do usuário.
Utilizado em customizações onde o processo não necessita de interações do usuário (MSEXECAUTO)
#INCLUDE "Protheus.ch"
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
Static __COMPAUT := Nil
User Function CMPAUTOMA()
Local lRet := .F.
Local cQry := ""
Local aTipos := {"NF ", "PA ", "NDF"}
Local cTblTmp := ""
Local aNF := {}
Local aPA_NDF := {}
Local aContabil := {}
Local bBlock := Nil
Local aEstorno := {}
Local nSldComp := 0
Local nTaxaPA := 0
Local nTaxaNF := 0
Local nHdl := 0
Local nOperacao := 0
If __COMPAUT == Nil
cQry := "SELECT E2_TIPO TIPO, R_E_C_N_O_ R_E_C_N_O FROM " + RetSqlName("SE2") + " "
cQry += "WHERE E2_SALDO > 0 AND E2_TIPO IN (?) "
cQry += "ORDER BY E2_TIPO"
cQry := ChangeQuery(cQry)
__COMPAUT := FWPreparedStatement():New(cQry)
EndIf
__COMPAUT:SetIn(1, aTipos)
cQry := __COMPAUT:GetFixQuery()
cTblTmp := MpSysOpenQuery(cQry)
While (cTblTmp)->(!Eof())
If (cTblTmp)->TIPO $ MVPAGANT+"|"+MV_CPNEG
Aadd(aPA_NDF, (cTblTmp)->R_E_C_N_O)
Else
Aadd(aNF, (cTblTmp)->R_E_C_N_O)
EndIf
(cTblTmp)->(DbSkip())
lRet := .T.
EndDo
(cTblTmp)->(DbCloseArea())
cTblTmp := ""
If lRet
Pergunte("AFI340", .F.)
lContabiliza := MV_PAR11 == 1
lAglutina := MV_PAR08 == 1
lDigita := MV_PAR09 == 1
lRet := FinCmpAut(aNF, aPA_NDF, aContabil, bBlock, aEstorno, nSldComp, dDatabase, nTaxaPA ,nTaxaNF, nHdl, nOperacao)
If lRet
Alert("Compensação realizada com sucesso")
Else
Alert("Ocorreu um erro no processo de compensação")
EndIf
EndIf
Return
|
Para utilizar o processo de Compensação Automática Contas a Pagar é necessário chamar a função: FinCmpAut. |
Através desta operação é possível a compensação de títulos a pagar:
- Compensar títulos de um mesmo fornecedor/loja com adiantamentos deste mesmo fornecedor/loja;
- Compensar títulos de um determinado fornecedor com adiantamentos deste mesmo fornecedor, não importando qual a loja do titulo a compensar;
- Compensar título de determinado fornecedor com adiantamentos de diversos fornecedores, podendo ser determinada uma faixa de fornecedores ou todos. Com isso, o título pode ser compensado com qualquer título de adiantamento em aberto no cadastro de títulos, não importando qual o fornecedor deste título;
A data da compensação deverá ser maior que a data de emissão dos títulos envolvidos, por exemplo:
A compensação destes títulos só poderá ser efetuada após o dia 02/04 tendo em vista que no dia 29/03 a NF ainda não existia, sendo assim o conceito de baixas será corretamente aplicado nas operações de compensação. (E2_BAIXA maior que E2_EMISSAO)
|
Para compensação entre adiantamentos e títulos de diferentes filiais, deve ser utilizado o botão Filiais para definir quais filiais serão consideradas para a seleção dos títulos a compensar.
|
Operação que permite realizar a exclusão do movimento gerado pela compensação
Operação que permite realizar o estorno do movimento gerado pela compensação, gerando assim sua contrapartida.
Apresenta quadro das legendas e seus significados referenciados a situação do titulo a pagar.

Pesquisa o titulo dentro do arquivo de contas a pagar, tendo como resultado o titulo posicionado e destacado na browse.
Operação que permite visualizar o titulo posicionado, podendo conferir seu saldo e valor.
Lista de parâmetros aplicados ao FINA340 e seu processamento
Opções para configuração dos parâmetros MV_PABRUTO, MV_BP10925, MV_PAPRIMEQuando o parâmetro MV_PABRUTO, estiver igual 2 (Líquido), ao gerar títulos do tipo PA (pagamento antecipado), é mantida a geração com o valor líquido, em que são descontados os valores de impostos que podem ser retidos na inclusão. Ao realizar a compensação de um título, por exemplo, do tipo NF com uma PA, sendo que ambas retêm impostos na baixa, é aconselhável os parâmetros abaixo sejam configurados da seguinte maneira, para que haja coerência de valores:
Quando o parâmetro MV_PABRUTO estiver igual a 1 (Bruto) ao gerar títulos do tipo PA, o mesmo é gerado com o valor bruto, não descontando os valores de impostos que podem ser retidos na inclusão. Então a compensação de uma NF com um PA deve ser pelo valor bruto , configurando os parâmetros conforme abaixo:
|
A contabilização dos processos aplicados a uma compensação contas a pagar via módulo Financeiro é feita pelos lançamentos padrões abaixo:
LP | Fato Gerador | ON | OFF (CTBAFIN) |
|---|---|---|---|
| 589 | Cancelamento de compensação de títulos contas a pagar | X | X |
| 597 | Compensação contas a pagar | X | X |
A contabilização da Compensação de Contas a Pagar (FINA340) quando configurada no lançamento padrão com a regra da tabela SE5, estará posicionada no registro que possui o preenchimento abaixo:
Esse registro é referente ao título que foi a a contra partida do PA/NDF, exemplo: NF, TX, DP. Portanto, o posicionamento das tabelas SE2, SA2 e SED estarão disponíveis de acordo com o título referente ao SE5 posicionado.
|
Contabilização do tipo DIC A contabilização do título do tipo DIC gerado pela compensação, pode ser contabilizada pela LP 510 - Inclusão de títulos a pagar, pois o mesmo é gerado através da rotina automática do FINA050 (Contas a Pagar). Contabilização dos impostos gerados na compensação. A contabilização dos impostos gerados pela compensação, podem ser contabilizados, pela própria LP 597 - Compensação a pagar, através das variáveis: NPIS340, NCOF340, NCSL340, NIRF340, NISS340. |
Veja também:
Contabilização de Compensações CR/CP
| Ponto de entrada | Observação |
|---|---|
| F340BROW | O ponto de entrada F340BROW sera chamado antes do browse e podera ser utilizado no tratamento dos dados apresentados no browse. Documentação: http://tdn.totvs.com/x/56Jc |
| F340LIBT | O ponto de entrada indica se haverá a validação de liberação do titulo no momento da compensação. Documentação: http://tdn.totvs.com/x/_a2FDg |
| F340DTFIN | O PE é chamado nas validações do parâmetro MV_DATAFIN existentes na Compensação CP. Documentação: http://tdn.totvs.com/x/6qJc |
| F340TAXA | Neste ponto de entrada é possível alterar as taxas das moedas que serão utilizadas na compensação do contas a pagar. Documentação: http://tdn.totvs.com/x/aK_FDg |
| F340ATLIS | Este Ponto de Entrada permite a manipulação do Array aTitulos, para alteração do listBox da tela de compensação. |
| F340TOTCP | ponto de entrada F340TOTCP() possibilita manipular os valores totais de títulos a serem compensados. Documentação: http://tdn.totvs.com/x/nYIbCQ |
| F340MKTIT | O ponto de entrada F340MKTIT permite a customização dos títulos já selecionados na markbrowse. Permite a manipulação da array que contem os títulos, e, |
| F340NAT | |
| F340_PA | O ponto de entrada F340_PA sera executado apos contabilizar cada titulo de compensacao a pagar. Documentação: http://tdn.totvs.com/x/7aJc |
| F340SE5 | O ponto de entrada F340SE5 manipula Movimentos Bancários Processados tendo como parâmetro o Recno dos registros SE5 que foram utilizados na Compensação. Documentação: http://tdn.totvs.com/x/sAKqC |
| F340GRV | O ponto de entrada F340GRV valida a inclusão na rotina de Compensação de Contas a Pagar (FINA340) Documentação: http://tdn.totvs.com/x/IgBzB |
| F340ACAN | Este ponto de entrada permite que seja criada uma regra para informar quando será Estornado ou não. Documentação: http://tdn.totvs.com/x/j7GFDg |
| F340CAN | Ponto de Entrada chamado quando realizada a confirmação do estorno de compensação. Documentação: http://tdn.totvs.com/x/zoFdAg |
| F340GREST | Gravação de dados adicionais no estorno da compensação Documentação: http://tdn.totvs.com/x/iqVc |
| F340FCAN | Ponto de entrada permite gravação de informação complementares no momento do estorno da compensação. Documentação: http://tdn.totvs.com/x/W7KFDg |
| FA340QRY | Complemento de query para cancelamento da compensação Documentação: http://tdn.totvs.com/x/lgwGD |
| FA340FILT | O ponto de entrada FA340FILT é executado na montagem da tabela de títulos a compensar e será utilizado para escolher quais títulos serão compensados |
| F340CMP | Tem como finalidade permitir ao usuario calcular o titulo de NDF ou PA e sera chamado na funcao Fa340Tit() Documentação: http://tdn.totvs.com/x/6aJc |
| FA340ORD | Ponto de Entrada permite a alteração do indice, mudando assim a ordem dos titulos exibidos da markbrowse para a compensação a pagar |
| F340ValOk | O ponto de entrada F340ValOk, permite o controle dos dados e da confirmação da tela de compensação de títulos a pagar |
| F340TOTCP | Possibilita manipular os valores totais de títulos a serem compensados. Documentação: http://tdn.totvs.com/x/nYIbCQ |
| F340VLD | Ponto de Entrada que permite validar se um título será ou não compensado. |
| F340LEGE | |
| SE5FI340 | Ponto de Entrada que permite realizar gravações complementares na tabela SE5, após a gravação do movimento bancário do título principal na compensação a pagar automática |
| SE5FI341 | Ponto de Entrada que permite realizar gravações complementares na tabela SE5, após a gravação do movimento bancário do título de Adiantamento na compensação a pagar automática. |
| F340GERNDF | Possibilidade de gravar campos adicionais na inclusão da NDF gerada pela compensação à pagar. Documentação: http://tdn.totvs.com/x/kvdbDQ |
| FA340NDFGrv | |
| F340FLCP | Permite implementar uma expressão complementar no filtro de titulos. Documentação: http://tdn.totvs.com/x/66Jc |
| F340FCPTOP | Esse ponto de entrada permite criar um novo filtro para a rotina de Compensação Contas a Pagar - FINA340. Documentação: http://tdn.totvs.com/x/r_xZE |
|
|
Ao apresentar o assistente NOTITSEL no estorno de compensação, valide o campo E5_FILORIG nos registros da compensação e também verifique os campos da chave (Prefixo+número+parcela+tipo+fornecedor+loja) das tabelas SE2 e SE5. Os campos devem possuir tamanhos correspondentes nas duas tabelas. |
A rotina Compensação a Pagar (FINA340) não possui vinculo com Valores Acessórios, sendo aceito apenas os valores de juros, multas, descontos, cadastrados juntamente com o título à pagar. O vínculo com a rotina de Valores Acessórios esta prevista em roadmap para o segundo semestre de 2025. |
<!-- esconder o menu -->
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
</style>
|