Posts com as Tags: dígito verificador nfe

CÁLCULO DO DÍGITO VERIFICADOR DA CHAVE DE ACESSO DA NF-e 2.0 em PHP (Módulo 11)

21 abr

Função para calcular o Dígito verificador da Nfe 2.0 e versões anteriores.

Está função gera o dígito verificador apartir do número da NFe para adicionar junto ao seu Id. Para saber como gerar  a chave (Id) da NFe acesse o link:
http://www.rafaeltheodoro.com.br/nfe/chave-de-acesso-nfe-2-0-id-nfe-2-0/


function dvCalcMod11($key_nfe) {

 $base = 9;
 $result = 0;
 $sum = 0;
 $factor = 2;

 for ($i = strlen($key_nfe); $i > 0; $i--) {
 $numbers[$i] = substr($key_nfe,$i-1,1);
 $partial[$i] = $numbers[$i] * $factor;
 $sum += $partial[$i];
 if ($factor == $base) {
 $factor = 1;
 }
 $factor++;
 }

 if ($result == 0) {
 $sum *= 10;
 $digit = $sum % 11;
 if ($digit == 10) {
 $digit = 0;
 }
 return $digit;
 } elseif ($result == 1){
 $rest = $sum % 11;
 return $rest;
 }
 }

Abs,
Rafael Theodoro