Definição da Regra de Negócio
O TMS (Protheus) quando integrado ao TOTVS 12, poderá enviar ao módulo de faturamento diversos tipos de conhecimentos de transporte (CT-e) ou notas fiscais de serviço de transportes (NFS-e). A réplica desses documentos no módulo de faturamento, tem por objetivo principal, a escrituração fiscal e a contabilização utilizando as rotinas do Datasul.
Essa integração será por intermédio de mensagem única, via EAI2, passando pelo ADAPTER (Receiver) responsável por essa integração. Esse ADAPTER irá chamar a API que receberá as informações e alimentará as tabelas temporárias utilizadas pela API de integração.
Abaixo o mapa mental de toda a integração entre o TMS e o Datasul:
Arquivo para donwload:Comunição TMS x Datasul.xmind
Mensagem Única
Deverá ser criado um XSD responsável pela mensagem única que conterá as informações necessárias para o recebimento das CT-e's e NFS-e's enviadas pelo TMS. Criar os ADAPTER's da transação e recepção da mensagem.
O XSD deve conter as seguintes tags:
<XML>
<TypeDocument>
<OperationCode>
<CancellationDate>
<Tax>
<IMPOSTOS>
</Tax>
<XmlDocument>
<XML>
- A Tag "TypeDocument" irá conter a informação de qual documento será integrado: CTE, NFSE, NFS, Cancelamento_CTE, Cancelamento_NFSE ou Cancelamento_NFS;
- A Tag "OperationCode" irá conter o código da natureza de operação do Datasul (CD0606);
- A Tag "CancellationDate" irá conter a data de cancelamento do documento, esse valor só virá se o documento for de cancelamento (CT-e ou NFS-e).
- A Tag "Tax" irá conter as informações dos valores dos impostos que não constam na mensagem XML do CT-e. Essa tag será usada no formato lista (xs:include) e deve ser baseada no schema "types/Tax_1_003.xsd" para a criação de um nova versão, onde deve ser adicionada uma nova Tag (CodeTaxSituation) que irá conter o Código de Situação Tributária (CST).
- A Tag "XmlDocument" irá conter o documento da CT-e autorizado pelo SEFAZ ou NFS-e autorizado pela Prefeitura quando for eletrônica, do contrário será enviado um XML com a mesma estrutura mas sem a o código de verificação da Prefeitura.
O modo de recebimento será Assíncrono.
Validar as tags: "TypeDocument", "OperationCode" e "XmlDocument". Caso alguma não possua valor, retornar informando que a tag está vazia.
Para as tipos de documento Cancelamento_CTE, Cancelamento_NFSE ou Cancelamento_NFS desconsiderar o validação da tag "OperationCode" e considerar a validação para a tag "CancellationDate".
API de integração
Criar uma API (ftp\ftapi700) para receber as informações do ADAPTER de integração dos documentos, identificar as informações obrigatórias para integração e demais informações recebidas na mensagem única. Alimentar as tabelas temporárias usando como base a include reapi324.i4 que já faz a leitura das tags dos CT-e e a reapi324.i6 para a leitura das tags da NFS-e, criando novas includes para o faturamento.
Com as tabelas temporárias populadas chamar a PROCEDURE "gravaNota" (ftp\ftapi700) que será responsável pela criação dos documentos no módulo de faturamento.
A versão do leiaute do CT-e normal, de cancelamento e de inutilização que será usado é o 2.00, conforme o anexo: Layout_CTE_200.xlsx
Para a NFS-e será usado o leiaute de integração que foi criado pela Totvs (TSS) e Neogrid, para atender todas as Prefeituras, conforme o anexo: NFS-e - Leiaute de Integração TOTVS x Neogrid - v1.20a.xlsx
A criação das informações no módulo de faturamento no Datasul que foram recebidas do TMS através da integração será tratada em outra especificação. Link