TL;DR — Resumo Rápido
Erro de validação de addenda CFDI: corrija erros de XML, namespace incorreto, esquema XSD e rejeição do PAC ao gerar faturas com addenda no Aspel SAE.
Ao enviar uma fatura eletrônica para o Walmart, Liverpool ou Volkswagen do México, o sistema retorna “Error de validación en la addenda” (erro de validação na addenda) ou o portal do fornecedor rejeita o CFDI indicando que a addenda não corresponde ao esquema esperado. Esse erro é frequente ao configurar pela primeira vez a addenda de um novo cliente ou quando o cliente atualiza seus requisitos. Neste artigo explicamos o que são addendas, por que falham e como resolver o problema passo a passo no Aspel SAE e em outros sistemas de faturação.
O Erro
As mensagens de erro relacionadas com addendas aparecem em diferentes momentos do processo de faturação:
- “Error de validación en la addenda” — mensagem genérica no Aspel SAE ao tentar gerar o CFDI
- “Namespace não declarado” ou “Prefix not bound” — o XML da addenda referencia um namespace não definido no cabeçalho do CFDI
- “O elemento ‘Addenda’ não é válido de acordo com o seu DTD/Esquema” — a estrutura XML não corresponde ao XSD esperado pelo cliente
- “CFDI rejeitado pelo portal — addenda não reconhecida” — o CFDI é carimbado corretamente pelo PAC, mas o portal do cliente o rejeita na sua própria validação
- “Campo obrigatório ausente na addenda” — falta um elemento obrigatório definido no XSD do cliente (por exemplo, o número de ordem de compra na addenda do Walmart)
- “Versão de addenda não suportada” — o cliente atualizou seu XSD e o sistema ainda gera a versão anterior
Esses erros aparecem ao gerar faturas em Faturação > Faturas quando o cliente tem addenda configurada, ou ao carregar o XML no portal de fornecedores do cliente após o carimbo.
Causa do Problema
As addendas são extensões XML opcionais que grandes compradores corporativos exigem de seus fornecedores para incluir informações adicionais não cobertas pelo padrão do SAT: número de ordem de compra, número de fornecedor, departamento de compras, informações logísticas, entre outros. O SAT permite sua inclusão dentro do elemento <cfdi:Addenda>, mas não as valida; a responsabilidade pela estrutura correta recai sobre o fornecedor.
Namespace incorreto ou não declarado. Cada addenda corporativa tem seu próprio namespace XML (uma URI que identifica o esquema). Se o namespace no seu XML não corresponder exatamente ao definido no XSD do cliente, a validação falha. Até mesmo uma barra no final ou um número de versão diferente na URL o invalida.
XSD desatualizado. Os clientes atualizam periodicamente seus requisitos de addenda. Se o modelo no Aspel SAE ou no seu sistema foi configurado com a versão anterior do XSD, os novos campos obrigatórios não estarão presentes e a validação falhará.
Campos obrigatórios ausentes ou com formato incorreto. Cada cliente define seus próprios campos obrigatórios. O Walmart México exige um número de fornecedor com 10 dígitos e um número de pedido com 10 caracteres alfanuméricos. A Liverpool exige o número do departamento. A Volkswagen exige o código de material Audi/VW em formato específico. Se algum campo estiver ausente ou tiver um formato diferente do esperado, o XSD o rejeita.
Posição incorreta da addenda no XML. A addenda deve ser o último elemento dentro de <cfdi:Comprobante>, depois de todos os complementos. Alguns sistemas de faturação a inserem na posição incorreta, o que invalida o XML completo.
Incompatibilidade de versão de addenda com a versão do CFDI. Quando se migrou do CFDI 3.3 para o CFDI 4.0, alguns XSD de addenda precisaram ser atualizados para compatibilidade. Se o cliente não atualizou o XSD ou você não atualizou o modelo, haverá conflitos de versão.
Solução Passo a Passo
1. Obter o XSD e a documentação vigente do cliente
Antes de qualquer configuração, acesse o portal de fornecedores do seu cliente e baixe:
- O XSD oficial da addenda (pode haver um por tipo de documento: fatura, nota de crédito, etc.)
- A documentação de campos obrigatórios e seus formatos
- Um exemplo de CFDI com addenda corretamente formada
Se você não tiver acesso ao portal, entre em contato com a equipe de contas a pagar do cliente para que forneça os materiais atualizados. Nunca configure uma addenda com base em documentos de terceiros não oficiais.
2. Configurar a addenda no Aspel SAE
No Aspel SAE, vá a Configuração > Faturação Eletrônica > Addendas:
- Verifique se o seu cliente aparece na lista de addendas predefinidas
- Se aparecer, selecione-a e preencha os campos solicitados
- Se não aparecer, use Addenda personalizada e importe o modelo XML do cliente
- Certifique-se de que os campos mapeados correspondam aos dados corretos dos seus documentos
Para addendas não suportadas nativamente pelo Aspel SAE, muitos provedores do cliente (ou o próprio cliente) oferecem modelos pré-configurados ou complementos que podem ser instalados no SAE.
3. Validar o XML gerado contra o XSD
Gere uma fatura de teste e localize o arquivo XML gerado (normalmente na pasta de comprovantes do SAE). Valide-o com estas ferramentas:
Usando xmllint (linha de comando):
xmllint --schema addenda_cliente.xsd meu_cfdi_com_addenda.xml --noout
Usando Notepad++ com XML Tools:
- Abra o XML no Notepad++
- Vá a Plugins > XML Tools > Validate Now
- Selecione o XSD do cliente quando solicitado
Online:
- FreeFormatter.com > XML Validator — permite carregar o XML e o XSD para validação imediata
Corrija cada erro reportado: elementos ausentes, tipos de dados inválidos, atributos obrigatórios ausentes ou namespace mal definido.
4. Verificar a declaração do namespace
Abra o XML do CFDI com qualquer editor de texto e localize o elemento <cfdi:Addenda>. A addenda deve declarar seu namespace no elemento raiz do CFDI (<cfdi:Comprobante) ou no próprio elemento da addenda:
<cfdi:Addenda>
<wmm:WalmartMexico xmlns:wmm="http://www.walmart.com.mx/esquemas/..." version="1.0">
<wmm:NumProveedor>1234567890</wmm:NumProveedor>
<wmm:NumOrden>OC-2026-001</wmm:NumOrden>
</wmm:WalmartMexico>
</cfdi:Addenda>
Compare a URI do namespace (http://www.walmart.com.mx/esquemas/...) com a que consta no XSD baixado do cliente. Elas devem ser idênticas, caractere por caractere.
5. Testar no sandbox do PAC
Antes de emitir o CFDI em produção, faça o upload para o ambiente de testes do seu PAC:
- Finkok: portal de testes em sandbox.finkok.com
- SW Sapien: ambiente demo disponível no portal de desenvolvedores
- Edicom: sandbox disponível com suas credenciais de produção em modo de teste
O PAC validará o CFDI completo. Se a addenda causar XML malformado, o PAC o rejeitará com erro 301 (XML malformado). Se o PAC o aceitar mas o cliente o rejeitar, o problema está na validação interna do portal do cliente (regras de negócio, não de estrutura XML).
Solução Alternativa
Se não for possível modificar a configuração do Aspel SAE diretamente, uma alternativa é gerar o CFDI sem addenda pelo SAE e depois adicionar a addenda programaticamente antes do carimbo, usando um script ou uma ferramenta de transformação XML (XSLT). Alguns integradores e escritórios contábeis usam esse fluxo quando a addenda do cliente é muito complexa ou o SAE não a suporta nativamente.
Outra alternativa é trabalhar diretamente com o provedor de tecnologia autorizado do cliente. Por exemplo, o Walmart México trabalha com provedores de EDI como GS1 México, Soltec e TCI Commerce, que oferecem soluções de addenda pré-validadas e atualizadas com os últimos requisitos.
Prevenção
- Baixe o XSD atualizado sempre que o cliente notificar mudanças. Grandes compradores enviam comunicados a seus fornecedores quando atualizam requisitos; assine os boletins de fornecedores.
- Valide o XML de cada nova addenda antes de ir para produção. Nunca presuma que a configuração anterior funciona com uma nova versão do XSD.
- Guarde uma cópia do XSD com que a addenda foi configurada. Assim você pode comparar versões quando o cliente reportar rejeições.
- Sempre teste no sandbox do PAC antes da produção. Um CFDI com addenda malformada rejeitado em produção pode atrasar o pagamento da fatura.
- Mantenha o Aspel SAE atualizado. A Aspel publica atualizações que incluem novas versões de addendas de clientes frequentes como Walmart, Liverpool e OEMs automotivos.
- Documente os mapeamentos de campo. Registre qual campo do SAE corresponde a cada elemento da addenda do cliente para facilitar atualizações futuras.
Problemas Relacionados
O CFDI é carimbado mas o portal do cliente o rejeita. Isso ocorre quando a addenda é XML válido segundo o XSD, mas os valores dos campos não passam pelas regras de negócio do cliente (por exemplo, um número de pedido que não existe no ERP deles). Solução: peça à equipe de contas a pagar do cliente o erro específico exibido no sistema deles.
O Aspel SAE não gera a addenda mesmo estando configurado. Verifique se o campo “Addenda” ou “Cliente com addenda” está marcado no documento (fatura). Alguns clientes precisam ser configurados individualmente no catálogo de clientes do SAE para que a addenda seja gerada automaticamente.
O PAC rejeita com erro “301 - XML malformado” apenas quando há addenda. Isso indica que a addenda introduz caracteres inválidos em XML (como &, <, > sem escape) ou que o namespace não está corretamente declarado. Exporte o XML, abra-o em um editor e verifique se o bloco <cfdi:Addenda> é XML bem formado.
A addenda da VW ou de um OEM automotivo tem campos desconhecidos. Os OEMs automotivos (Volkswagen, General Motors, Stellantis) geralmente exigem addendas com dados de ordem de produção, materiais e plantas. A documentação técnica é extensa; contate diretamente o departamento de contas a pagar do OEM ou seu provedor de EDI autorizado para obter a especificação completa e exemplos.
Resumo
- Addendas são extensões XML que grandes clientes exigem no CFDI para dados adicionais não cobertos pelo SAT
- Os erros mais comuns são: namespace incorreto, campos obrigatórios ausentes, XSD desatualizado e posição incorreta no XML
- Sempre baixe o XSD oficial do portal de fornecedores do cliente antes de configurar a addenda
- Valide o XML gerado contra o XSD com xmllint, Notepad++ ou um validador online antes de carimbar
- Teste no sandbox do PAC antes de emitir em produção para evitar rejeições que atrasem o pagamento
- Se o Aspel SAE não suportar a addenda do seu cliente, considere o fluxo de addenda externa ou contate o provedor de EDI do cliente