Repository navigation
Notas de versão
v4.2.0
Primeira versao com os grupos da reforma tributaria (IBS/CBS/IS) conforme a NT
2025.002-RTC. Vindo da 4.1.3, leia as duas primeiras secoes: ha quebra de compilacao, e
ha mudanca de valor emitido que nao aparece como erro de compilacao.
Quebra a compilacao
-
TMonofasiafoi reestruturado pela SEFAZ. IBS e CBS passaram a ter grupos proprios,
cada um em uma de duas modalidades mutuamente exclusivas (ad rem ou ad valorem), e os
grupos de valores desceram um nivel:Na 4.1.3 Agora TMonofasia.getGMonoPadrao()TMonofasia.getG{IBS,CBS}Mono{AdRem,AdValorem}().getGMonoPadrao()TMonofasia.getGMonoReten()idem, um nivel abaixo TMonofasia.getGMonoRet()idem, um nivel abaixo TMonofasia.GMonoPadraoe irmas, como tipoTMonofasia.GIBSMonoAdRem.GMonoPadraoe os outros tres gruposTMonofasia.getGMonoDif()eTMonofasia.GMonoDifremovidos do Schema, sem equivalente Classes novas:
GIBSMonoAdRem,GIBSMonoAdValorem,GCBSMonoAdRem,
GCBSMonoAdValoremeGpBioDiferenca. Quem le ou constroi esses objetos nao compila
sem ajustar.Fora disso nada quebra: nenhum outro tipo publico de
schemasouschemas_eventos
foi removido ou renomeado, e nenhum metodo publico deIbsCbsUtildeixou de existir.
Muda valor emitido sem quebrar a compilacao
Estas passam calado: compilam, rodam, e emitem XML diferente do que a 4.1.3 emitia.
Quem gera monofasia deve comparar um XML antes e depois antes de subir.
qBCMonoeqBCMonoRetenpassam a usar a quantidade tributavel (qTrib) e nao mais
a comercial (qCom). UB86a pede a unidade de medida estabelecida na legislacao, e as
formulas da NT sao todas sobreqTrib. Quem vende em unidade diferente da tributavel
emitia imposto errado pelo fator de conversao, sem rejeicao.vTotIBSMonoItemevTotCBSMonoItemdeixam de incluir o retido anteriormente,
seguindo UB105a-10 e UB105b-10. Os totais da nota continuam trazendo as tres parcelas
em tags separadas.vNFTotdeixa de somar IBS e CBS em 2025 e 2026. W60-10 define ovNFTotcomo a soma
dosvItem, e a Excecao 1 da VB01-10 mantem ovItemigual ao valor do item nesses
dois anos. Quem emitia nota de 2025 ou 2026 informavavNFTotmaior que o devido. De
2027 em diante ovNFTotpassa a somar tambem ovISe as parcelas padrao e de
retencao da monofasia, que antes ficavam de fora.- A modalidade da monofasia passa a ser derivada do ano de emissao (UB85a e UB95a): em
2026 IBS e CBS sao ad valorem; em 2027 e 2028 o IBS continua ad valorem e a CBS passa
a ad rem; de 2029 ambos sao ad rem. Muda qual grupo sai no XML. Informar a modalidade
errada e rejeitado: cStat 1219, 1220, 1245, 1246 e 1259. vIBSDiferencaevCBSDiferencapassam a exigirsetAdRemIBSBioCombe
setAdRemCBSBioComb, a aliquota do biocombustivel, que e coluna propria da tabela e
nao se confunde com a do produto (UB89b-10). Sem informa-la o valor nao e calculado:
quem dependia do calculo anterior, que usava a aliquota do produto, passa a receber
0,00.qBCBioCombdogpBioDiferencapassa a ser calculado pela formula da NT (UB89a-10 e
UB94a-10), a partir dopBiodo item e dopBioObriginformado emsetPBioObrig.- O grupo
gMonoDifnao e mais preenchido, porque saiu do Schema. O indicador
MonofasiaDiferimentodocClassTribdeixou de ter grupo correspondente. - NFCe do RN: o dominio mudou de
set.rn.gov.brparasefaz.rn.gov.br, e as URLs
passaram a https, nos dois ambientes. Isso entra no XML, na URL do QR Code. Em
homologacao aURL-ConsultaNFCeapontava para producao e passou a apontar para
hom.nfce.sefaz.rn.gov.br.
Adicoes
- Valores monofasicos de IBS/CBS passam a ser calculados a partir das aliquotas
informadas, como ja acontecia nos outros grupos; na 4.1.3 saiam fixos em0.00.
Setters:setPAliqMonoUF,setPAliqMonoMun,setPAliqMonoCBS,
setPAliqMonoRetenIBS,setPAliqMonoRetenCBS,setAdRemIBS,setAdRemCBS,
setAdRemIBSBioComb,setAdRemCBSBioComb. IbsCbsUtil.setDhEmie construtores de tres argumentos derivam o ano de emissao do
dhEmida nota. O ano governa a modalidade da monofasia e o conteudo dovNFTot, e a
SEFAZ valida os dois pelodhEmi. A forma mais segura recebe a propria
TNFe.InfNFee le oide/dhEmipor dentro, sem deixar passar data que nao seja a do
documento. O valor e validado contra o formatoTDateTimeUTCdo Schema -- ano 20XX,
segundos obrigatorios, deslocamento de fuso explicito de -11:00 a +12:00 -- e nulo,
vazio ou fora do formato lancaNfeExceptionem vez de cair no relogio da maquina.
setAnoEmissao(int)continua valendo, com default pelo ano corrente, que erra a nota
montada do outro lado da virada do ano (dhEmi de 31/12 montado em 01/01).
setDhEmi(null)literal nao compila, por ambiguidade entre as sobrecargas.setPBioObrig, para o percentual obrigatorio de biocombustivel na mistura.- Campos novos em
ClassificacaoTributariaDTO:IndDIR,IndDUIMP,
IndPercentualDiferencaBioCombustivel,TipoDoacaoeTipoReceitaBrutaSN.
Correcoes que preservam comportamento
- O namespace do XMLDSig nos tipos de assinatura de
schemas_eventospassa a sobreviver
a regeneracao dos Schemas. Sem isso, a correcao doprocEventocomSignaturevazia
feita na 4.1.3 voltava a se perder a cada regeneracao.
Limitacoes conhecidas
- Aliquotas e valores monofasicos so saem preenchidos se o integrador informar as
aliquotas: a monofasia tem aliquota propria por produto, que nao e a do regime regular
dos setterspAliqIbsUf,pAliqIbsMunepAliqCbs. vIBSMonoRet(UB93a-10) nao e calculado: depende de tabelas de referencia que a SEFAZ
ainda nao publicou.
Schemas e build
- Schemas atualizados (
leiauteNFe_v4.00,nfe_v4.00,DFeTiposBasicos_v1.00) e
schemas.zipregerado. - Regeneracao das classes JAXB documentada em
BUILD.md, com o script
scripts/regenerate-jaxb.ps1.
v4.1.3
- Correcao de Base de calculo Cclasstrib icms 70
- Correcao com reuso de cclasstrib
- Correcao proc Eventos sem signature