Manual da Integração TOTVS Rental x Backoffice RM - Mensagem Única EAI 2.0


Contexto de negócio

O objetivo da integração do TOTVS Rental x Backoffice RM é viabilizar que, de forma automática, os cadastros gerenciados pelo Backoffice sejam replicados no vertical e, de forma similar, que alguns processos - anteriormente geridos pelo TOTVS Rental - tenham suas informações levadas e agora processadas no Backoffice RM. Desta forma as bases de dados se mantém espelhadas, atualizando estoque, permitindo emissão de notas fiscais e demais processos do Backoffice.

Por exemplo: fechou uma locação no TOTVS Rental? A informação já pode ser usada para gerar o pedido de venda, notas ficais de remessa, retorno, fatura no TOTVS Backoffice – Linha RM. Tudo de forma rápida e sem complicação.

Sistemas Envolvidos

Descrição dos sistemas envolvidos no contexto de negócio (e que serão envolvidos na integração).

Integração

Para atender a demanda de clientes que possuem o TOTVS Backoffice - Linha RM e o TOTVS Rental foi desenvolvida esta integração que possibilita a gestão das movimentações (produtos, estoque, posição de estoque, nota fiscal, nota remessa, nota retorno, fatura) a partir do Backoffice RM e a gestão de locação de equipamentos através do TOTVS Rental sincronizando informações entre tais módulos utilizando a plataforma de integração baseada na Mensagem Única TOTVS.

Modelo de Mensagem Única TOTVS

Durante o processo de consolidação de marcas, iniciado pela TOTVS, várias empresas diferentes foram adquiridas e com elas vários produtos passaram a compor o portfólio de ofertas disponível aos clientes. Esta expansão de ofertas permitiu que clientes de uma marca, antes limitados pelas opções com aquela “etiqueta”, pudessem agora compor o seu ambiente de TI utilizando produtos de origens diferentes (Exemplo: Backoffice RM x SigaMNT Protheus, TOTVS Gestão Hospitalar x EAI Datasul, TOTVS Educacional x Backoffice Protheus, TOTVS Folha de Pagamento RM x Backoffice Protheus, TOTVS Construção Gestão Imóveis (TCGI) x Backoffice Protheus, TOTVS Obras e Projetos x Backoffice Protheus ).

Esta mesma iniciativa já era uma prática comum nos clientes, porém todo o custo envolvido na integração entre estes aplicativos era visto pelo cliente como parte da escolha de utilizar-se de produtos de diferentes fornecedores. Uma vez que estes produtos passam a fazer parte de uma mesma oferta, os clientes TOTVS passam a demandar que estes produtos sejam naturalmente integrados. Isto significa que se antes o cliente arcava com o custo e o risco envolvido em uma integração (como corrupção da base de dados, por exemplo), ele agora entende que a TOTVS deve prover soluções já integradas, independente da origem dos produtos oferecidos.

Com o objetivo de padronizar as integrações com os produtos TOTVS, foi definida uma nova diretriz para os projetos de integração: A de que todos os produtos TOTVS devam trabalhar com uma mensagem XML ou REST/JSON único evitando, desta forma, o processo de transformação de mensagens. Neste cenário, teríamos o seguinte quadro:

Neste cenário, qualquer produto TOTVS trabalhará com o mesmo XML ou REST/JSON para uma mesma entidade, vamos supor que tenhamos um XML ou REST/JSON correspondente à mensagem de CLIENTES, ela poderá ser enviada para qualquer um dos produtos que suporte o recebimento desta entidade.
Uma vez que os vários produtos TOTVS terão um "idioma" comum (o XML único), as integrações entre estes produtos não exigirão mais que as mensagens sejam transformadas de um formato para outro. Com isto, será possível conectar diretamente dois produtos, sem a necessidade do TOTVS ESB, como no diagrama abaixo: 

Além de questões referentes ao formato das mensagens, a mensagem única também torna uniforme o tratamento destas mensagens XML ou REST/JSON pelos aplicativos, principalmente no que diz respeito à capacidade de rastreamento.

Pré-requisitos instalação/implantação/utilização

O ambiente de integração necessita, além dos pré-requisitos de cada módulo individualmente, das seguintes características:

Backoffice RM

TOTVS Rental

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definida pelo Comitê de Integração TOTVS.

Suporte

O suporte aos recursos da Integração será de responsabilidade de todas as linhas, sendo assim as equipes de suporte dos produtos Backoffice RM e TOTVS Rental estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.

