REFORMA TRIBUTÁRIA CONFIG

Atualização do Sistema TGA – Reforma Tributária do Consumo

Tutorial passo a passo para configuração de IBS, CBS, Classificação Tributária, regras fiscais e validação via XML.

1. Introdução

A Reforma Tributária do Consumo tem como principal objetivo simplificar o sistema tributário brasileiro, unificando tributos incidentes sobre bens e serviços em dois novos impostos: IBS e CBS.

A soma desses dois tributos forma o IVA — Imposto sobre Valor Agregado, modelo já utilizado em diversos países, que busca reduzir a burocracia, aumentar a transparência e tornar a tributação mais justa para empresas e consumidores.

A implementação será gradual, ocorrendo no período de 2026 a 2033, permitindo adaptação dos sistemas, processos e cadastros fiscais.

Estrutura do IVA

Cronograma de Transição

2. O que muda no sistema TGA

Com a entrada da Reforma Tributária, será necessário realizar novos cadastros e ajustes de parametrização no sistema TGA para garantir o correto cálculo, destaque e geração de XML.

As principais situações que exigem atenção e configuração são:

Este tutorial foi desenvolvido para orientar, de forma prática e segura, todas as etapas necessárias para adequação do sistema TGA às novas regras da Reforma Tributária do Consumo.

Observação Importante 1

Referente à CCLASSTRIB (Classificação Tributária): é fundamental orientar o cliente a realizar um levantamento para identificar se existem produtos com classificação diferente de 000001.

Caso exista algum produto ou movimento de emissão de notas que deveria destacar os tributos e não esteja destacando, a solicitação de ajuste deve ser encaminhada ao suporte TGA para análise e correção da parametrização.

1. Atualização do Sistema

Obrigatório

Atualize o sistema para a versão 25.11.01 ou superior. Essa etapa é essencial para o funcionamento correto da Reforma Tributária.

2. Cadastro da Fórmula 200 – Base de Cálculo IBS/CBS

Cadastre a fórmula 200 no sistema conforme abaixo.

SETVAR(RATEIO,N,FORMULA(9));
SETVAR(TOTITEM,N,((ITQT * ITPU)-ITDC) - (MVVD * RATEIO));
SETVAR(FRETE,N,SE(MVTF="1",MVVF,0));
SETVAR(TOTITEM,N,TOTITEM + (FRETE * RATEIO));
SETVAR(VPIS,N,ITTV(PIS));
SETVAR(VCOFINS,N,ITTV(COFINS));
SETVAR(VICMS,N,ITTV(ICMS));
SETVAR(VICMSST,N,ITTV(ICMSST));
SETVAR(VFCP,N,ITTV(FCP));
SETVAR(VFCPST,N,ITTV(FCPST));
SETVAR(VISS,N,ITTV(ISS));
TOTITEM - VPIS - VCOFINS - VICMS - VICMSST - VFCP - VFCPST - VISS

2.1 Importação da Classificação Tributária (CCLASSTRIB)

Módulo Estoque → Fiscais → Classificação Tributária → Importar via API

Importação da Classificação Tributária via API

3. Execute Block – Criação e Vínculo dos Tributos

Antes de executar, revise os movimentos fiscais que não devem receber os novos tributos (regra 3.3) .

/* ==========================================================
   3. EXECUTE BLOCK — CRIAÇÃO E VÍNCULO DOS TRIBUTOS
   ========================================================== */

EXECUTE BLOCK
AS
  DECLARE VARIABLE VCODTMV    VARCHAR(20);
  DECLARE VARIABLE VSEQ       INTEGER;
  DECLARE VARIABLE VFORM      INTEGER;
  DECLARE VARIABLE VGERASPED  VARCHAR(1);
  DECLARE VARIABLE VINATIVO   VARCHAR(1);
