TL;DR — Resumo Rápido
Erro CFDI 307 do SAT: falha na validação do esquema XML ao timbrar. Corrija namespaces, catálogos SAT, complementos e versão XSD antes de reenviar ao PAC.
O erro 307 na faturação eletrônica mexicana indica que o XML do CFDI não passou na validação de esquema exigida pelo SAT antes ou durante o timbrado com o PAC. Diferente de erros de negócio ou de certificado (401), o 307 é estrutural: o arquivo não coincide com o XSD oficial da versão do comprovante ou dos complementos. Sem esquema válido, não há TimbreFiscalDigital nem UUID.
Causas frequentes: atualizações do SAT, versão desatualizada do ERP e modelos XML personalizados fora do CFDI 4.0.
O erro
Ao enviar XML ao PAC:
307 - Erro na validação de esquema do XML
O elemento ‘cfdi:Comprobante’ não é válido segundo o XSD
Atributo ‘Version’ não coincide com o namespace declarado
Alguns PAC retornam XPath aproximado; outros só 307 genérico — exigindo validação completa no validador SAT.
Causa do problema
A validação exige ordem de nós, tipos de dados, comprimentos máximos, namespaces CFDI 4.0 e complementos aninhados.
Versão ou namespace desatualizado
Modelo 3.3 com timbrado 4.0, ou Version="4.0" com namespace 3.3. Patch do ERP ausente após publicação SAT.
Atributos obrigatórios ausentes
Em CFDI 4.0: Exportacion, ObjetoImp, RegimenFiscalReceptor, DomicilioFiscalReceptor, desagregação Impuestos. Nomes de atributo customizados não reconhecidos pelo XSD.
Complementos mal estruturados
Pagos 2.0, Carta Porte 3.0, Nómina 1.2, Comércio Exterior: XSD separados. Aninhamento incorreto em cfdi:Complemento. Valide sempre o XSD de cada complemento além do comprovante principal; corpo válido com complemento inválido ainda gera erro 307.
Campos CFDI 4.0 esquecidos após atualização SAT
Patches tardios do ERP costumam omitir ObjetoImp, Exportacion ou atributos do receptor exigidos na versão atual. Compare um XML timbrado com sucesso na mesma semana com o rejeitado para ver diferenças de namespace e ordem de nós.
Valores de formato incorretos
Vírgula decimal, datas incompletas, & sem escape, RFC com espaços. APIs que concatenam strings sem biblioteca de esquema.
Solução passo a passo
1. Isolar XML e mensagem PAC
Exporte o XML com falha e salve captura com data, RFC emissor e folio.
2. Confirmar tipo e XSD
Baixe esquemas em sat.gob.mx.
3. Validar com ferramenta SAT
Corrija namespaces, nós faltantes e tipos inválidos até validação limpa.
4. Revisar catálogos
Chaves de produto, uso CFDI, regime — alguns PAC mapeiam erro de catálogo para 307.
5. Corrigir ERP e testar
Patch do fornecedor, regenerar XML, timbrar fatura simbólica, confirmar UUID. Arquive no chamado versão do ERP, log do PAC e data do download dos XSD — essencial se o 307 voltar após novo anúncio do SAT.
Quando o PAC só devolve 307 genérico
Peça ao suporte do PAC o log completo de validação e valide em paralelo no ferramenta SAT. O validador local costuma indicar a linha exata enquanto o ERP mostra só o código.
Prevenção
- Acompanhar avisos SAT trimestralmente.
- Ambiente de teste após atualização do ERP.
- Validação XSD em CI se gerar XML próprio.
- Não editar XML já timbrado.
- Ativar só complementos atualizados.
Resumo
- Erro 307 = XML fora do XSD do CFDI ou complemento.
- Verificar 4.0, namespaces e nós obrigatórios.
- Validar no SAT, catálogos, regenerar no ERP.
- Fatura teste confirma correção.