Histórico da Página
INTEGRAÇÃO LOGIX X GFE
Contexto de negócio (Introdução)
Gestão de Frete Embarcador (SIGAGFE) é um aplicativo desenvolvido sobre a plataforma TOTVS.
Utiliza o framework de funcionalidades do Microsiga Protheus e tem como objetivos funcionais:
- Auxiliar no controle dos processos operacionais de recepção e despacho de cargas;
- Registrar, provisionar e conferir as despesas decorrentes da contratação de serviços de transporte realizados por terceiros;
- Suportar a troca de informações entre o contratante e os prestadores de Serviço de Transporte;
- Manter os dados relacionados a documentos, custos e despesas com transporte, sincronizados e integrados aos demais módulos do software ERP.
Os Cadastros e Processos que são sincronizados e integrados entre os sistemas, na direção do Logix para o SIGAGFE são:
Logix | SIGAGFE | |
---|---|---|
Cadastros | Fornecedores/Transportadores/Clientes | Emitentes |
Processos | ||
Os Processos realizados dentro do SIGAGFE e que tem informações enviadas aos módulos do Logix são:
SIGAGFE | Logix | |
---|---|---|
Processos | Documentos Fiscais | Documentos de Frete de Vendas |
Sistemas Envolvidos
- Protheus / Gestão de Frete Embarcador
- Logix:
- Cadastros Gerais;
- Faturamento;
- Recebimento de Materiais;
- Financeiro;
Integração
Desenvolvida integração que tem por objetivo permitir aos clientes Logix (BackOffice) o uso do sistema especialista para Gestão de Frete Embarcador.
A arquitetura utlizada para a integração é a mensageria única/EAI2 na maioria das integrações e REST especificamente na integração do cálculo da simulação do frete pelo GFE no Faturamento Logix.
Escopo
Envio de dados do Logix para o GFE
Para a sincronização de cadastros e movimentos originados no ERP são associados os Adapters da Mensagem Única nas interfaces do cadastro no ERP.
As principais ações (inclusão, alteração, eliminação) permitindo assim replicação para a base de dados do TOTVS SIGAGFE e ficando os cadastros iguais em ambos os lados.
Também é possível uma carga inicial de dados através de rotina que permite o envio de toda a massa de dados, ou através de filtros (FIN00000).
Recebimento de dados do GFE no Logix
Para a integração dos documentos registrados no TOTVS GFE para o ERP é utilizada uma rotina de execução contínua do próprio EAI2, essa rotina monitora a entrada de XMLs das mensagens únicas mapeadas para recebimento no ERP Logix.
O controle dos dados que estão aptos para integração é efetuado pelo Monitor de integração (EAI10000).
Cada Adapter utiliza as rotinas de negócio do Logix para processar os dados; ao final de cada processamento interage novamente com o TOTVS SIGAGFE para atribuir o retorno: Sucesso ou Erro.
Pré-requisitos instalação/implantação/utilização
Logix
- Liberação oficial: release 12.1.19 e posteriores.
- EAI2/Mensageria única instalado e configurado.
Protheus
Insira aqui as informações pertinentes ao Protheus.
Instalação/Atualização
Logix
Configuração das transações do EAI Logix:
Executar o programa EAI10000 (Monitor EAI)
- Acesse o menu Configuração > Aplicativo Hospedeiro. Clicar no botão ‘Buscar novos adapters’ para recarregar os adapter existentes no RPO de acordo com as novas configurações.
- Acesse o menu Configuração > Aplicativos Externos. Clicar em ‘Incluir’ e depois no botão ‘Configurar’. Selecionar a ‘Classe canal’ correspondente ao produto com o qual queira se comunicar.
- No quadro ‘Propriedades’ preencher as informações solicitadas e clicar em ‘Confirmar’. Após isso serão exibidas na tela principal as transações que o aplicativo externo possui e com o qual pode-se trocar informações.
- Acesse novamente o menu Configuração > Aplicativo Hospedeiro. Clicar no botão ‘Modificar’, em seguida dê dois cliques na coluna ‘Rotas’ de cada mensagem envolvida nesta integração para indicar para qual aplicativo externo/contexto a mesma será enviada.
- As mensagens abaixo deveram estar habilitadas para o funcionamento da integração:
Mensagem\Transação | Versão |
CustomerVendor | 2.000 |
Invoice | 3.011 |
Parâmetros Gerais(LOG00087)
- Aplicar os conversores de parâmetros: sup01869.cnv, sup01876.cnv, sup01864.cnv, sup01879.cnv, sup01877.cnv e sup01878.cnv.
- Executar o programa LOG00086 (Administração de Parâmetros) e liberar permissão no ENTRADAS/FRETES/INTEGRACOES e INTEGRACOES/ADMINISTRACAO LOGIX/GERAL.
- Executar o programa LOG00087 e informar os seguintes parâmetros:
- Parâmetro: Trabalha com integração com GFE-Gestão de Frete embarcador? (integra_logix_gfe)
Objetivo: Indica se a empresa trabalha com integração do Logix com o GFE (Gestão de frete embarcador).
OBS: Sim/Não (Alterar para S para habilitar a integração).
- Parâmetro: CT-e sobre NF de vendas será tratado pelo GFE? (gfe_cte_venda)
Objetivo: Indica se CT-e sobre NF de vendas será tratado pelo GFE(Gestão de Frete Embarcador) e depois integrado ao Logix.
OBS: Sim/Não (Alterar para S para habilitar a integração).
- Parâmetro: Grupo de despesa padrão para inclusão do conhecimento de frete VIA GFE(grupo_desp_frete_gfe)
Objetivo: Parâmetro é opcional, se não informado considera:1- O grupo de despesa que veio na mensagem Invoice via integração;
2- Ou se o primeiro não tiver sido informado considera o grupo de despesa padrão para frete de venda. LOG00087: 'Grupo de despesa a ser utilizado nos fretes de venda incluídos pelo SUP0580, SUP9220 e SUP0552.(grp_desp_frete_venda).
OBS: Somente permite informar um grupo de despesa cadastrado no Logix. - Parâmetro: Condição de pagamento sem pagamento para recebimento de CTE (cond_pgto_cte_sem_pgto)
Objetivo: Indica a condição de pagamento a ser sugerida para preenchimento automático da condição de pagamento, pois o conhecimento de frete não terá pagamento.
OBS: Somente permite informar uma condição de pagamento cadastrada no Logix. - Parâmetro: Conhecimento venda integrado GFE pode sofrer modificações no Logix? (ies_conhec_gfe_altera)
- Parâmetro: Grupo de despesa padrão para inclusão do conhecimento de frete VIA GFE(grupo_desp_frete_gfe)
Objetivo: Indica se quando trabalhar com integração do Logix com o GFE permitirá incluir, alterar ou excluir um frete de vendas no Logix.
1 - Alerta (No sup0580 ao tentar incluir um conhecimento de nota de venda irá alertar que trabalha com integração com GFE e inclusão deveria ser
realizada no GFE. Ainda no sup0580, ao tentar modificar ou excluir um conhecimento de notas ficais de venda, alerta o usuário que o frete foi
integrado via GFE e a alteração ou exclusão deveria ser realizada no GFE).
2- Trava (No sup0580 ao tentar incluir um conhecimento de nota de venda irá bloquear a inclusão, avisando que existe a integração com GFE e
inclusão deve ser realizada no GFE. Ainda no sup0580, ao tentar modificar ou excluir um conhecimento de notas ficais de venda, bloqueia a transação,
e avisa ao usuário que o frete foi integrado via GFE e a alteração ou exclusão deverá ser realizada no GFE).
3- Permite Incluir Modificar ou Excluir Conhecimento( No sup0580 mesmo que esteja com a integração GFE ligada irá permitir incluir, modificar ou
excluir qualquer conhecimento de frete, sem exibir aviso em tela).
Parâmetro: Assume automaticamente erros do frete recebido via integração GFE? (assu_auto_erro_integ_fret_gfe)
Objetivo: Indica se assume automaticamente os erros na consistência do frete, recebido via integração GFE.
OBS: Sim/Não (Alterar para S para habilitar a integração).
- Parâmetro: Diretório XML Frete/Venda quando empresa trabalha com integração GFE (diretorio_gfe_cte_v)
Objetivo: Caso empresa trabalhar com integração do Logix com GFE (Gestão do Frete Embarcador) e os fretes de venda são tratados pelo GFE, então no JOB de Recebimento de XML de Nota/Frete no TOTVS Colaboração irão mover os XML's que forem de frete relacionado a nota fiscal de venda para este diretório. Posteriormente o Gfe irá buscar estes XMLs deste diretório e importar no módulo para cálculos e tratamentos do frete.
- Parâmetro: Diretório XML Frete/Venda quando empresa trabalha com integração GFE (diretorio_gfe_cte_v)
Relacionamento De/Para de Empresa/Filial:
Para que uma mensagem de integração possa ser recebida, é necessário informar o código da empresa e/ou filial do sistema de origem.
Quando uma mensagem é recebida pelo Logix, a partir da “Empresa Externa” e “Filial Externa” existentes na TOTVSMessage o sistema identificará qual é a “Empresa Logix” para atualização dos dados. Estas informações são registradas no LOG00083 (Cadastro de Empresas).
Nota: Para que estes campos possam ser informados é necessário ativar o parametro “Permite informar empresa/filial externa no cadastro de empresas?”, no LOG00087.
Totvs Colaboração
Como a recepção do frete de venda é realizada diretamente no GFE o mesmo é desviado da recepção via Totvs Colaboração no Suprimentos/Logix.
Para isso é feito um desvio, e são movidos os XMLs do frete de venda para o diretório parametrizado no LOG00087: "Diretório XML Frete/Venda quando empresa trabalha com integração GFE".
Posteriormente o Gfe irá buscar estes XMLs deste diretório e importar no Protheus SIGAGFE para cálculos e tratamentos do frete e após então o Conhecimento é enviado e integrado ao Logix.
Protheus
Insira aqui as informações pertinentes ao Protheus.
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 definidas 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 Logix e Protheus SIGAGFE estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.
Transações/Entidades/Mensagens únicas
Método | ID | Descrição | Origem | Destino | XSD (versões podem variar) |
Cadastros | 01 | Cliente/Fornecedor/Transportador | Logix | Protheus | CustomerVendor_2_000.xsd |
02 | |||||
03 | |||||
04 | |||||
05 | |||||
06 | |||||
07 | |||||
08 | |||||
09 | |||||
10 | |||||
11 | |||||
12 | |||||
13 | |||||
14 | |||||
Processos | 15 | Documento de Frete de Venda | Protheus | Logix | Invoice_3_011.xsd |
16 | |||||
17 | |||||
18 | |||||
19 | |||||
20 | |||||
21 | |||||
22 | |||||
23 | |||||
24 | |||||
25 |
Fluxo das Informações
Cadastros
A seguir temos as rotinas responsáveis pelos cadastros das informações da integração:
Método | ID | Descrição | Origem | Destino | XSD |
---|---|---|---|---|---|
Cadastros | 01 | Cliente/Fornecedor/Transportador | Logix | Protheus | CustomerVendor_2_000.xsd |
02 | |||||
03 | |||||
04 | |||||
05 |
Ao executar o programa FIN00000, usuário poderá fazer a carga inicial dos cadastros:
- Fornecedor/Transportador/Cliente
Ao executar inclusão, modificação, exclusão do cadastro de Cliente/Fornecedor no programa VDP10000, ira gerar mensagem única, enviada para o Protheus.
<CustomerVendor2/Fornecedor>
Identificador da Mensagem: CustomerVendor
Versão: 2
Tipo de Envio: <Síncrona>
Mensagem Padrão | PROTHEUS | LOGIX | ||
Tabela | Campo | Tabela | Campo | |
CompanyId | ||||
CompanyInternalId | ||||
Code | ||||
InternalId | ||||
ShortName | ||||
Name | ||||
Type | ||||
EntityType | ||||
RegisterDate | ||||
RegisterSituation | ||||
GovernmentalInformation/Id scope="Federal" name="CNPJ" issueOn="0001-01-01" expiresOn="9999-12-31" | ||||
GovernmentalInformation/Id scope="State" name="Inscricao Estadual" issueOn="0001-01-01" expiresOn="9999-12-31" | ||||
GovernmentalInformation/Id scope="Municipal" name="Inscricao Municipal" issueOn="0001-01-01" expiresOn="9999-12-31" | ||||
GovernmentalInformation/Id scope="Federal" name="Inscricao Pis" issueOn="0001-01-01" expiresOn="9999-12-31" | ||||
GovernmentalInformation/Id scope="Federal" name="NIF" issueOn="0001-01-01" expiresOn="9999-12-31" | ||||
Address/Address | ||||
Address/Number | ||||
Address/City/CityCode | ||||
Address/City/CityInternalId | ||||
Address/City/CityDescription | ||||
Address/District | ||||
Address/State/StateCode | ||||
Address/State/StateInternalId | ||||
Address/State/StateDescription | ||||
Address/Country/CountryCode | ||||
Address/Country/CountryInternalId | ||||
Address/Country/CountryDescription | ||||
Address/ZIPCode | ||||
ListOfCommunicationInformation/CommunicationInformation/PhoneNumber | ||||
VendorInformation/VendorType/VendorTypeCode | ||||
VendorInformation/VendorType/VendorTypeInternalId | ||||
VendorInformation/VendorType/VendorTypeDescription | ||||
FiscalInformation/TaxPayer TaxName="IPI" isPayer="1" Mode="simples" |
Limitações/Restrições
Para esta integração, não indica-se trabalhar com Transportador cadastrado no VDP10000 como tipo "2"-Apenas transportadora. Alterar o tipo do mesmo para "5"-Fornecedor/Transportador.
Processos
A seguir temos os processos que transitam entre os produtos na integração:
Método | ID | Descrição | Origem | Destino | XSD |
---|---|---|---|---|---|
Processos | 01 | Conhecimento de frete de Venda | Protheus | Logix | Invoice_3_0110.xsd |
02 | |||||
03 | |||||
04 | |||||
05 |
<Invoice/Conhecimento de frete de venda>
Identificador da Mensagem: Invoice
Versão: 3
Tipo de Envio: <Assíncrona>
Ao receber a Invoice no Logix com tag indicando que trata-se de um conhecimento de venda (TypeofDocument = "COV") é acionado Adapter EaiAdapterInvoice3.
Este irá incluir através de métodos padrões do ERP o conhecimento de frete de venda no Logix.
Para conferir se a integração ocorreu com sucesso pode-se utilizar a consulta do Status e Passo-a-passo no Monitor de integração do EAI: EAI100000.
Para validar o documento no ERP utilizar o programa Sup0580.
- Consistência
Após a inclusão do conhecimento é automaticamente processada a consistencia do documento.
Os valores da integração são carregados no declarado, para manter o histórico e acusar erro de diferença entre declarado e calculado caso algum parâmetro do Logix precise ser revisto.
Pode ocorrer inconsistência no frete entre declarado e calculado, devido a cadastros que precisam ser arrumados no ERP. Se não forem revistos não há problema, visto que o valor declarado prevalece sobre o calculado. O único inconveniente é que a cada proxima nota que entrar continuará acusando diferença entre declarado e calculado.
Se o parâmetro do Log00087 "Assume automaticamente erros dos conhecimentos recebidos via integração Gfe?" igual a "S" então após realizar a consistência, já assumir os erros do frete automaticamente. Irá cadastrar automaticamente o usuário que está integrando (usuário integrador) no Sup34698-Usuários responsáveis por assumir erros de frete.
Mensagem Padrão | PROTHEUS | LOGIX | ||
Tabela | Campo | Tabela | Campo | |
CompanyId | frete_sup | cod_empresa | ||
InvoiceNumber | frete_sup | num_conhec | ||
InvoiceSerie | frete_sup | ser_conhec | ||
InvoiceModel | sup_compl_fret_sup | reservado | ||
TypeOfDocument = "COV" | frete_sup | ies_tip_frete = "V" | ||
VendorCode | frete_sup | cod_transpor | ||
IssueDate | sac_embarque | dat_entrega | ||
InvoiceAmount | frete_sup | val_frete | ||
InsuranceAmount | sup_par_frete onde parametro = "val_seguro_frt" | parametro_texto | ||
PaymentConditionCode | frete_sup | cnd_pgto_frt | ||
PaymentConditionCode | frete_sup | cnd_pgto_tab | ||
TaxOpCode | frete_sup | cod_fiscal_frete | ||
TaxOperationCodeComplement | frete_sup | cod_fiscal_compl | ||
GrossWeight | frete_sup | pes_vol_frete | ||
ElectronicAccessKey | sup_par_frete onde parametro = "num_ft_eletronica" | parametro_texto | ||
ElectronicProtocol | sup_par_frete onde parametro = "chave_acesso_cte" | parametro_texto | ||
ElectronicKeyJustification | sup_par_frete onde parametro = "justif_chave_cte | parametro_texto | ||
ElectronicKeyJustification | obf_justif_cte_sefaz | justificativa | ||
TollValue | pedagio_frete | val_pedagio | ||
ListofRelatedInvoices/RelatedInvoices/InvoiceNumber | frete_sup_x_nff | num_nff | ||
ListofRelatedInvoices/RelatedInvoices/InvoiceSerie | frete_sup_x_nff | ser_nf_saida | ||
ListofRelatedInvoices/RelatedInvoices/InvoiceDateIssue | frete_sup_x_nff | dat_hr_emis_nota_fiscal_fatura | ||
ItemExpenseGroupCode | frete_sup | gru_ctr_desp_frete | ||
ListofItens/Item/ListofTaxes/Taxe = "ICMS" | ||||
ListofItens/Item/ListofTaxes/CalculationBasis | frete_sup | val_base_c_frete_c | ||
ListofItens/Item/ListofTaxes/Value | frete_sup | val_tot_icms_frt_c | ||
ListofItens/Item/ListofTaxes/Taxe = "RETEN_INSS" | ||||
ListofItens/Item/ListofTaxes/CalculationBasis | sup_par_frete onde parametro = "bc_retencao_inss" | parametro_val | ||
ListofItens/Item/ListofTaxes/Percentage | sup_par_frete onde parametro = "perc_reten_inss" | parametro_val | ||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RETEN_INSS" | par_ind_especial | ||
ListofItens/Item/ListofTaxes/Taxe = "RECOLH_INSS" | ||||
ListofItens/Item/ListofTaxes/CalculationBasis | sup_par_frete onde parametro = "bc_recolhimento_inss" | parametro_val | ||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RECOLHIMENTO_INSS" | par_ind_especial | ||
ListofItens/Item/ListofTaxes/Taxe = "RETEN_ISS" | ||||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RETEN_ISS" | par_ind_especial | ||
ListofItens/Item/ListofTaxes/Taxe = "RETEN_SEST_SENAT" | ||||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RETEN_SEST_SENAT" | par_ind_especial | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/AccountantAcountInternalId | dest_frete_sup | num_conta_deb_desp | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/ProjectInternalId | dest_frete_sup | cod_area_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/SubProjectInternalId | dest_frete_sup | cod_lin_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/Percentual | dest_frete_sup | pct_particip_comp | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/AccountantAcountInternalId | dest_frete_sup4 | num_conta_deb_desp | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/ProjectInternalId | dest_frete_sup4 | cod_area_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/SubProjectInternalId | dest_frete_sup4 | cod_lin_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/MarketSegmentCode | dest_frete_sup4 | cod_seg_merc | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/ClassValueCode | dest_frete_sup4 | cod_cla_uso | ||
ShippingAddress/City/CityCode | frete_sup_compl | cod_cidade |
- Percentual de ICMS - Busca aliquota do Logix da tabela de ICMS por grupo de despesa.
- Somente grava a dest_frete_sup4 quando trabalha com 4 níveis de AEN, caso contrário grava apenas a dest_frete_sup.
- Cidade é opcional - se informada busca a aliquota de ICMS dessa cidade no calculo do ICMS no frete, ao invés do padrão que é buscar de acordo com a UF do transportador.
- PaymentConditionCode é opcional - Se informado parâmetro no Log00087 - "Condição de pagamento sem pagamento para recebimento de CTE" irá assumir esta condição de pagamento para o frete.
Limitações / Restrições Gerais
- InvoiceSubSerie -
Como fazer (opcional)
Os passos para viabilizar a integração são:
- No Logix efetue o cadastro das seguintes informações: Clientes, fornecedores, transportadores.
- ...
Situações comuns (opcional)
- Quando uma mensagem é enviada do Logix para o Protheus, podem ocorrer situações em que o WebService não estará totalmente funcional. Nestes casos uma mensagem de erro genérica irá aparecer na tela:
Exemplo:
Erro ao enviar a mensagem de Cidade via Integração
Se o arquivo de log for analisado, poderemos ver a falha na comunicação com o sistema destino:
-------------------------------------------------------------------------------
WSCERR044 / Não foi possível POST : URL http://172.16.31.57:8011/ws/FWWSEAI.apw
ADVPL WSDL Client 1.080707 / tst on 20120315 08:49:51
-------------------------------------------------------------------------------
Para resolver este problema, verifique as configurações do sistema de destino, analisando o funcionamento do servidor utilizado para esta comunicação e a habilitação do endereço do WebService.