NT 2025.002-RTC v1.40: campos novos do leiaute da NF-e e correção do evento 211110 - #353
Open
edivaldoms wants to merge 3 commits into
Open
NT 2025.002-RTC v1.40: campos novos do leiaute da NF-e e correção do evento 211110#353edivaldoms wants to merge 3 commits into
edivaldoms wants to merge 3 commits into
Conversation
Adiciona ao pacote schemas os cinco campos que a v1.40 criou e que a 4.1.1 ainda nao tinha: - Ide.cIndOp (B25d) - codigo indicador do local da operacao de fornecimento - Emit.ISUFEmit (C22) - inscricao do emitente na Suframa - TCompraGov.refDFeAnt (BB05) - chaves do documento fiscal anterior, 0-99 - TDevTrib.pDevTrib (UB24a/43a/62a) - percentual de devolucao de tributo - TCIBS.GCBS.gALCZFMCBS (UB66a) - operacoes em area incentivada com aliquota zero da CBS (tpALCZFMCBS, nProcSuframa, pAliqEfetRegCBS, vTribRegCBS) A ordem no propOrder segue a sequencia do leiaute da NT, conferida por marshal de uma NF-e de exemplo. Versao publicada como 4.1.1-evoli1 no GitHub Packages; gpg.skip por padrao, já que o fork nao vai para o Maven Central. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
A classe seguia uma minuta anterior do evento 211110 (Solicitacao de Apropriacao de credito presumido). Confrontada com o e211110_v1.00.xsd do pacote "Schema dos eventos da NT 2025.002 v.1.40 - RTC", divergia em cinco pontos, cada um deles suficiente para a SEFAZ rejeitar o evento: - o grupo se chama gCredPresOper, nao gCredPres; - a base de calculo se chama vBCCredPres, nao vBC; - cCredPres e unico e fica no nivel do grupo, nao repetido dentro de gIBS e gCBS; - os subgrupos se chamam gIBSCredPres e gCBSCredPres; - tpAutor aceita "1" e "2" (o XSD enumera os dois). O detEvento gerado pela classe agora valida contra o XSD oficial. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adequa a lib à NT 2025.002-RTC v1.40 (leiaute publicado em 10/07/2026, schemas dos eventos em 27/07/2026), cujo prazo de produção é 03/08/2026 — data em que o preenchimento dos grupos IBS/CBS deixa de ser facultativo e passa a ser exigido por regra de validação. A 4.1.1 está no nível v1.30 e não tem nenhum dos campos abaixo.
São dois assuntos independentes, um commit cada.
1. Campos novos do leiaute
Cinco campos que a v1.40 acrescentou, todos em classes que já existiam:
TNFe.InfNFe.IdecIndOpindIntermedTNFe.InfNFe.EmitISUFEmitCRTTCompraGovrefDFeAnt(0–99)tpOperGovTDevTribpDevTribvDevTribTCIBS.GCBSgALCZFMCBS(grupo novo)gRedevCBSgALCZFMCBSentrou como classe aninhada deTCIBS.GCBS, comtpALCZFMCBS,nProcSuframa,pAliqEfetRegCBSevTribRegCBS. Vale notar que oleiauteNFe_v4.00.xsdtem dois tipos parecidos:TALCZFMCBS, de dois elementos, eTALCZFMCBS_NFe, de quatro. A NF-e chega nele porTTribNFe->TCIBS_NFe->TALCZFMCBS_NFe, então é o de quatro.Em todos os casos o
propOrderdo@XmlTypefoi atualizado junto — o XSD éxs:sequence, e ordem errada é rejeição 215.ObjectFactoryeXsdEnumnão foram tocados: nenhum dos campos é elemento de topo.2.
DetEvento211110conforme o XSD oficialA classe do evento 211110 (Solicitação de Apropriação de crédito presumido) seguia uma minuta anterior à publicação de 27/07/2026. Confrontada com o
e211110_v1.00.xsd, divergia em cinco pontos, cada um deles suficiente para a SEFAZ rejeitar o evento:gCredPresgCredPresOpervBCvBCCredPrescCredPresrepetido dentro degIBSe degCBScCredPresúnico, no nível do grupogIBS/gCBSgIBSCredPres/gCBSCredPrestpAutoraceitando só"2""1"ou"2"É uma quebra de API para quem já usava a classe, mas o código anterior não tinha como produzir um XML aceito pela SEFAZ.
Verificação
mvn test: 2157 testes, 0 falhas.leiauteNFe_v4.00.xsddo PL_010e v1.02 e contra os XSDs do pacote "Schema dos eventos da NT 2025.002 v.1.40 - RTC" — inclusive a ordem dos elementos dos grupos IBS/CBS.e112110ee211110validam.Observações
4.1.2-SNAPSHOTnopom.xmlestá aí só para eu conseguir consumir o fork enquanto isso não é liberado; fique à vontade para descartar essa linha.gpBioDiferenca,adRemIS) ficou de fora: produção só em 03/11/2026 e o schema ainda não saiu.schemas.zipnão foi atualizado — pelo que vi só os testes da própria lib o usam. Se preferir, atualizo aqui.