Rejeição 227: Erro na Chave de Acesso – Campo Id – falta a literal NFe
Descrição oficial da SEFAZ: Erro na Chave de Acesso – Campo Id – falta a literal NFe
O que significa
O atributo Id da tag infNFe está fora do formato exigido: ele precisa ser a literal NFe seguida dos 44 dígitos da chave de acesso, sem espaço e sem separador.
Por que acontece
Quase sempre é o sistema montando o Id só com os 44 dígitos, sem o prefixo. Também ocorre com o prefixo escrito em caixa errada (nfe, NFE), com espaço antes dos dígitos, ou com a chave truncada por concatenação malfeita.
Como resolver
Confira o valor do atributo Id no XML rejeitado: ele tem que ter 47 caracteres, sendo os três primeiros exatamente NFe e o resto só dígitos. Corrija a rotina que monta o Id, gere o XML de novo, assine e retransmita. A assinatura referencia esse Id, então o arquivo tem obrigatoriamente que ser reassinado depois da correção.
Como evitar
Monte o Id em um único ponto do código, a partir da chave já calculada, e valide o tamanho antes de assinar.