Escopo

O escopo deste projeto se restringe aos processos de integração com o TOTVS Rental e os cadastros utilizados por estes.

Todos os processamentos de Backoffice se manterão no RM, sendo eles a geração de escrituração, relatórios, emissão de notas fiscais e outros.

Transações/Entidades/Mensagens únicas

Segue abaixo tabela com informações sobre as entidades trafegadas na integração.

Método

ID

Descrição

Origem

Destino

Mensagem Única

Versão da Mensagem

Observação

Cadastros






01Cliente/FornecedorRMTOTVS RentalCustomerVendor2.003

02

Moeda

RM

TOTVS Rental

Currency

2.001
03Unidade de MedidaRMTOTVS RentalUnitOfMeasure2.000
04ProdutoRMTOTVS RentalItem

4.005


05Local de estoqueRMTOTVS RentalWareHouse1.000
06VendedorRMTOTVS RentalSeller2.001

07

Condição de pagamento

RM

TOTVS Rental

PaymentCondition

2.000
08Centro de custoRMTOTVS RentalCostCenter2.000

Processos

09Pedido de vendaTOTVS RentalRMOrder3.002
10Consulta Saldos e CustosTOTVS RentalRMStockLevel1.001TOTVS Rental solicita ao RM e o RM retorna com os dados solicitados
11Consulta rastreabilidade de pedidos e movimentações decorrentes

TOTVS Rental

RMTraceAbilityOrder1.000TOTVS Rental solicita ao RM e o RM retorna com os dados solicitados

Cadastros

Para esta integração todos os cadastros possuem sua origem no Backoffice RM sendo enviados ao TOTVS Rental.

Cadastro de Cliente/Fornecedor

Identificador da Mensagem: CustomerVendor
Versão: 2.003
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos RM: https://tdn.totvs.com/x/Uh8ZE

Mapeamento de Campos: http://tdn.totvs.com/x/MYP6E

Notas

Os Clientes e Fornecedores devem ser cadastrados no Backoffice RM e sincronizados automaticamente para o Protheus através da mensagem única CustomerVendor.

Ao iniciar uma base vazia (zerada) do Protheus, para incluir a tabela de Municípios no Protheus é necessário acessar o Protheus no sistema 09 - Livros Fiscais. Se não acessar o sistema Fiscal do Protheus antes de enviar o cadastro do RM irá apresentar mensagem de inconsistência informando que é valor inválido para o campo Município.

Uma vez que o Cliente e Fornecedor são tratados na mesma mensagem (CustomerVendor), ao cadastrar um registro do tipo Ambos no RM é gerado no Protheus um registro em cada tabela, SA1 (Clientes) e SA2 (Fornecedor).

Mesmo que a empresa não utilize Cliente/Fornecedor global no RM, deve-se compartilhar a tabela referente no Protheus por empresa.


Cadastro de Moeda

Identificador da Mensagem: Currency
Versão: 2.001
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos RM: https://tdn.totvs.com/x/Wv8pE

Mapeamento de Campos: http://tdn.totvs.com/x/VNb0E

Notas

As Moedas devem ser cadastrados somente no Backoffice RM e sincronizados automaticamente para o Protheus através de mensagem única Currency. Serão integrados somente os dados dos registros do tipo Moeda, desconsiderando registros do tipo Índices.

O Protheus, por default, aceita no máximo 5 tipos de Moedas.

O campo Código da Moeda é gerado pelo Adapter Protheus, uma vez que não existe o campo código no RM.


Cadastro de Unidades de Medida

Identificador da Mensagem: UnitOfMeasure
Versão: 2.000
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos RM: https://tdn.totvs.com/x/DYcpE

Notas

As unidades de medida referentes à Hora (H), Quilometragem (KM), Unidade (UN) e Litro (L) devem possuir o mesmo código tanto no RM quanto no PROTHEUS. Foi implementado no EAI 2.0 para que quando for enviado pelo RM uma das unidades que já existe no Protheus, o Protheus irá atualizar a unidade e criar o de-para, não sendo necessário criar o de-para das unidades padrão manualmente.

O campo Código da Unidade de Medida no PROTHEUS será gerado pelo Adapter, uma vez que este campo no RM tem tamanho de 5 caracteres, no PROTHEUS 2 caracteres e na mensagem única 6 caracteres.


Cadastro de Produto/Serviço

