Skip to content

feat(reforma): suporte a gIBSCBSMono para CST 620 monofasica [DEV-1929]#2

Merged
felps-dev merged 2 commits intomasterfrom
feat/gibscbsmono
Apr 23, 2026
Merged

feat(reforma): suporte a gIBSCBSMono para CST 620 monofasica [DEV-1929]#2
felps-dev merged 2 commits intomasterfrom
feat/gibscbsmono

Conversation

@felps-dev
Copy link
Copy Markdown
Collaborator

Resumo

Adiciona suporte ao grupo <gIBSCBSMono> para produtos com CST IBS/CBS 620 (tributacao monofasica), conforme NT 2025.002-RTC.

SEFAZ rejeita (cStat 1026 - "Aliquota do IBS da UF invalida") qualquer NF-e com CST 620 emitida com o grupo padrao <gIBSCBS> (pIBSUF/pIBSMun/pCBS). Para esses produtos a spec exige <gIBSCBSMono> com qBCMono, adRemIBS, vIBSMono, adRemCBS e vCBSMono.

Escopo

  • NotaFiscalProduto ganha 5 novos atributos: ibscbs_q_bc_mono, ibscbs_ad_rem_ibs, ibscbs_v_ibs_mono, ibscbs_ad_rem_cbs, ibscbs_v_cbs_mono.
  • _serializar_ibscbs roteia para novo helper _serializar_gibscbs_mono quando CST in _IBSCBS_CST_MONOFASICO (por ora so "620"; 630/640 virao depois).
  • CST 620 removido de _IBSCBS_CST_TRIBUTADOS (agora pertence ao set monofasico) para evitar ambiguidade/duplicacao.
  • Docs atualizadas: gIBSCBSMono sai da lista "Nao inclui" e ganha secao propria detalhando os 5 campos.

Estrutura XML gerada (CST 620)

<IBSCBS>
    <CST>620</CST>
    <cClassTrib>620006</cClassTrib>
    <gIBSCBSMono>
        <qBCMono>18.0000</qBCMono>
        <adRemIBS>0.0000</adRemIBS>
        <vIBSMono>0.00</vIBSMono>
        <adRemCBS>0.0000</adRemCBS>
        <vCBSMono>0.00</vCBSMono>
    </gIBSCBSMono>
</IBSCBS>

Durante o Teste de Carga 2026 os ad rem ainda nao foram publicados pela SEFAZ, entao os valores ficam zero - o grupo e emitido corretamente mesmo assim.

Testes

  • 3 novos testes em tests/test_nfe_serializacao_reforma_tributaria.py:
    • test_cst620_monofasica_emite_gibscbsmono — cenario GLP Botijao 13KG (CST 620, qBCMono 18, ad rems zero).
    • test_cst620_monofasica_com_valores_calculados — ad rems nao-zero, verifica os 5 campos.
    • test_cst000_nao_emite_gibscbsmono_regressao — CST 000 continua gerando <gIBSCBS> com pIBSUF/pIBSMun/pCBS.
  • Suite completa: 146 passed (exceto 3 NFSe-optional que faltam pyxb, nao relacionadas).

Contexto

Consumido pelo repositorio nuvelbr/api via bump de commit em requirements.txt. Ver DEV-1929 no Linear.

felps-dev and others added 2 commits April 23, 2026 13:19
Adiciona suporte a tributacao monofasica IBS/CBS conforme NT 2025.002-RTC.
Produtos com CST 620 (combustiveis e demais itens monofasicos) agora emitem
<gIBSCBSMono> com qBCMono, adRemIBS, vIBSMono, adRemCBS e vCBSMono no lugar
do grupo padrao <gIBSCBS> (pIBSUF/pIBSMun/pCBS).

Contexto: SEFAZ rejeita (cStat 1026 - "Aliquota do IBS da UF invalida") qualquer
NF-e com CST 620 emitida com gIBSCBS padrao, pois a spec exige o grupo
gIBSCBSMono para regime monofasico.

Mudancas:
- NotaFiscalProduto ganha 5 novos atributos (ibscbs_q_bc_mono, ibscbs_ad_rem_ibs,
  ibscbs_v_ibs_mono, ibscbs_ad_rem_cbs, ibscbs_v_cbs_mono).
- _serializar_ibscbs roteia para _serializar_gibscbs_mono quando CST in
  _IBSCBS_CST_MONOFASICO (por ora so "620"; 630/640 virao no futuro).
- CST 620 removido de _IBSCBS_CST_TRIBUTADOS (agora pertence ao conjunto
  monofasico) para evitar emissao duplicada.
- Docs atualizadas: gIBSCBSMono removido da lista "Nao inclui".
- 3 novos testes (CST 620 com valores zero, CST 620 com ad rem, regressao CST 000).
@felps-dev felps-dev merged commit 9133d24 into master Apr 23, 2026
15 checks passed
@felps-dev felps-dev deleted the feat/gibscbsmono branch April 23, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant