Cálculo DV chave de acesso da NFCom

Enviamos a NFCOM com as tags “Id” e “ide” conf JSON abaixo,

“Id”: “NFCom33250346469827000140620010000000051042567377”,
“ide”: {
“cUF”: 33,
“tpAmb”: 2,
“mod”: 62,
“serie”: 1,
“nNF”: 5,
“cNF”: “4256737”,
“cDV”: 7,
“dhEmi”: “2025-03-26T17:32:21Z”,
“tpEmis”: 1,
“nSiteAutoriz”: 0,
“cMunFG”: “3301009”,
“finNFCom”: 0,
“tpFat”: 0,
“verProc”: “1.00”
},

autorizou e retornou a chave com DV 9 assim:
“chave”: “33250346469827000140620010000000051042567379”

conferimos o nosso calculo conf modulo 11 descrito item 7.3 pg 44 do MOC(padrões) e está correto, deve ser 7 mesmo o digito e não 9.

Analisando mais detidamente concluimos que a unica coisa que poderia afetar esse calculo com os dados enviados seria se a API estivesse fazendo os calculos com a tag serie e não com a informação que vai no Id, estavamos mandando e calculando nosso digito com o valor que vai contido no Id ou seja 001, mas na tag serie vai 1(já que não é possível mandar 001 nessa tag que só aceita integer).

Refizemos um outro teste enviando a serie 111:
“Id”: “NFCom33250346469827000140621110000000071047479405”,
“ide”: {
“cUF”: 33,
“tpAmb”: 2,
“mod”: 62,
“serie”: 111,
“nNF”: 7,
“cNF”: “4747940”,
“cDV”: 5,
“dhEmi”: “2025-03-26T17:32:21Z”,
“tpEmis”: 1,
“nSiteAutoriz”: 0,
“cMunFG”: “3301009”,
“finNFCom”: 0,
“tpFat”: 0,
“verProc”: “1.00”
},

ai nesse caso retornou com o mesmo DV 5,
“chave”: “33250346469827000140621110000000071047479405”

Nossa serie será 1(1 digito).

É necessário rever como o calculo da API está sendo feito quando só tem 1 digito na serie.

No aguardo

O cálculo do dígito verificador realizado pela API está correto. Todos os campos que compõem a chave de acesso - inclusive a série - são considerados com os seus respectivos tamanhos e posições definidos no manual. Caso houvesse qualquer inconsistência nesse cálculo, a SEFAZ retornaria a rejeição com código de status 253, conforme a regra de validação obrigatória G11, descrita na página 7 do Anexo I do MOC:

Segue o cálculo detalhado:


cálculo dígito verificador.xls (29,KB)

tinhamos feito o calculo em 2 lugares e na segunda vez criamos novamente o código aleatório e não usamos o mesmo anterior por isso ficava errado, só não entendemos ou foi coincidência no teste com serie 111 ter ficado igual…nem fomos atrás para entender…kkkk

foi erro nosso, desculpe o inconveniente, está tudo correto e testado

PS: pode me passar contato comercial para negociarmos valores pela quantidade real que vamos fazer?

Boa tarde, @MarcioOliveira.

Sobre os valores, todos os nossos planos e preços estão disponíveis diretamente no nosso checkout. Por lá mesmo você pode conferir as opções, escolher o plano que melhor se encaixa e já fazer a contratação, tudo de forma rápida e prática.

Temos planos de 10, 20, 30, 100, 200, 300, 500 mil e até 1 milhão de operações fiscais mensais. Algum deles lhe atende?

Segue o link do checkout:

1 curtida

Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.