Skip to content

deploy 09/11: Simples Nacional (NT 2026.005) + split payment (NT 2026.006) + leitura da resposta de evento - #92

Open
rhfranzoni wants to merge 5 commits into
masterfrom
deploy/nts-out-2026
Open

rhfranzoni wants to merge 5 commits into
masterfrom
deploy/nts-out-2026

Conversation

@rhfranzoni

Copy link
Copy Markdown

Deploy de produção de 09/11/2026: lib da NF-e (NTs de outubro/2026)

PR único com as mudanças da lib usadas pelo deploy de segunda-feira do product-invoice. Mesclar antes do PR do product-invoice, que precisa apontar o submódulo lib/Zeus.Net.NFe.NFCe para um commit da master.

Commit Conteúdo PR de origem
792ecf49 Campos do Simples Nacional da NT 2026.005 (tpRegimeIBSCBS, cAtivSN, gTribSN) branch feat/nt2026005-simples-nacional (não tinha PR)
247dc865 Split payment da NT 2026.006: grupo gPgtoVinc e evento 110300 (PL_010g) #91
8f9a3ecf Resposta de evento com valor fora do enum (cOrgao ausente) não derruba mais a recepção: ObterXmlStringOuRecebido devolve o XML recebido, e retEvento nulo vira lista vazia #91

Base: master atual (nenhum commit da master fora desta branch). Head 51817128, o mesmo commit do submódulo nas integrações de staging do product-invoice.

Validação

  • Lib compilada e testada por meio do product-invoice (referência de projeto): suíte de domínio e testes de leitura da resposta de evento (EventResponseReadingTests, product-invoice#902).
  • Staging, de 04 a 05/11, com este commit: NF-e com Simples Nacional e com gPgtoVinc autorizadas na SVRS; eventos 112110 a 112150 e 110001 registrados com 135; o 110300 chega à SVRS e a recusa (215) é lida sem travar o evento.
  • Serialização do split payment conferida contra os XSD do PL_010g (detalhes no feat(nfe): split payment da NT 2026.006 — grupo gPgtoVinc e evento 110300 (PL_010g) #91).

Depois do merge

🤖 Generated with Claude Code

rhfranzoni and others added 5 commits November 4, 2026 11:18
… cAtivSN, gTribSN)

- emit/tpRegimeIBSCBS (C21a, 0-1) com o enum TipoRegimeIbsCbs (1 a 4).
- prod/cAtivSN (I17d, 0-1) com o enum CodigoAtividadeSimplesNacional (01, 02, 03, 04, 90).
- IBSCBS/gTribSN (UB115a, 0-1) fora da choice, depois do gAjusteCompet: gIBSSN (0-1) e gCBSSN (1-1),
  alíquota com 4 casas e valor com 2. A ordem do gEstornoCred e das choices seguintes passa a 9-11.
- IBSCBSTot/gTribSN (W59h) com vIBSSN e vCBSSN.

O ENCAT ainda não publicou o XSD da NT; os nomes e posições seguem o leiaute da NT v1.00.
Campos opcionais: sem valor, nada muda no XML.

Refs nfe/dfetech-product-invoice-api#890

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…300 Vinculação Pagamento)

NT 2026.006 v1.01, conforme o XSD do PL_010g v1.03:

- infNFe: grupo YC gPgtoVinc (tipo TPgtoVinc) logo depois de infIntermed e antes de infAdic.
  gPgto (1-99) com atributos nPag e idTransacao e elementos tpMeioPgto, CNPJReceb e CNPJBasePSP.
  Nulo não é serializado: a nota sem o grupo sai igual à de hoje.
- Evento 110300 "Vinculação Pagamento" (autor emitente, NF-e e NFC-e):
  NFeTipoEvento.TeNfeVinculacaoPagamento, ServicoNFe.RecepcaoEventoVinculacaoPagamento,
  endereço SVRS de RecepcaoEvento4 (o mesmo dos eventos RTC) para os modelos 55 e 65,
  versão 1.00, schema e110300_v1.00.xsd no Validador.
- detEvento.gPgto (gPgtoEvento, tipo TEventoPgto: só o atributo idTransacao, sem nPag),
  com ShouldSerialize para não afetar os demais eventos.
- ServicosNFe.RecepcaoEventoVinculacaoPagamento(idLote, sequenciaEvento, cpfCnpj, chaveNFe,
  nProt, pagamento, dataHoraEvento, ufAutor, versaoAplicativo), no molde do 110001 (cOrgao 92).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…al (NT 2026.005)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…epção

A recepção de eventos reserializava o retEnvEvento desserializado da resposta.
Quando a SEFAZ responde sem cOrgao (vira 0) ou com valor que o enum Estado não
conhece, o XmlSerializer lançava "Instance validation error: '0' is not a valid
value for Estado" e a resposta real se perdia; o chamador tratava como falha
transitória e reenviava o evento (visto no 110300 contra a SVRS de homologação).

Agora ObterXmlStringOuRecebido devolve o XML recebido quando o objeto não pode
ser serializado, e a falta de retEvento na resposta não lança na montagem dos
procEventoNFe. Vale para RecepcaoEventoAsync e RecepcaoEventoEAssinaAsync.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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