Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Produto:

Totvs Protheus®

Versões:

a partir da 12.1.24.10

Ocorrência:

Monitor de Eventos


Índice
outlinetrue

Introdução

Com a Reforma Tributária, foram definidos cerca de 17 eventos que devem ser comunicados a Receita e que serão imprescindíveis para a correta apuração dos tributos e créditos dos contribuintes. 
O objetivo destes eventos é garantir a integridade e a rastreabilidade das operações realizadas pelos contribuintes, servindo como base de dados para o controle e a transparência do novo modelo tributário. 
Conforme o artigo 348, §1º, da Emenda Constitucional, os contribuintes estarão dispensados do recolhimento do IBS e da CBS relativamente aos fatos geradores ocorridos entre 1º de janeiro e 31 de dezembro de 2026, desdeque cumpram integralmente as obrigações acessórias previstas  na legislação.
Por isso, a apresentação correta e no prazo legal deste evento é essencial para que as empresas possam se beneficiar da dispensa do recolhimento dos tributos nesse período de transição.
O não cumprimento dessas obrigações poderá implicar na perda desse benefício, ocasionando o recolhimento normal dos tributos devidos.
Por isso, os Eventos da Reforma Tributária devem ser registrados, a partir de janeiro/2026, sempre que a situação concreta exigir, respeitando os critérios e prazos estabelecidos pela legislação, como forma de garantir o direito à dispensa e de contribuir para a efetividade do novo sistema tributário.

Essa funcionalidade exclusiva que permite gerenciar e registrar eventos relacionados à Reforma Tributária e associados à NF-e, sendo assim com as mudanças introduzidas pela nova legislação, determinados documentos fiscais de acordo com suas finalidades passam a exigir o envio de um Código de Evento e de suas Informações Complementares.

Esses eventos impactam não apenas o Controle Governamental, mas também a apuração futura dos tributos CBS e IBS, portanto e valido ressaltar que é essencial dispor de um recurso que possibilite uma gestão eficiente na geração, no envio e na recepção de eventos vinculados à Nota Fiscal Eletrônica.

Dica
titleChatBot - Monitor de Eventos

Olá! 👋🤖 Sou seu assistente Monitor, aqui para ajudar você a entender sobre o Monitor de Eventos.

HTML
<!-- Chat embutido (sem ocupar espaço) -->
<dta-chat label="DTA" class="chat-collapsed"></dta-chat>
<dta-chat-anchor size="22"></dta-chat-anchor>

<script defer src="https://assets.dta.totvs.ai/client/stable/dta_chat.js"></script>

