Histórico da Página
Integração WMS Logix X ERP Protheus
Contexto de negócio (Introdução)
Muitas empresas que atuam do ramo de transportes vêm se tornando operadores logísticos, visando atender de forma mais completa as necessidades dos seus clientes.
Atualmente, há vários clientes TOTVS que se encontram nesta situação, sendo que a partir do momento em que aceitam realizar a operação logística completa dos seus clientes, necessitam ter um sistema WMS que atenda às necessidades específicas de cada um, além de contemplar também a legislação fiscal específica deste segmento.
Sistemas Envolvidos
- WMS Logix, utilizado no modo "Operador Logístico".
- ERP Protheus
Escopo
Para atender ao contexto exposto acima, foi desenvolvida a integração do WMS Logix com o BackOffice Protheus, uma vez que este módulo do Logix atende perfeitamente ao segmento de operadores logísticos.
O escopo da integração de processos do WMS Logix x Protheus, é:
Todas as mensagens de integração utilizadas seguem o padrão de mensageria única da TOTVS, a chamada TOTVSMessage.
No Logix serão utilizadas e registradas apenas informações relativas aos WMS, as informações que são exclusivas de módulos como Fiscal, Contabilidade e Financeiro serão controladas apenas no Protheus.
Pré-requisitos instalação/implantação/utilização
No Logix, os seguintes pré-requisitos devem ser verificados:
- Versão Logix: 10.2 ou 11.0.
- Webservice criado para permitir a comunicação com o Protheus.
- Instalação do EAI Logix, que deverá estar configurado e com as mensagens de integração habilitadas no monitor (EAI10000).
- Pacote 01/2013 atualizado.
- Observação:
É permitido o uso da integração a partir do pacote 04/2012, porém neste caso são necessários alguns procedimentos adicionais:- Pacote de atualização (patch) dos chamados TETVO5, TEUKY6, TEYI99, TENR25e TFBEUO (verificar chamados pré-requisitos que envolvam fontes alterados entre o pacote 04/2012 e estes chamados).
- Importar os arquivos para atualização de metadados existentes nos chamados mencionados acima.
- Execução do conversor de tabelas WMS00427.
- Execução do conversor de parâmetros WMS00432.
- Nos casos em que o WMS Logix já esteja em uso no cliente antes desta integração padrão, ao gerar o primeiro documento (nota fiscal de retorno simbólico, nota fiscal por conta e ordem, nota fiscal de faturamento de serviços) o sistema irá verificar se o controle de numeração de transações de documentos precisa ser ajustado. Caso seja identificada esta necessidade será apresentada a mensagem abaixo:
Se a resposta for “Não” a geração do documento solicitado não será efetuada, interrompendo o processo em andamento.
Se a resposta for “Sim” o sistema primeiro irá atualizar este controle de numeração das transações, para depois dar continuidade na geração do documento.
Este procedimento de atualização é necessário para que não sejam duplicados os números de transações de nota fiscal gerados anteriormente, o que causaria conflitos de informações geradas antes e após a implantação da integração.
- Observação:
- Caso o cliente já possua no Protheus informações dos cadastros de Unidade de Medida, Cidades e Cotação de Moeda, será necessário realizar a carga inicial destes dados para o Logix, por meio de uma rotina desenvolvidamente exclusivamente para esta finalidade.
- Se for necessário, é possível também realizar uma carga de todos os produtos do Logix para o Protheus, utilizando para isto o programa FIN00000.
- Caso o cliente já possua nos dois sistemas informações dos cadastros de Clientes, Fornecedores, Transportadoras ou Itens, será necessário atualizar o relacionamento “De/Para” dos códigos, o que poderá ser realizado manualmente através dos programas VDP10143 (De/Para Cliente/Fornecedor) e MAN72011 (De/Para Item).
- É possível também atualizar estes relacionamentos de/para de maneira automática, via arquivo UNL. Para isto deve-se utilizar o programa WMS6276 (Atualização De/Para Cadastros).
- Para Clientes, Fornecedores e Transportadoras o layout deve ser: <código>|<CNPJ/CPF>|<inscrição estadual>. O sistema localizará através do <CNPJ/CPF> e <inscrição estadual> qual é o código do cliente, fornecedor ou transportadora no Logix, para então alimentar o relacionamento de/para (código externo) com o conteúdo de <código>.
- Observação:
O parâmetro “Considera IE” deve ser desmarcado quando a codificação destes cadastros for determinada pelo CNPJ/CPF, pois neste caso não existirá mais de um registro para o mesmo número.
- Observação:
- Para Clientes, Fornecedores e Transportadoras o layout deve ser: <código>|<CNPJ/CPF>|<inscrição estadual>. O sistema localizará através do <CNPJ/CPF> e <inscrição estadual> qual é o código do cliente, fornecedor ou transportadora no Logix, para então alimentar o relacionamento de/para (código externo) com o conteúdo de <código>.
- Para Itens o layout deve ser: <código>|. Para este cadastro será considerado que os dois sistemas terão o mesmo código. Desta forma, o Logix tentará localizar em seu cadastro o item que possui o mesmo código, se for encontrado será então alimentado o relacionamento de/para (código externo) com este código.
- No Protheus o relacionamento De/Para de códigos é visualizado através da opção disponível no menu Configurador > Ambiente > Schedule > De/Para Msg. Única:
- Caso o cliente já possua algum tipo de integração entre os dois sistemas, será necessário atualizar no Protheus os saldos das notas fiscais de armazenagem. Procedimentos:
- Executar o programa WMS6628 (Integração NF Recebimento) para integrar as notas fiscais de recebimento no processo padrão (mensagem InputDocument);
- Executar o programa WMS6268 (Integração Regularizações Fiscais Efetuadas), onde serão enviadas ao Protheus o resultado das regularizações fiscais já efetuadas (mensagem CoverageDocument);
- Executar o programa WMS6269 (Integração Documentos Expedição Emitidos), onde serão enviados ao Protheus os documentos de expedição emitidos (mensagem SalesOrder);
- Executar o programa WMS6275 (Integração Nota Fiscal Falta Recebimento), onde serão enviados ao Protheus as informações das notas fiscais de falta geradas nos processos de recebimento (mensagem SalesOrder).
É necessário verificar também que no registro de documentos de entrada no Protheus o número do documento não poderá conter zeros à esquerda, pois no Logix o documento (nota fiscal) é do tipo numérico. Caso exista algum tratamento automático no Protheus para formatar o número do documento este deverá ser alterado para que não faça este ajuste quando o documento for referente à produtos controlados pelo WMS.
Instalação/Configuração
Configuração do EAI Logix
Para configurar o EAI Logix devem ser executados os seguintes procedimentos:
- Informar os dados abaixo no arquivo de configuração do TOTVSTEC (TotvsAppServer.ini ou AppServer.ini):
[HTTP]
Enable=1
Port=<escolha_uma_porta_disponivel>
path=c:\totvs\bin\smartclient\
[WEBSERVICES]
Enable=1
Environment=<ambiente>
Conout=0
Trace=0
NameSpace=http://www.totvs.com
URLLocation=http://<seu_ip>:<porta_escolhida_em_http>
Logix=1
[ONSTART]
Jobs=4GLJOBEAI1
[4GLJOBEAI1]
Environment=<ambiente>
Main=EAIStarter
- Informar os dados abaixo no arquivo de profile do TOTVSTEC (TotvsProfile.pro):
eai.hostapplication=<nome para identificar o Logix na integração>
eai.debug=<0 para inativo ou 1 para ativo>
eai.configprovider=EAIConfigProviderLogix
eai.userid=<usuario Logix>
eai.companyid=<empresa Logix>
- Configurar as transações que serão enviadas e recebidas:
Executar o programa EAI10000 (Monitor EAI), acesse o menu Configuração > Host Application e conferir se o nome colocado na chave eai.hostapplication do arquivo de configuração do TOTVSTEC aparece no campo Hospedeiro na interface.
Se o nome do aplicativo hospedeiro estiver aparecendo corretamente, clique no botão “Modificar” e responda Sim para “Recarregar as Transações”. Neste momento o EAI irá percorrer o seu RPO para localizar os adapters existentes. Estes adapters representarão as mensagens que o EAI irá trabalhar.
Ainda no programa EAI10000, acessar o menu Configuração > External Apps. O objetivo desta opção é registrar quais serão os EAIs externos que serão utilizados para se comunicar ou que serão comunicados.
Clique 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”.
OBS: Para informar a URL nesta configuração deve ser aberto o WS do Protheus, encontrar e abrir o link EAISERVICE:
Ao abrir a tela copie o link "Descrição do Serviço (WSDL)":
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. Clicar em “Confirmar” para finalizar a parametrização.
Depois de terminar a configuração dos aplicativos externos volte para a tela Configuração > Host Application e clique novamente em “Modificar”.
Responda Não para “Recarregar as Transações”. Em seguida dê dois cliques no campo “Rotas” de cada mensagem, para indicar para qual aplicativo externo a mesma será enviada, habilitando a rota desejada:
Ao executar os procedimentos acima o EAI Logix está configurado para receber e enviar mensagens.
Configuração do servidor Protheus
Para preparar o Protheus para a integração deve ser realizada a configuração do servidor (TotvsAppServer.ini ou AppServer.ini), conforme exemplo abaixo:
[GCQAS]
SourcePath=G:\totvs\microsiga\protheus11\apo_ws
RootPath=G:\totvs\microsiga\protheus_data
StartPath=\system\
x2_path=
RpoDb=Top
RpoLanguage=portuguese
RpoVersion=110
LocalFiles=ctree
Trace=0
localdbextension=.dtc
PictFormat=DEFAULT
DateFormat=DEFAULT
RegionalLanguage=BRA
;InactiveTimeOut=2400
helpserver=help.outsourcing.com.br/p11/
TOPMEMOMEGA=1
[DBAccess]
DataBase=ORACLE
Server=192.168.0.113
ALIAS=GCQAS
PROTHEUSONLY=0
[Drivers]
Active=TCP
[TCP]
TYPE=TCPIP
Port=1407
[General]
InstallPath=G:\totvs\microsiga\protheus11
CtreeMode=Server
ConsoleLog=1
ConsoleMaxSize=31457280
ConsoleFile=G:\totvs\microsiga\protheus11\log\console_webservices.log
TOPMemoMega=1
[CTREESERVER]
CTSERVERNAME=F[email protected]
[LICENSECLIENT]
server=192.168.0.113
port=5555
[Service]
Name=TOTVSP11Webservices
DisplayName=03 TOTVS | Microsiga Protheus 11 - Webservices
[HTTP]
ENABLE=1
PATH=G:\totvs\microsiga\protheus_data\web\eai
PORT=13002
SESSIONTIMEOUT=60
ENVIRONMENT=GCQAS_TI
INSTANCENAME=ws
RESPONSEJOB=JOB_WS_0101
DEFAULTPAGE=wsindex.apw
[192.168.0.50:13002/ws]
ENABLE=1
PATH=G:\totvs\microsiga\protheus_data\web\eai
ENVIRONMENT=GCQAS_TI
INSTANCENAME=ws
RESPONSEJOB=JOB_WS_0101
DEFAULTPAGE=wsindex.apw
[TDS]
allowApplyPatch=*
ALLOWEDIT=*
[JOB_WS_0101]
TYPE=WEBEX
ENVIRONMENT=GCQAS_TI
INSTANCES=3,30,3,3
SIGAWEB=WS
INSTANCENAME=ws
ONSTART=__WSSTART
ONCONNECT=__WSCONNECT
;PREPAREIN=01,01021
[OnStart]
jobs=FWSCHDMANAG_GCQAS_TI,FWSCHDQUEUE_GCQAS_TI
RefreshRate=120
[FWSCHDMANAG_GCQAS_TI]
Main=FWSCHDMANAG
Environment=GCQAS_TI
[FWSCHDQUEUE_GCQAS_TI]
Main=FWSCHDQUEUE
Environment=GCQAS_TI
Cadastramento de programas no menu Logix
Programa | Descrição |
MAN72011 | Consulta Código Externo Item |
VDP10141 | De/Para Geral |
VDP10143 | Consulta Código Externo Cliente/Fornecedor |
WMS6429 | Exclusão Pedido Venda – Integração Backoffice |
WMS6628 | Integração Nota Fiscal Recebimento – Inclusão |
WMS6629 | Integração Nota Fiscal Recebimento – Exclusão |
WMS6274 | Consulta Rastreabilidade Regularização Fiscal |
WMS80000 | Monitor da Integração |
WMS6268* | Integração Regularizações Fiscais Efetuadas |
WMS6269* | Integração Documentos Expedição Emitidos |
WMS6275* | Integração Notas Fiscais Falta Recebimento |
WMS6276* | Atualização De/Para Cadastros |
(*) Estes programas devem ficar disponíveis no menu apenas durante o processo de implantação, após isso não serão mais utilizados.
Parâmetros gerais LOGIX
Executar o programa LOG00087 (Manutenção de Parâmetros) e acessar o seguinte caminho:
ADMINISTRAÇÃO LOGIX → CONTROLE GERAL → INTEGRAÇÃO ENTRE SISTEMAS
Os parâmetros abaixo fazem parte desta integração e devem ser devidamente atualizados antes da utilização:
Parâmetro | Objetivo |
CFOP Padrão | CFOP que será utilizado na integração do cadastro de item (TOTVSMessageItem), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o CFOP existente. |
Classe uso padrão | Código da classe de uso padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantida a classe de uso existente. |
Classificação fiscal padrão | Código da classificação fiscal (NCM) padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e a tag _FiscalInformation._FiscalClassification._Code não tiver sido preenchida. Se o item já existir no Logix e esta tag não tiver sido informada na mensagem será mantida a classificação fiscal existente. |
Comprador padrão | Código do comprador padrão, para utilização na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o código de comprador existente. |
Família padrão | Código da família padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e a tag _FamilyCode não tiver sido preenchida. Se o item já existir no Logix e esta tag não tiver sido informada na mensagem será mantida a família existente. |
Grupo controle despesa padrão | Código do grupo de controle de despesas padrão, para utilização na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o código de grupo de controle de despesas existente. |
Grupo controle estoque padrão | Código do grupo de controle de estoque padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e a tag _StockGroupCode não tiver sido preenchida. Se o item já existir no Logix e esta tag não tiver sido informada na mensagem será mantido o grupo de controle de estoque existente. |
Grupo item comercial padrão | Código do grupo de item comercial padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e a tag _ComercialFamilyCode não tiver sido preenchida. Se o item já existir no Logix e esta tag não tiver sido informada na mensagem será mantida o grupo de item existente. |
Linha produto padrão | Código da linha de produto padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantida a linha de produto existente. |
Linha receita padrão | Código da linha de receita padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantida a linha de receita existente. |
Local estoque padrão | Código do local de estoque padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e a tag _StandardWarehouseCode não tiver sido preenchida. Se o item já existir no Logix e esta tag não tiver sido informada na mensagem será mantida o local de estoque existente. |
Máscara da condição de pagamento | Máscara que será utilizada para formatação do código da condição de pagamento. Poderão ser informados os caracteres “<” e “&”, sendo que o caracter “<” deslocará o valor para a esquerda e o caracter “&” preencherá com “0” (zero) se o dígito não existir. Exemplos: 1) Máscara '<<&': Condição '1' será gravado como '1' Condição '10' será gravado como '10' Condição '100' será gravado como '100' 2) Máscara '<&&': Condição '1' será gravado como '01' Condição '10' será gravado como '10' Condição '100' será gravado como '100' 3) Máscara '&&&': Condição '1' será gravado como '001' Condição '10' será gravado como '010' Condição '100' será gravado como '100' |
Máscara do código da cidade IBGE na mensagem de integração via EAI | Máscara que será utilizada para formatação do código da cidade IBGE, no envio das mensagens de cidade (TOTVSMessage City), Cliente/Fornecedor (TOTVSMessage CustomerVendor) e Transportador (TOTVSMessage Carrier). Poderão ser informados os caracteres “<” e “&”, sendo que o caracter “<” deslocará o valor para a esquerda e o caracter “&” preencherá com “0” (zero) se o dígito não existir. |
Permite inclusão de cliente/fornecedor no Logix? | Indica se será ou não permitida a inclusão de clientes e fornecedores no Logix, quando a integração da TOTVSMessage CustomerVendor estiver habilitada. Este controle é necessário pois quando há integração com o Protheus, a codificação do cliente/fornecedor deverá ser gerada por este sistema, não sendo permitida a geração a partir do Logix. Isto se deve ao fato de que no Protheus os clientes e fornecedores são identificados por um código composto (código + loja), porém no Logix o código é único. |
Permite informar empresa/filial externa no cadastro de empresas? | Indica se será ou não permitido informar o código da empresa e código da filial externa, para que seja possível receber mensagens de outros sistemas. Quando uma mensagem for recebida de outro sistema e existir a informação de empresa (tag _CompanyId) e filial (tag _BranchId) nesta mensagem, a empresa Logix será identificada a partir destas informações. OBS: No envio da mensagem sempre será enviado o código de empresa Logix. |
Programador padrão | Código do programador padrão, para utilização na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o código de programador existente. |
Segmento mercado padrão | Código do segmento de mercado padrão. Será utilizado na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantida o segmento de mercado existente. |
Tipo cliente padrão | Código do tipo de cliente padrão. Será utilizado na integração do cadastro de cliente (TOTVSMessage CustomerVendor), quando uma mensagem for enviada de outro sistema para o Logix e a tag _MarketSegment._Code não tiver sido preenchida. Se o cliente já existir no Logix e esta tag não tiver sido informada na mensagem será mantido o tipo de cliente existente. |
Tipo despesa padrão | Código do tipo de despesa padrão, para utilização na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o código de tipo de despesa existente. |
Tipo incidência ICMS padrão | Tipo de incidência de ICMS padrão, para utilização na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o tipo de incidência existente. |
Tipo incidência IPI padrão | Tipo de incidência de IPI padrão, para utilização na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o tipo de incidência existente. |
Tipo item padrão | Tipo de item padrão, para utilização na integração do cadastro de item (TOTVSMessage Item), quando uma mensagem for enviada de outro sistema para o Logix e o item ainda não estiver cadastrado. Se o item já estiver cadastrado será mantido o tipo de item existente. |
Utiliza De/Para de itens na integração via EAI? | Indica se será ou não utilizado o tratamento “De/Para” na integração do cadastro de item. Se este parâmetro estiver ativo, indica que o Logix e o sistema que estiver integrado terão códigos de itens diferentes. Isto é necessário, por exemplo, quando o WMS Logix é utilizado por Operadores Logísticos, pois neste caso a codificação passa a ser seqüencial e nem sempre é possível manter a mesma codificação no sistema de destino. |
Em:
PROCESSO MANUFATURA → ENGENHARIA → ESTRUTURA DE PRODUTOS
Entre os parâmetros apresentados, verificar e atualizar o que segue abaixo:
Parâmetro | Objetivo |
Indica se a empresa trabalha com o conceito de multi empresa | Indica se a empresa trabalha com o conceito de multi empresa no processo produtivo. Para a integração WMS Logix x Protheus este parâmetro deve ser atualizado com “S”. |
Em:
PROCESSO MANUFATURA → ENGENHARIA → CADASTRO DE ITENS
Entre os parâmetros apresentados, verificar e atualizar o que segue abaixo:
Parâmetro | Objetivo |
Utiliza codificação automática de itens multi-empresa | Indica se deve ou não ser utilizada o controle de numeração unificada para codificação de itens. Para a integração WMS Logix x Protheus este parâmetro deve ser atualizado com “S”. |
Número da próxima sequência de itens (multi-empresa) | Número que identificará a próxima seqüência da codificação de itens quando for utilizado o conceito de multi-empresa. Este parâmetro é atualizado automaticamente pelo sistema, porém na implantação da integração WMS Logix x Protheus deve ser verificado o maior código (numeração) de item já existente entre todas as empresas cadastradas e atualizado este parâmetro com o próximo número. |
Em:
LOGIX WMS → LOGIX WMS → INTEGRAÇÃO COM OUTROS SISTEMAS
Entre os parâmetros apresentados, verificar e atualizar o que segue abaixo:
Parâmetro | Objetivo |
Aplicativo externo utilizado para integração com backoffice | Aplicativo externo do EAI, utilizado para integração com backoffice. Deve ser informado um aplicativo externo cadastrado na rotina EAI10000. Este aplicativo será utilizado para o teste de conexão no monitor da integração (WMS80000). |
Número de segundos para timeout nas integrações pelo monitor | Número de segundos a ser considerado nas integrações processadas a partir do monitor da integração (WMS80000). Caso não seja informado será considerado o tempo padrão (120 segundos). |
Número limite de tentativas de integração | Número máximo de tentativas de integração que cada mensagem poderá ter, para processamento via JOB. OBS: Para processamentos manuais não há limite de tentativas. |
Permite vários end.entrega para cliente, quando integração está ativa? | Indica se será ou não permitido cadastrar mais de um endereço de entrega para o cliente, quando a integração estiver ativa. Por padrão o backoffice Protheus não permite mais de um endereço de entrega por cliente, contudo é possível customizar o sistema para que isso seja permitido, neste caso então o Logix deve ser configurado para permitir cadastrar vários endereços. |
Tipo de integração do WMS com backoffice | Indica se a integração com um BackOffice externo está ou não ativa e qual é este BackOffice. Opções: 0 – A integração não está ativa 1 – Integração com Protheus 2 – Integração com Datasul 3 – Integração com RM OBS: Até o momento somente a integração com Protheus (opção 1) está implementada. Para as demais integrações serão necessários desenvolvimentos complementares. |
Acessar o caminho abaixo:
LOGIX WMS → OPERADOR LOGÍSTICO → EXPEDIÇÃO
Entre os parâmetros apresentados, verificar e atualizar o que segue abaixo:
Parâmetro | Objetivo |
Condição de pagamento para nota de retorno para faltas recebimento* | Código da condição de pagamento a ser utilizada para emissão das notas fiscais de retorno simbólico referentes as faltas no recebimento. |
Condição de pagamento para notas de remessa por conta e ordem* | Código da condição de pagamento utilizada na emissão das notas fiscais de remessa por conta e ordem. |
Condição de pagamento para notas de retorno simbólico* | Código da condição de pagamento utilizada na emissão das notas fiscais de retorno simbólico, nos processos de expedição. |
Natureza de operação para depositantes com regime especial* | Código da natureza de operação utilizada na emissão das notas fiscais dos depositantes que estão sob regime especial. |
Natureza de operação para notas de retorno para faltas recebimento* | Código da natureza de operação utilizada na emissão das notas fiscais de retorno simbólico referente às faltas de produtos no recebimento. |
Natureza de operação para notas de remessa por conta e ordem* | Código da natureza de operação utilizada na emissão das notas fiscais de remessa por conta e ordem. |
Natureza de operação para notas de retorno de mercadoria depositada* | Código da natureza de operação utilizada na emissão das notas fiscais de retorno de mercadorias ao depositante. |
Natureza de operação para notas fiscais de retorno simbólico* | Código da natureza de operação utilizada na emissão das notas fiscais de retorno simbólico nos processos de expedição. |
Natureza operação para NF por conta e ordem, para UF com Subst.Tribut. | Código da natureza de operação utilizada na emissão das notas fiscais de remessa por conta e ordem, quando o relacionamento da unidade de federação de destino das mercadorias x NCM do produto estiver cadastrado no VDP0696 (Configuração Fiscal) para o tributo “ICMS_ST” com origem “S” (Saída). Vale ressaltar que as informações de tributação deste cadastro não serão utilizadas na integração, será utilizada a apenas a verificação da existência do relacionamento. |
(*) Estes parâmetros já existiam antes desta integração.
Configuração de Parâmetros Protheus
Nome | MV_EAIURL2 |
Tipo | C |
Cont. Por. | |
Descrição | Informe o nome do canal configurado no EAI para envio a outro EAI |
Obs. Colocar o link do Logix, acrescentando a função /EAISERVICE.apw
Nome | MV_EAIMETH |
Tipo | C |
Cont. Por. | RECEIVEMESSAGE |
Descrição | Informe o metodo de envio do EAI para envio a outro EAI |
Nome | MV_EAIWS |
Tipo | C |
Cont. Por. | WSFWWSEAI |
Descrição | Informe o nome do Client WebService do EAI para envio a outro EAI |
Nome | MV_IMPADIC |
Tipo | L |
Cont. Por. | .T. |
Descrição | Define se será impresso as informações adicionais do produto DANFE |
Nome | MV_TMASDC |
Tipo | C |
Cont. Por. | 0001 Cadastrar uma TM e colocar o código que será utilizado na integração pois são lançamentos automáticos |
Descrição | TM para acerto de saldo de documento de cobertura |
Nome | ES_NFSERIE |
Tipo | C |
Cont. Por. | A Preencha com a série da Nota Fiscal que o JOB utiliza ao faturar os pedidos de venda vindos do Logix |
Descrição | Série da NF utilizada no JOB |
Nome | MV_INFADPR |
Tipo | C |
Cont. Por. | 2 |
Descrição | Imprime dados do item do pedido de venda . 1= Dados do item do pedido 2= Dados do produto 3= Dados do item do pedido + produto. |
Nome | MV_AVALINT |
Tipo | L |
Cont. Por. | .T. |
Descrição | Indica se deverá ser mantido no código interno do produto apenas o código enviado na mensagem, sem concatenar com o código da filial. |
Nome | MV_WMSTCOB |
Tipo | C |
Cont. Por. | 102 |
Descrição | Informar as TES correspondentes à cobertura de documentos |
Relacionamento De/Para de Empresa/Filial no Logix:
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 EAI10000 (Controle de Mensagens EAI), dentro do cadastro de "Aplicativos Externos", na opção "De/Para Empresas".
Relacionamento De/Para de Empresa/Filial no Protheus:
Acessar o menu Configurador -> Ambiente -> Schedule -> Emp. fil.Msg. Unica.
Cadastrar o relacionamento entre as empresas Logix e as empresas/filiais do Protheus, informando:
Referencia = "LOGIX"
Company = código da empresa Logix
Emp.Protheus = código da empresa Protheus
Fil.Protheus = código da filial do Protheus
Relacionamento De/Para Geral no LOGIX:
Para que a integração funcione corretamente será necessário também realizar o relacionamento “De/Para” para algumas informações que são enviadas e recebidas nas mensagens. Estes relacionamentos devem ser realizados no programa VDP10141 (Cadastro De/Para Geral).
Para cada informação prevista para tratamento de relacionamento De/Para deve ser informada a tabela de cadastro correspondente:
Informação | Tabela De/Para | Sistema Integração |
Grupos de Controle de Estoque | GRUPO_CTR_ESTOQ | EAI |
Local de Estoque | LOCAL | EAI |
CFOP NF Recebimento x TES (Tipo de Entrada e Saída) | COD_FISCAL_SUP | EAI |
CFOP NF Regularização x TES (Tipo de Entrada e Saída) | COD_FISCAL_SUP | EAI_COBERTURA(*) |
Natureza de Operação x TES (Tipo de Entrada e Saída) | NAT_OPERACAO | EAI |
Condição de Pagamento Pedido Venda | COND_PGTO | EAI |
Condição de Pagamento Nota Fiscal Recebimento | COND_PGTO_CAP | EAI |
Tipo de Cliente | TIPO_CLIENTE | EAI |
Nota:
(*) Para o Logix o CFOP das notas definitivas para Recebimento ou Cobertura serão iguais, porém para o Protheus é necessário enviar um código de TES (Tipo de Entrada e Saída) diferenciado. Por este motivo é que foi tratado o sistema de integração como “EAI_COBERTURA”, diferenciando-o do relacionamento referente ao recebimento.
Este programa possui três formas de entrada de dados:
- Registro a registro: Ao utilizar as opções “Incluir” e “Modificar” da toolbar os dados deverão ser informados na própria tela do programa, conforme imagem acima. Neste formato, para cada relacionamento é necessário efetuar uma nova inclusão.
- Carga inicial: Esta opção somente pode ser utilizada para tabelas que ainda não tenha relacionamento registrado. Quando acionada, esta opção irá abrir uma tela onde deverá ser indicada a tabela e o sistema de integração para o qual serão gravados os relacionamentos.
Ao confirmar, o sistema buscará todos os registros existentes na tabela informada e permitirá realizar todos os relacionamentos de uma só vez. - Grade: Esta opção tem funcionamento semelhante à opção “Carga inicial”, porém permite a manutenção para todas as tabelas, independentes se já possuem ou não relacionamento cadastrado.
Como funcionará o uso dos relacionamentos De/Para na integração:
No Recebimento: Ao receber uma mensagem de integração, o sistema verificará a existência do relacionamento De/Para, utilizando como base para pesquisa a informação que foi enviada. No cadastro dos relacionamentos será realizada através do campo “Valor Para”.
Se o relacionamento De/Para não for encontrado, será validado se a informação recebida é válida para o Logix (verificação de existência no cadastro), se for será efetuada a integração, caso contrário a integração não ocorrerá e será retornada uma mensagem de erro.
No Envio: Quando uma mensagem de integração for enviada, o sistema verificará a existência do relacionamento De/Para, utilizando como base para pesquisa a informação existente no Logix. Se não for encontrado este relacionamento, será enviado o próprio código do Logix.
Importante!
Para que os saldos de estoque e saldos regularizados no Logix sejam atualizados corretamente no Protheus, é necessário configurar corretamente o cadastro de TES (Tipos de Entrada/Saída) e relacionar corretamente o de/para no programa VDP10141 com estes códigos.
O Protheus deve possuir no mínimo três TES de entrada cadastradas para utilização nas mensagens InputDocument (Documento de Entrada) e CoverageDocument (Regularização Fiscal). Cada TES deve ter seus campos corretamente preenchidos, conforme orientação e necessidade do usuário. É imprescindível a TES estar configurada corretamente para o correto funcionamento do processo.
1. A primeira TES será utilizada para receber as NOTAS FISCAIS PROVISÓRIAS do WMS Logix. Os demais campos devem ser cadastrados conforme necessidade do usuário, porém os campos abaixo devem ser da seguinte maneira:
Campo | Nome Campo | Conteúdo |
F4_PODER3 | Poder Terc. | N=Não Controla |
F4_ESTOQUE | Atu. Estoque | “Sim” |
No Logix, esta TES deverá estar relacionada no VDP10141 da seguinte forma:
Tabela | Sistema Integração | De | Para |
COD_FISCAL_SUP | EAI | Informar cada um dos CFOPs utilizados no SUP3760 para as notas fiscais provisórias, que normalmente serão CFOPs de venda (5.101, 5.102, 6.101, 6.102, etc.) | Código da TES cadastrada no Protheus conforme configuração acima |
2. A segunda TES será utilizada para receber as NOTAS FISCAIS DEFINITIVAS do WMS Logix. Os demais campos devem ser cadastrados conforme necessidade do usuário, porém os campos abaixo devem ser da seguinte maneira:
Campo | Nome Campo | Conteúdo |
F4_PODER3 | Poder Terc. | R=Remessa |
F4_ESTOQUE | Atu. Estoque | “Sim” |
No Logix, esta TES deverá estar relacionada no VDP10141 da seguinte forma:
Tabela | Sistema Integração | De | Para |
COD_FISCAL_SUP | EAI | Informar cada um dos CFOPs utilizados no SUP3760, para as notas fiscais definitivas que serão associadas à CESV/Documental(*) (WMS6138), sendo que estes CFOPs se referem à remessa para armazenagem (5.905, 6.905, etc.) | Código da TES cadastrada no Protheus conforme configuração acima |
(*) Este relacionamento será utilizado também no processo de regularização fiscal, nos casos em que o produto regularizado não exista na nota fiscal provisória (casos de excesso total).
3. A terceira TES será utilizada para receber as NOTAS FISCAIS DEFINITIVAS do WMS Logix, resultantes do processo de Regularização Fiscal (cobertura). Os demais campos devem ser cadastrados conforme necessidade do usuário, porém os campos abaixo devem ser da seguinte maneira:
Campo | Nome Campo | Conteúdo |
F4_PODER3 | Poder Terc. | R=Remessa |
F4_ESTOQUE | Atu. Estoque | “Não” |
No Logix, esta TES deverá estar relacionada no VDP10141 da seguinte forma:
Tabela | Sistema Integração | De | Para |
COD_FISCAL_SUP | EAI_COBERTURA | Informar cada um dos CFOPs utilizados no SUP3760, para as notas fiscais definitivas que serão utilizados no processo de regularização fiscal (WMS6156) sendo que estes CFOPs se referem à remessa para armazenagem (5.905, 6.905, etc.) | Código da TES cadastrada no Protheus conforme configuração acima |
Para os processos de saída o Protheus deve possuir no mínimo 3 TES cadastradas para a mensagem única SalesOrder. A TES deve ter seus campos corretamente preenchidos, conforme orientação e necessidade do usuário.
1. A primeira TES será utilizada para receber um pedido de venda de FATURAMENTO DE SERVIÇO. Os demais campos devem ser cadastrados conforme necessidade do usuário, porém os campos abaixo devem ser da seguinte maneira:
Campo | Nome Campo | Conteúdo |
F4_PODER3 | Poder Terc. | N=Não Controla |
F4_ESTOQUE | Atu. Estoque | “Não” |
No Logix, esta TES deverá estar relacionada no VDP10141 da seguinte forma:
Tabela | Sistema Integração | De | Para |
NAT_OPERACAO | EAI | Informar cada um dos códigos de natureza de operação registrados nos processos de faturamento dos depositantes (WMS6407). | Código da TES cadastrada no Protheus conforme configuração acima |
2. A segunda TES será utilizada para receber um pedido de venda de RETORNO SIMBÓLICO de mercadorias. Os demais campos devem ser cadastrados conforme necessidade do usuário, porém os campos abaixo devem ser da seguinte maneira:
Campo | Nome Campo | Conteúdo |
F4_PODER3 | Poder Terc. | D=Devolução |
F4_ESTOQUE | Atu. Estoque | “Sim” |
No Logix, esta TES deverá estar relacionada no VDP10141 da seguinte forma:
Tabela | Sistema Integração | De | Para |
NAT_OPERACAO | EAI | Informar os códigos de natureza de operação parametrizados no LOG00087: - “Natureza de operação para depositantes com regime especial” - “Natureza de operação para notas de retorno para faltas recebimento” - “Natureza de operação para notas de retorno de mercadoria depositada” - “Natureza de operação para notas fiscais de retorno simbólico” | Código da TES cadastrada no Protheus conforme configuração acima |
OBS: Para cada código de natureza de operação existente nos parâmetros é possível utilizar um código de TES diferenciado, porém todos eles deverão ter as características conforme indicado acima.
3. A terceira TES será utilizada para receber um pedido de venda de REMESSA POR CONTA E ORDEM. Os demais campos devem ser cadastrados conforme necessidade do usuário, porém os campos abaixo devem ser da seguinte maneira:
Campo | Nome Campo | Conteúdo |
F4_PODER3 | Poder Terc. | N=Não Controla |
F4_ESTOQUE | Atu. Estoque | “Não” |
No Logix, esta TES deverá estar relacionada no VDP10141 da seguinte forma:
Tabela | Sistema Integração | De | Para |
NAT_OPERACAO | EAI | Informar os códigos de natureza de operação parametrizados no LOG00087: - “Natureza de operação para notas de remessa por conta e ordem” - “Natureza operação para NF por conta e ordem, para UF com Subst.Tribut.” | Código da TES cadastrada no Protheus conforme configuração acima |
OBS: Para cada código de natureza de operação existente nos parâmetros é possível utilizar um código de TES diferenciado, porém todos eles deverão ter as características conforme indicado acima.
Configuração do Schedule - Protheus:
Acessar o menu Configurador -> Ambiente -> Schedule -> Schedule:
Para que as tarefas possam ser executadas, é necessário que exista um agent cadastrado com a empresa equivalente.
Informe o número de Threads que for necessário. Considerar como padrão três threads, mas pode-se utilizar mais conforme a necessidade.
Configuração de Adapters - EAI Protheus
Acessar menu Configurador -> Ambiente -> Schedule -> Adapter E.A.I. e incluir as rotinas que serão integradas com o EAI Logix.
Campos
- Rotina = nome da rotina principal
- Mensagem = nome da mensagem única
- Mensagem Única = Sim
- Método = Síncrono
- Canal Envio = EAI
*As rotinas abaixo fazem parte da integração. Note que para cada rotina existe um nome de mensagem definido em um comitê de integrações.
Rotinas | |||||
Rotina | Descrição | Mensagem Única | Envia | Recebe | Mensagem |
MATA010 | Produtos | Sim | Não | Sim | Item |
MATA020 | Fornecedores | Sim | Sim | Sim | CustomerVendor |
MATA030 | Clientes | Sim | Sim | Sim | CustomerVendor |
FISA010 | Municípios | Sim | Sim | Sim | City |
QIEA030 | Unidades de Medida | Sim | Sim | Sim | UnitOfMeasure |
MATA050 | Transportadoras | Sim | Sim | Sim | Carrier |
CTBA150 | Cotação de Moedas | Sim | Sim | Sim | CurrencyQuotation |
MATA103 | Documentos de Entrada | Sim | Não | Sim | InputDocument |
MATA103A | Cobertura de Documentos | Sim | Não | Sim | CoverageDocument |
MATA410 | Pedido de Venda | Sim | Não | Sim | SalesOrder |
TMSAE55 | EDI | Sim | Não | Sim | EDIDocumentForTransportation |
MATA270 | Inventário | Sim | Não | Sim | Inventory |
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 WMS Logix e Backoffice Protheus estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.
Observação: Este modelo de suporte está sendo revisado pela TOTVS.
Transações/Entidades/Mensagens únicas
Para esta integração estão previstas as mensagens abaixo:
WMS Logix | Protheus | TOTVSMessage |
Registro NF Entrada WMS | Recebimento | InputDocument |
Regularização Fiscal | Operação Triangular | CoverageDocument |
Solicitação de Carga | TMS | EDIDocumentForTransportation |
Expedição | Pedido de Venda NF Retorno | SalesOrder(*) |
Expedição | Pedido de Venda NF Conta e Ordem | SalesOrder(*) |
Expedição | Pedido de Venda NF Serviço | SalesOrder(*) |
Recebimento com Falta | Pedido de Venda NF Retorno | SalesOrder(*) |
Falta de Inventário | Pedido de Venda NF Retorno | SalesOrder(*) |
Montagem/Desmontagem de Kits | Pedido de Venda NF Retorno | SalesOrder(*) |
Inventário | Inventário | Inventory |
Nota:
(*) A mensagem SalesOrder é única para todos os tipos de nota fiscal que necessitam ser gerados.
Para que cada processo indicado acima possa ocorrer, é necessário que previamente os principais cadastros também estejam integrados. São eles:
Cadastro | Onde é utilizado | TOTVSMessage |
Fornecedor | Registro NF Entrada WMS (InputDocument) Regularização Fiscal (CoverageDocument) | CustomerVendor(*) |
Cliente | Expedição (SalesOrder) Regularização Fiscal (CoverageDocument) Solicitação de Carga (EDIDocumentForTrans) | CustomerVendor(*) |
Transportador | Expedição (SalesOrder) Solicitação de Carga (EDIDocumentForTrans) | Carrier |
Item (Produto) | Registro NF Entrada WMS (InputDocument) Regularização Fiscal (CoverageDocument) Expedição (SalesOrder) Solicitação de Carga (EDIDocumentForTrans) Inventário (Inventory) | Item |
Cidade (Munícipio) | Cadastro de Fornecedor (CustomerVendor) Cadastro de Cliente (CustomerVendor) Cadastro de Transportador (Carrier) | City |
Unidade de Medida | Cadastro de Item (Item) Registro NF Entrada WMS (InputDocument) Expedição (SalesOrder) Solicitação de Carga (EDIDocumentForTrans) | UnitOfMeasure |
Cotação de Moeda | Expedição (SalesOrder) | CurrencyQuotation |
Nota:
(*) A mensagem CustomerVendor é única para fornecedores e clientes, o que diferenciará um cadastro de outro será a tag _Type, que poderá ter os valores “Customer” (Cliente), “Vendor” (Fornecedor) ou “Both” (Ambos).
Fluxo das Informações
As mensagens de integração existentes entre o WMS Logix e o Protheus são:
Fluxo de um processo padrão de WMS, desde o recebimento dos produtos até a sua expedição:
Notas:
- PV = Pedido de Venda
- O fluxo exposto acima representa apenas a utilização do CESV – Controle de Entrada e Saída de Veículos – porém as mesmas integrações se aplicam também quando é utilizado apenas o controle de Documental.
- A integração da nota fiscal de recebimento foi exemplificada apenas entre os processos Registro da NF Entrada e Planejamento do Recebimento, mas pode ocorrer também entre quaisquer processos após o Registro da NF Entrada e antes da Integração Regularização Fiscal.
Além das integrações indicadas acima, existem as outras integrações de movimentos que não estão ligados ao processo normal do WMS. São eles:
- Pedido de Venda para Faturamento de Serviço: Ocorre quando é realizado o processamento no programa WMS6412 (Geração NF).
- Recebimento com Falta: Quando o recebimento for realizado através de uma nota fiscal definitiva e ocorrer falta de produtos é necessário devolver simbolicamente esta quantidade faltante para o depositante. Para isso é utilizada a opção “Gerar NF Retorno” na rotina WMS6196/WMS6496 (Liberação de Veículo para Saída).
- Falta de Inventário: No fechamento do conta corrente do inventário, caso exista uma falta de produto é necessário realizar um retorno simbólico para o depositante.
- Montagem/Desmontagem de Kits: Quando é realizada uma montagem de kits deve ocorrer o retorno simbólico dos componentes utilizados na montagem, pois os mesmos passarão a ser identificados por um novo produto. O mesmo ocorrerá na desmontagem de um kit, onde o produto do kit é que deverá ser retornado simbolicamente. Estes processamentos são realizados através da rotina WMS7013 (Solicitação de Montagem de Kit).
- Inventário: Ocorre quando é realizado o encerramento do plano de inventário, com atualização dos ajustes de estoque identificados. Este procedimento é executado no programa SUP5830 (Gerenciador do Inventário).
Cadastros
1.1 Cadastro de Fornecedor – CustomerVendor
Nesta mensagem serão integradas as informações principais do cadastro de fornecedores, que dentro do EAI é identificada pelo nome CustomerVendor.
No Logix o envio desta mensagem ocorre a partir destes programas, quando uma manutenção é realizada:
- VDP0815 - Cadastro Cliente/Fornecedor (versão 10.2)
- VDP10000 - Cadastro Cliente/Fornecedor (versão 11.0)
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação | ||||||||||||||||||||||||
_CompanyId | Código da empresa | Variável global p_cod_empresa | ||||||||||||||||||||||||
_Code(**) | Código do fornecedor | FORNECEDOR.cod_fornecedor | ||||||||||||||||||||||||
_ShortName | Nome reduzido do fornecedor | VDP_CLI_FORNEC_CPL.razao_social_reduz (se estiver preenchido) ou então FORNECEDOR.raz_social_reduz | ||||||||||||||||||||||||
_Name | Nome do fornecedor | VDP_CLI_FORNEC_CPL.razao_social (se estiver preenchido) ou então FORNECEDOR.raz_social | ||||||||||||||||||||||||
_Type(***) | Tipo de registro (Cliente = “Customer”; Fornecedor = “Vendor”; Ambos = “Both”) | Para esta mensagem será “Vendor” | ||||||||||||||||||||||||
_EntityType | Tipo de pessoa (Pessoa Física = “Person”; Pessoa Jurídica = “Company”) | Se o fornecedor tiver CPF, será considerado “Person”, caso contrário será “Company” | ||||||||||||||||||||||||
_RegisterDate | Data de cadastro do fornecedor | FORNECEDOR.dat_cadast | ||||||||||||||||||||||||
_RegisterSituation | Situação do fornecedor (Ativo = “Active”; Inativo = “Inactive”) | FORNECEDOR.ies_fornec_ativo | ||||||||||||||||||||||||
_GovernmentalInformation | Esta tag pode conter até 5 (cinco) informações diferentes, que são diferenciadas pelo atributo _Name:
| CPF → FORNECEDOR.num_cgc_cpf CNPJ → FORNECEDOR.num_cgc_cpf Inscrição Estadual → FORNECEDOR.ins_estadual Inscrição Municipal → FORNEC_COMPL.ins_municipal Suframa → FORNECEDOR.ies_zona_franca OBS: Quando a tag estiver preenchida, considera como “S”, caso contrário considera como “N”). | ||||||||||||||||||||||||
_Address. _Address | Endereço do fornecedor | VDP_CLI_FORNEC_CPL.logradouro (se estiver preenchido) ou então FORNECEDOR.end_fornec | ||||||||||||||||||||||||
_Address. _Number | Número do endereço do fornecedor | VDP_CLI_FORNEC_CPL.num_iden_lograd | ||||||||||||||||||||||||
_Address. _Complement | Complemento do endereço do fornecedor | VDP_CLI_FORNEC_CPL.compl_endereco | ||||||||||||||||||||||||
_Address. _City. _Code | Código da cidade do endereço do fornecedor. Será considerado o código IBGE, conforme cadastro nacional. | FORNECEDOR.cod_cidade OBS: Através desta informação é obtido o código IBGE na tabela OBF_CIDADE_IBGE) Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. | ||||||||||||||||||||||||
_Address. _City. _Description | Nome da cidade do fornecedor | CIDADES.den_cidade | ||||||||||||||||||||||||
_Address. _District | Bairro do fornecedor | VDP_CLI_FORNEC_CPL.bairro (se estiver preenchido) ou então FORNECEDOR.den_bairro | ||||||||||||||||||||||||
_Address. _State. _Code | Sigla do estado (UF) do fornecedor | FORNECEDOR.cod_uni_feder OBS: Se a UF do fornecedor não for uma das unidades de federação brasileiras é fixado o valor “EX” (Exterior). | ||||||||||||||||||||||||
_Address. _State. _Description | Nome do estado (UF) do fornecedor | UNI_FEDER.den_uni_feder | ||||||||||||||||||||||||
_Address. _Country. _Code | Código do país do fornecedor | UNI_FEDER.cod_pais | ||||||||||||||||||||||||
_Address. _Country. _Description | Nome do país do fornecedor | PAISES.den_pais | ||||||||||||||||||||||||
_Address. _ZIPCode | Código de Endereçamento Postal (CEP) do fornecedor | FORNECEDOR.cod_cep OBS: São considerados apenas os dígitos. | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _PhoneNumber | Número do telefone do fornecedor | VDP_CLI_FORNEC_CPL.telefone_1 (se estiver preenchido) ou então FORNECEDOR.num_telefone | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _FaxNumber | Número do fax do fornecedor | FORNECEDOR.num_fax | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _HomePage | Home (site) do fornecedor | VDP_CLI_FORNEC_CPL.endereco_web (se estiver preenchido) ou então FORNEC_COMPL.endereco_web | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _Email | Email principal do fornecedor | VDP_CLI_FORNEC_CPL.correio_eletronico (se estiver preenchido) ou então FORNEC_COMPL.e_mail | ||||||||||||||||||||||||
_ListOfContacts. _Code | Código do contato (número seqüencial) | SUP_CNTT_FORNEC.sequencia_contato | ||||||||||||||||||||||||
_ListOfContacts. _Name | Nome do contato do fornecedor | SUP_CNTT_FORNEC.nom_contato | ||||||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _PhoneNumber | Telefone do contato do fornecedor | SUP_CNTT_FORNEC.telefone | ||||||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _FaxNumber | Fax do contato do fornecedor | SUP_CNTT_FORNEC.fax | ||||||||||||||||||||||||
_ListOfBankingInformation. _BankCode | Código do banco do fornecedor | FORNECEDOR.cod_banco | ||||||||||||||||||||||||
_ListOfBankingInformation. _BankName | Nome do banco do fornecedor | BANCOS.nom_banco | ||||||||||||||||||||||||
_ListOfBankingInformation. _BranchCode | Número da agência bancária do fornecedor | FORNECEDOR.num_agencia | ||||||||||||||||||||||||
_ListOfBankingInformation. _BranchName | Dígito da agência bancária do fornecedor | FORNECEDOR.num_agencia | ||||||||||||||||||||||||
_ListOfBankingInformation. _CheckingAccountNumber | Número da conta corrente do fornecedor | FORNECEDOR.num_conta_banco | ||||||||||||||||||||||||
_ListOfBankingInformation. _CheckingAccountNumberKey | Dígito da conta corrente do fornecedor | FORNECEDOR.num_conta_banco | ||||||||||||||||||||||||
_VendorInformation. _VendorType. _Code | Tipo de fornecedor (1 = “Fornecedor”; 3 = “Cliente”; 4 = “Fornecedor/Cliente”; 5 = “Fornecedor/Transportador”; 6 = “Produtor Rural”; 7 = “Prestador de Serviço”; 8 = “Munícipio”; 9 = “Cooperado”; I = “Microempreendor Individual”) | FORNECEDOR.ies_tip_fornec | ||||||||||||||||||||||||
_VendorInformation. _VendorType. _Description | Descrição do tipo de fornecedor | Conforme o tipo de fornecedor | ||||||||||||||||||||||||
_FiscalInformation. _TaxPayer. _Attributes. _TaxName | Tipo de informação de imposto que será tratada | “IPI” (valor fixo) | ||||||||||||||||||||||||
_FiscalInformation. _TaxPayer. _Attributes. _isPayer | Indica se o fornecedor é ou não contribuinte de IPI | FORNECEDOR.ies_contrib_ipi OBS: Se for igual a “N”, será considerado valor “false”, caso contrário será considerado valor “true”. | ||||||||||||||||||||||||
_FiscalInformation. _TaxPayer. _Attributes. _Mode | Possibilita a identificação de fornecedor contribuinte de IPI no modo “simples”. | FORNECEDOR.ies_contrib_ipi OBS: Se for igual a “E”, será considerado valor “simples”, caso contrário será considerado valor NULL. |
Notas:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
(**) Quando é realizado o envio de mensagem, considera-se o próprio código do Logix. Quando é realizado o recebimento de uma mensagem, o conteúdo desta tag será o código cadastrado no sistema de origem, que no Logix estará cadastrado como “Código Externo” no programa VDP10143 (Consulta Código Externo Cliente/Fornecedor). A partir deste código externo o Logix identificará qual é o seu código, para então proceder as atualizações.
(***) A mensagem CustomerVendor foi criada para atender a integração de clientes e de fornecedores. O que diferenciará um tipo de outro será a tag “Type”, que para fornecedores receberá o valor “Vendor”.
(***) Nos casos de registros do tipo “Ambos” (onde uma empresa é cliente e fornecedor ao mesmo tempo), o Logix enviará duas mensagens para o Protheus, uma com o tipo “Customer” e outra com o tipo “Vendor”. No recebimento da mensagem, porém, está previsto receber o tipo “Both” (Ambos), onde neste caso o Logix realizará a atualização dos dois cadastros.
Somente fornecedores com tipo diferente de “2” (Transportador) é que serão considerados para envio de mensagem.
Como no Protheus o fornecedor é identificado através de um código composto (Código + Loja), não foi possível utilizar o mesmo código nos dois sistemas. Para resolver esta situação foi necessário criar um relacionamento “De/Para” entre os códigos interno e externo, que será alimentado automaticamente no envio e no recebimento da mensagem.
Como funciona – Envio:
- Quando o Logix enviar uma mensagem de fornecedor, sempre será preenchida a tag _Code com o código do Logix (FORNECEDOR.cod_fornecedor).
- Quando a atualização das informações do fornecedor for finalizada com sucesso pelo Protheus, ele retornará o seu código gerado para que seja registrada de forma automática o relacionamento entre os códigos no programa VDP10143 (Consulta Código Externo Cliente/Fornecedor).
Como funciona – Recebimento:
- Quando o Logix receber uma mensagem de fornecedor, será verificado através do conteúdo da tag _Code se existe o código externo registrado no programa VDP10143 (Consulta Código Externo Cliente/Fornecedor).
- Se o código externo for encontrado, será considerado o código do fornecedor Logix que está relacionado à este código externo.
- Se o código externo não for encontrado, o sistema entenderá que se trata de um novo fornecedor, e portanto providenciará o cadastramento do mesmo.
- Nesta situação, o código do fornecedor no Logix será determinado conforme as regras já existentes, que poderá ser:
- Automático Sequencial: O código do Logix será determinado através do parâmetro de controle de numeração de fornecedores (LOG00087).
- Automático CNPJ/CPF: O código do Logix será igual ao CNPJ ou CPF do fornecedor, considerando apenas os dígitos.
- Manual: Será igual ao código externo enviado na mensagem (tag _Code).
- Em todas as situações acima sempre será registrado automaticamente o relacionamento De/Para de códigos no programa VDP10143, evitando que o usuário tenha que efetuar o relacionamento manualmente.
- Após todos os procedimentos e atualizações o Logix retornará uma mensagem de resposta para o Protheus enviando qual foi o seu código gerado, para que o relacionamento automático também possa ser realizado neste sistema.
1.2 Cadastro de Cliente – CustomerVendor
Nesta mensagem serão integradas as informações principais do cadastro de clientes, que dentro do EAI é identificada pelo nome CustomerVendor.
No Logix o envio desta mensagem ocorre a partir destes programas, quando uma manutenção é realizada:
- VDP0815 - Cadastro Cliente/Fornecedor (versão 10.2)
- VDP10000 - Cadastro Cliente/Fornecedor (versão 11.0)
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação | ||||||||||||||||||||||||
_CompanyId | Código da empresa | Variável global p_cod_empresa | ||||||||||||||||||||||||
_Code(**) | Código do cliente | CLIENTES.cod_cliente | ||||||||||||||||||||||||
_ShortName | Nome reduzido do cliente | VDP_CLI_FORNEC_CPL.razao_social_reduz (se estiver preenchido) ou então CLIENTES.nom_reduzido | ||||||||||||||||||||||||
_Name | Nome do cliente | VDP_CLI_FORNEC_CPL.razao_social (se estiver preenchido) ou então CLIENTES.nom_cliente | ||||||||||||||||||||||||
_Type(***) | Tipo de registro (Cliente = “Customer”; Fornecedor = “Vendor”; Ambos = “Both”) | Para esta mensagem será “Customer” | ||||||||||||||||||||||||
_EntityType | Tipo de pessoa (Pessoa Física = “Person”; Pessoa Jurídica = “Company”) | Se o cliente tiver CPF, será considerado “Person”, caso contrário será “Company” | ||||||||||||||||||||||||
_RegisterDate | Data de cadastro do cliente | CLIENTES.dat_cadastro | ||||||||||||||||||||||||
_RegisterSituation | Situação do cliente (Ativo = “Active”; Inativo = “Inactive”; Cancelado = “Canceled”; Pendente = “Pending”; Suspenso = “Suspended”) | CLIENTES.ies_situacao | ||||||||||||||||||||||||
_GovernmentalInformation | Esta tag pode conter até 5 (cinco) informações diferentes, que são diferenciadas pelo atributo _Name:
| CPF → CLIENTES.num_cgc_cpf CNPJ → CLIENTES.num_cgc_cpf Inscrição Estadual → CLIENTES.ins_estadual Inscrição Municipal → VDP_CLI_PARAMETRO.texto_parametro (filtrar pelo parâmetro “ins_municipal”) Suframa → CLIENTES.num_suframa e VDP_CLI_PARAMETRO.dat_parametro (filtrar pelo parâmetro “dat_validade_suframa”) | ||||||||||||||||||||||||
_Address. _Address | Endereço do cliente | VDP_CLI_FORNEC_CPL.logradouro (se estiver preenchido) ou então CLIENTES.end_cliente | ||||||||||||||||||||||||
_Address. _Number | Número do endereço do cliente | VDP_CLI_FORNEC_CPL.num_iden_lograd | ||||||||||||||||||||||||
_Address. _Complement | Complemento do endereço do cliente | VDP_CLI_FORNEC_CPL.compl_endereco | ||||||||||||||||||||||||
_Address. _City. _Code | Código da cidade do endereço do cliente. Será considerado o código IBGE, conforme cadastro nacional. | CLIENTES.cod_cidade OBS: Através desta informação é obtido o código IBGE na tabela OBF_CIDADE_IBGE) Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. | ||||||||||||||||||||||||
_Address. _City. _Description | Nome da cidade do cliente | CIDADES.den_cidade | ||||||||||||||||||||||||
_Address. _District | Bairro do cliente | VDP_CLI_FORNEC_CPL.bairro (se estiver preenchido) ou então CLIENTES.den_bairro | ||||||||||||||||||||||||
_Address. _State. _Code | Sigla do estado (UF) do cliente | CLIENTES.cod_uni_feder OBS: Se a UF do cliente não for uma das unidades de federação brasileiras é fixado o valor “EX” (Exterior). | ||||||||||||||||||||||||
_Address. _State. _Description | Nome do estado (UF) do cliente | UNI_FEDER.den_uni_feder | ||||||||||||||||||||||||
_Address. _Country. _Code | Código do país do cliente | UNI_FEDER.cod_pais | ||||||||||||||||||||||||
_Address. _Country. _Description | Nome do país do cliente | PAISES.den_pais | ||||||||||||||||||||||||
_Address. _ZIPCode | Código de Endereçamento Postal (CEP) do cliente | CLIENTES.cod_cep OBS: São considerados apenas os dígitos. | ||||||||||||||||||||||||
_Address. _POBox | Número da caixa postal do cliente | CLIENTES.num_caixa_postal | ||||||||||||||||||||||||
_ShippingAddress. _Address | Endereço de entrega do cliente | CLI_END_ENT.logradouro | ||||||||||||||||||||||||
_ShippingAddress. _Number | Número do endereço de entrega do cliente | CLI_END_ENT.num_iden_lograd | ||||||||||||||||||||||||
_ShippingAddress. _Complement | Complemento do endereço de cobrança do cliente | CLI_END_ENT.complemento_endereco | ||||||||||||||||||||||||
_ShippingAddress. _City. _Code | Código da cidade do endereço de entrega do cliente. Será considerado o código IBGE, conforme cadastro nacional. | CLI_END_ENT.cod_cidade OBS: Através desta informação é obtido o código IBGE na tabela OBF_CIDADE_IBGE) Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. | ||||||||||||||||||||||||
_ShippingAddress. _City. _Description | Nome da cidade de entrega do cliente | CIDADES.den_cidade | ||||||||||||||||||||||||
_ShippingAddress. _District | Bairro de entrega do cliente | CLI_END_ENT.den_bairro | ||||||||||||||||||||||||
_ShippingAddress. _State. _Code | Sigla do estado (UF) de entrega do cliente | CIDADES.cod_uni_feder OBS: Se a UF do cliente não for uma das unidades de federação brasileiras é fixado o valor “EX” (Exterior). | ||||||||||||||||||||||||
_ShippingAddress. _State. _Description | Nome do estado (UF) de entrega do cliente | UNI_FEDER.den_uni_feder | ||||||||||||||||||||||||
_ShippingAddress. _Country. _Code | Código do país de entrega do cliente | UNI_FEDER.cod_pais | ||||||||||||||||||||||||
_ShippingAddress. _Country. _Description | Nome do país de entrega do cliente | PAISES.den_pais | ||||||||||||||||||||||||
_ShippingAddress. _ZIPCode | Código de Endereçamento Postal (CEP) de entrega do cliente | CLI_END_ENT.cod_cep OBS: São considerados apenas os dígitos. | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _PhoneNumber | Número do telefone do cliente | VDP_CLI_FORNEC_CPL.telefone_1 (se estiver preenchido) ou então CLIENTES.num_telefone | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _FaxNumber | Número do fax do cliente | CLIENTES.num_fax | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _HomePage | Home (site) do cliente | VDP_CLI_FORNEC_CPL.endereco_web (se estiver preenchido) ou então VDP_CLIENTE_COMPL.endereco_web | ||||||||||||||||||||||||
_ListOfCommunicationInformation. _Email | Email principal do cliente | VDP_CLI_FORNEC_CPL.correio_eletronico (se estiver preenchido) ou então VDP_CLIENTE_COMPL.email | ||||||||||||||||||||||||
_ListOfContacts. _Code | Código do contato do cliente | CLI_CONTATOS.num_contato | ||||||||||||||||||||||||
_ListOfContacts. _Name | Nome do contato do cliente | CLI_CONTATOS.nom_contato | ||||||||||||||||||||||||
_ListOfContacts. _Department | Departamento do contato do cliente | CLI_CONTATOS.departno | ||||||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _PhoneNumber | Telefone do contato do cliente | CLI_CONTATOS.num_telefone | ||||||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _PhoneExtension | Ramal do contato do cliente | CLI_CONTATOS.num_ramal | ||||||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _FaxNumber | Fax do contato do cliente | CLI_CONTATOS.num_fax | ||||||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _Email | Fax do contato do cliente | CLI_CONTATOS.email | ||||||||||||||||||||||||
_Billinginformation. _Address | Endereço de cobrança do cliente | CLI_END_DET_COBRANCA_ENTREGA.logradouro | ||||||||||||||||||||||||
_Billinginformation. _Number | Número do endereço de cobrança do cliente | CLI_END_DET_COBRANCA_ENTREGA.num_iden_lograd | ||||||||||||||||||||||||
_Billinginformation. _Complement | Complemento do endereço de cobrança do cliente | CLI_END_DET_COBRANCA_ENTREGA.complemento_endereco | ||||||||||||||||||||||||
_Billinginformation. _City. _Code | Código da cidade do endereço de cobrança do cliente. Será considerado o código IBGE, conforme cadastro nacional. | CLI_END_DET_COBRANCA_ENTREGA.cod_cidade OBS: Através desta informação é obtido o código IBGE na tabela OBF_CIDADE_IBGE) Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. | ||||||||||||||||||||||||
_Billinginformation. _City. _Description | Nome da cidade de cobrança do cliente | CIDADES.den_cidade | ||||||||||||||||||||||||
_Billinginformation. _District | Bairro de cobrança do cliente | CLI_END_COB.den_bairro | ||||||||||||||||||||||||
_Billinginformation. _State. _Code | Sigla do estado (UF) de cobrança do cliente | CIDADES.cod_uni_feder OBS: Se a UF do cliente não for uma das unidades de federação brasileiras é fixado o valor “EX” (Exterior). | ||||||||||||||||||||||||
_Billinginformation. _State. _Description | Nome do estado (UF) de cobrança do cliente | UNI_FEDER.den_uni_feder | ||||||||||||||||||||||||
_Billinginformation. _Country. _Code | Código do país de cobrança do cliente | UNI_FEDER.cod_pais | ||||||||||||||||||||||||
_Billinginformation. _Country. _Description | Nome do país de cobrança do cliente | PAISES.den_pais | ||||||||||||||||||||||||
_Billinginformation. _ZIPCode | Código de Endereçamento Postal (CEP) de cobrança do cliente | CLI_END_COB.cod_cep OBS: São considerados apenas os dígitos. | ||||||||||||||||||||||||
_CreditInformation. _CreditLimit | Limite de crédito do cliente | CLI_CREDITO.val_limite_cred | ||||||||||||||||||||||||
_CreditInformation. _CreditLimitCurrency | Código da moeda na qual está expresso o valor de limite de crédito do cliente | PAR_CON.cod_moeda_padrao | ||||||||||||||||||||||||
_CreditInformation. _CreditLimitDate | Data do limite de crédito do cliente | CLI_CREDITO.dat_val_lmt_cr | ||||||||||||||||||||||||
_CreditInformation. _LatePeriods | Quantidade de dias para atraso de pagamento de duplicatas | CLI_CREDITO.qtd_dias_atr_dupl |
Notas:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
(**) Quando é realizado o envio de mensagem, considera-se o próprio código do Logix. Quando é realizado o recebimento de uma mensagem, o conteúdo desta tag será o código cadastrado no sistema de origem, que no Logix estará cadastrado como “Código Externo” no programa VDP10143 (Consulta Código Externo Cliente/Fornecedor). A partir deste código externo o Logix identificará qual é o seu código, para então proceder as atualizações.
(***) A mensagem CustomerVendor foi criada para atender a integração de clientes e de fornecedores. O que diferenciará um tipo de outro será a tag “Type”, que para fornecedores receberá o valor “Customer”.
(***) Nos casos de registros do tipo “Ambos” (onde uma empresa é cliente e fornecedor ao mesmo tempo), o Logix enviará duas mensagens para o Protheus, uma com o tipo “Customer” e outra com o tipo “Vendor”. No recebimento da mensagem, porém, está previsto receber o tipo “Both” (Ambos), onde neste caso o Logix realizará a atualização dos dois cadastros.
Para a integração do cadastro de clientes existe a mesma situação indicada no cadastro de fornecedores, onde não foi possível utilizar o mesmo código nos dois sistemas. A solução adotada para o cadastro de fornecedores se aplica também ao cadastro de clientes, veja o seu funcionamento no item 5.1. Cadastro de Fornecedor – CustomerVendor.
1.3 Cadastro de Item – Item
Nesta mensagem serão integradas as informações principais do cadastro de item, que dentro do EAI é identificada pelo nome Item.
No Logix o envio desta mensagem ocorre a partir destes programas, quando uma manutenção é realizada:
- MAN9922 - Cadastro de Item (versão 10.2)
- MAN10021 - Cadastro de Item (versão 11.0)
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId(**) | Código da empresa | Variável global p_cod_empresa |
_BranchId(**) | Código da filial | Somente é tratado no recebimento da mensagem, para identificar o código da empresa Logix onde deve ser efetuada a atualização |
_Code(***) | Código do item | ITEM.cod_item |
_Name | Descrição do item | ITEM.den_item |
_ShortName | Descrição reduzida do item | ITEM.den_item_reduz |
_Active | Indica se o item está ou não ativo | ITEM.ies_situacao OBS: Se for “A” (Ativo) considera como “true”, caso contrário considera como “false”. |
_StockGroupCode | Código do grupo de controle de estoque | ITEM.gru_ctr_estoq OBS: Para esta informação é tratado o relacionamento De/Para de Grupos de Controle de Estoque. |
_StockGroupDescription | Descrição do grupo de controle de estoque | GRUPO_CTR_ESTOQ.den_gru_ctr_estoq |
_UnitOfMeasureCode | Código da unidade de medida | ITEM.cod_unid_med |
_ObtainingType | Forma de obtenção do item | ITEM.ies_tip_item OBS: Se for “C” (Comprado) considera como “1” (Comprado), caso contrário considera como “2” (Fabricado). |
_ComercialFamilyCode | Código da família comercial do item. No Logix será identificado pelo cadastro de “Grupo de Item” | ITEM_VDP.cod_grupo_item |
_ComercialFamilyDescription | Descrição da família comercial do item | GRUPO_ITEM.den_grupo_item |
_DeployDate | Data da implantação do item | ITEM.dat_cadastro |
_ReleaseDate | Data de liberação do item. No Logix será a própria data de cadastro | ITEM.dat_cadastro |
_StandardWarehouseCode | Código do local (armazém) padrão do item | ITEM.cod_local_estoq OBS: Para esta informação é tratado o relacionamento De/Para de Locais de Estoque. |
_StandardWarehouseDescription | Descrição do local (armazém) padrão do item | LOCAL.den_local |
_MultipleLot | Lote múltiplo | Se o tipo do item for “Produzido” ou “Final” será o campo ITEM_MAN.qtd_prog_multipla, caso contrário será o campo ITEM_SUP.qtd_lote_multiplo. |
_EconomicLot | Lote econômico | Se o tipo do item for “Produzido” ou “Final” será igual a “0” (zero), caso contrário será o campo ITEM_SUP.qtd_lote_economic. |
_MinimumLot | Lote mínimo | Se o tipo do item for “Produzido” ou “Final” será o campo ITEM_MAN.qtd_prog_minima, caso contrário será o campo ITEM_SUP.qtd_lote_minimo. |
_QualityControl | Indica se o item tem controle de qualidade | ITEM.ies_tem_inspecao OBS: Se for “S” considera como “true”, caso contrário considera como “false”. |
_ControlType | Indica o tipo de controle de estoque do item | ITEM.ies_ctr_estoq OBS: Se for “S” considera como “2” (Total), caso contrário considera como “4” (Débito Direto). |
_NetWeight | Peso unitário do item | ITEM.pes_unit |
_FamilyCode | Código da família do item | ITEM.cod_familia |
_FamilyDescription | Descrição da família do item | FAMILIA.den_familia |
_Origin | Origem do produto | MAN_INF_COM_ITEM.val_flag onde o campo “informacao_compl” seja igual a “integra_origem”. |
_FiscalInformation. _Code(****) | Código da classificação fiscal do item (NCM) | ITEM.cod_cla_fisc OBS: O Logix enviará este código sem a máscara (somente os números). |
_CustomerItemInformations. _CustomerCode | Código do cliente/depositante | Se for item controlado pelo WMS será o campo WMS_ITEM_COMPLEMENTO.deposit, caso contrário será o campo CLIENTE_ITEM.cod_cliente_matriz. |
_CustomerItemInformations. _CustomerItemCode | Código do item do cliente/depositante | Se for item controlado pelo WMS será o campo WMS_ITEM_COMPLEMENTO.item_deposit, caso contrário será o campo CLIENTE_ITEM.cod_item_cliente. |
Notas:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
(**) No recebimento da mensagem é verificado o relacionamento de/para de Empresa/Filial externa no programa LOG00083 (Cadastro de Empresas), para que seja identificada qual é a empresa Logix onde deve ser atualizado o cadastro.
(***) Quando é realizado o envio de mensagem, considera-se o próprio código do Logix. Quando é realizado o recebimento de uma mensagem, o conteúdo desta tag será o código cadastrado no sistema de origem, que no Logix estará cadastrado como “Código Externo” no programa MAN72011 (Consulta Código Externo Item). A partir deste código externo o Logix identificará qual é o seu código, para então proceder as atualizações.
(****) Quando o produto é cadastrado no Logix, a NCM (Classificação Fiscal) é gravada como “0” (zero). Porém este valor é inválido para o Protheus. Desta forma, o Logix irá enviar para o Protheus a classificação fiscal padrão definida no parâmetro “Classificação fiscal padrão”. Depois da conclusão do cadastro do produto no Logix o usuário deve complementar as informações na aba “Fiscal”, registrando a classificação fiscal correta, atualizando esta informação no Protheus.
Como os itens de compras (não controlados pelo WMS) serão cadastrados diretamente no Protheus e no Logix é obrigatório que o código de item seja sequencial no segmento de Operador Logístico, não foi possível utilizar o mesmo código nos dois sistemas. Para resolver esta situação foi necessário criar um relacionamento “De/Para” entre os códigos interno e externo, que será alimentado automaticamente no envio e no recebimento da mensagem.
Como funciona – Envio:
- Quando o Logix enviar uma mensagem de item, sempre será preenchida a tag _Code com o código do Logix (ITEM.cod_item).
- Quando a atualização das informações do item for finalizada com sucesso pelo Protheus, ele retornará o seu código gerado para que seja registrada de forma automática o relacionamento entre os códigos no programa MAN72011 (Consulta Código Externo Item).
Como funciona – Recebimento:
- Quando o Logix receber uma mensagem de item, será verificado através do conteúdo da tag _Code se existe o código externo registrado no programa MAN72011 (Consulta Código Externo Item).
- Se o código externo for encontrado, será considerado o código do item Logix que está relacionado à este código externo.
- Se o código externo não for encontrado, o sistema entenderá que se trata de um novo item, e portanto providenciará o cadastramento do mesmo.
- Nesta situação, o código do item no Logix será determinado conforme as regras já existentes, que poderá ser de forma automática (seqüencial) ou manual (neste caso o código Logix será igual ao código Protheus).
- Em todas as situações acima será registrado automaticamente o relacionamento De/Para de códigos no programa MAN72011 quando o parâmetro “Utiliza De/Para de itens na integração via EAI?” estiver ativo, evitando que o usuário tenha que efetuar o relacionamento manualmente.
- Após todos os procedimentos e atualizações o Logix retornará uma mensagem de resposta para o Protheus enviando qual foi o seu código gerado, para que o relacionamento automático também possa ser realizado neste sistema.
1.4 Cadastro de Cidade – City
Nesta mensagem serão integradas as informações principais do cadastro de cidade, que dentro do EAI é identificada pelo nome City.
No Logix o envio desta mensagem ocorre a partir deste programa, quando uma manutenção é realizada:
- VDP3080 - Cadastro de Cidades
As informações tratadas atualmente nesta mensagem são:
Tag | Descrição | Origem / Destino da Informação |
_Code | Código da cidade | OBF_CIDADE_IBGE.cidade_logix |
_OfficialCode(*) | Código oficial da cidade (IBGE) | OBF_CIDADE_IBGE.cidade_ibge OBS: Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. |
_Description | Descrição da cidade | CIDADES.den_cidade |
_FederalUnit | Unidade de federação | OBF_CIDADE_IBGE.estado_logix |
Nota:
(*) Para a integração de cidades é considerado como campo chave entre os sistemas o código oficial, proveniente do IBGE. Desta forma, no Logix torna-se obrigatório o preenchimento desta informação no cadastro de cidades (VDP3080), quando esta mensagem estiver habilitada para envio ou recebimento.
1.5 Cadastro de Unidade de Medida – UnitOfMeasure
Nesta mensagem serão integradas as informações principais do cadastro de unidade de medida, que dentro do EAI é identificada pelo nome UnifOfMeasure.
No Logix o envio desta mensagem ocorre a partir destes programas, quando uma manutenção é realizada:
- MAN1170 - Cadastro de Unidades de Medida (versão 10.2)
- MAN10013 - Cadastro de Unidades de Medida (versão 11.0)
As informações tratadas atualmente nesta mensagem são:
Tag | Descrição | Origem / Destino da Informação |
_Code(*) | Código da unidade de medida | UNID_MED.cod_unid_med |
_Description | Descrição da unidade de medida | UNID_MED.den_unid_med_30 |
Nota:
(*) Como no Protheus o limite do campo de código da unidade de medida é de 2 (dois) caracteres, quando esta mensagem estiver habilitada no Logix será possível realizar o cadastramento de unidades de medida contendo no máximo este mesmo número de caracteres, nos programas MAN1170 (versão10.2) e MAN10013 (versão 11.0).
1.6 Cadastro de Cotação de Moeda – CurrencyQuotation
Nesta mensagem serão integradas as informações principais do cadastro de cotações de moeda, que dentro do EAI é identificada pelo nome CurrencyQuotation.
No Logix o envio desta mensagem ocorre a partir destes programas, quando uma manutenção é realizada:
- PAT0150 - Cadastro de Cotações de Moeda (versão 10.2)
- CON10018 - Cadastro de Cotações de Moeda (versão 11.0)
As informações tratadas atualmente nesta mensagem são:
Tag | Descrição | Origem / Destino da Informação |
_CurrencyCode | Código da moeda | COTACAO.cod_moeda |
_Period. _Year | Ano da cotação | Ano da COTACAO.dat_ref |
_Period. _Month | Mês da cotação | Mês da COTACAO.dat_ref |
_ListOfQuotation. _Day | Dia da cotação | Dia da COTACAO.dat_ref |
_ListOfQuotation. _Value | Valor da cotação | COTACAO.val_cotacao |
1.7 Cadastro de Transportador – Carrier
Nesta mensagem serão integradas as informações principais do cadastro de transportador, que dentro do EAI é identificada pelo nome Carrier.
No Logix o envio desta mensagem ocorre a partir destes programas, quando uma manutenção é realizada:
- VDP0815 - Cadastro de Cliente/Fornecedor (versão 10.2)
- VDP10000 - Cadastro de Cliente/Fornecedor (versão 11.0)
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação | ||||||||||||||||||||
_CompanyId | Código da empresa | Variável global p_cod_empresa | ||||||||||||||||||||
_CarrierCode | Código do transportador | FORNECEDOR.cod_fornecedor | ||||||||||||||||||||
_ShortName | Nome reduzido do transportador | VDP_CLI_FORNEC_CPL.razao_social_reduz (se estiver preenchido) ou então FORNECEDOR.raz_social_reduz | ||||||||||||||||||||
_Name | Nome do transportador | VDP_CLI_FORNEC_CPL.razao_social (se estiver preenchido) ou então FORNECEDOR.raz_social | ||||||||||||||||||||
_GovernmentalInformation | Esta tag pode conter até 4 (quatro) informações diferentes, que são diferenciadas pelo atributo _Name:
| CPF → FORNECEDOR.num_cgc_cpf CNPJ → FORNECEDOR.num_cgc_cpf Inscrição Estadual → FORNECEDOR.ins_estadual Inscrição Municipal → FORNEC_COMPL.ins_municipal | ||||||||||||||||||||
_Address. _Address | Endereço do transportador | VDP_CLI_FORNEC_CPL.logradouro (se estiver preenchido) ou então FORNECEDOR.end_fornec | ||||||||||||||||||||
_Address. _Number | Número do endereço do transportador | VDP_CLI_FORNEC_CPL.num_iden_lograd | ||||||||||||||||||||
_Address. _Complement | Complemento do endereço do transportador | VDP_CLI_FORNEC_CPL.compl_endereco | ||||||||||||||||||||
_Address. _City. _Code | Código da cidade do endereço do transportador. Será considerado o código IBGE, conforme cadastro nacional. | FORNECEDOR.cod_cidade OBS: Através desta informação é obtido o código IBGE na tabela OBF_CIDADE_IBGE) Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. | ||||||||||||||||||||
_Address. _City. _Description | Nome da cidade do transportador | CIDADES.den_cidade | ||||||||||||||||||||
_Address. _District | Bairro do transportador | VDP_CLI_FORNEC_CPL.bairro (se estiver preenchido) ou então FORNECEDOR.den_bairro | ||||||||||||||||||||
_Address. _State. _Code | Sigla do estado (UF) do transportador | FORNECEDOR.cod_uni_feder OBS: Se a UF do transportador não for uma das unidades de federação brasileiras é fixado o valor “EX” (Exterior). | ||||||||||||||||||||
_Address. _State. _Description | Nome do estado (UF) do transportador | UNI_FEDER.den_uni_feder | ||||||||||||||||||||
_Address. _Country. _Code | Código do país do transportador | UNI_FEDER.cod_pais | ||||||||||||||||||||
_Address. _Country. _Description | Nome do país do transportador | PAISES.den_pais | ||||||||||||||||||||
_Address. _ZIPCode | Código de Endereçamento Postal (CEP) do transportador | FORNECEDOR.cod_cep OBS: São considerados apenas os dígitos. | ||||||||||||||||||||
_ListOfCommunicationInformation. _PhoneNumber | Número do telefone do transportador | VDP_CLI_FORNEC_CPL.telefone_1 (se estiver preenchido) ou então FORNECEDOR.num_telefone | ||||||||||||||||||||
_ListOfCommunicationInformation. _FaxNumber | Número do fax do transportador | FORNECEDOR.num_fax | ||||||||||||||||||||
_ListOfCommunicationInformation. _HomePage | Home (site) do transportador | VDP_CLI_FORNEC_CPL.endereco_web (se estiver preenchido) ou então FORNEC_COMPL.endereco_web | ||||||||||||||||||||
_ListOfCommunicationInformation. _Email | Email principal do transportador | VDP_CLI_FORNEC_CPL.correio_eletronico (se estiver preenchido) ou então FORNEC_COMPL.e_mail | ||||||||||||||||||||
_ListOfContacts. _Code | Código do contato (número seqüencial) | SUP_CNTT_FORNEC.sequencia_contato | ||||||||||||||||||||
_ListOfContacts. _Name | Nome do contato do transportador | SUP_CNTT_FORNEC.nom_contato | ||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _PhoneNumber | Telefone do contato do transportador | SUP_CNTT_FORNEC.telefone | ||||||||||||||||||||
_ListOfContacts. _CommunicationInformation. _FaxNumber | Fax do contato do transportador | SUP_CNTT_FORNEC.fax |
Nota:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
Somente fornecedores com tipo igual a “2” (Transportador) é que serão considerados para envio de mensagem.
Processos
1.1 Nota Fiscal Recebimento WMS – InputDocument
Nesta mensagem serão integradas as informações das notas fiscais de recebimento, que dentro do EAI é identificada pelo nome InputDocument.
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId | Código da empresa | Variável global p_cod_empresa |
_InvoiceNumber | Número da nota fiscal | NF_SUP.num_nf |
_DocumentSeries | Série da nota fiscal | NF_SUP.ser_nf |
_CustomerCode | Código do fornecedor | NF_SUP.cod_fornecedor |
_InvoiceDate | Data de emissão da nota fiscal | NF_SUP.dat_emis_nf |
_InputDate | Data de entrada da nota fiscal | NF_SUP.dat_entrada_nf |
_InvoiceDescounts | Valor total de desconto da nota fiscal | NF_SUP.val_tot_desc |
_GoodsValue | Valor líquido dos itens da nota fiscal | Somatória do campo AVISO_REC.val_liquido_item |
_InvoiceGrossValue | Valor total da nota fiscal | NF_SUP.val_tot_nf_d |
_InsuranceValue | Valor do seguro da nota fiscal | SUP_PAR_AR.parametro_val (onde o parâmetro é igual a “val_seguro”) |
_SefazNFeKey | Chave de acesso da NF-e | SUP_PAR_AR.parametro_texto (onde o parâmetro é igual a “chav_aces_nf_eletr”) |
_TypeFreight | Tipo de frete | MODO_EMBARQUE.ies_tip_frete OBS: Se for igual a “0” (Sem Frete), considera-se “4” (Sem Frete); se for igual a “1” (Frete Pago), considera-se “1” (CIF); se for igual a “2” (Frete a Pagar), considera-se “2” (FOB). |
_FreightValue | Valor total de frete | Somatória do campo AVISO_REC.val_frete |
_CustomerTicket | Tipo da nota fiscal | NF_SUP.ies_nf_aguard_nfe |
_CalculationBasisICMS | Valor da base de cálculo do ICMS | Se existir o valor declarado na NF considera a somatória de AVISO_REC.val_base_c_item_d, caso contrário considera o valor calculado, AVISO_REC.val_base_c_item_c |
_ICMSValue | Valor do ICMS | Se existir o valor declarado na NF considera o NF_SUP.val_tot_icms_nf_d, caso contrário considera o valor calculado, NF_SUP.val_tot_icms_nf_c |
_CalculationBasisIPI | Valor da base de cálculo do IPI | Se existir o valor declarado na NF considera a somatória de AVISO_REC_COMPL_SQ. val_base_d_ipi_it, caso contrário considera o valor calculado, AVISO_REC.val_base_c_ipi_it |
_IPIValue | Valor do IPI | Se existir o valor declarado na NF considera o NF_SUP.val_ipi_nf, caso contrário considera o valor calculado, NF_SUP.val_ipi_calc |
_PaymentCode | Código da condição de pagamento | NF_SUP.cnd_pgto_nf OBS: Para esta informação é tratado o relacionamento De/Para de Condições de Pagamento de Nota Fiscal Recebimento. Ver também o parâmetro “Máscara da condição de pagamento”. |
_TypeOfDocument | Espécie da nota fiscal | NF_SUP.ies_especie_nf OBS: Se o depositante for Produtor Rural (indicado no cadastro do fornecedor no VDP0815), será enviada a espécie “NFP”. |
_ListOfItems. _ItemInvoice | Sequência do item da nota fiscal | AVISO_REC.num_seq |
_ListOfItems. _ItemCode | Código do item | AVISO_REC.cod_item |
_ListOfItems. _UnitOfMeasure | Código da unidade de medida | AVISO_REC.cod_unid_med_nf |
_ListOfItems. _Quantity | Quantidade declarada | AVISO_REC.qtd_declarad_nf |
_ListOfItems. _UnitValue | Preço unitário | AVISO_REC.pre_unit_nf |
_ListOfItems. _DiscountValue | Valor do desconto do item | AVISO_REC.val_desc_item |
_ListOfItems. _IncreaseValue | Valor de acréscimo do item | AVISO_REC.val_acrescimos |
_ListOfItems. _GrandTotal | Valor líqudo do item | AVISO_REC.val_liquido_item |
_ListOfItems. _TypeOperation | Tipo da operação. No Logix será obtido através do CFOP da nota fiscal. | NF_SUP.cod_operacao e AVISO_REC_COMPL.cod_fiscal_compl OBS: Para esta informação é tratado o relacionamento De/Para de CFOP de Recebimento x TES. |
_ListOfItems. _OperationFiscalCode | CFOP do item da nota fiscal | AVISO_REC.cod_fiscal_item |
_ListOfItems. _WarehouseId | Código do local (armazém) de estoque | AVISO_REC.cod_local_estoq OBS: Para esta informação é tratado o relacionamento De/Para de Locais de Estoque. |
_ListOfItems. _LotNumberInSupplier | Número do lote do fornecedor | AVISO_REC.num_lote |
_ListOfItems. _FreightValue | Valor do frete do item da nota fiscal | AVISO_REC.val_frete |
_ListOfItems. _CalculationBasisIPI | Valor da base de cálculo do IPI | Se existir o valor declarado na NF considera o campo AVISO_REC_COMPL_SQ. val_base_d_ipi_it, caso contrário considera o valor calculado, AVISO_REC.val_base_c_ipi_it |
_ListOfItems. _IPITaxRate | Percentual de IPI | Se existir o valor declarado na NF considera o campo AVISO_REC.pct_ipi_declarad, caso contrário considera o valor calculado, AVISO_REC.pct_ipi_tabela |
_ListOfItems. _IPIValue | Valor do IPI | Se existir o valor declarado na NF considera o campo AVISO_REC.val_ipi_decl_item, caso contrário considera o valor calculado, AVISO_REC.val_ipi_calc_item |
_ListOfItems. _CalculationBasisICMS | Valor da base de cálculo do ICMS | Se existir o valor declarado na NF considera o campo AVISO_REC. val_base_c_item_d, caso contrário considera o valor calculado, AVISO_REC.val_base_c_item_c |
_ListOfItems. _ICMSTaxRate | Percentual de ICMS | Se existir o valor declarado na NF considera o campo AVISO_REC.pct_icms_item_d, caso contrário considera o valor calculado, AVISO_REC.pct_icms_item_c |
_ListOfItems. _ICMSValue | Valor do ICMS | Se existir o valor declarado na NF considera o campo AVISO_REC.val_icms_item_d, caso contrário considera o valor calculado, AVISO_REC.val_icms_item_c |
Nota:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
No Logix o envio desta mensagem ocorre a partir destes programas:
- WMS6628 – Integração Nota Fiscal Recebimento – Inclusão
ü A mensagem é enviada com o tipo de operação “upsert” (inclusão/modificação);
ü Notas fiscais consideradas:
- Notas fiscais Provisórias (tipo “A”).
- Notas fiscais Definitivas (tipo “B”) marcadas para recebimento de produtos (que não são apenas para regularização fiscal).
ü Para os depositantes com contrato no regime de “Filial” não são processadas as notas fiscais.
ü Os demais tipos de nota fiscal não são tratados nesta integração.
- WMS6629 - Integração Nota Fiscal Recebimento – Exclusão
ü A mensagem é enviada com o tipo de operação “delete” (exclusão).
ü Notas fiscais consideradas:
- Notas fiscais Provisórias (tipo “A”).
- Notas fiscais Definitivas (tipo “B”) marcadas para recebimento de produtos (que não são apenas para regularização fiscal).
ü Para os depositantes com contrato no regime de “Filial” não são processadas as notas fiscais.
ü Os demais tipos de nota fiscal não são tratados nesta integração.
- WMS6156 – Regularização Fiscal
ü A mensagem é enviada com o tipo de operação “upsert” (inclusão/modificação) quando a regularização fiscal é processada e como “delete” (exclusão) quando é cancelada.
ü Somente envia a mensagem para nota fiscal Definitiva – tipo “B” – que esteja regularizando outra nota fiscal Definitiva.
ü Nesta situação, a mensagem CoverageDocument(Regularização Fiscal) não é enviada.
É importante destacar que após a nota fiscal ter sido integrada ao Protheus não será mais possível a sua manutenção ou exclusão no Logix. Para que isso ocorra será necessário executar a exclusão da integração da nota fiscal (WMS6629).
1.2 Regularização Fiscal – CoverageDocument
Nesta mensagem serão integradas as informações da regularização fiscal, que dentro do EAI é identificada pelo nome CoverageDocument.
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId | Código da empresa | Variável global p_cod_empresa |
_DocumentNumber | Número da nota fiscal de regularização (Definitiva) | NF_SUP.num_nf, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_regularizacao |
_DocumentSeries | Série da nota fiscal de regularização | NF_SUP.ser_nf, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_regularizacao |
_CustomerCode | Código do fornecedor da nota fiscal de regularização | NF_SUP.cod_fornecedor, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_regularizacao |
_PaymentCode | Código da condição de pagamento da nota fiscal de regularização | NF_SUP.cnd_pgto_nf, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_regularizacao OBS: Para esta informação é tratado o relacionamento De/Para de Condições de Pagamento de Nota Fiscal Recebimento. Ver também o parâmetro “Máscara da condição de pagamento”. |
_TypeOfDocument | Espécie da nota fiscal | NF_SUP.ies_especie_nf, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_regularizacao |
_InvoiceDate | Data de emissão da nota fiscal | NF_SUP.dat_emis_nf |
_InputDate | Data de entrada da nota fiscal | NF_SUP.dat_entrada_nf |
_InvoiceGrossValue | Valor total da nota fiscal | NF_SUP.val_tot_nf_d |
_SefazNFeKey | Chave de acesso da NF-e | SUP_PAR_AR.parametro_texto (onde o parâmetro é igual a “chav_aces_nf_eletr”) |
_ListOfTaxes. _Tax. _Taxe | Identificação do imposto | Esta tag pode ser preenchida com uma destas duas informações: “ICMS” ou “IPI” |
_ListOfTaxes. _Tax. _CalculationBasis | Valor da base de cálculo do ICMS ou IPI | Para “ICMS”: Se existir o valor declarado na NF considera o campo AVISO_REC. val_base_c_item_d, caso contrário considera o valor calculado, AVISO_REC.val_base_c_item_c Para “IPI”: Se existir o valor declarado na NF considera o campo AVISO_REC_COMPL_SQ. val_base_d_ipi_it, caso contrário considera o valor calculado, AVISO_REC.val_base_c_ipi_it |
_ListOfTaxes. _Tax. _Value | Valor do ICMS ou IPI | Para “ICMS”: Se existir o valor declarado na NF considera o campo AVISO_REC.val_icms_item_d, caso contrário considera o valor calculado, AVISO_REC.val_icms_item_c Para “IPI”: Se existir o valor declarado na NF considera o campo AVISO_REC.val_ipi_decl_item, caso contrário considera o valor calculado, AVISO_REC.val_ipi_calc_item |
_ListOfItems. _InvoiceDocumentSequence | Sequência da nota fiscal de regularização | WMS_IDEN_NF_REC_REGULARIZACAO.seq_ar_regularizacao |
_ListOfItems. _ItemCode | Código do item regularizado | AVISO_REC.cod_item, sendo esta tabela acessada pelos campos WMS_IDEN_NF_REC_REGULARIZACAO.ar_regularizacao e WMS_IDEN_NF_REC_REGULARIZACAO.seq_ar_regularizacao |
_ListOfItems. _DocumentNumber | Número da nota fiscal que foi regularizada | NF_SUP.num_nf, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_recebto |
_ListOfItems. _DocumentSeries | Série da nota fiscal que foi regularizada | NF_SUP.ser_nf, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_recebto |
_ListOfItems. _CustomerCode | Código do fornecedor da nota fiscal que foi regularizada | NF_SUP.cod_fornecedor, sendo esta tabela acessada pelo campo WMS_IDEN_NF_REC_REGULARIZACAO.ar_recebto |
_ListOfItems. _CoverageSequence | Sequência da nota fiscal que foi regularizada | WMS_IDEN_NF_REC_REGULARIZACAO.seq_ar_recebto |
_ListOfItems. _Quantity | Quantidade regularizada | WMS_IDEN_NF_REC_REGULARIZACAO.qtd_regularizada |
_ListOfItems. _UnitValue | Preço unitário da nota fiscal de regularização | AVISO_REC.pre_unit_nf |
_ListOfItems. _DiscountValue | Valor do desconto do item | AVISO_REC.val_desc_item |
_ListOfItems. _TypeOperation | CFOP da nota fiscal de regularização | NF_SUP.cod_operacao e AVISO_REC_COMPL.cod_fiscal_compl OBS: Para esta informação é tratado o relacionamento De/Para de CFOP de Regularização x TES. |
_ListOfItems. _OperationFiscalCode | CFOP do item da nota fiscal de regularização | AVISO_REC.cod_fiscal_item |
_ListOfItems. _WarehouseId | Código do local (armazém) de estoque | AVISO_REC.cod_local_estoq OBS: Para esta informação é tratado o relacionamento De/Para de Locais de Estoque. |
_ListOfItems. _CalculationBasisIPI | Base de cálculo do IPI do item | AVISO_REC.val_base_c_ipi_it |
_ListOfItems. _IPITaxRate | Alíquota de IPI do item | AVISO_REC.pct_ipi_tabela |
_ListOfItems. _IPIValue | Valor de IPI do item | AVISO_REC.val_ipi_calc_item |
_ListOfItems. _CalculationBasisICMS | Base de cálculo do ICMS do item | AVISO_REC.val_base_c_item_c |
_ListOfItems. _ICMSTaxRate | Alíquota de ICMS do item | AVISO_REC.pct_icms_item_c |
_ListOfItems. _ICMSValue | Valor de ICMS do item | AVISO_REC.val_icms_item_c |
Nota:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
No Logix o envio desta mensagem ocorre a partir do programa WMS6156 (Regularização Fiscal):
ü A mensagem é enviada com o tipo de operação “upsert” (inclusão/modificação) quando a regularização fiscal é processada e como “delete” (exclusão) quando é cancelada.
ü Somente envia a mensagem para nota fiscal Definitiva – tipo “B” – que esteja regularizando apenas notas fiscais Provisórias.
ü Se a nota fiscal for Definitiva e estiver regularizando outra nota fiscal Definitiva será enviada apenas a mensagem InputDocument.
1.3 Solicitação de Carga – EDIDocumentForTransportation
Nesta mensagem serão integradas informações básicas da solicitação de carga WMS, cujo objetivo é alimentar o TMS do Protheus com informações que permitam a preparação das informações para o transporte das mercadorias. Dentro do EAI esta mensagem é identificada pelo nome EDIDocumentForTransportation.
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId | Código da empresa | Variável global p_cod_empresa |
_SenderCode | CNPJ/CPF do remetente do produto. No Logix será o código do depositante. | WMS_SOLICITACAO_CARGA_MESTRE.deposit |
_BoardingDate | Data de inclusão da solicitação de carga | WMS_SOLICITACAO_CARGA_MESTRE.dat_inclusao |
_AddresseeCode | CNPJ/CPF do destinatário do produto. | WMS_SOLICITACAO_CARGA_MESTRE.destinatario |
_DocumentNumber | Número da nota fiscal | WMS_SOLICITACAO_CARGA_MESTRE.nota_fiscal |
_DocumentSeries | Série da nota fiscal | WMS_SOLICITACAO_CARGA_MESTRE.serie_nota_fiscal |
_InvoiceIssueDate | Data de emissão da nota fiscal | WMS_SOLICITACAO_CARGA_MESTRE.dat_emissao |
_FiscalOperationCode | CFOP da nota fiscal | WMS_SOLICITACAO_CARGA_MESTRE.cfop |
_SEFAZNFeKey | Chave de acesso da NFe | WMS_PARAMETRO_COMPLEMENTAR.val_texto (onde o parâmetro é igual a “chave_acesso_nfe”) |
_ListOfItems. _ItemCode | Código do item da solicitação de carga | WMS_SOLICITACAO_CARGA_ITEM.item OBS: É considerado o código do item da primeira sequência existente na solicitação. |
_ListOfItems. _VolumeQuantity | Quantidade de volumes da solicitação de carga | Se a situação da solicitação de carga for igual a “X” (Aguardando Expedição) ou igual a “N” (Aguardando NF) será a somatória da quantidade de volumes encontrados nas tabelas WMS_VOLUME_EXPED e WMS_VOLUME_PALETE. Caso contrário será o campo WMS_SOLICITACAO_CARGA_MESTRE.qtd_volume |
_ListOfItems. _Value | Valor total da nota fiscal | WMS_SOLICITACAO_CARGA_MESTRE.val_docum |
_ListOfItems. _Weight | Peso bruto total dos volumes | Se a situação da solicitação de carga for igual a “X” (Aguardando Expedição) ou igual a “N” (Aguardando NF) será a somatória do campo WMS_VOLUME_EXPED.peso_bruto. Caso contrário será o campo WMS_SOLICITACAO_CARGA_MESTRE.peso_bruto |
_ListOfItems. _CubicMeters | Metragem cúbica total dos volumes | Se a situação da solicitação de carga for igual a “X” (Aguardando Expedição) ou igual a “N” (Aguardando NF) será a somatória do campo WMS_VOLUME_EXPED.volume_m3. Caso contrário será 0 (zero). |
_ListOfItems. _CalculationBasisICMS | Valor da base de cálculo do ICMS | WMS_SOLICITACAO_CARGA_MESTRE.val_base_icms |
_ListOfItems. _ICMSValue | Valor do ICMS | WMS_SOLICITACAO_CARGA_MESTRE.val_icms |
Nota:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
Para a integração somente são consideradas as solicitações de carga do tipo “ND” (Nota Fiscal Digitada) e “NE” (Nota Fiscal Recebida por EDI). Os demais tipos de documento não são integrados pois somente uma nota fiscal é um documento válido para a configuração do transporte (TMS).
No Logix o envio desta mensagem ocorre a partir destes programas:
- WMS6325 – Solicitação de Carga
- EDI0009 – Processamento de Arquivos EDI
- WMS6218 – Conferência via coletor
- WMS6219 – Conferência PDV
- WMS6231 – Conferência via Coletor gerando volumes automaticamente
- WMS6258 – Conferência PDV montando volumes automaticamente
- WMS6358 – Conferência via Coletor gerando volumes semi-automaticamente
- WMS6393 – Conferência Palete via coletor
- WMS6222 – Pesagem de Volumes
1.4 Preparação NF Retorno Simbólico – SalesOrder
Nesta mensagem serão integradas as informações referentes a pedido de venda cujo objetivo é permitir que o Protheus emita a nota fiscal de retorno simbólico para o depositante. No EAI esta mensagem é identificada pelo nome SalesOrder.
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId | Código da empresa | Variável global p_cod_empresa |
_OrderId(**) | Número do pedido de venda | WMS_DOCUM_SAIDA.pedido |
_CustomerCode | Código do cliente. Para este tipo de pedido será considerado o código do depositante. | WMS_SOLICITACAO_CARGA_MESTRE.deposit |
_DeliveryAddress. _Address | Endereço de entrega do destinatário | VDP_CLI_FORNEC_CPL.logradouro |
_DeliveryAddress. _Number | Número do endereço de entrega do destinatário | VDP_CLI_FORNEC_CPL.num_iden_lograd |
_DeliveryAddress. _Complement | Complemento do endereço de entrega do destinatário | VDP_CLI_FORNEC_CPL.compl_endereco |
_DeliveryAddress. _City. _Code | Código da cidade do endereço de entrega do destinatário | CLIENTES.cod_cidade OBS: Através desta informação é obtido o código IBGE na tabela OBF_CIDADE_IBGE) Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. |
_DeliveryAddress. _City. _Description | Nome da cidade do endereço de entrega do destinatário | CIDADES.den_cidade |
_DeliveryAddress. _District | Bairro do endereço de entrega do destinatário | CLIENTES.bairro |
_DeliveryAddress. _State. _Code | UF do endereço de entrega do destinatário | CIDADES.cod_uni_feder |
_DeliveryAddress. _State. _Description | Nome da UF do endereço de entrega do destinatário | UNI_FEDER.den_uni_feder |
_DeliveryAddress. _Country. _Code | Código do país do endereço de entrega do destinatário | UNI_FEDER.cod_pais |
_DeliveryAddress. _Country. _Description | Nome do país do endereço de entrega do destinatário | PAISES.den_pais |
_DeliveryAddress. _ZIPCode | CEP do endereço de entrega do destinatário | CLIENTES.cod_cep |
_CarrierCode | Código do transportador | WMS_SOLICITACAO_CARGA_MESTRE.transportador |
_PaymentTermCode | Código da condição de pagamento | A partir do parâmetro “wms_cnd_pgt_nf_retn_simb” (LOG00087). OBS: Para esta informação é tratado o relacionamento De/Para de Condições de Pagamento de Pedido de Venda. Ver também o parâmetro “Máscara da condição de pagamento”. |
_RegisterDate | Data da emissão do pedido | Data atual |
_InvoiceMessages | Textos da nota fiscal | Os textos gerados para o pedido (nota fiscal) devem seguir a legislação do segmento de operadores logísticos, e que pode ser diferente para cada cliente/estado. |
_NetWeight | Peso líquido | Somatória de WMS_VOLUME_EXPED.peso_liquido |
_GrossWeight | Peso bruto | Se existir o peso obtido pela balança será a somatória de WMS_VOLUME_EXPED.peso_balanca. Caso contrário será considerada a somatória de WMS_VOLUME_EXPED.peso_bruto. |
_TareWeight | Peso bruto obtido pela balança | Somatória de WMS_VOLUME_EXPED.peso_balanca |
_CubicVolume | Volume (metros cúbicos) | Somatória de WMS_VOLUME_EXPED.volume_m3 |
_NumberOfVolumes | Número de volumes | Somatória da quantidade de volumes encontrados nas tabelas WMS_VOLUME_EXPED e WMS_VOLUME_PALETE. |
_Finality | Finalidade | 1 = Se o depositante for contribuinte de ICMS 2 = Se o depositante não for contribuinte de ICMS |
_SalesOrderItens. _CompanyId | Código da empresa | Variável global p_cod_empresa |
_SalesOrderItens. _OrderItem | Sequência do pedido | Controle seqüencial realizado pela própria rotina |
_SalesOrderItens. _ItemCode | Código do item | WMS_SOLICITACAO_CARGA_ITEM.item |
_SalesOrderItens. _ItemDescription | Descrição do item | ITEM.den_item |
_SalesOrderItens. _Quantity | Quantidade total retornada do item | WMS_REGULARIZACAO_FISCAL.qtd_regularizada |
_SalesOrderItens. _UnityPrice | Preço unitário de retorno | AVISO_REC.pre_unit_nf |
_SalesOrderItens. _TotalPrice | Valor total retornado | (WMS_REGULARIZACAO_FISCAL.qtd_regularizada * AVISO_REC.pre_unit_nf) |
_SalesOrderItens. _TypeOperation | Código do tipo de operação. No Logix será obtido a partir do código da natureza de operação. | A partir de parâmetros do sistema (LOG00087), conforme regras abaixo:
OBS: Para esta informação é tratado o relacionamento De/Para de Natureza de Operação x TES (Tipo de Entrada/Saída). |
_SalesOrderItens. _ItemMessages | Textos do item da nota fiscal | Os textos gerados para o pedido (nota fiscal) devem seguir a legislação do segmento de operadores logísticos, e que pode ser diferente para cada cliente/estado. |
_SalesOrderItens. _ListOfReturnedInputDocuments. _InputDocumentNumber | Número da nota fiscal definitiva sobre a qual está sendo efetuado o retorno | WMS_NF_RETN_MERC_DEPOSITANTE.nota_fiscal_retorno |
_SalesOrderItens. _ListOfReturnedInputDocuments. _InputDocumentSerie | Série da nota fiscal definitiva | WMS_NF_RETN_MERC_DEPOSITANTE.serie_nota_fiscal_retorno |
_SalesOrderItens. _ListOfReturnedInputDocuments. _InputDocumentSequence | Sequência da nota fiscal definitiva | WMS_NF_RETN_MERC_DEPOSITANTE.sequencia_item_retorno |
_SalesOrderItens. _ListOfReturnedInputDocuments. _InputDocumentQuantity | Quantidade que está sendo retornada referente a nota fiscal definitiva | WMS_NF_RETN_MERC_DEPOSITANTE.qtd_item_retorno |
Notas:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
(**) Na inclusão é enviado como NULL. Na exclusão é enviado o número do pedido gerado quando o pedido foi incluído.
No Logix o envio desta mensagem ocorre a partir destes programas:
- WMS0745 – Emissão Notas Fiscais
- WMS6196 – Liberação Veículo para Portaria (quando está parametrizado para gerar NF de retorno simbólico automático em caso de falta)
- SUP50001 – Conta-Corrente Inventário
- WMS6429 – Integração de Pedidos de Venda – Exclusão
1.5 Preparação NF Conta e Ordem – SalesOrder
Nesta mensagem serão integradas as informações referentes a pedido de venda cujo objetivo é permitir que o Protheus emita a nota fiscal de conta e ordem. A nota fiscal de conta e ordem somente deve ser gerada nos casos em que a unidade de federação do depositante for diferente da unidade de federação da empresa (operador logístico). No EAI esta mensagem é identificada pelo nome SalesOrder.
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId | Código da empresa | Variável global p_cod_empresa |
_OrderId(**) | Número do pedido de venda | WMS_DOCUM_SAIDA.pedido |
_CustomerCode | Código do cliente. Para este tipo de pedido será considerado o código do destinatário (cliente do depositante). | WMS_SOLICITACAO_CARGA_MESTRE.destinatario |
_DeliveryCustomerCode | Código do cliente de entrega. Será o próprio código do destinatário. | WMS_SOLICITACAO_CARGA_MESTRE.destinatario |
_DeliveryAddress. _Address | Endereço de entrega do destinatário | VDP_CLI_FORNEC_CPL.logradouro |
_DeliveryAddress. _Number | Número do endereço de entrega do destinatário | VDP_CLI_FORNEC_CPL.num_iden_lograd |
_DeliveryAddress. _Complement | Complemento do endereço de entrega do destinatário | VDP_CLI_FORNEC_CPL.compl_endereco |
_DeliveryAddress. _City. _Code | Código da cidade do endereço de entrega do destinatário | CLIENTES.cod_cidade OBS: Através desta informação é obtido o código IBGE na tabela OBF_CIDADE_IBGE) Ver também o parâmetro “Máscara do código da cidade IBGE na mensagem de integração via EAI”. |
_DeliveryAddress. _City. _Description | Nome da cidade do endereço de entrega do destinatário | CIDADES.den_cidade |
_DeliveryAddress. _District | Bairro do endereço de entrega do destinatário | CLIENTES.bairro |
_DeliveryAddress. _State. _Code | UF do endereço de entrega do destinatário | CIDADES.cod_uni_feder |
_DeliveryAddress. _State. _Description | Nome da UF do endereço de entrega do destinatário | UNI_FEDER.den_uni_feder |
_DeliveryAddress. _Country. _Code | Código do país do endereço de entrega do destinatário | UNI_FEDER.cod_pais |
_DeliveryAddress. _Country. _Description | Nome do país do endereço de entrega do destinatário | PAISES.den_pais |
_DeliveryAddress. _ZIPCode | CEP do endereço de entrega do destinatário | CLIENTES.cod_cep |
_CarrierCode | Código do transportador | WMS_SOLICITACAO_CARGA_MESTRE.transportador |
_PaymentTermCode | Código da condição de pagamento | A partir do parâmetro “wms_cnd_pgt_nf_conta_ordem” (LOG00087). OBS: Para esta informação é tratado o relacionamento De/Para de Condições de Pagamento de Pedido de Venda. Ver também o parâmetro “Máscara da condição de pagamento”. |
_RegisterDate | Data da emissão do pedido | Data atual |
_InvoiceMessages | Textos da nota fiscal | Os textos gerados para o pedido (nota fiscal) devem seguir a legislação do segmento de operadores logísticos, e que pode ser diferente para cada cliente/estado. |
_NetWeight | Peso líquido | Somatória de WMS_VOLUME_EXPED.peso_liquido |
_GrossWeight | Peso bruto | Se existir o peso obtido pela balança será a somatória de WMS_VOLUME_EXPED.peso_balanca. Caso contrário será considerada a somatória de WMS_VOLUME_EXPED.peso_bruto. |
_NumberOfVolumes | Número de volumes | Somatória da quantidade de volumes encontrados nas tabelas WMS_VOLUME_EXPED e WMS_VOLUME_PALETE. |
_Finality | Finalidade | 1 = Se o depositante for contribuinte de ICMS 2 = Se o depositante não for contribuinte de ICMS |
_InsuranceValue | Valor do seguro | WMS_SOLICITACAO_CARGA_MESTRE.val_seguro |
_SalesOrderItens. _CompanyId | Código da empresa | Variável global p_cod_empresa |
_SalesOrderItens. _OrderItem | Sequência do pedido | Controle seqüencial realizado pela própria rotina |
_SalesOrderItens. _ItemCode | Código do item | WMS_SOLICITACAO_CARGA_ITEM.item |
_SalesOrderItens. _ItemDescription | Descrição do item | ITEM.den_item |
_SalesOrderItens. _Quantity | Quantidade total do item | Somatória de WMS_SOLICITACAO_CARGA_ITEM.qtd_reservada |
_SalesOrderItens. _UnityPrice | Preço unitário | WMS_SOLICITACAO_CARGA_ITEM.val_unit |
_SalesOrderItens. _TotalPrice | Valor total retornado | (WMS_SOLICITACAO_CARGA_ITEM.qtd_reservada * WMS_SOLICITACAO_CARGA_ITEM.val_unit) |
_SalesOrderItens. _TypeOperation | Código do tipo de operação. No Logix será obtido a partir do código da natureza de operação. | A partir de parâmetros do sistema (LOG00087), conforme regras abaixo:
OBS: Para esta informação é tratado o relacionamento De/Para de Natureza de Operação x TES (Tipo de Entrada/Saída). |
_SalesOrderItens. _ItemMessages | Textos do item da nota fiscal | Os textos gerados para o pedido (nota fiscal) devem seguir a legislação do segmento de operadores logísticos, e que pode ser diferente para cada cliente/estado. |
Nota:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
(**) Na inclusão é enviado como NULL. Na exclusão é enviado o número do pedido gerado quando o pedido foi incluído.
No Logix o envio desta mensagem ocorre a partir destes programas:
- WMS0745 – Emissão Notas Fiscais
- WMS6429 – Integração de Pedidos de Venda – Exclusão
1.6 Preparação NF Faturamento Serviço – SalesOrder
Nesta mensagem serão integradas as informações referentes a pedido de venda cujo objetivo é permitir que o Protheus emita a nota fiscal de faturamento de serviço. No EAI esta mensagem é identificada pelo nome SalesOrder.
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId | Código da empresa | Variável global p_cod_empresa |
_OrderId(**) | Número do pedido de venda | WMS_DOCUM_SAIDA.pedido |
_CustomerCode | Código do cliente. Para este tipo de pedido será considerado o código do depositante. | WMS_APURACAO_FATURAMENTO.depositante |
_PaymentTermCode | Código da condição de pagamento | WMS_PROCESSO_FATURAMENTO.condicao_pagto OBS: Para esta informação é tratado o relacionamento De/Para de Condições de Pagamento de Pedido de Venda. Ver também o parâmetro “Máscara da condição de pagamento”. |
_RegisterDate | Data da emissão do pedido | Data atual |
_InvoiceMessages | Textos da nota fiscal | Texto de observação informado no momento da geração do pedido (WMS6412). |
_SalesOrderItens. _CompanyId | Código da empresa | Variável global p_cod_empresa |
_SalesOrderItens. _OrderItem | Sequência do pedido | Controle seqüencial realizado pela própria rotina |
_SalesOrderItens. _ItemCode | Código do item | WMS_PROCESSO_FATURAMENTO.item_faturamento_servico, se o mesmo estiver preenchido. Caso contrário será utilizado WMS_CONTRATO.item_faturamento_servico |
_SalesOrderItens. _ItemDescription | Descrição do item | WMS_PROCESSO_FATURAMENTO.agrupamento_item_nota_fiscal, se o mesmo estiver preenchido. Caso contrário será utilizado WMS_PROCESSO_FATURAMENTO.des_processo_faturamento |
_SalesOrderItens. _Quantity | Quantidade total do item | 1 (um) – Fixo |
_SalesOrderItens. _UnityPrice | Preço unitário | WMS_APUR_FATURAMENTO_PROCESSO.val_total |
_SalesOrderItens. _TotalPrice | Valor total do item | WMS_APUR_FATURAMENTO_PROCESSO.val_total |
_SalesOrderItens. _TypeOperation | Código do tipo de operação. No Logix será obtido a partir do código da natureza de operação. | WMS_PROCESSO_FATURAMENTO.natureza_operacao OBS: Para esta informação é tratado o relacionamento De/Para de Natureza de Operação x TES (Tipo de Entrada/Saída). |
_SalesOrderItens. _ItemDiscounts | Valor de desconto do item | WMS_APUR_FATURAMENTO_PROCESSO.val_desconto |
Nota:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
(**) Na inclusão é enviado como NULL. Na exclusão é enviado o número do pedido gerado quando o pedido foi incluído.
No Logix o envio desta mensagem ocorre a partir destes programas:
- WMS6412 – Preparação e Geração Faturamento Serviço
- WMS6429 – Integração de Pedidos de Venda – Exclusão
1.7 Inventário – Inventory
Nesta mensagem serão integradas as informações referentes ao saldo atual de estoque dos itens, após ter sido realizado ajuste proveniente da execução de um inventário. No EAI esta mensagem é identificada pelo nome Inventory.
As informações tratadas atualmente nesta mensagem são:
Tag(*) | Descrição | Origem / Destino da Informação |
_CompanyId | Código da empresa | Variável global p_cod_empresa |
_ItemCode | Código do item | ESTOQUE_LOTE_ENDER.cod_item |
_WarehouseCode | Código do local de estoque | ESTOQUE_LOTE_ENDER.cod_local OBS: Para esta informação é tratado o relacionamento De/Para de Locais de Estoque. |
_Quantity | Quantidade de saldo | Somatória de ESTOQUE_LOTE_ENDER.qtd_saldo para a Empresa/Item/Local |
_DateInventory | Data do inventário | Data atual |
Nota:
(*) As tag´s existentes no XSD (schema) da mensagem e que não foram mencionadas na lista acima não possuem tratamento na integração, ou seja, não são consideradas no envio ou recebimento da mensagem.
No Logix o envio desta mensagem ocorre a partir do programa SUP5830 (Gerenciador do Inventário).
Limitações / Restrições Gerais
- No cadastro de Cidades (VDP3080) passará a ser obrigatório o preenchimento do “Munícipio IBGE” pois esta informação será a chave de integração desta mensagem.
- No cadastro de Unidade de Medida (MAN1170 e MAN10013) será permitido informar apenas dois caracteres para o código, devido a limitação existente no Protheus.
- Para os depositantes identificados sob o regime de “Filial” não serão integradas as informações dos documentos (nota fiscal recebimento, regularização fiscal, pedido de venda de retorno simbólico, pedido de venda de conta/ordem).
- Para os depositantes identificados com “Regime Especial”, para os processos de expedição que forem executados antes da ativação da integração e que ainda não tiveram a nota fiscal de retorno gerada será necessário executar o processamento do programa WMS6361 (Cancelamento de Processo Fiscal sem Nota), processando novamente o programa WMS0745 (Emissão Documentos WMS) com a integração ativada, onde serão geradas informações necessárias para o segundo processamento (quando efetivamente será gerada a NF).
- Quando o depositante não for emitente de nota fiscal (parâmetro “É emitente de NF rem.armazenagem (integração)?” na rotina WMS60013 (Contrato), opção “Expedição-Embarque/Fiscal”) não será permitido realizar a regularização fiscal (WMS6156) utilizando uma NF/Sequência definitiva para duas ou mais NF/Sequência provisórias. Nesta situação, a nota fiscal de entrada a ser emitida no Protheus já deverá ter sido gerada com várias sequências de maneira que seja possível efetuar o relacionamento 1 para 1.
Como fazer (opcional)
Os passos para viabilizar a integração são:
- No Logix ou no Protheus efetue o cadastro das seguintes informações: Clientes, fornecedores, transportadores, cidades, cotação de moeda e unidades de medida.
- No Logix cadastrar um novo depositante e efetuar toda a parametrização necessária para a operação de WMS.
- No Logix cadastrar um novo produto que seja controlado pelo WMS, para o depositante cadastrado anteriormente.
- No Logix efetuar um processo de recebimento para o produto cadastrado anteriormente, utilizando uma nota fiscal provisória (tipo “A”).
- No Protheus consultar a nota fiscal de recebimento que foi registrada no Logix, validando as informações recebidas.
- No Logix efetuar um processamento de regularização fiscal, efetuando a cobertura dos produtos recebidos anteriormente.
- No Protheus verificar se foi efetuado corretamente o relacionamento entre os dois documentos.
- No Logix efetuar um processo de expedição para o novo produto cadastrado, até o momento do envio da mensagem de integração de pedido de venda.
- No Protheus efetuar o faturamento do pedido de venda recebido.
- No Protheus verificar se a nota fiscal gerada contém todas as informações necessárias para o segmento de operador logístico (armazém geral).
- No Protheus efetuar a escrituração fiscal das notas fiscais, verificando se as regras da legislação deste segmento foram respeitadas.
- No Logix é possível consultar o número do pedido de venda gerado para as notas fiscais de retorno simbólico e conta/ordem no programa WMS6333 (Consulta de Documentos). Para os processos de faturamento de serviço o número do pedido está disponível no programa WMS6411 (Movimentos a Faturar).
- As informações das integrações de Documentos de Entrada (WMS6628 e WMS6629), Regularização Fiscal (WMS6156) e Documentos de Saída (WMS0745, WMS9745 e WMS6429) poderão ser consultadas pelo Monitor de Integração, rotina WMS80000. Nesta rotina também é possível reprocessar documentos que ficaram pendentes.
- Para realizar o monitoramento das transações no Protheus acesse Configurador -> Ambiente -> Schedule -> Schedule e escolha a opção "EAI" no item de menu:
- Caso necessite observar o XML enviado pelo Protheus, clique no símbolo da lupa onde será aberto o XML através do programa padrão definido no sistema operacional para este tipo de arquivo.
Caso uma transação falhe, é possível recolocá-la na fila clicando no botão Tentar novamente (). Caso deseje bloquear uma transação, clique no Botão Bloquear (). É possível também atualizar a lista de mensagens processadas através do botão Atualizar ().
- Para realizar o monitoramento das transações no Logix acesse o programa EAI10000. Dentro dele acesse a opção Monitoramento -> Geral e realize a pesquisa:
- Na lista de mensagens são exibidas a mensagem enviada (Type = "BusinessMessage") e a mensagem de resposta (Type = "Response)". Ao selecionar uma mensagem é exibido abaixo todo o seu conteúdo.
- É possível também exportar o XML recebido utilizando para isso o botão "Exportar XML" que está na barra de tarefas.
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:
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.
Abaixo seguem algumas consistências e mensagens que podem ocorrer durante os processos, indicando a possível solução para o problema:
Rotina | Problema / Mensagem | Solução |
WMS0745 WMS6196 SUP50100 | O código do produto apresentado na DANFE de retorno simbólico emitida pelo Protheus não é o código do depositante, e sim o código interno. | Para que seja utilizado o código do item do depositante no momento da emissão, verificar as seguintes informações: - O código de TES utilizado na geração do pedido de venda de retorno simbólico deve estar configurado como Poder Terc. = “D” (Devolução) e Atu.Estoque = “Sim”; - O tipo de pedido registrado no Protheus deve ser como “Normal”; - Deve existir o relacionamento Produto x Cliente cadastrado corretamente no Protheus, onde o cliente registrado deverá ser o depositante do produto. |
WMS0745 | Mensagem: “A quantidade informada para o retorno deste documento não está correta.” | Para que o retorno simbólico de mercadorias possa ser realizado corretamente, é necessário que a nota fiscal de remessa para armazenagem esteja devidamente registrada no Protheus. As principais características que este documento deve ter são: - Tipo igual a “B” (Beneficiamento); - O código de TES informado para os itens do documento estarem parametrizados como “R” (Remessa), o que faz com que as quantidades regularizadas tenham alimentado as tabelas de controle de terceiros do Protheus. - O número do documento de entrada registrado no Protheus deve estar de acordo com o número da nota fiscal de armazenagem para a qual está sendo feito o retorno simbólico. No Protheus o número do documento não pode conter zeros à esquerda. |
WMS6156 | Mensagem: “Documento não encontrado” | Falta realizar a integração da nota fiscal de recebimento relacionada aos produtos que estão sendo regularizados. Para isto deve-se executar a rotina WMS6628 (Integração Nota Fiscal Recebimento – Inclusão). |
WMS6156 | Mensagem: “Campo obrigatório do cabeçalho da nota fiscal não preenchido”. | Verificar se o fornecedor registrado na nota fiscal de recebimento dos produtos está devidamente cadastrado no Protheus. |
WMS0745 WMS6196 WMS6412 SUP50100 | A TES utilizada no pedido de venda está incorreta. | Revisar os relacionamentos de/para das naturezas de operação parametrizadas no LOG00087 (Parâmetros do Sistema) com os Tipos de Entrada/Saída (TES) do Protheus. Estes relacionamentos são cadastrados no programa VDP10141 (De/Para Geral). |
WMS0745 WMS6196 | Mensagem: “A nota fiscal xxxxxx ainda não está integrada.” | Falta realizar a integração da nota fiscal de recebimento relacionada aos produtos que estão sendo expedidos ou retornados fiscalmente. Para efetuar a integração deve-se executar a rotina WMS6628 (Integração Nota Fiscal Recebimento – Inclusão). |
WMS0745 | Os textos obrigatórios para as notas fiscais não estão sendo gerados na DANFE. | Falta cadastrar os textos necessários no programa WMS0748 (Textos para Notas Fiscais WMS). Considerar os textos para cada tipo de nota fiscal a ser emitida. |
WMS0745 | O número, série e data de emissão da nota fiscal de remessa por conta e ordem não estão sendo referenciados na nota fiscal de retorno simbólico. | Para que estas informações sejam geradas corretamente é necessário cadastrar o texto da nota fiscal de retorno simbólico com algumas variáveis, conforme abaixo: Mercadoria remetida pela nossa nota fiscal nr. @N série @S de @D para [NOME_DESTINATARIO] com estabelecimento a [ENDERECO_DESTINATARIO] em [CIDADE_DESTINATARIO], [UF_DESTINATARIO] – IE [IE_DESTINATARIO] e CNPJ [CNPJ_DESTINATARIO].
As variáveis @N, @S e @D serão substituídas pelo Protheus no momento da emissão da DANFE. Se referem número, série e data de emissão da nota fiscal de remessa por conta e ordem, respectivamente. As variáveis delimitadas por colchetes são substituídas pelo próprio Logix. |
Checklist de suporte da aplicação
- Verifique se os WebServices criados estão devidamente configurados. Para isso tente abrir no seu navegador internet o endereço dos WebServices. No WebService do Protheus você deve conseguir visualizar na lista de serviços o “FWWSEAI”. No WebService do Logix você deve conseguir visualizar na lista de serviços o “EAISERVICE”.
- Faça o teste de comunicação entre os sistemas utilizando uma mensagem simples de cadastro (sugestão: Unidade de Medida). Faça o envio de um cadastro do Logix para o Protheus e do Protheus para o Logix.