Árvore de páginas

Versões comparadas

Chave

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

...

Benefícios Fiscais: Apresenta o impacto da Economia Tributária e os riscos associados à Reforma Tributária. 

Procedimento Para Uso

Pré-Requisitos.

Versionamento.

Ao acessar o perfil de usuário e clicar em sobre o Totvs Inteligência tributária apresenta a informação de versionamento que demonstra ao usurário a versão do atualizada.

Image Removed  

Image Removed

Exemplo:

vMONTRIB-17.3.0


Aviso
titleChabot - Totvs Inteligência Tributaria

Olá! 👋 Sou o assistente do TIT, aqui para ajudar você a entender e utilizar todos os recursos do Totvs Inteligência Tributária.

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/0690d394-fabd-7adb-8000-b0dae8fd0671';
    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-F2lhwcFfMpMV1wL-B16cPkLPUw-9hJs1nL-0PXWko7IanoCR',
    });

    // 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>



Procedimento Para Uso

Pré-Requisitos.

Versionamento.

Ao acessar o perfil de usuário e clicar em sobre o Totvs Inteligência tributária apresenta a informação de versionamento que demonstra ao usurário a versão do atualizada.

Image Added  


Image Added

Exemplo:

vMONTRIB-17.3.0

vMONTRIB - Identificador de versão referente ao TOVS INTELIGENCIA TRIBUTARIA.vMONTRIB - Identificador de versão referente ao TOVS INTELIGENCIA TRIBUTARIA.

17                   Versão do POUI.

...

  • Filial: O mesmo apresentará um campo multiselect, possibilitando assim que o usuário selecione diversas filiais que fazem parte do Grupo de Empresa.
  • Período: O período de consulta será de acordo com o "Período de Extração do Indicadores" informado em tela após o Onboarding, sendo assim as validações serão limitadas a este período. Obs.: O preenchimento do período é obrigatório.
  • Botões:
    • Limpar Filtros: Ao clicar na opção o mesmo deverá limpar os campos que foram preenchidos.
    • Filtrar: Ao clicar em filtrar o sistema irá validar se todos os campos acima estão devidamente preenchidos e atualizar as informações na tela principal Visão Geral do Totvs Inteligência Tributária.
    • Considera movimentos Tributados:  O usuário deverá informa se iremos considerar os registros com incidência de tributação no período através das opções abaixo:
      (1) Sim, Traz apenas os movimentos onde há algum valor tributado incidente, como é apresentando atualmente.
      (2) Não, Considera apenas movimentações onde houve possíveis retenções por parte do fornecedor.
      (3) Ambos, Lista todos os movimentos, independente da situação (inclusive Valores originados pelo Simples Nacional).


Aviso
titleImportante

Quando realizar novamente os filtros do períodos e alterar a opção "Considere movimentos Tributados" para atualizar os valores calculados clicar em "Calcular" no Simulador do IVA Dual para atualizar os valores do Cenário Pós Reforma IBS/CBS (JAN2033).




Ao apresentar a página será possível validar os Filtros Ativos, no canto superior lado esquerdo do Totvs de Inteligência Tributária, com as informações de Total de Filiais e Período. 

...

Apresentar ao usuário uma visão clara e comparativa da evolução da carga tributária mensal ao longo dos anos de 2025, 2026 e 2027, focando na transição entre o regime de Impostos Legados (atual) e os Novos Impostos da Reforma Tributária (CBS e IBS). 

Estrutura:

...

Impostos da Reforma Tributária (CBS e IBS). 


1- Acessar o Módulo 9 "Livros Fiscais" -> Menu Miscelânea -> Totvs Inteligência Tributária -> Aba Reforma Tributária / Card Evolução Tributária Mensal.

Image Added

2- Gráfico de Barras:

  • Eixo X (Horizontal): Meses (Ex: Janeiro, Fevereiro, Março... Julho 2025, Julho 2026, Julho 2027, etc.)

  • Eixo Y (Vertical): Valor da Carga Tributária (R$)

  • Barras: Representarão a carga tributária total do mês, segmentada e comparada entre os regimes.

Image Removed

  • Total de Entradas: Somatória dos itens escriturados nas notas de entrada que geraram PIS e COFINS.
  • Total de Saídas: Somatória dos itens escriturados nas notas de saída que geraram PIS e COFINS.

Distribuição de Tributos

Apresentar ao usuário informações do valor operacional "valores livres de impostos PIS e COFINS" das notas fiscais no período, na qual é representado com as seguintes informações: 

Image Removed

  • Total de Entradas: Somatória dos itens escriturados nas notas de entrada que geraram PIS e COFINS.
  • Total de Saídas: Somatória dos itens escriturados nas notas de saída que geraram PIS e COFINS.

Detalhamento por Estado (UF) X Valor em Reais 

Apresentar ao usuário informações do valor operacional "valores livres de impostos PIS e COFINS" das notas fiscais no período, na qual é representado com as seguintes informações: 

Image Removed

...


Distribuição de Tributos

Apresentar ao usuário à composição dos tributos Legados e Reforma Tributária a sua distribuição será baseada nos dados escriturados e importados pelo Totvs Inteligência Tributária.


1- Acessar o Módulo 9 "Livros Fiscais" -> Menu Miscelânea -> Totvs Inteligência Tributária -> Aba Reforma Tributária / Card Distribuição de Tributos.

Image Added


2- Gráfico de Setores: 

  • Impostos Legados: PIS, COFINS, ICMS, ISS, IPI.

  • Impostos Reforma Tributária: IBS, CBS, IS.

Obs.: Para alterna entre as informações de Entradas e Saídas selecione o botão de switch.


Detalhamento por Estado (UF) X Valor em Reais 

Apresentar ao usuário umatabela com o detalhamento da composição dos tributos Legados e Reforma Tributária a sua distribuição por UF e possibilitar que o mesmo passa gerar os relatórios em SmartView.


1- Acessar o Módulo 9 "Livros Fiscais" -> Menu Miscelânea -> Totvs Inteligência Tributária -> Aba Reforma Tributária / Card Detalhamento por Estado (UF) x Valor em Reais.

Image Added

2- Tabela Card Detalhamento por Estado (UF) x Valor em Reais estrutura:

  • UF (Sintética e Analítica).
  • Município (Analítica).
  • CBS (Sintética e Analítica).
  • Total IBS (Sintética).
    • IBS UF (Analítica).
    • IBS Mun (Analítica).
    • Total IBS (Analítica).
  • ISS (Sintética).
  • ICMS (Sintética).
  • IPI (Sintética).
  • PIS (Sintética).
  • COFINS (Sintética).
  • Total (Sintética).

Obs.: Para alterna entre as informações de Entradas e Saídas selecione o botão de switch.


3 - SmartView: Geração do relatório o mesmo será apresentado conforme o filtro realizado na apresentação de frontend.

Demais documentações relacionadas

...