Definição da Regra de Negócio
Mensagem
Ao gerar uma Fatura no TMS Protheus, será enviada uma Mensagem XML para o Datasul pertencente a Transação “TransportInvoice” versão 1.000.
O Datasul irá receber esta XML através de um novo Adapter criado para o módulo Contas a Receber, baseado no XSD: “TransportInovice_1_000.xsd”, que está disponível no TFS, no caminho abaixo:
http://172.16.93.88:8080/tfs/web/UI/Pages/Scc/ViewSource.aspx?path=%24%2FDEV%2Fxmlschema%2Fgeneral%2Fevents%2FTransportInvoice_1_000.xsd
Observação: Nesta mesma Mensagem e Adapter, também será tratado a Alteração e o Cancelamento de Fatura.
Tradução das Informações
Como as plataformas Protheus e o Datasul possuem conceitos um pouco diferentes relacionados aos cadastros de Empresa e Estabelecimento, será realizado um processo de tradução destas informações, através do “de-para” do EAI. Neste processo, será traduzido a informação do Aplicativo Externo (TMS Protheus), para o equivalente no Foundation do Datasul.
Para isto, serão utilizadas as estruturas de de-para abaixo:
Entidade | Chave | Tabela |
Empresa | CompanyInternalId | fnd_empres |
Estabelecimento | BranchInternalId | Estabelec |
Para que a integração funcione corretamente, estes de-para’s devem estar previamente cadastrados no EAI, com a relação de Empresa/Estabelecimento do Protheus versus Empresa/Estabelecimento do Datasul. Portanto, caso o Adpater não encontre a tradução, o processo não será realizado e será retornado um erro para o Protheus.
Informações da Fatura
As informações das Fatura serão enviadas no “BusinessContent” conforme tabela abaixo.
Ver diagrama da mensagem nos Protótipos de Tela (BusinessContent).
TAG | Descrição |
CompanyId | Código da Empresa no Protheus |
BranchId | Código do Estabelecimento no Protheus |
BranchIdInternalId | ID Interno do Estabelecimento no Protheus |
CompanyInternalId | ID Interno da Empresa no Protheus |
InvoiceCode | Código da Fatura |
InternalId | ID Interno da Fatura no Protheus |
DebitBranch | Código do Estabelecimento de Débito no Protheus |
DebitBranchInternalId | ID Interno do Estabelecimento de Débito no Protheus |
ClientCode | Código do Cliente no Protheus |
GovernmentalInformation | CPF/CNPJ e Inscrição Estadual do Cliente |
InvoiceIssueDate | Data de Implantação da Fatura |
InvoiceDueDate | Data de Vencimento da Fatura |
TransactionDate | Data de Geração da Fatura |
InvoiceValue | Valor da Fatura |
CurrencyCode | Código da Moeda no Protheus |
CurrencyInternalId | ID Interno da Moeda no Protheus |
Lista de Conhecimentos
Na mensagem, também será envaida a Lista de Conhecimentos vinculados a Fatura. As informações estarão disponíveis na Estrutura de TAG’s “ListOfTransportDocuments/TransportDocument” do “BusinessContent” conforme tabela abaixo.
Ver diagrama da mensagem nos Protótipos de Tela (BusinessContent).
TAG | Descrição |
BranchDocument | Estabelecimento do Conhecimento no Protheus |
BranchDocumentInternalId | ID Interno do Estabelecimento do Conhecimento no Protheus |
DocumentNumber | Número do Conhecimento |
DocumentSeries | Série do Conhecimento |
DocumentType | Tipo do Conhecimento |
Informações dos Títulos
Após executar a API de negócio, o Adapter irá devolver as informações dos Títulos criados no “ReturnContent”, conforme tabela abaixo. Como poderá ser gerado mais de um Título, as informações estarão abaixo da Estrutura de TAG’s “ListOfAccountReceivableDocument/AccountReceivableDocument”.
Ver diagrama da mensagem nos Protótipos de Tela (ReturnContent).
TAG | Descrição |
CompanyId | Código da Empresa no Datasul |
BranchId | Código do Estabelecimento no Datasul |
DocumentTypeCode | Código da Espécie do Título |
DocumentPrefix | Série do Título |
DocumentNumber | Número do Título |
DocumentParcel | Parcela do Título |
DocumentInternalId | ID Interno do Título no Datasul (Estabelecimento + “|” + Espécie + “|” + Série + “|” + Número + “|” + Parcela) |
CustomerCode | Código do Cliente no Datasul |
CurrencyCode | Código da Moeda no Datasul |
GrossValue | Valor Original do Título |
NetValue | Valor Líquido do Título |
RealValue | Saldo do Título |
IssueDate | Data de Implantação do Título |
DueDate | Data de Vencimento do Título |
Informações de Cobrança do Título
Na mensagem, também serão envaidas as informações de Cobrança do Título. Elas estarão disponíveis juntamente com as informações do Título no “ReturnContent” conforme tabela abaixo.
Ver diagrama da mensagem nos Protótipos de Tela (ReturnContent).
TAG | Descrição |
HolderType | Carteira de Cobrança do Título |
AssessmentValue | Valor de Juros por Dia de Atraso |
DiscountDate | Data de Vencimento do Desconto |
DiscountValue | Valor de Desconto |
HolderCode | Banco de Cobrança do Título |
AgencyNumber | Agência de Cobrança do Título |
AccountNumber | Conta Corrente de Cobrança do Título |
Chave única da Fatura
O Datasul também irá devolver a chave única da Fatura criada nele (gerada internamente para relacionar os Títulos criados a partir da Fatura). Isto é necessário para que o Protheus possa criar a relação de “de-para” entre a Fatura dele e a do Datasul e utilizar nas consultas futuras. Esta informação será enviada na Estrutura de TAG’s “ListOfInternalId” conforme tabela abaixo:
Informação | TAG | Conteúdo |
Nome da Chave | Name | TransportInvoiceInternalId |
ID Interno da Fatura no Protheus | Origin | Conteúdo da TAG “InernalId” enviado no BusinessContent |
ID Interno da Fatura no Datasul | Destination | Código do Estabelecimento da Fatura + “|” + Código da Fatura |
Tratativa no Cancelamento
Ao receber uma mensagem de Cancelamento, o Datasul irá procurar os Títulos relacionados a Fatura. Caso não encontre, será retornando uma mensagem de Erro para o Protheus. Em tese, este problema somente irá ocorrer caso exista uma inconsistência de base, onde o Protheus possui a informação, mas o Datasul não.
Se neste caso o Datasul retornar como erro, a Fatura nunca poderá ser cancelada no Protheus, já que, ao receber uma mensagem do tipo “Erro”, o próprio EAI já desfaz a transação.
Para que seja possível realizar o Cancelamento da Fatura no Protheus, esta mensagem será alterada para o tipo “informação”, desta forma, o EAI apenas irá registrar a mensagem, mas vai possibilitar que a regra de negócio (cancelamento da Fatura) possa ser realizada do lado do Protheus. Neste caso, será registrado no Histórico da Fatura que os Títulos não foram encontrados no Datasul. Obs: Efetivamente a Fatura não é cancelada, ela fica disponível, mas com o Status "Cancelada", desta forma é possível consultar o Histórico.