<script>
  // Fluxo /run
  function getConfig() {
    const baseUrl = 'https://totvs.dta.totvs.ai/api/flows/workflow/0693aa7f-80b5-7777-8000-9adfc8df058b';
    return {
      apiInit: {
        url: baseUrl + '/run',
        sendHeaders: ['x-dta-project', 'x-dta-api-key'],
      },
      apiMessage: {
        url: baseUrl + '/run',
        method: 'POST',
        sendHeaders: ['x-dta-project', 'x-dta-api-key'],
      },
      header_session_prefix: null,
      header_thread_prefix: null,
      header_session: 'x-dta-session-id',
      header_thread: 'x-dta-trace-id',
    };
  }

  const wait = (ms) => new Promise(r => setTimeout(r, ms));
  function uuid() {
    if (crypto.randomUUID) return crypto.randomUUID();
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
      const r = Math.random()*16|0, v = c === 'x' ? r : (r&0x3|0x8);
      return v.toString(16);
    });
  }

  let api = null;

  // —————— Injetar botão no header do shadow DOM ——————
  function injectResetButtonIntoHeader(root) {
    if (!root) return;

    // cabeçalho e área de ações: cobrimos possíveis variações de seletor
    const header = root.querySelector('[part="header"], .header, header');
    if (!header) return;

    // evita duplicar
    if (root.getElementById('dta-reset-inline')) return;

    // estilo no shadow DOM (garante visual padronizado)
    const style = document.createElement('style');
    style.textContent = `
      #dta-reset-inline {
        display:inline-flex;
        align-items:center;
        gap:8px;
        padding:6px 12px;
        border:none;
        border-radius:999px;
        background:#00c9eb;
        color:#fff;
        font:600 12px/1 'Segoe UI', Arial, sans-serif;
        cursor:pointer;
        box-shadow:0 1px 4px rgba(0,0,0,.15);
        margin-left:auto; /* empurra para a direita dentro do header */
      }
      #dta-reset-inline:hover { background:#0098b3; }
    `;
    root.appendChild(style);

    // botão
    const btn = document.createElement('button');
    btn.id = 'dta-reset-inline';
    btn.type = 'button';
    btn.textContent = '🔄 Nova conversa';

    // tenta posicionar antes dos ícones (fullscreen/close)
    const actions = root.querySelector('[part="header-actions"], .actions, .header-actions');
    if (actions && actions.parentElement === header) {
      header.insertBefore(btn, actions); // fica à esquerda dos ícones
    } else {
      header.appendChild(btn); // fallback: vai ao final do header
    }

    btn.addEventListener('click', async () => {
      // inicia nova thread
      const newThreadId = uuid();
      api.addHeaders({ 'x-dta-trace-id': newThreadId });

      if (typeof api.reset === 'function') {
        api.reset();
      } else {
        // fecha e reabre como fallback
        const anchor = document.querySelector('dta-chat-anchor');
        if (anchor) {
          anchor.click();
          await wait(400);
          anchor.click();
        }
      }

      // mensagem após reset
      await wait(400);
      try {
        await api.sendMessage("🔄 Nova conversa iniciada. Em que posso te ajudar agora?");
      } catch (e) { console.warn(e); }
    });
  }

  // observa o shadow DOM do <dta-chat> para injetar quando o painel abrir/atualizar
  function attachHeaderObserver(host) {
    if (!host || !host.shadowRoot) return;
    const root = host.shadowRoot;

    // injeta imediatamente se o header já existe
    injectResetButtonIntoHeader(root);

    // observa mudanças (ex.: abrir/fechar painel, recriar header)
    const mo = new MutationObserver(() => {
      injectResetButtonIntoHeader(root);
    });
    mo.observe(root, { childList:true, subtree:true });
  }

  // —————— Boot ——————
  window.addEventListener('dta-chat-ready', async (ev) => {
    api = ev.detail;
    api.config(getConfig());
    api.addHeaders({
      'x-dta-project': 'dta-fiscal-protheus',
      'x-dta-api-key': 'sk-57VpgNblWvzIHZN-N01NWibhRM-rJWMBWP-swdp4zW4lMnP6',
    });

    // abre o chat automaticamente
    await wait(250);
    try {
      if (typeof api.open === 'function') api.open();
      else document.querySelector('dta-chat-anchor')?.click();
    } catch (e) { console.warn(e); }

    // mensagem de boas-vindas simples
    try {
      await api.sendMessage("👋 Olá! Sou o assistente **DTA**. Como posso te ajudar hoje?");
    } catch (e) { console.warn(e); }

    // conecta no shadow DOM do componente para inserir o botão no header
    const host = document.querySelector('dta-chat');
    if (host) attachHeaderObserver(host);
  }, { once:true });

  // bloqueio de hotkeys
  (function () {
    const CHAT_TAGS = new Set(['DTA-CHAT','DTA-CHAT-ANCHOR']);
    const CHAT_SELECTOR = 'dta-chat, dta-chat-anchor, dta-chat *, dta-chat-anchor *';
    function cameFromChat(ev) {
      const path = typeof ev.composedPath === 'function' ? ev.composedPath() : [];
      for (const el of path) if (el && el.tagName && CHAT_TAGS.has(el.tagName)) return true;
      const t = ev.target; return !!(t && typeof t.closest==='function' && t.closest(CHAT_SELECTOR));
    }
    function isPlainLetterOrHotkey(k) {
      if (!k) return false; const key = k.length===1?k.toLowerCase():k.toLowerCase();
      return /^[a-z]$/.test(key) || key==='/' || key==='?' || key==='g';
    }
    function stop(ev){ ev.stopImmediatePropagation(); ev.stopPropagation(); }
    function handler(ev){
      if (ev.isComposing) return;
      if (!cameFromChat(ev)) return;
      if (ev.ctrlKey||ev.metaKey||ev.altKey) return;
      const k = (ev.key||'').toLowerCase();
      if (isPlainLetterOrHotkey(k)) stop(ev);
    }
    ['keydown','keypress','keyup'].forEach(t => document.addEventListener(t, handler, { capture:true }));
  })();
</script>