Identificador da Mensagem: Item
Versão: 4.005
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos RM: https://tdn.totvs.com/x/sBzHG

Notas

Os Produtos/Serviços devem cadastrados somente no Backoffice RM e sincronizados automaticamente para o Protheus através de mensagem única Item. 

As regras referente à esta entidade pode ser conferida no documento de Integração de Produto/Serviço


Cadastro de Local de Estoque

Identificador da Mensagem: Warehouse
Versão: 1.000
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos: http://tdn.totvs.com/x/kkstE

Notas:

Caso o código do Local de Estoque no RM seja maior que 6 (seis) caracteres, no Protheus o código do local de estoque deverá ser auto-incremento.

Por padrão, o tamanho máximo da descrição do local de estoque no Protheus é de 20 caracteres. Para compatibilizar com o RM, acesse SIGACFG e na tabela NNR altere o campo NNR_DESCRI para ter o tamanho = 40.


Cadastro de Vendedor

Identificador da Mensagem: Seller
Versão: 2.001
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos RM: https://tdn.totvs.com/x/1ANZIQ


Cadastro de Condição de Pagamento

Identificador da Mensagem: PaymentCondition
Versão: 2.000, 3.000
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos RM: https://tdn.totvs.com/x/mYYpE

Mapeamento de Campos: http://tdn.totvs.com/x/Sdj0E

Notas

versão 2.000

         As Condições de pagamento devem ser cadastradas somente no Backoffice RM e sincronizados automaticamente para o Protheus através de mensagem única PaymentCondition. 

         O cadastro de condições de pagamento deve ser compatibilizado com as limitações do Protheus quanto aos tipos de período, que são mais bem especificadas na seção de mapeamento da mensagem.

         Caso o Código da Condição de Pagamento no RM seja maior que 3 caracteres, o código da condição de pagamento no Protheus deve ser configurado como auto-incremento.

         Acessar o Configurador do Protheus (SIGACFG) e na tabela SE4 alterar o tamanho do campo E4_COND para 100 caracteres.


versão 3.000

         As Condições de pagamento devem ser cadastradas somente no Backoffice RM e sincronizados automaticamente para o Protheus através de mensagem única PaymentCondition.

         O cadastro de condições de pagamento deve ser compatibilizado com as limitações do Protheus quanto aos tipos de período, que são mais bem especificadas na seção de mapeamento da mensagem.

         Acessar o Configurador do Protheus (SIGACFG) e na tabela SE4 alterar o tamanho do campo E4_COND para 100 caracteres


Cadastro de Centro de custo

Identificador da Mensagem: CostCenter
Versão: 2.000
Mandatário: Backoffice RM
Tipo de Envio: Síncrono
Mapeamento de Campos: http://tdn.totvs.com/x/w9b0E

Notas

Os Centros de Custo devem ser cadastrados somente no Backoffice RM e sincronizados automaticamente para o Protheus através de mensagem única CostCenter. 

Para manter a compatibilidade entre os sistemas, os campos Centro de Custo e Código Reduzido do Centro de Custo no Protheus deve ser alterado para tamanho de 20 caracteres, uma vez que no RM estes campos permitem até 25 caracteres.

Processos

Conforme descrito na seção de apresentação do escopo, o escopo da integração se restringe a alguns processos relacionados, ou que se iniciam, no TOTVS Rental mas que sejam de alçada, controle e manipulação no Backoffice, como integrações fiscais, financeiras ou controle de estoque. Abaixo são listados os processos integrados.

Pedido de venda

Tipo de Fluxo: TOTVSRental -> RM
Mensagem: Order
Versão: 3.002
Mapeamento de Campos: https://tdn.totvs.com/x/C0fQHw

Notas

No caso desta integração, TOTVS Rental x Backoffice RM, a tag "OrderTypeCode" desta mensagem é preenchida com o valor 001 = Pedido de compras/venda



Consulta de Saldos e Custos

Tipo de Fluxo: TOTVSRental -> RM
Mensagem: StockLevel
Versão: 1.001
Mapeamento de Campos: http://tdn.totvs.com/x/L5r6E


Consulta de Rastreabilidade de pedido de vendas

Tipo de Fluxo: TOTVSRental -> RM 
Mensagem: TraceAbilityOrder
Versão: 1.000
Mapeamento de Campos: https://tdn.totvs.com/x/BQFAJQ

Como fazer

Videos com exemplo dos Processos:

Executar a ferramenta de Diagnósticos da integração