Solução:
Quando é feita a integração do ERP Datasul com o SIGAGFE (Frete Embarcador) ou vice-versa, os seguintes pontos tem chamada para o Engine de Regras (CD0024).
- Notas Fiscais de saída (ERP Datasul para o SIGAGFE).
- Documentos de entrada (ERP Datasul para o SIGAGFE).
- Integração do Documento de Frete (SIGAGFE com o Fiscal do ERP Datasul).
- Integração do Documento de Frete (SIGAGFE com o Recebimento do ERP Datasul - "Apropriar Despesa").
- Tipo de Documento de Entrada (ERP Datasul para o SIGAGFE). NOTA: Funcionalidade disponível a partir da release 12.1.6 do ERP Datasul.
A utilização da regra é opcional. Antes dessa implementação, para categorizar as notas fiscais de entrada do Datasul em tipos de documento de carga no SIGAFE utilizava-se apenas a espécie de documento correspondente à natureza de operação informada no cabeçalho do documento de entrada. Essas espécies de documento são códigos restritos a uma lista de opções bastante limitada, muito genérica para distinguir, por exemplo, uma nota fiscal de retorno de beneficiamento de uma nota fiscal de compra; nesse exemplo ambas são identificadas como NFE. Diante dessa limitação não possível diferenciar o frete de algumas operações entre despesa ou custo no SIGAGFE. Considerando essa necessidade, torna-se possível, com a utilização do Engine de Regras, configurar qual tipo de documento de carga deve ser atribuído ao documento de carga do SIGAGFE na integração do documento de entrada do recebimento do ERP Datasul.
Para utilizar o Engine de Regras, devemos primeiro cadastrar os tipos de operações pelo programa CD0025. Segue abaixo os 05 pontos de integração utilizados pelo SIGAGFE.
ATENÇÃO: Os cadastros dos Tipos de Operação devem estar com o código EXATAMENTE igual estão descritos abaixo.
- “gfe-nfs” (Nota Fiscal Saída - Engine GFE)
- “gfe-nfe” (Nota Fiscal Entrada - Engine GFE)
- “gfe-fiscal” (Documento Fiscal - Engine GFE - De-Para Natureza Operação)
- “gfe-re” (Apropriar Despesa Documento de Entrada - Engine GFE - De-Para Natureza Operação)
- “gfe-tipo-dc" (Alterar/Configurar o Tipo de Documento de Carga a ser atribuído ao documento de carga do SIGAGFE na integração do documento de entrada do recebimento do Datasul).
Em seguida cadastramos as regras no CD0024. Abaixo as variáveis usadas em cada ponto de integração.
1. Bloquear/Liberar Nota Fiscal de Saída
“GFE-NFS” - Faturamento - Variáveis utilizar para criação das condições.
Variável | Tipo de Dados | Significado / Origem Informação |
---|
cod-estabel | Caracter | Código do Estabelecimento do Datasul |
serie | Caracter | Série da Nota Fiscal de Saída |
nome-ab-cli | Caracter | Nome Abreviado do Cliente |
cod-emitente | Caracter | Código do Cliente (Emitente) |
ind-sit-nota | Inteiro | Situação da Nota Fiscal (1-Calculada, 2-Impressa, 3-Confirmada, 4-Cancelada, 5-Atual CR, 6-Atual OF, 7-Atual Etat.) |
cod-cond-pag | Caracter | Condição de Pagamento |
esp-docto | Inteiro | Informar a espécie do documento conforme é gravado na nota fiscal do faturamento: NFD - grava 20, NFE - grava 21, NFS - grava 22 e NFT - grava 23) |
ind-tp-frete | Inteiro | Indicador do Tipo de Frete (1-CIF, 2-FOB, 3-CIF REDESP.) |
cidade-cif | Caracter | Campo Cidade CIF |
nome-transp | Caracter | Nome da Transportadora |
nat-operacao | Caractere | Natureza de Operação da Nota Fiscal |
canal-venda | Inteiro | Canal de Venda da Nota Fiscal |
estado | Caracter | Estado do endereço do cliente da Nota Fiscal (aba Endereço FT0904) |
cidade | Caracter | Cidade do endereço do cliente da Nota Fiscal (aba Endereço FT0904) |
cod-modalid-frt | Caracter | Modalidade de Frete da Nota Fiscal (Campo Modalid Frete da aba Endereço FT0904) |
Variáveis de Retorno - "GFE-NFS"
Variável | Tipo de Dados | Significado / Origem Informação |
---|
GFE-NFS | Caracter | O retorno desta regra de engine deverá sempre ser realizado a partir de uma variável com o mesmo nome do tipo de operação “GFE-NFS”. Quando esta regra tiver o retorno igual a “no” a Nota Fiscal de Venda não será integrada ao SIGAGFE, Quando esta regra tiver o retorno igual a “yes” a Nota Fiscal de Venda será integrada ao SIGAGFE, |
2. Bloquear/Liberar Nota Fiscal de Recebimento
“GFE-NFE” - Recebimento - Bloquear ou Liberar Nota Fiscal de Entrada (Recebimento) - Variáveis utilizar para criação das condições.
Variável | Tipo de Dados | Significado / Origem Informação |
---|
cod-emitente | Caracter | Código do Emissor da Nota de Entrada (docum-est.cod-emitente) |
tipo-frete | Caracter | Tipo de Frete (1-CIF, 2-FOB, 3-CIF REDESP.) (docum-est.mod-frete) |
ind-tip-nota | Caracter | Tipo da Nota Fiscal (1-Compra, 2-Devolução, 3-Transferência, 4-Entrada Benef, 5-Retorno Benef, 6-Entrada Consig, 7-Fatura Consig, 8-Devolução Consig, 9-Nota de Rateio, 10-Rem. Entrega Futura, 11-Rem. Fat. Antecipado) (docum-est.tipo-nota) |
nat-oper | Caracter | Código da Natureza de Operação (docum-est.nat-operacao) |
nome-transp | Caracter | Nome da Transportadora (docum-est.nome-transp) |
esp-docto | Caracter | Espécie da Nota de Entrada (NFD - grava 20, NFE - grava 21, NFS - grava 22 e NFT - grava 23) (docum-est.esp-docto) |
cod-modalid-frt | Caracter | Modalidade de Frete da Nota Fiscal (Campo Modalid Frete da aba Transp do programa RE0701) |
cod-cfop | Caracter | Código da CFOP vinculado a natureza de operação utilizada para a Nota Fiscal de Entrada (Este campo está disponível para consulta através do programa CD0606 - Cadastro de Natureza de Operação) |
Variáveis de Retorno - "GFE-NFE"
Variável | Tipo de Dados | Significado / Origem Informação |
---|
GFE-NFE
| Caracter | O retorno desta regra de engine deverá sempre ser realizado a partir de uma variável com o mesmo nome do tipo de operação “GFE-NFE”. Quando esta regra tiver o retorno igual a “no” a Nota Fiscal de Entrada não será integrada ao SIGAGFE, Quando esta regra tiver o retorno igual a “yes” a Nota Fiscal de Entrada será integrada ao SIGAGFE, |
3. Definição de alguns pontos referente à integração do Datasul com o SIGAGFE referente a Nota Fiscal de Venda ou Entrada conforme Significado da segunda Grid
“GFE-NFE” - Recebimento ou "GFE-NFS" - Faturamento - Variáveis utilizar para criação das condições.
Variável | Tipo de Dados | Significado / Origem Informação |
---|
it-codigo | Caracter | Código do Item da Nota de Entrada ou Venda. Obs: Esta variável não poderá ser utilizada para filtrar as notas que devem ser integradas ao GFE, pois está disponível apenas para os retornos descritos logo abaixo. |
nat-operacao | Caracter | Natureza de Operação do Item da Nota de Entrada ou Venda |
Variáveis de Retorno - “GFE-NFE” ou "GFE-NFS"
Variável | Tipo de Dados | Significado / Origem Informação |
---|
l-rateio | Caracter | Define se o determinado Item/Natureza de Operação será integrado ao SIGAGFE com ou sem Rateio no campo "Rateio Ctb" (GW8_RATEIO). Quando esta regra tiver o retorno igual a “no” significa que não haverá rateio. Se estiver igual a "yes" haverá rateio. Lembrando que o valor padrão deste campo "Rateio Ctb" (GW8_RATEIO) é "1-Sim" sendo necessário criar as regras apenas para os que não forem sofrer rateio. |
l-crdicm | Caracter | Define se o determinado Item/Natureza de Operação será integrado ao SIGAGFE com ou sem Crédito de ICMS no campo "Credita ICMS" (GW8_CRDICM). Quando esta regra tiver o retorno igual a “no” significa que não haverá crédito. Se estiver igual a "yes" haverá crédito. Lembrando que o valor padrão deste campo "Credita ICMS" (GW8_CRDICM) é "1-Sim" sendo necessário criar as regras apenas para os que não forem sofrer rateio. |
envia-simulacao | Caracter | Define se a simulação da nota fiscal de saída será levada ao GFE. Lembrando que o padrão para esta situação é que a simulação seja levada ao GFE, sendo apenas necessário cadastrar uma regra quando a simulação não deva ser levada ao GFE. Quando esta regra tiver o retorno igual a “no” significa que a simulação não será levada para o GFE. Se estiver igual a "yes" a simulação será levada. |
4. Realizar o De-Para do CFOP do Documento de Frete para a Natureza de Operação do Fiscal do Datasul
“GFE-FISCAL” - Integração Fiscal - Variáveis utilizar para criação das condições.
Variável | Tipo de Dados | Significado / Origem Informação |
---|
cod-estabel | Caracter | Código da Filial no GFE (GW3_FILIAL) – Documento de Frete |
cod-emitente | Inteiro | Código da Transportadora (GW3_EMISDF) – Documento de Frete |
cidade | Caracter | Código da Cidade no EMS relacionado à Transportadora "cod-emitente" |
estado | Caracter | Código da UF no EMS relacionado à Transportadora "cod-emitente" |
nat-operacao | Caracter | Código do CFOP no GFe (GW3_CFOP) – Documento de Frete |
cod-acesso-cte | Caracter | Chave do CTe no GFe (GW3_CTE) – Documento de Frete |
l-cte | YES/NO | Indicador se a Chave do CTe no GFE está ou não preenchida “cod-acesso-cte” |
it-cd-trib-iss | Inteiro | Tipo de Tributação no GFE quando o imposto for do tipo ICMS (GW3_TRBIMP) – Documento de Frete Se GFE = "1-Tributado" no EMS "1-Tributado" Se GFE = "2-Isento/Não-trib." no EMS "2-Isento/Não-tributado" Se GFE = "3-Subst. Tribut." no EMS "3-Outros" Se GFE = "4-Diferido" no EMS "3-Outros" Se GFE = "5-Reduzido" no EMS "1-Tributado" Se GFE = "6-Outros" no EMS "3-Outros" Se GFE = "7-Presumido" no EMS "3-Outros" |
it-aliquota-iss | Decimal | Alíquota de Imposto no GFE quando o imposto for do tipo ISS (GW3_PCIMP) – Documento de Frete |
it-cd-trib-icm | Inteiro | Tipo de Tributação no GFE quando o imposto for do tipo ICMS (GW3_TRBIMP) – Documento de Frete Se GFE = "1-Tributado" no EMS "1-Tributado" Se GFE = "2-Isento/Não-trib." no EMS "2-Isento/Não-tributado" Se GFE = "3-Subst. Tribut." no EMS "3-Outros" Se GFE = "4-Diferido" no EMS "3-Outros" Se GFE = "5-Reduzido" no EMS "1-Tributado" Se GFE = "6-Outros" no EMS "3-Outros" Se GFE = "7-Presumido" no EMS "3-Outros" |
it-aliquota-icm | Decimal | Alíquota de Imposto no GFE quando o imposto for do tipo ICMS (GW3_PCIMP) – Documento de Frete |
vl-cofins | Decimal | Valor do Imposto de PIS no GFE (GW3_VLPIS) – Documento de Frete |
vl-pis | Decimal | Valor do Imposto de COFINS no GFE (GW3_VLCOF) – Documento de Frete |
tipo | Inteiro | Tipo do Imposto relacionado à Espécie do Documento de Frete (GVT_TPIMP) – Documento de Frete – Espécie Doc. Frete Se GFE = “1-ICMS” no EMS “1-Entrada” Se GFE = “2-ISS” no EMS “3-Serviço” |
trib-imp-gfe | Inteiro | Tipo de Tributação no GFE quando sem tradução para o EMS 1-Tributado; 2-Isento/Não Tributado 3-Subs Tributária 4-Diferido 5-Reduzido 6-Outros 7-Presumido |
esp-docto-frete | Caracter | Espécie do Documento de Frete no SIGAGFE (GW3_CDESP) |
trib-pis-cofins | Inteiro | Se toma crédito de pis/cofins no Documento de Frete vai receber 1. Se não toma crédito de pis/cofins no Documento de Frete vai receber 2. |
trib-IPI | Caracter | Tributação do IPI para o Documento de Frete. Vai receber "ISENTO" ou "OUTROS". Se o tipo de imposto do Documento de Frete for "ISS", vai receber "ISENTO". Se o tipo de imposto do Documento de Frete for "ICMS", vai receber "OUTROS". |
Variáveis de Retorno - “GFE-FISCAL”
Variável | Tipo de Dados | Significado / Origem Informação |
---|
nat-operacao | Caracter | Código do CFOP no GFe (GW3_CFOP) – Documento de Frete |
item
| Caracter | Item do Documento parametrizado pelo Parâmetros do Módulo, Aba “Integrações Datasul”, Campo “Código Item Documento Fiscal” (MV_DSOFIT). É possível alterar este item que é enviado pelo SIGAGFE por outro utilizando esta variável como retorno. |
5. Realizar o De-Para do CFOP do Documento de Frete para a Natureza de Operação do Recebimento do Datasul
“GFE-RE” - Nota Fiscal de Rateio (Apropriação de Despesa) - Variáveis utilizar para criação das condições.
Variável | Tipo de Dados | Significado / Origem Informação |
---|
nat-operacao | Caracter | Código do CFOP no GFE (GW3_CFOP) – Documento de Frete |
cod-servico | Inteiro | Código tributação de ICMS GFE |
cd-trib-icm | Inteiro | Código tributação de ICMS GFE |
aliquota-icm | Decimal | Alíquota de ICMS do documento de frete no GFE |
nf-nat-oper | Caracter | Natureza de operação da nota de entrada |
l-iss | YES/NO | Indica se o conhecimento tem ISS |
l-ativo | YES/NO | Indica se a NF Entrada é uma nota de ativo imobilizado |
l-cons-final | YES/NO | Indica se a NF Entrada é uma nota para uso e consumo |
l-crdicms | YES/NO | Indica se a NF Entrada se creditou de ICMS |
l-difaliq | YES/NO | Indica se a NF Entrada teve cálculo de ICMS Compl. |
l-nat-entrada | YES/NO | Indicar que as NF rateio serão geradas com a natureza da NF entrada |
uforigem | Caracter | Estado de origem do fornecedor da nota de entrada |
ufdestino | Caracter | Estado do estabelecimento que recebeu a mercadoria |
l-trib-pc | YES/NO | Indicador se Tributa ou não PIS/COFINS no Documento de Frete do GFE. |
UFtransp | Caracter | UF do Emitente do Documento de Frete |
Variáveis de Retorno - “GFE-RE”
Variável | Tipo de Dados | Ação |
---|
nat-operacao ou natur-oper ou natureza | Caracter | Natureza de operação resultante, com a qual será gerada a nota de rateio. |
cod-servico | Inteiro | Código do serviço da nota de rateio |
l-nat-entrada | YES/NO | Indica se utiliza a natureza da NF entrada para a natureza de rateio |
6. Realizar a alteração do Tipo do Documento de Carga quando o Documento de Entrada for integrado ao SIGAGFE. Este procedimento é necessário quando deseja que determinadas Notas de Entrada seja contabilizado de forma diferente (com ou sem apropriação de despesa). Exemplo: Nota de Entrada de Embalagem.
“GFE-TIPO-DC” - Nota Fiscal Entrada/Tipo - Engine SIGAGFE - Variáveis utilizar para criação das condições.
Variável | Tipo de Dados | Significado / Origem Informação |
---|
esp-docto | Caracter | Espécie de Documento de Entrada |
nat-oper | Caracter | Natureza de operação da nota de entrada |
cfop | Caracter | CFOP |
tipo-docto | Caracter | Tipo de Documento de Entrada. “1” para Entrada "2” para Saída |
cod-observa | Caracter | “1” para Indústria “2” para Comércio “3” para Devolução Cliente “4” para Serviço |
ge-codigo | Caracter | Grupo de Estoque |
Variáveis de Retorno - “GFE-TIPO-DC”
Retorno | Tipo de Dados | Ação |
---|
tipo-dc | Caracter | Código do tipo de documento de carga resultante, com a qual será utilizada na criação do documento de carga. |
cdtpdc | Caracter | Código do tipo de documento de carga resultante, com a qual será utilizada na criação do documento de carga. |
Segue abaixo um exemplo de uma regra que deverá Bloquear a integração de Nota Fiscal de Saída com frete do tipo FOB
Segue abaixo um exemplo de uma regra que deverá alterar a CFOP 2353 para a Natureza de Operação 235305 quando o tipo de imposto for Tributado e a alíquota de ICMS igual a 12%
Dica 01: Simulador de Configurador de Regras(CD0026)
Podemos utilizar o CD0026 para simular as regras cadastradas.
Neste exemplo abaixo estamos testando a regra da Natureza de Operação 2353, alíquota de 12% e Tipo de ICMS Tributado
Neste exemplo abaixo estamos testando a regra de Nota Fiscal de Saída com frete do tipo FOB
Dica 02: Uso do Clientlog durante a investigação de algum incidente
Durante a execução das integrações do SIGAGFE que utilizam-se de conceito de engine de regras, há a execução da API cdp/cdapi034 responsável em executar o cadastro da regra, sendo possível consultar alguns parâmetros no clientlog:
RUN cdp/cdapi034.p (<empresa do usuário, visível>,
<temp-table, não é visível>,
<código da operação, visível>,
<temp-table, não e visível>,
<código da regra encontrada e que foi aplicada, visível. Quando não for encontrada a regra, o conteúdo será zero(0)>,
<temp-table, não e visível>,
<temp-table, não e visível>,
<temp-table, não e visível>).
Dica 03: Arquivo de log da API cdp/cdapi034
Durante a execução das integrações do SIGAGFE que utilizam-se de conceito de engine de regras, há a execução da API cdp/cdapi034 responsável em executar o cadastro da regra. Esta API, gera no diretório temporário da sessão Progress (comando session:temp-directory), um arquivo de log onde é possível comparar o cadastro das variáveis da condição(cdp/cd0024) com os valores recebidos.
Segue exemplo de como interpretar o conteúdo apresentado neste arquivo. No arquivo cdapi034.txt consta as seguintes linhas:
Regra: 20
if ('2352'='2352')AND (LOGICAL('yes')=LOGICAL('yes'))AND (INTEGER('1')=INTEGER('1'))AND (LOGICAL('no')=LOGICAL('yes')) then YES else NO
Para a interpretação recomenda-se que seja também executado o programa de Cadastro de Engine de Regras(CD0024), consultando-se a regra (no exemplo é a regra 20) onde se tem a sequencia das variaveis utilizadas com o respectivo cadastro. Para cada condição existente, no log é apresentado primeiramente o conteúdo recebido e depois o conteúdo cadastrado na condição onde então, pode-se conferir se a condição é verdadeira ou não.
Ilustrando:
nat-operacao: 2352(RECEBIDO) = 2352(CONDIÇAÕ) AND * satisfaz a condição
l-trib-pc...: yes(RECEBIDO) = yes(CONDIÇÃO) AND * satisfaz a condição
cb-trib-icm.: 1(RECEBIDO) = 1(CONDIÇÃO) AND * satisfaz a condição
l-crdicms...: no(RECEBIDO) = YES(CONDIÇÃO) * como está sendo enviado NO e esta condição espera YES, fará com que esta regra não seja aplicada.