Páginas filhas
  • 15359022 DMANFINLGX-21402 Colaborativo FSWLGX-2415 - Criar API para baixar duplicatas a receber


01. DADOS GERAIS

Produto:

TOTVS Backoffice

Linha de Produto:

Linha Logix

Segmento:

Manufatura

Módulo:

TOTVS Backoffice (Linha Logix) - Finanças


Função:DischargeDoc - API baixa de duplicatas
País:Brasil
Ticket:15359022 
Requisito/Story/Issue (informe o requisito relacionado) :

DMANFINLGX-21402


02. SITUAÇÃO/REQUISITO

Criação da API de baixa de duplicatas/títulos de forma automática, carregando as informações e fazendo as validações necessárias para a baixa, conforme FIN10060 - baixa de títulos.

03. SOLUÇÃO

  • Verbo: POST ({{host}}/api/financeiro/v1/DischargeDoc)
  • Campos de entrada que deverão ser enviados no JSON de envio: Se não for obrigatório, enviar a TAG nula ou zero para campos numéricos, conforme descrito abaixo.


Importante

  • Este desenvolvimento está disponível a partir da release 12.1.2407


Tags utilizadas no arquivo JSON para inserir os dados.


Tag

Descrição

Definição

Obrigatório?

Observação

CompanyId

Código da empresa

CHAR(02)

S

Código da empresa válida no Logix

UserCode

Código do usuário

CHAR(08)

S

Código do usuário válido no Logix

CarrierCode

Código do portador

DECIMAL(04,0)

S

Código do portador válido no Logix

CarrierType

Tipo do portador

CHAR(01)

S

'B' - Banco ou 'C' - Carteira ou 'R' - Representante ou 'E' - Escritório de cobrança

Currency

Código da moeda

DECIMAL(02,0)

S

Código da moeda válido no Logix

CreditDate

Data do crédito

DATE

S


MovimentDate

Data do lançamento

DATE

S


DischargeDate

Data da baixa

DATE

S


PaymentTypeCode

Código da forma de pagamento

CHAR(02)

S

Código da forma de baixa válida no Logix

  • Deve ser diferente de ‘BC’, ‘CA’, ‘NC’ e ‘AD’
  • Deve ser diferente de formas que realizam baixas de títulos de débito por títulos de crédito.
  • Deve ser diferente de 'AB' e 'DV' também, pois não foram previstos os campos de motivo e instrução bancária.

ListOfDocuments

Record 1 – N

     Record

S

Documentos a baixar – VIDE TABELA COMPLEMENTAR 1 

ListOfBankConciliation

Record 1 – N

     Record

S

Conciliação bancária – VIDE TABELA COMPLEMENTAR 2  - Obrigatório somente se o tipo de portador for “B” e se tiver integração com TRB


TABELA COMPLEMENTAR 1

Tag

Descrição

Definição

Obrigatório?

Observação

CompanyIdDoc

Código da empresa do documento

CHAR(02)

S

Código da empresa do documento/título válida no Logix

DocumentNumber

Número do documento

CHAR(14)

S

Número do documento/título válida no Logix

DocumentType

Tipo documento

CHAR(02)

S

Tipo documento/título válido no Logix. Estes três campos (empresa, documento e tipo) são chave na tabela docum e devem ser um documento válido no Logix.

ReceivedValue

Valor recebido

DECIMAL(15,2)

S


DiscountValue

Valor desconto concedido

DECIMAL(15,2)

N


GlosaValue

Valor glosa

DECIMAL(15,2)

N


ReductionValue

Valor abatimento

DECIMAL(15,2)

N


AccreditIndicator

Indicador de abonar

CHAR(01)

S

'S' – Sim ou 'N' – Não

FeesValue

Valor juros pagos

DECIMAL(15,2)

N


MulctValue

Valor da multa paga

DECIMAL(15,2)

N


RegistryExpenseValue

Valor despesa de cartório

DECIMAL(15,2)

N


FinancialExpenseValue

Valor despesas financeiras

DECIMAL(15,2)

N


PositiveExchangeVariation

Valor variação cambial positiva

DECIMAL(15,2)

N


NegativeExchangeVariation

Valor variação cambial negativa

DECIMAL(15,2)

N



TABELA COMPLEMENTAR 2

Tag

Descrição

Definição

Obrigatório?

Observação

BankCompanyId

Código da empresa da conciliação bancária

CHAR(02)

S

Código da empresa válido no Logix

BankCreditDate

Data do credito

DATE

S


BankCreditValue


Valor do crédito

DECIMAL(15,2)

S

A soma dos valores da conciliação bancária deve “fechar” com a soma dos valores recebidos nos documentos.


Exemplo do JSON de envio com 2 documentos e 1 linha na conciliação bancária:


