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/método: 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
|
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 (Baixa de títulos) 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"
},
]
}
- Arquivo: json_modelo.json
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 (Tipos de baixa).
- 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 - Exclusão de baixas).
- Não prevê conceito de multimoeda.
05. ASSUNTOS RELACIONADOS
- Habilitar servidor REST → Detalhes de como habilitar o serviço de API’s podem ser consultadas em: https://tdn.totvs.com/pages/viewpage.action?pageId=185747842