<style>
  /* sem espaço em branco */
  dta-chat.chat-collapsed{
    display:block;
    height:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
</style>
Aviso
titleComunicado – Monitor de Eventos

O Monitor de Eventos foi desenvolvido para atender às exigências da legislação vigente. 
Atualmente, o processo ocorre de forma manual para registro de situações específicas de uma operação (como recebimento, perda, transferência de crédito, etc.)

A automatização do preenchimento dos eventos, a partir da integração com os demais módulos do Backoffice já está prevista em nosso roadmap, com o objetivo de disponibilizar essa evolução o quanto antes no produto padrão.

Recomendamos fortemente que as necessidades e sugestões relacionadas ao Monitor de Eventos sejam cadastradas na Central Colaborativa, pois essas contribuições são fundamentais para priorização, evolução contínua do produto e alinhamento com as demandas dos clientes.
Ficamos à disposição para esclarecimentos adicionais.


Procedimento Para Uso

Pré-Requisitos.

Configurações de Eventos.

Para realizar a confirmação de envio na inclusão de Eventos é necessário realizar a configuração do TSS, conforme o processo abaixo:

1- Acessar o Módulo 05 "Faturamento" -> Menu Faturamento -> Atualizações -> NFe e NFse  -> NFe sefaz.

2 - Configurar Certificado, Após clicar em ok.

3 - Ao apresentar a Tela Monitoramento SEFAZ selecionar a opção Outras Ações -> Parâmetros -> Eventos e clicar em ok. 

Obs.: Se possível ter os ambientes de Homologação e Produção separados para realizar a configuração.

Image Added


Obs.: a chave da NF precisa ser válida, segue abaixo os tipos de Status do SPED150 TSS:

1 = A Processar.

2 = Em processamento.

3 = Falha de schema.

5 = Rejeição.

6 = autorizado.

DSERTSS1-30020 DT Protheus - Controle de Liberação das Tags da NT 2025.002 - v 1.30


Dica
titleRequisitos
  • O monitor de Eventos irá atender a NF-e do modelo 55 e não ocorrerá vinculo MTI e Monitor de Tributos.
  • Fluxo do Monitor de Eventos: Inclusão do Documento Fiscal> Envio de dados da SEFAZ > Inclusão Manual de Evento.
  • Tabelas utilizadas  T7A / T7B / T7C / T7D / T7E / 5R/T7R, os campos C20_PRVENT, C30_ITEXML, C30_QTDXML, C30_UMXML.
  • Expedição continua do TAF/Backoffice de dezembro de 2025

Essa rotina permite que o usuário acompanhe, em tempo real, os eventos dos Documentos Fiscais Eletrônicos transmitidos pelo sistema desta forma e possível realizar à gestão dos eventos instituídos pela Reforma Tributária do Consumo.

Image Added


1- Acessar o Módulo 84 "TOTVS Automação Fiscal" -> Menu Atualizações -> Reforma Tributária -> Monitor de Eventos.

Image Added


2 - Tela Monitor de Eventos irá apresentar os seguintes filtros abaixo:

  • Período: A seleção deverá apresentar a data Inicial e Final dos movimentos a serem apresentados em tela.
  • Status: O filtro irá apresentar as opções: Solicitado, Enviado, Solicitação de Cancelamento, Cancelado e Falha de Envio ou Selecionar todos.
  • Eventos: O campo irá apresentar a opção de selecionar todos e todos os eventos relacionados Reforma Tributária, conforme a legislação Vigente na Nota Técnica NFe 2025.002 IBS/CBS/IS.
    • Configurações: Esta opção possibilita a seleção das colunas que serão apresentadas na grid
    • Pesquisar: O campo permiti realizar a pesquisa por; Tipo de Movimento, Tipo de Autor, Número da Nota, Emitente e CNPJ do Emitente.
  • Grid: A grid apresenta o status dos documentos emitidos no período com a seguinte estrutura abaixo:
    • 1º Nível:  Tipo de Movimento / Tipo de Autor / Número da Nota / Data de Emissão / Emitente / CNPJ do Emitente. 
    • 2º Nível: Status / Código do Eventos / Descrição do Evento / Data de Emissão.

Inclusão de Evento


1- Clicar na opção "+Inclusão de Evento"

Image Added

2 - Tela Inclusão de Evento irá apresentar os seguintes filtros abaixo:

  • Período: A seleção deverá apresentar a data Inicial e Final dos movimentos a serem apresentados em tela.
  • Tipo de Documento: Entrada / Saída.
  • Espécie: NF-e

Obs.: A inclusão de evento é o processo que envia os dados exigidos pela Reforma Tributária, sendo assimos filtros são para organizar e selecionar os documentos que precisam ser transmitidos.

Avançar:

  • Eventos: O campo irá apresentar a opção de selecionar todos e todos os eventos relacionados Reforma Tributária, conforme a legislação Vigente Nota Técnica NFe 2025.002 IBS/CBS/IS.
  • Documento: Ao clicar no campo abre uma tela de pesquisa para selecionar a Nota Fiscal a ser enviada
    • Obs.: É permitido selecionar somente uma única Nota Fiscal por vez.
  • Itens do Documento: Ao clicar no campo abre uma tela de pesquisa para selecionar o item a ser enviado.  
    • Campos de Preenchimento: Após a seleção o sistema apresenta os campos relacionados ao evento informado para preenchimento do Tipo de Autor.
      • Tipo de Autor: Emitente / Destinatário / Sucessora.

Avançar:

  • Revisar Envio: A tela permite que o usuário revise as informações antes do envio do evento.
    • Obs.: Após revisar as informações em tela o Monitor de Eventos permitir voltar para o processo anterior ou enviar o evento.

Dúvidas Frequentes

O que é o Monitor de Eventos?

O Monitor de Eventos (rotina TAFA635, desenvolvida em PO-UI) é uma ferramenta que permite incluir, enviar, corrigir, consultar e cancelar eventos relacionados à Reforma Tributária, aplicáveis às Notas Fiscais Eletrônicas modelo 55.

Esses eventos ajustam valores de débito e crédito de IBS e CBS no Portal de Apuração.

Precisamos executar o Wizard do TAF para utilizar o monitor de Eventos?

Não, essa rotina não necessita de configurações dentro do TAF, apenas a criação do menu buscando a rotina TAFA635 e habilitar o SmartSchedule no configurador.

Para que servem os eventos da Reforma Tributária?

Os eventos são mecanismos criados pela Receita Federal para:

  • Ajustar valores de débito/crédito já apurados
  • Comunicar alterações posteriores à emissão da nota
  • Complementar informações obrigatórias a partir de janeiro de 2026

Sem o envio correto desses eventos, o cliente pode ser obrigado a recolher tributos indevidos.

Quantos eventos existem atualmente?

São 16 eventos oficiais relacionados à reforma, com novos modelos ainda sendo disponibilizados pela Receita Federal.

EVENTODESCRIÇÃOAUTOR
112110Informação de efetivo pagamento integral para liberar crédito presumido do adquirenteEmitente
112120Importação em ALC/ZFM não convertida em isençãoEmitente
112130Perecimento, perda, roubo ou furto durante o transporte contratado pelo fornecedorEmitente
112140Fornecimento não realizado com pagamento antecipadoEmitente
112150Atualização da Data de Previsão de EntregaEmitente
211110Solicitação de Apropriação de crédito presumidoDestinatário
211120Destinação de item para consumo pessoalEmitente/Destinatário
211124Perecimento, perda, roubo ou furto durante o transporte contratado pelo adquirenteDestinatário
211128Aceite de débito na apuração por emissão de nota de créditoDestinatário
211130Imobilização de ItemDestinatário
211140Solicitação de Apropriação de Crédito de CombustívelDestinatário
211150Solicitação de Apropriação de Crédito para bens e serviços que dependem de atividade do adquirenteDestinatário
212110Manifestação sobre Pedido de Transferência de Crédito de IBS em Operações de SucessãoSucessora
212120Manifestação sobre Pedido de Transferência de Crédito de CBS em Operações de SucessãoSucessora
110001Cancelamento de EventoIdem ao Autor do Evento que está sendo cancelado

Quem é responsável por enviar os eventos?

No cenário atual, o cliente é responsável por registrar o Evento vinculado a NFe.

O envio para SEFAZ ocorrerá automaticamente após sua inclusão, via SmartSchedule, após a conclusão do envio seu STATUS será atualizado para Enviado, em caso de sucesso ou Falha de envio.

Quais são os pré-requisitos para enviar um evento?

O Monitor de Eventos funciona com outros modelos de nota?

Não. Atualmente funciona somente para a NFe modelo 55.

Consigo enviar eventos com dados gerados a partir da integração TSI?

Sim, serão considerados NF-e, modelo 55, com os campos de XML preenchido (DT Débitos Técnicos - [TSI CBS/IBS] Gravação dos novos tributos)

TSI - TAF Service Integration

Onde os dados dos eventos são gravados?

A rotina utiliza as tabelas novas:

TabelaNomeDescriçãoTabela Pai
T7AEventosEvento por NF-e, conterá indicador de pagamento e aceitação, tipo de motivo e detalhamento do motivo, Indicador de cancelamento, STATUS: Incluso, Enviado, Sol. Cancelamento, Falha de envio-
T7BCred PresumidoDetalhamento por Item NF-eT7A
T7CEventos genéricosDetalhamento por Item NF-eT7A
T7DLog de processamentoPor EventoT7A
T7ETipos de EventosAutoContida com os Eventos

Como funciona o envio de um evento?

O processo é:

  1. Usuário clica em "Incluir Evento"
  2. Seleciona período, tipo de documento e espécie
  3. Escolhe o tipo de evento
  4. Ajusta valores quando necessário
  5. Ao enviar, os dados são gravados nas tabelas e uma task é disparada para o Smart Schedule + TSS
  6. O status é atualizado para "Enviado" se o processamento ocorrer sem falhas

O que acontece quando ocorre erro no envio?

Se houver falha (ex.: erro de schema):

  • O usuário pode clicar em "Editar", corrigir e salvar.
  • Uma nova task é criada
  • Todo o histórico é registrado na T7D - Log de processamento

Como funcionam os cancelamentos de eventos?

  • Após enviar à SEFAZ, o evento não pode mais ser editado, apenas cancelado
  • O cancelamento gera nova task no TSS
  • Status pode ser “Cancelado com sucesso” ou “Falha de cancelamento”
  • O log do cancelamento também é gravado na T7D - Log de processamento

Por que o envio utiliza o MV_SPEDURL e não o MV_TAFSURL?

  • O SPED URL garante o mesmo mecanismo de transmissão da nota fiscal, pois os eventos são complementos da própria NFe
  • O envio da nota fiscal e do evento é interdependente
  • A Central de Diagnóstico da Reforma (em construção) também reforça o uso do MV_SPEDURL

Clientes que usam o TAF sem NFe podem transmitir eventos?

Sim, desde que:

Como funcionam os ambientes de transmissão (produção/homologação)?

Para o envio dos eventos para a SEFAZ, é possível configurar se a transmissão será em ambiente de homologação (testes) ou produção.

Para alterar essa configuração, é necessário acessar o módulo 05 - faturamento, menu atualizações > Nf-e e Nfs-e > Nf-e Sefaz.

Confirmar as telas iniciais e ao acessar a rotina, ir em outras ações > Parâmetros > Eventos. Nesta tela, é possível alterar o ambiente da Sefaz no qual os eventos serão recepcionados.

Atenção: recomendamos que não seja utilizado o mesmo ambiente Protheus de homologação para envio em produção.

Como identificar eventos nas tabelas TSS?

  • Cada evento transmitido será gravado na tabela SPED150
  • ID de transmissão da SPED150 é gravada na tabela T7D - Log de processamento

O Monitor de Eventos terá relatórios de conferência?

Sim, mas não na versão atual.

A primeira entrega foi focada na operação do envio.
Relatórios, dashboards e melhorias no log estão previstos para a segunda fase.


Ocorreu um alerta de divergência de tamanho de campos nos campos T7A_CHVELE e C20_CHVELE. Como solucionar?


Image Added



Para solucionar o alerta, o campo T7A_CHVELE deve ser alterado para o mesmo tamanho do campo C20_CHVELE via Configurador.

Qual filtro para seleção de nota por eventos?

Na inclusão manual do evento, a rotina não faz filtro de tipo de documento por evento, ou seja, irá trazer todas as notas normais, debito e credito, do modelo 55, que foram enviadas para SEFAZ e importadas para TAF, a seleção da nota, será feita pelo usuário, conforme evento selecionado.

Monitor de Eventos é uma funcionEste documento tem por objetivo definir, especificar e explanar sobre os critérios técnicos necessários para integração entre os sistemas de controle empresarial (ou qualquer outro software desejado), e o sistema TOTVS Automação Fiscal.

Para que se torne mais efetivo o entendimento deste documento é altamente recomendável que seja acessado o link abaixo para conhecimento de todo o escopo do produto:

TAF Home

Índice

Índice

Contexto de negócio

O TAF ( TOTVS Automação Fiscal ) foi criado com o objetivo de consolidar dados e layouts, a fim de fornecer recursos de validação e consistências desses dados para posterior envio às plataformas governamentais.

Este documento visa fornecer as especificações técnicas para que os softwares de gestão possam iniciar integração com o TAF.

Modelo Operacional

O software controlador dos processos empresarias gerará uma mensagem eletrônica contendo as informações fiscais, contábeis e trabalhistas, no formato pré-definido pela TOTVS, de maneira a garantir a integridade dos dados. Esta mensagem eletrônica será então submetida a processos de integração e validação de estrutura, com o intuito de consistir integridade e conteúdo da mensagem, definindo assim se esta está apta a ser importada ao sistema consolidador.

Após receber todos os dados necessários, o TAF submete as informações importadas a outros processos como validação e consistência de layout. O objetivo final é gerar os dados para importação/transmissão dos arquivos em formato pré-definido pela Secretaria de Fazenda Estadual de jurisdição do contribuinte emitente, Prefeitura ou Receita Federal.

De forma resumida existem quatro modelos de integração disponíveis para integração:

...

Integração via Web Service

Aviso

Disponível à partir da release 12.1.17

Neste cenário utiliza-se um serviço web disponibilizado pelo TAF para envio das mensagens de integração. Neste modelo o ERP deve, através do protocolo HTTP (HTTPS), enviar a mensagem ao Web Service do TAF (que deve estar previamente configurado e no ar) utilizando um método POST, e poderá utilizar de outros métodos para consulta e monitoramento das mensagens enviadas.

Sistemas Envolvidos

Qualquer ERP( Totvs e não Totvs ) é elegível de integração com o TAF, basta desenvolver a mensagem de integração baseada no Layout Único de Integração.

Para geração do E-Social o layout de integração com o TAF é o mesmo Layout disponibilizado pela Receita Federal e pode ser encontrado na página abaixo:

Layout Taf - eSocial

Arquitetura da Integração

Visão

Image Removed

Layout/Mensagem de Integração

Layout Único de Integração  do TAF tem como objetivo possuir a maior quantidade de informações para a geração das mais variadas obrigações acessórias, ou seja, o Layout foi elaborado de forma lógica, garantindo que de apenas uma integração diversas obrigações possam ser geradas dentro do TAF.

Além do Layout Único de Integração existe também escopos onde o TAF utiliza o próprio Layout da obrigação disponibilizada pelo Fisco para integração com os ERP´s, como por exemplo o e-Social.

Abaixo temos uma tabela demonstrando quais escopos utilizam o Layout Único do TAF e quais utilizam o próprio Layout da Receita.

Escopo
Layout Único
Layout da Receita

Informações Fiscais ( Ex: EFD ICMS/IPI, EFD Contribuições... )

SimNão

Informações Contábeis ( Ex: ECF, Apuração IRPJ/CSLL... )

SimNão

Informações Trabalhistas ( Ex: eSocial )

NãoSim

Estrutura da Tabela Compartilhada

A tabela compartilhada é criada após a execução da Wizard Inicial do TAF( Sempre executada no primeiro acesso ao TAF ), no banco do ERP seu nome será TAFST1, e ela possui os seguintes campos:

TAFFIL (Caracter): Código da Empresa/Filial do ERP, o código informado nesse campo depois será amarrado a filial do TAF que receberá as informações na integração;

TAFCODMSG (Caracter): Informa o tipo da mensagem que será gravada na linha, podendo ser 1 para arquivo texto ou 2 para XML;

TAFSEQ (Caracter): Quando a mensagem enviada superar 1MB, deve ser quebrada em duas linhas na tabela, nesse cenário esse campo deve ser incrementado com um sequencializador, iniciando em '001';

TAFTPREG (Caracter): Nome do Layout que será integrado, podendo ser tanto do Layout Totvs quando o nome do próprio registro de acordo com o Layout da Receita Federal

TAFKEY (Caracter): Chave do registro, a ser gerada de acordo com regra gerada pelo ERP para posterior recuperação da informação;

TAFMSG (Caracter): Mensagem a ser enviada para o TAF

TAFSTATUS (Caracter): Status do registro na tabela, sempre que gravado pelo ERP deve ser gravado como "1", o TAF seta para "2" quando o registro já foi integrado;

TAFTICKET (Caracter): Código de identificação do lote da integração. É opcional, e caso o ERP não informe o TAF gera um código aleatório no formato UUID.

TAFDATA (Caracter): Data para identificação do lote da integração. É opcional, e caso o ERP não informe o TAF gera automaticamente.

TAFHORA (Caracter): Hora para identificação do lote da integração. É opcional, e caso o ERP não informe o TAF gera automaticamente.

TAFOWNER (Caracter): Identificação do ERP dono do XML a ser integrado. É Opcional. 

Os demais campos são de controle do TAF, na tabela TAFST2:

TAFPRIORIT (Caracter): Prioridade de processamento do registro. Mais detalhes no tópico "Recursos de integração".

TAFSTQUEUE (Caracter): Status do registro na fila de processamento. Mais detalhes no tópico "Recursos de integração".

R_E_C_N_O_ (Numérico): Campo de controle interno ( TOTVS|DbAccess )

R_E_C_D_E_L_ (Numérico): Campo de controle interno ( TOTVS|DbAccess )

D_E_L_E_T_ (Numérico): Campo de controle interno ( TOTVS|DbAccess )

Exemplo da tabela TAFST1 populada:

Image Removed

API - Interfaces de Integração

API de Integração - Microsiga Protheus

Informações
titleAPI - Microsiga Protheus

As API's abaixo devem ser utilizadas somente para o modelo de integração nativa (online), ou seja, onde o TAF está sendo utilizado como módulo do sistema Microsiga Protheus.

...

TAFAPIERP

...

TAFPrepInt

...

TAFProcLine

...

TAFGetStat

...

TAFDelTicket

...

API de Integração - Outros Sistemas

...

WSTAFST2

...

WSTAFQueryElements

...

WSTAFGetXML

...

Regra de Execução da Integração para integrações que não utilizam o Layout Totvs

Quando é enviado para o TAF um XML do eSocial, por exemplo, o mesmo é submetido a uma regra que define se a operação será realizada ou não dentro do TAF, sempre que o retorno for negativo a Origem receberá um retorno com o erro, seja via gerenciador de integração ( Integração Banco a Banco ) ou um array com os erros encontrados ( Integração OnLine )

Regra de Execução da Integração para integrações que utilizam o Layout Totvs

Nessa integração o TAF sempre verifica o campo TAFKEY, caso seja uma TAFKEY já enviada previamente o TAF realiza o Replace do cadastro no TAF, caso contrário realiza a inclusão da informação.

sempre que ocorrer algum problema na integração a Origem receberá um retorno com o erro, seja via gerenciador de integração ( Integração Banco a Banco ) ou um array com os erros encontrados ( Integração OnLine )

Processos automáticos de integração e transmissão do TAF

Tabela de processos de integração e modelos operacionais aplicáveis:

...

Para maiores informações de como realizar a configuração dos Jobs de Integração acesse o lonk abaixo:

06. Efetue uma integração

Particularidade de Integração do eSocial

Comportamento das Integrações x Operação dos Eventos

Objetivo

Esta tabela tem como objetivo demonstrar os resultados que devem ser alcançados nos cenários possíveis de manutenção com relação aos eventos do eSocial no TAF.

...

Novo Registro

...

Evento Corrente:

Incluído

...

Evento Corrente:

 Alterado

...

Evento Corrente:

 Excluído

...

Situação Corrente:
Transmitido

...

Situação Corrente:

 Não Transmitido

...

Dica
titleDetalhes

A lista abaixo traz mais detalhes sobre cada operação realizada na integração de eventos, conforme tabela acima.

1. Realizando uma nova inclusão no TAF:

Registro não existe no TAF:
     - Deve ser realizada a inclusão do registro;

Situação do Registro igual a "I" (Incluído):     

     - Não deve ser realizada a integração, e no gerenciador deve aparecer a mensagem: 

       "A operação solicitada no XML está em desacordo com o cenário do registro na base do TAF"

Situação do Registro igual a "A" (Alterado):     

     - Não deve ser realizada a integração, e no gerenciador deve aparecer a mensagem: 

       "A operação solicitada no XML está em desacordo com o cenário do registro na base do TAF";

Situação do Registro igual a "E" (Excluído):
     Registro já Transmitido ao RET:
          - Deve ser realizada a operação seguindo os conceitos citados em "Regras Gerais de Integração" 

            deste documento.

     Registro não transmitido ao RET:
         - Não deve ser realizada a integração, e no gerenciador deve aparecer a mensagem:

...

2. Realizando uma nova alteração no TAF:

Registro não existe no TAF:

     - Não deve ser realizada a integração, e no gerenciador deve aparecer a mensagem: 

      "A operação solicitada no XML está em desacordo com o cenário do registro na base do TAF"

Situação do Registro igual a "I" (Incluído):     

...

Situação do Registro igual a "E" (Excluído):
     Registro já Transmitido ao RET:

     - Não deve ser realizada a integração, e no gerenciador deve aparecer a mensagem: 

"A operação solicitada no XML está em desacordo com o cenário do registro na base do TAF"

     Registro não transmitido ao RET:

     - Deve ser realizada a operação seguindo os conceitos citados em "Regras Gerais de Integração" deste documento.

 

3. Realizando uma nova exclusão no TAF: 

Registro não existe no TAF:

     - Não deve ser realizada a integração e no gerenciador deve aparecer a mensagem: 

      "A operação solicitada no XML está em desacordo com o cenário do registro na base do TAF"

Situação do Registro igual a "I" (Incluído):     

...

Situação do Registro igual a "E" (Excluído):
     Registro já Transmitido ao RET:

     - Não deve ser realizada a integração, e no gerenciador deve aparecer a mensagem: 

"A operação solicitada no XML está em desacordo com o cenário do registro na base do TAF"

     Registro não transmitido ao RET:

     - Não deve ser realizada a integração e no gerenciador deve aparecer a mensagem: 

...

4. Regras Gerais de Integração:

Quando o registro já existente no TAF não foi transmitido ao RET, ou seja, seu campo de Status é diferente de 2 ( Aguardando Retorno do Governo ), e 4 ( Autorizado pelo Governo ), a operação deve ser realizada normalmente na base de dados, caso já tenha sido enviado deve ser realizada a operação seguindo as regras abaixo:

Dica

Duplicar o registro, mantendo o atual e gerando uma nova linha na tabela com as regras abaixo

Último Recibo ( _PROTUL ) = O novo registro gerado deve ter esse campo vazio.

Penúltimo Recibo ( _PROTPN ) = O novo registro deve ter nesse campo o valor do recibo do registro anterior com a mesma chave.

Versão ( _VERSAO ) = O novo registro deve ter uma nova versão.

Versão Anterior ( _VERANT ) = O novo registro deve ter o valor da versão do registro anterior com a mesma chave.

Evento ( _EVENTO ) = O novo registro deve ter a operação que foi realizada.

Ativo ( _ATIVO ) = O novo registro deve ter a situação igual a 1 ( Ativo ) e setar o registro anterior com a mesma chave para 2 ( Inativo ).

 

Nota
titlePonto de Atenção!

Para a integração de arquivos de alteração, com relação ao comportamento da tag <indRetif>, quando um evento exista no TAF e ainda não foi transmitido, ao enviar um evento com a mesma chave (ex.: S-2206 com a mesma data de alteração), o conteúdo da tag <indRetif> é 2, se for uma data diferente o conteúdo da tag <indRetif> é 1, a exceção são os eventos S-1200/S-1210 por conta da aglutinação (MV).

         

5. Complemento de dados ( integração multi ERP )

O TAF permite que diversos sistemas de origem realizem a integração de dados ao TAF, complementando informações de determinado evento na base de dados, inclusive quando se tratar do mesmo registro.

Exemplo: No cadastro de funcionário, um sistema X deseja incluir informações cadastrais, e outro sistema Y deseja incluir informações do vínculo do empregado com o empregador. Neste caso, o sistema X deve enviar somente os campos (tags) relacionados ao conteúdo que deseja integrar ao TAF, e o sistema Y devem enviar somente os campos (tags) das informações do vínculo. Automaticamente os dados se complementam e tornam o registro na base de dados do TAF elegível para transmissão ao Governo.

Nota
titlePontos de Atenção!

Esse comportamento é aplicado diante de algumas regras:

  • O complemento de informações enviados via integração é elegível apenas para dados de formulário, ou seja, informações do cabeçalho do Evento. Para informações de ocorrência 0:N, 1:N ou N:N essa regra não se aplica; para este tipo de registro, os dados serão sempre sobrepostos.
  • Para um campo (tag) não enviado, o dado é ignorado e a informação enviada em integração anterior é mantida. Para um campo (tag) enviado em branco, o dado é sempre considerado e a informação enviada em integração anterior é apagada.

6. Exclusão de Eventos (S-3000)

O TAF permite três modelos de integração para evento S-3000 do eSocial:

1 - Enviar o recibo do Evento na tag <nrRecEvt>

Caso o ERP possua em mãos o recibo do Evento, pode enviar ao TAF a exclusão através deste recibo.

2 - Enviar a chave do Evento na tag <nrRecEvt>

Quando a informação enviada dentro da tag <nrRecEvt> for a chave do registro ( e não o recibo ), deve existir o atributo tpOper onde deve ser informado o tipo de operação utilizado na exclusão do evento.
Opções:
U - Excluí o ultimo registro ( Apenas o Ativo )
Neste caso será excluído apenas o último registro ativo de acordo com a chave enviada.
T - Exclui todo o Histórico do Evento
Neste caso serão excluídos todos os registros relacionados a chave enviada, independente do status.

Exemplo: 
<nrRecEvt tpOper = “U”> Chave_do_evento </nrRecEvt>

3 - Enviar o TAFKEY do Evento na tag <nrRecEvt>

Basta enviar nesta tag o TAFKEY enviado na integração deste registro com o TAF.

Todas as opções são voltadas ao preenchimento da tag <nrRecEvt>. Todas as demais tags do evento devem ser preenchidas normalmente conforme Layout do eSocial.

Múltiplas Rúbricas

 Objetivo

 Integração do evento S-1010 (Rubricas) considerando o código identificador da tabela de rubricas no ERP origem.

Funcionamento 

Foi criado o cadastro Atualizações -> Cadastros eSocial -> Identificadores de Rubrica, onde é armazenado o código identificador da tabela enviado pelo ERP e gerado um código único e sequencial (ID). Esse código sequencial será utilizado pelo TAF na tag <ideTabRubr> do XML a ser transmitido ao RET .

 Isso possibilita a integração de rubricas onde o código identificador da tabela no ERP é maior que 8 caracteres, como previsto no manual do eSocial. 

 

Fila de Integração

 Objetivo

 Facilitar o gerenciamento de integração de Eventos para o software de origem dos dados, tornando o TAF responsável pelo armazenamento e reprocessamento de eventos.

Funcionamento

 De forma geral, o comportamento do TAF na integração de registros onde os eventos predecessores estão pendente de uma resposta do Governo, é rejeitá-los, garantindo assim a integridade dos dados dentro da base de dados.

 Contudo, para facilitar o gerenciamento destes eventos, o TAF permite ao ERP que envie esses eventos com a propriedade de Eventos de Fila. Desta forma, o TAF fica responsável por manter este evento em uma fila de integração, realizando tentativas de integração até que o evento predecessor tenha uma resposta definitiva do endpoint do Governo.

Informações
titleComo configurar a Fila de Integração?

Acesse Web Service REST - Integração e obtenha mais detalhes sobre a configuração da Fila de Integração no Serviço de Integração do TAF.

 Na prática, enquanto o evento predecessor estiver com status "Aguardando retorno", todas as tentativas de integração do registro geram um log e mantém este registro na fila de integração. Ao receber uma resposta do Governo, existem duas possibilidades:

...

 Exemplo: Existe na base de dados do TAF um registro de admissão ( S-2200 ) do funcionário A pendente de retorno do Governo. Neste momento, o ERP envia ao TAF um registro de Alteração Cadastral ( S-2205 ) do mesmo funcionário A. O evento S-2205 é colocado na fila de integração até que o evento S-2200 tenha uma resposta, e quando houver esse retorno por parte do Governo, o evento S-2205 entrará em um dos dois casos acima.

Imagem do Monitor de Integração ao tentar realizar diversas importação de um evento S-2205, que está aguardando uma resposta de evento predecessor S-2200.

Image Removed

 

Registros de log gerados pela Fila de Integração, onde após 3 tentativas de integração o evento predecessor foi rejeitado pelo Governo.

...