Implementação Fiscal 2026 – JuxtaPOS V3 IBS / CBS – NFC-e e NF-e

1️⃣ Objetivo desta documentação

Este documento descreve:

  • O que foi alterado no JuxtaPOS V3 para suportar a Reforma Tributária 2026

  • Como o sistema continua emitindo 2025 normalmente

  • Como “girar a chave” para ativar as regras de 2026

  • Onde ficam os pontos críticos de código

  • Como testar sem transmitir para a SEFAZ

Meta: permitir ativar ou desativar 2026 sem recompilar o sistema.


2️⃣ Conceito-chave da implementação (Visão Geral)

A implementação segue este princípio:

O sistema passa a suportar 2026, mas só aplica as regras quando a chave estiver ligada.

Em termos práticos:

  • O código 2025 continua intacto

  • O código 2026 existe em paralelo

  • Um controle central (FiscalRulesVersion) decide qual regra aplicar


3️⃣ Controle de versão fiscal (o coração de tudo)

 Variável central

 
FiscalRulesVersion: Integer;

Valores possíveis:

Valor Significado
2025 Regra atual (ICMS / PIS / COFINS)
2026 Nova regra (IBS / CBS)

4️⃣ Como o sistema descobre qual regra usar

 Arquivo de configuração (chave liga/desliga)

Criamos um arquivo externo, para não depender de recompilação.

Exemplo:

 
FiscalRules.ini

 Exemplo de conteúdo:

 
[FISCAL] FiscalRulesVersion=2025

 Para ativar 2026:

 
[FISCAL] FiscalRulesVersion=2026

Trocar para 2026 = editar o INI e reiniciar o sistema


5️⃣ Leitura da chave no sistema

Na inicialização do módulo fiscal:

 
FiscalRulesVersion := ReadFiscalRulesVersion;

Com fallback seguro:

 
if FiscalRulesVersion <> 2026 then FiscalRulesVersion := 2025;

 Isso garante:

  • Nunca cair em versão inválida

  • Segurança para clientes que não atualizarem o INI


6️⃣ Estrutura do código (arquitetura)

Separação clara por versão

 
Fiscal ├─ ApplyFiscalRules2025() ├─ ApplyFiscalRules2026() ├─ GenerateNFCe() ├─ GenerateNFe()

Chamada central:

 
if FiscalRulesVersion = 2026 then ApplyFiscalRules2026() else ApplyFiscalRules2025();

7️⃣ O que muda em 2026 (tecnicamente)

 O que NÃO é mais usado

  • ICMS

  • PIS

  • COFINS

 O que entra

  • IBS (Imposto sobre Bens e Serviços)

  • CBS (Contribuição sobre Bens e Serviços)


8️⃣ Implementação dos novos impostos (IBS / CBS)

Inicialização obrigatória (evita lixo de memória)

 
// === BEGIN FIX 2025-12-29 (PLAN A NFe init) === TotalIBS := 0; TotalCBS := 0; // === END FIX ===

Nunca remover isso
Sem essa inicialização surgem erros intermitentes e totais incorretos.


9️⃣ Aplicação por item (NFe / NFCe)

Dentro do loop de produtos:

 
ItemIBS := CalculateIBS(Item); ItemCBS := CalculateCBS(Item); TotalIBS := TotalIBS + ItemIBS; TotalCBS := TotalCBS + ItemCBS;

10 - Totais no XML

Preenchimento correto:

 
vIBS := TotalIBS; vCBS := TotalCBS;

 Estes campos só existem quando FiscalRulesVersion = 2026


1️⃣1️⃣ Transmissão para SEFAZ (controle de testes)

Durante testes:

  • O XML é gerado

  • A transmissão pode ser bloqueada

  • Nenhum documento fiscal real é emitido

 
if IsTestMode then Exit; // gera XML, não transmite

1️⃣2️⃣ Como testar corretamente (checklist)

✔️ Teste técnico

  • Gerar NFC-e 2026

  • Gerar NF-e 2026

  • Verificar XML

  • Confirmar tags IBS / CBS

  • Conferir totais

✔️ Teste funcional

  •  Produto com imposto

  • Produto isento

  • Desconto

  • Troco

  • Cancelamento


1️⃣3️⃣ Como “girar a chave” para 2026 (PASSO A PASSO)

 Em produção (quando for autorizado):

  1. Fechar o JuxtaPOS

  2. Editar o arquivo:

     
    FiscalRules.ini
  3. Alterar:

     
    FiscalRulesVersion=2026
  4. Salvar

  5. Reabrir o JuxtaPOS

Pronto. Sistema operando em 2026.


Esta resposta lhe foi útil?

0 Usuários acharam útil