BEGIN

  /* ======================================================
     CRIAÇÃO DOS TRIBUTOS
     ====================================================== */

  INSERT INTO TTRIBUTO
    (CODEMPRESA, CODTRB, DESCRICAO, INCIDENCIA,
     TIPOTRIBFISC, ABRANGENCIA, FATOR, ALIQUOTA)
  VALUES
    (1, 'CBS', 'CBS', 'A', 41, 'F', 0.0, 0.0);

  INSERT INTO TTRIBUTO
    (CODEMPRESA, CODTRB, DESCRICAO, INCIDENCIA,
     TIPOTRIBFISC, ABRANGENCIA, FATOR, ALIQUOTA)
  VALUES
    (1, 'IBSUF', 'IBSUF', 'A', 42, 'E', 0.0, 0.0);

  INSERT INTO TTRIBUTO
    (CODEMPRESA, CODTRB, DESCRICAO, INCIDENCIA,
     TIPOTRIBFISC, ABRANGENCIA, FATOR, ALIQUOTA)
  VALUES
    (1, 'IBSMUN', 'IBSMUN', 'A', 43, 'M', 0.0, 0.0);

  /* ======================================================
     ATUALIZA REGRA DE TRIBUTAÇÃO
     ====================================================== */

  UPDATE TREGRATRIBUTACAOOPERACOES R
     SET R.USAIMPORTADORXML = 'T',
         R.CODCCLASTRIB     = '000001';

  /* ======================================================
     LOOP NOS TIPOS DE MOVIMENTO
     ====================================================== */

  FOR
    SELECT DISTINCT T.CODTMV
      FROM TTRBTMV T
      INTO :VCODTMV
  DO
  BEGIN

    /* --------------------------------------------------
       3.1 Verifica se gera escrituração fiscal
       -------------------------------------------------- */
    SELECT T2.GERAESCRITURACAOFISC
      FROM TTIPOMOV2 T2
     WHERE T2.CODTIPOMOV = :VCODTMV
      INTO :VGERASPED;

    /* --------------------------------------------------
       3.2 Verifica se o movimento está inativo
       -------------------------------------------------- */
    SELECT T.INATIVO
      FROM TTIPOMOV T
     WHERE T.CODTIPOMOV = :VCODTMV
      INTO :VINATIVO;

    /* --------------------------------------------------
       3.3 Regras para NÃO inserir os tributos
       -------------------------------------------------- */
    IF (
         (VCODTMV IN (
           '1.2.02','1.2.13','1.2.14','1.2.15','1.2.16',
           '1.3.05','1.3.06',
           '2.2.18','2.2.19','2.2.21','2.3.06',
           '2.2.20','2.2.22',
           '1.2.11','1.2.13'
         ))
         OR (VGERASPED = 'F')
         OR (VINATIVO  = 'T')
       )
    THEN
    BEGIN
      /* NÃO INSERE TRIBUTOS */
    END
    ELSE
    BEGIN

      /* ----------------------------------------------
         3.4 Próximo sequencial
         ---------------------------------------------- */
      SELECT MAX(T.SEQUENCIAL)
        FROM TTRBTMV T
       WHERE T.CODTMV = :VCODTMV
        INTO :VSEQ;

      IF (VSEQ IS NULL) THEN
        VSEQ = 0;

      VSEQ = VSEQ + 1;

      /* ----------------------------------------------
         3.5 Fórmula base IBS/CBS
         ---------------------------------------------- */
      VFORM = 200;

      /* ----------------------------------------------
         3.6 IBS Estadual (IBSUF)
         ---------------------------------------------- */
      INSERT INTO TTRBTMV
        (CODEMPRESA, CODTMV, ITEMOUMOVIMENTO, CODTRB,
         ALIQUOTATRIBUTO, CODFRMBCTRIBUTO,
         ACHARALIQUOTA, SEQUENCIAL, NAOIMPORTARXML)
      VALUES
        (1, :VCODTMV, 'I', 'IBSUF',
         '0.00', :VFORM,
         'T', :VSEQ, 'F');

      VSEQ = VSEQ + 1;

      /* ----------------------------------------------
         3.7 IBS Municipal (IBSMUN)
         ---------------------------------------------- */
      INSERT INTO TTRBTMV
        (CODEMPRESA, CODTMV, ITEMOUMOVIMENTO, CODTRB,
         ALIQUOTATRIBUTO, CODFRMBCTRIBUTO,
         ACHARALIQUOTA, SEQUENCIAL, NAOIMPORTARXML)
      VALUES
        (1, :VCODTMV, 'I', 'IBSMUN',
         '0.00', :VFORM,
         'T', :VSEQ, 'F');

      VSEQ = VSEQ + 1;

      /* ----------------------------------------------
         3.8 CBS Federal
         ---------------------------------------------- */
      INSERT INTO TTRBTMV
        (CODEMPRESA, CODTMV, ITEMOUMOVIMENTO, CODTRB,
         ALIQUOTATRIBUTO, CODFRMBCTRIBUTO,
         ACHARALIQUOTA, SEQUENCIAL, NAOIMPORTARXML)
      VALUES
        (1, :VCODTMV, 'I', 'CBS',
         '0.00', :VFORM,
         'T', :VSEQ, 'F');

    END
  END
END

    

Observação — Operações com Incidência de IBS e CBS

A aplicação dos tributos da Reforma Tributária (IBS e CBS) ocorre somente em operações onerosas. Abaixo estão os principais cenários contemplados.