{                                                
   "CompanyId":"01",                         
   "UserCode":"admlog",                        
   "CarrierCode":"1",                          
   "CarrierType":"B",                          
   "Currency":"1",                 
   "CreditDate":"13/04/2023",                     
   "MovimentDate":"13/04/2023",                    
   "DischargeDate":"13/04/2023",                     
   "PaymentTypeCode":"BP",                         
   "ListOfDocuments":[                       
          {                                      
          "CompanyIdDoc":"01",
          "DocumentNumber":"05202404012",                         
          "DocumentType":"DP",        
          "ReceivedValue":"100.00",             
          "DiscountValue": "0.00",             
          "GlosaValue": "0.00",             
          "ReductionValue": "0.00",             
          "AccreditIndicator":"S",             
          "FeesValue": "0.00",             
          "MulctValue": "0.00",             
          "RegistryExpenseValue": "0.00",             
          "FinancialExpenseValue": "0.00",             
          "PositiveExchangeVariation": "0.0",             
          "NegativeExchangeVariation": "0.00"
          },        
          {                                      
          "CompanyIdDoc":"01",
          "DocumentNumber":"03032022-01",                         
          "DocumentType":"DP",        
          "ReceivedValue":"100.00",             
          "DiscountValue": "0.00",             
          "GlosaValue": "0.00",             
          "ReductionValue": "0.00",             
          "AccreditIndicator":"N",             
          "FeesValue": "10.00",             
          "MulctValue": "0.00",             
          "RegistryExpenseValue": "0.00",             
          "FinancialExpenseValue": "0.00",             
          "PositiveExchangeVariation": "0.0",             
          "NegativeExchangeVariation": "0.00"
          }        
       ],   
   "ListOfBankConciliation":[                       
          {                                      
          "BankCompanyId":"01",                         
          "BankCreditDate":"13/04/2023",                     
          "BankCreditValue":"210.00"             
          }
       ]                                        
}


  • Observação: A soma na conciliação bancária é referente aos 2 documentos enviados, somando valor de juros, inclusive, conforme feito na tela de conciliação bancária no FIN10060 quando há a integração com o TRB.


Modelo do JSON sem dados (para substituir a definição dos campos pelos dados):

{                                               

   "CompanyId":"string",                        

   "UserCode":"string",                          

   "CarrierCode":"number",                         

   "CarrierType":"string",                         

   "Currency":"number",                

   "CreditDate":"date",                    

   "MovimentDate":"date",                   

   "DischargeDate":"date",                    

   "PaymentTypeCode":"string",                        

   "ListOfDocuments":[                      

          {                                     

          "CompanyIdDoc":"string",                

          "DocumentNumber":"string",                     

          "DocumentType":"string",       

          "ReceivedValue":"number",            

          "DiscountValue": "number",            

          "GlosaValue": "number",            

          "ReductionValue": "number",            

          "AccreditIndicator":"string",            

          "FeesValue": "number",            

          "MulctValue": "number",            

          "RegistryExpenseValue": "number",            

          "FinancialExpenseValue": "number",            

          "PositiveExchangeVariation": "number",            

          "NegativeExchangeVariation": "number"

          },        

          {                                     

          "CompanyIdDoc":"string",                        

          "DocumentNumber":"string",                     

          "DocumentType":"string",       

          "ReceivedValue":"number",            

          "DiscountValue": "number",            

          "GlosaValue": "number",            

          "ReductionValue": "number",            

          "AccreditIndicator":"string",            

          "FeesValue": "number",            

          "MulctValue": "number",            

          "RegistryExpenseValue": "number",            

          "FinancialExpenseValue": "number",            

          "PositiveExchangeVariation": "number",            

          "NegativeExchangeVariation": "number"

          },       

       ],  

   "ListOfBankConciliation":[                      

          {                                     

          "BankCompanyId":"string",                        

          "BankCreditDate":"date",                    

          "BankCreditValue":"number"            

          },                                  

        ]                                       

}

Layout JSON retorno:

  • Retornará o lote de pagamento e a sequência do pagamento efetuado no Logix, quando processamento com sucesso (status ok);
  • Retornará mensagem de erro quando ocorrer problema;

Exemplo JSON retorno ok:

{

    "CompanyId": "01",

    "CarrierCode": "1",

    "CarrierType": "B",

    "PaymentTypeCode": "DH",

    "PaymentLot": "100345",

    "ListOfDocuments": {

        "Documents": [

            {

                "CompanyIdDoc": "01",

                "DocumentNumber": "150322-04",

                "DocumentType": "DP",

                "PaymentSequence": "2"

            },

            {

                "CompanyIdDoc": "01",

                "DocumentNumber": "150322-05",

                "DocumentType": "DP",

                "PaymentSequence": "3"

            }

        ]

    }

}

Exemplo JSON retorno erro:

{

    "code": "400",

    "message": "Erro durante o processamento da baixa de títulos.",

    "detailMessage": "O código do portador não foi enviado."

}


04. DEMAIS INFORMAÇÕES

  • Todos os campos enviados serão consistidos conforme regras existentes no FIN10060/FIN85036, opção de baixa manual pela tela detalhes.
  • Além das novas funções da API, foram alteradas funções padrões do FIN para ajustar mensagens em tela (que não devem ocorrer na API), por isso é importante que essas funções estejam atualizadas (Disponível a partir da release 12.1.2407).
  • Prevê baixas normais portador Banco, Carteira, Representante e/ou Escritório de cobrança.
  • Não prevê forma de baixa 'BC' e 'CA' – exclusivos de pagamento escritural (se utilizar integração com o TRB) – já é validado pelo FIN10060 - Baixa manual.
  • Não prevê forma de baixa 'NC' (Notas de crédito) e forma de baixa 'AD' (adiantamentos) – nem formas de baixa equiparadas a NC – vide parâmetro “Utilizar baixa de débitos por títulos de crédito?” do FIN10004.
  • Não prevê forma de baixa 'AB' (Abatimentos) e 'DV' (Devoluções), pois não foram previstos os campos de motivo e instrução bancária.
  • Não prevê estornos (FIN10061).
  • Não prevê conceito de multimoeda.

05. ASSUNTOS RELACIONADOS