Histórico da Página
Causaausa:
Como é utilizado o Engine de Regras, nas integrações do ERP Datasul com o SIGAGFE (Frete Embarcador) ?
...
- 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 despesaApropriar 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 4 05 pontos de integração utilizados pelo SIGAGFE.
- “gfe-nfs” (Nota Fiscal Saída - Engine GFE)
- “gfe-nfe” (Nota Fiscal Entrada - Engine GFE)
- “gfe-fiscal” (Nota Documento Fiscal Saída - Engine GFE - De-Para Natureza Operação)
- “gfe-re” (Nota Fiscal Apropriar Despesa Documento de Entrada - Engine GFE - De-Para Natureza Operação)
- "GFE-TIPO-DC"(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.
...
"cod-estabel"
"serie"
"nome-ab-cli"
"cod-emitente"
"ind-sit-nota" - 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"
"esp-docto" - 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-tiptp-frete" - Indicador do Tipo de Frete (1-CIF, 2-FOB, 3-CIF REDESP.)
"cidade-cif"
"nome-transp"
"ind-tip-nota - Tipo Nota (1-Sistema,2-Manual,3-Diferença Preço,4-Complementar,5-Fat Balcão,6-Fat Balcão Reduzido,7-Entrada,8-Recebimento,9-Débito,10-Crédito,11-Importada)
(itens)
"it-codigo"
"cod-ean"
"nat-operacaoitem"
Obs: 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” com o retorno igual a “no” quando não for para integrara integrar ou “yes” quando for para integrar.
...
"cod-emitente"
"tipo-frete" - Tipo de Frete (1-CIF, 2-FOB, 3-CIF REDESP.)
"ind-tip-nota" - 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)
"nat-oper"
Obs: 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” com o retorno igual a “no” quando não for para integrara integrar ou “yes” quando for para integrar.
2. Realizar o De-Para do CFOP do Documento de Frete para a Natureza de Operação e Item Fsical Fiscal do Datasul
“GFE-FISCAL” - Integração Fiscal:"cod-estabel"
Variável | Tipo de Dado | 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 |
item | Caracter | Item do Documento parametrizado pelo Parâmetros do Módulo, Aba “Integrações Datasul”, Campo “Código Item Documento Fiscal” (MV_DSOFIT). Apenas variável de retorno não sendo possível utilizar como condição. |
“GFE-RE” - Nota Fiscal de Rateio (apropriação Apropriação de despesaDespesa):"
Variável | Tipo de dado | 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. |
Variáveis de Retorno
Retorno | Tipo de dado | 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 |
“GFE-TIPO-DC” - Nota Fiscal Entrada/Tipo - Engine SIGAGFE:
Variável | Tipo de dado | 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
Retorno | Tipo de dado | 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 normal Tributado e a alíquota de ICMS igual a 12%
Dica 01: Simulador de Configurador de Regras(CD0026)
Podemos Além disso, 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.