Rejeição 587: Usar somente o namespace padrão da NF-e
O XML declara um namespace estranho. Veja qual é o único aceito.
A Rejeição 587 acontece quando o XML declara um namespace diferente do padrão da NF-e.
Por que acontece a Rejeição 587
O namespace identifica a qual vocabulário as marcações do arquivo pertencem. A NF-e tem um só, definido pela norma — e é ele que precisa constar.
Declarar outro faz o arquivo dizer que suas marcações pertencem a um vocabulário diferente. Ainda que os nomes coincidam, a SEFAZ não os reconhece como sendo da NF-e.
É parente próxima da rejeição que proíbe prefixo de namespace, e tem a mesma raiz: a assinatura digital é calculada sobre os bytes exatos do arquivo. Namespaces adicionais mudam esses bytes.
As causas mais comuns:
Biblioteca XML genérica. É a causa principal. Ferramentas de geração adicionam namespaces próprios automaticamente.
Namespace de assinatura no lugar errado. A assinatura tem o seu namespace, que é legítimo — mas ele pertence ao bloco da assinatura, não ao restante do documento.
Arquivo processado por transformação. Uma conversão reescreveu ou acrescentou declarações.
Montagem própria do XML. Sistema que copia um exemplo com namespace extra.
Essa rejeição pertence ao mundo das integrações.
Como resolver a Rejeição 587
- 1Identifique quem gerou o XML. Sendo emissão pelo próprio sistema, o caso é atípico e deve ser reportado.
- 2Sendo integração, a origem precisa declarar apenas o namespace padrão da NF-e.
- 3Reenvie.
Como evitar a Rejeição 587
Use biblioteca que implemente o perfil da NF-e, e não uma solução genérica adaptada.
Se a Rejeição 587 continuar
Rejeições vizinhas da mesma origem: uso de prefixo de namespace, XML mal formado, codificação diferente de UTF-8, caracteres de edição entre as marcações, e falha no schema.
Se a mensagem mudar para assinatura divergente do calculado, o namespace já foi aceito e o arquivo foi alterado depois de assinado.
Persistindo, abra um chamado informando o número da nota e qual sistema gerou o XML.
Referência: MOC 7.0 — Anexo I, regra de validação D01d.