Vendas (com tributação)

  • Venda com NF-e e NFC-e
  • Devolução de venda (NF-e)
  • Venda com entrega futura (primeira nota que gera financeiro)
  • Emissão de CT-e
  • Emissão de MDF-e
  • Venda de ativo imobilizado (NF-e)
  • Outras operações onerosas vinculadas a vendas

Compras (com tributação)

  • Compra para revenda (NF-e)
  • Devolução de compra (NF-e)
  • Compra para uso e consumo (NF-e)
  • Compra de ativo imobilizado (NF-e)
  • Aquisição de serviços (ex: transporte, energia, água, comunicação)
  • Outras operações onerosas vinculadas a compras

Importante:

  • ❌ Movimentos de remessas, transferências entre filiais, bonificações e outras saídas sem caráter oneroso não devem ter os tributos IBS e CBS incluídos.

3.09 Confirmação dos Tributos

Cadastros → Fiscais → Tributos

Verifica se aparece cadastrados os novos tributos

3.10 Ajuste do Tipo de Operação Tributária

Edição do Movimento → Identificação → Dados Fiscais → Tipo de Operação / Regra de Tributação por Produto

Tipo de operação tributária no movimento

4. Atualização das Datas da Reforma

UPDATE GFILIAL
SET DATAHOMOLOGACAOREFORMA = '01.09.2025',
    DATAPRODUCAOREFORMA = 'dia/mes/ano';

5. Marcar Sistema como Configurado

UPDATE GFILIAL
SET DESTACATAGVITEMREFORMA = 'T';

6. Validação – XML da Nota

Gere uma nota teste e valide se o XML contém corretamente as tags de IBS e CBS como no exemplo abaixo.

<IBSCBSTot>
<vBCIBSCBS>2.20</vBCIBSCBS>
<gIBS>
  <gIBSUF>
    <vDif>0.00</vDif>
    <vDevTrib>0.00</vDevTrib>
    <vIBSUF>0.01</vIBSUF>
  </gIBSUF>
  <gIBSMun>
    <vDif>0.00</vDif>
    <vDevTrib>0.00</vDevTrib>
    <vIBSMun>0.00</vIBSMun>
  </gIBSMun>
  <vIBS>0.01</vIBS>
  <vCredPres>0.00</vCredPres>
  <vCredPresCondSus>0.00</vCredPresCondSus>
</gIBS>
<gCBS>
  <vDif>0.00</vDif>
  <vDevTrib>0.00</vDevTrib>
  <vCBS>0.02</vCBS>
  <vCredPres>0.00</vCredPres>
  <vCredPresCondSus>0.00</vCredPresCondSus>
</gCBS>
</IBSCBSTot>
<vNFTot>3.11</vNFTot>
</total>

Observações Importantes 2

Sobre a exibição de IBS e CBS na DANFE:
Caso algum cliente questione a ausência dos tributos IBS e CBS na DANFE, oriente conforme abaixo.

Atualmente, o sistema já gera corretamente no XML da nota:

No entanto, a DANFE oficial nacional segue um leiaute definido por norma técnica que, até o momento, ainda não foi atualizado oficialmente para contemplar campos específicos de IBS e CBS (como CST/CSOSN e detalhamento próprio).

Ou seja, atualmente:

Assim que o novo layout oficial da DANFE for publicado, o sistema TGA será ajustado para atender a nova exigência.

Observação Adicional 3

Em casos de necessidade operacional ou insistência do cliente para exibir os valores de IBS e CBS em algum local da DANFE, foi disponibilizada uma fórmula opcional.

Essa fórmula pode ser configurada no Tipo de Movimento, permitindo incluir os valores de IBS e CBS em texto complementar da nota.

SETVAR(
  TEXTOIR,
  C,
  "SELECT
   'Valor total do CBS dos produtos: R$ ' ||
   REPLACE(
     CAST(
       COALESCE(SUM(CASE WHEN CODTRB='CBS' THEN VALOR ELSE 0 END),0)
       AS NUMERIC(9,2)
     ),'.',','
   ) ||
   ' Valor total do IBS dos produtos: R$ ' ||
   REPLACE(
     CAST(
       COALESCE(SUM(CASE WHEN CODTRB='IBSUF' THEN VALOR ELSE 0 END),0)
       AS NUMERIC(9,2)
     ),'.',','
   )
   FROM TTRBMOV
   WHERE IDMOV=" + MVID
);

SETVAR(TEXTOIR2, C, FSQL(TEXTOIR));
TEXTOIR2
    

Atenção: essa exibição é apenas informativa e não substitui o leiaute oficial da DANFE.

visitas
Código copiado com sucesso