5.3 Chave de acesso da NF-e

Até a versão 1.10 do layout da NF-e a chave de acesso da Nota Fiscal Eletrônica foi representada por uma sequencia de 44 caracteres numéricos, representados da seguinte forma:

Código da UF AAMM da emissão CNPJ do emitente Modelo Série Número da NF-e Código numérico DV
Quantidade de caracteres 02 04 14 02 03 09 09 01

A chave de acesso da Nota Fiscal Eletrônica não existe como a sequencia acima descrita no leiaute da NF-e, devendo ser composta pelos seguintes campos que se encontram dispersos no leiaute da NF-e (vide anexo I):

  • cUF – Código da UF do emitente do Documento Fiscal
  • AAMM – Ano e Mês de emissão da NF-e
  • CNPJ – CNPJ do emitente
  • mod – Modelo do Documento Fiscal
  • serie – Série do Documento Fiscal
  • nNF – Número do Documento Fiscal
  • cNF – Código Numérico que compõe a Chave de Acesso
  • cDV – Dígito Verificador da Chave de Acesso

A partir da versão 2.0 do leiaute da NF-e, o campo tpEmis (forma de emissão da NF-e) passou a compor a chave de acesso da seguinte forma:

Código da UF AAMM da emissão CNPJ do emitente Modelo Série Número da NF-e Forma de emissão da NF-e Código

numérico

 DV
Quant. de caracteres 02 04 14 02 03 09 01 08 01

O tamanho do campo cNF – código numérico da NF-e foi reduzido para oito posições para não alterar o tamanho da chave de acesso da NF-e de 44 posições, que passa a ser composta pelos seguintes campos que se encontram dispersos na NF-e:

  • cUF – CÓdigo da UF do emitente do Documento Fiscal
  • AAMM – Ano e Mês de emissão da NF-e
  • CNPJ – CNPJ do emitente
  • mod – Modelo do Documento Fiscal
  • serie – Série do Documento Fiscal
  • nNF – Número do Documento Fiscal
  • tpEmis — forma de emissão da NF-e
  • cNF – CÓdigo Numérico que compõe a Chave de Acesso
  • cDV – Dígito Verificador da Chave de Acesso

O Dígito Verificador (DV) irá garantir a integridade da chave de acesso, protegendo-a principalmente contra digitações erradas.

5.4 Cálculo do Dígito Verificador da Chave de Acesso da NF-e

O dígito verificador da chave de acesso da NF-e é baseado em um cálculo do módulo 11. 0 módulo 11 de um número é calculado multiplicando-se cada algarismo pela sequência de multiplicadores 2,3,4,5,6,7,8,9,2,3, …, posicionados da direita para a esquerda.

A somatória dos resultados das ponderações dos algarismos é dividida por 11 e o DV (dígito verificador) será a diferença entre o divisor (11) e o resto da divisão:

  • DV = Ii – (resto da divisão)

Quando o resto da divisão for O (zero) ou I (um), o DV deverá ser igual a O (zero).
Exemplo: consideremos que a chave de acesso tem a seguinte sequência de caracteres:

** Modulo 11
	_1 =  VAL(SUBSTR(_chavenf, 1,1))*4
	_2 =  VAL(SUBSTR(_chavenf, 2,1))*3
	_3 =  VAL(SUBSTR(_chavenf, 3,1))*2
	_4 =  VAL(SUBSTR(_chavenf, 4,1))*9
	_5 =  VAL(SUBSTR(_chavenf, 5,1))*8
	_6 =  VAL(SUBSTR(_chavenf, 6,1))*7
	_7 =  VAL(SUBSTR(_chavenf, 7,1))*6
	_8 =  VAL(SUBSTR(_chavenf, 8,1))*5
	_9 =  VAL(SUBSTR(_chavenf, 9,1))*4
	_10 = VAL(SUBSTR(_chavenf,10,1))*3
	_11 = VAL(SUBSTR(_chavenf,11,1))*2
	_12 = VAL(SUBSTR(_chavenf,12,1))*9
	_13 = VAL(SUBSTR(_chavenf,13,1))*8
	_14 = VAL(SUBSTR(_chavenf,14,1))*7
	_15 = VAL(SUBSTR(_chavenf,15,1))*6
	_16 = VAL(SUBSTR(_chavenf,16,1))*5
	_17 = VAL(SUBSTR(_chavenf,17,1))*4
	_18 = VAL(SUBSTR(_chavenf,18,1))*3
	_19 = VAL(SUBSTR(_chavenf,19,1))*2
	_20 = VAL(SUBSTR(_chavenf,20,1))*9
	_21 = VAL(SUBSTR(_chavenf,21,1))*8
	_22 = VAL(SUBSTR(_chavenf,22,1))*7
	_23 = VAL(SUBSTR(_chavenf,23,1))*6
	_24 = VAL(SUBSTR(_chavenf,24,1))*5
	_25 = VAL(SUBSTR(_chavenf,25,1))*4
	_26 = VAL(SUBSTR(_chavenf,26,1))*3
	_27 = VAL(SUBSTR(_chavenf,27,1))*2
	_28 = VAL(SUBSTR(_chavenf,28,1))*9
	_29 = VAL(SUBSTR(_chavenf,29,1))*8
	_30 = VAL(SUBSTR(_chavenf,30,1))*7
	_31 = VAL(SUBSTR(_chavenf,31,1))*6
	_32 = VAL(SUBSTR(_chavenf,32,1))*5
	_33 = VAL(SUBSTR(_chavenf,33,1))*4
	_34 = VAL(SUBSTR(_chavenf,34,1))*3
	_35 = VAL(SUBSTR(_chavenf,35,1))*2
	_36 = VAL(SUBSTR(_chavenf,36,1))*9
	_37 = VAL(SUBSTR(_chavenf,37,1))*8
	_38 = VAL(SUBSTR(_chavenf,38,1))*7
	_39 = VAL(SUBSTR(_chavenf,39,1))*6
	_40 = VAL(SUBSTR(_chavenf,40,1))*5
	_41 = VAL(SUBSTR(_chavenf,41,1))*4
	_42 = VAL(SUBSTR(_chavenf,42,1))*3
	_43 = VAL(SUBSTR(_chavenf,43,1))*2

	_somatorio = _1 + _2 + _3 + _4 + _5 + _6 + _7 + _8 + _9 + _10 +;
		_11 + _12 + _13 + _14 + _15 + _16 + _17 + _18 + _19 + _20 +;
		_21 + _22 + _23 + _24 + _25 + _26 + _27 + _28 + _29 + _30 +;
		_31 + _32 + _33 + _34 + _35 + _36 + _37 + _38 + _39 + _40 +;
		_41 + _42 + _43

	_resto = INT(MOD(_somatorio,11))
	IF _resto = 0 OR _resto = 1
		_dv = 0
	ELSE
		_dv = 11 - _resto
	ENDIF
	_chavenf	= _chavenf + ALLTRIM(STR(_dv))

Somatória das ponderações = 644.
Dividindo a somatória das ponderações por 11 teremos, 644 Ill = 58 restando 6.
Como o dígito verificador DV = 11 – (resto da divisão), portando 11 -6 = 5.
Neste caso o DV da chave de acesso da NF-e é igual a “5”, valor este que deverá compor a chave de acesso totalizando a uma sequência de 44 caracteres.

Print Friendly, PDF & Email

Sobre o Autor