NF-e e CT-e
XML de CT-e: diferenças entre estrutura, XSD e autorização
Validar o XML do CT-e responde a três perguntas diferentes: o arquivo está bem formado, obedece ao schema da SEFAZ e corresponde a um documento realmente autorizado? Veja como checar cada uma.
"Validar o XML" parece uma coisa só, mas são três perguntas diferentes — e quem mistura as três procura resposta no lugar errado.
1. O arquivo está bem formado?
É a checagem de sintaxe: tags abertas e fechadas, aninhamento correto, encoding declarado batendo com o conteúdo. Abra o arquivo em qualquer editor que entenda XML — se ele reclama antes de você fazer qualquer coisa, o problema é este. Normalmente é encoding trocado (acentos corrompidos) ou arquivo truncado.
2. Obedece ao schema da SEFAZ?
Aqui entra o contrato do documento. O XSD do CT-e define quais campos existem, quais são obrigatórios, em que ordem aparecem e que formato cada um aceita. Quando a validação falha, a mensagem aponta a tag culpada — procure por trechos como cvc-complex-type (estrutura), cvc-datatype-valid (tipo errado) ou cvc-maxLength-valid (texto longo demais).
Valide sempre contra o XSD da versão correta. Boa parte dos falsos negativos vem de validar um XML novo contra um schema antigo — o arquivo está certo, o validador é que está desatualizado. Com os campos de IBS e CBS entrando no layout, isso ficou mais comum.
3. É um documento realmente autorizado?
Esta é a que mais importa para quem recebe CT-e de terceiros, e a única que o arquivo sozinho nunca responde. Um XML bem formado e válido pode representar um documento que nunca foi autorizado, ou que foi cancelado depois.
A prova está na consulta pela chave de acesso de 44 posições, no portal nacional do CT-e. Se o documento aparece autorizado, com os mesmos valores, ele existe. Se aparece cancelado ou denegado, você tem um problema real — e o XML continua "válido" do ponto de vista técnico.
Regra prática: schema responde "o arquivo está bem construído?". Só a consulta responde "o documento existe e está valendo?".
O que muda quando o arquivo vem da SEFAZ
Receber o XML diretamente pela Distribuição DFe reduz o risco de alteração no trânsito e ajuda a identificar a origem do arquivo. Ainda assim, confira o retorno, o protocolo quando presente, os eventos posteriores e a situação atual do documento.
A distribuição não substitui validação XSD, verificação de assinatura nem consulta atualizada de situação quando essas provas são exigidas pela sua rotina.
O NFe/CTe Downloader consulta esse serviço com o seu certificado digital e devolve os XMLs autenticados de NF-e e CT-e, os PDFs (DANFE e DACTE) e uma planilha com uma linha por documento — incluindo a situação de cada um, com os eventos de cancelamento junto.
Erros comuns e o que significam
- Válido no portal mas falha ao importar — o sistema de destino usa layout antigo. Problema do fornecedor do software, não do arquivo.
- Acentos corrompidos — encoding. O arquivo foi salvo fora do UTF-8 declarado no cabeçalho.
- Chave não encontrada — chave digitada errada, ou documento que nunca foi autorizado.
- Autorizado mas cancelado depois — o XML segue íntegro; o que mudou foi a situação. Por isso a situação precisa entrar na conferência, e não só o valor.
Referências oficiais
Leia também
- DACTE: o que é o Documento Auxiliar do CT-e
DACTE é a representação impressa do CT-e — não é o conhecimento de transporte em si. Veja o que ele contém, para que serve na estrada, e por que o arquivo que a contabilidade precisa é o XML.
- Baixar CT-e pela chave: consulta, XML e DACTE
Veja como consultar CT-e pela chave de acesso, quando o certificado permite obter o XML e como conseguir o documento com a transportadora.
- Como baixar XML de CT-e e gerar o DACTE em PDF
Aprenda a baixar XML de CT-e pela SEFAZ com certificado digital, diferencie consulta por chave de sincronização pelo CNPJ e gere o DACTE em PDF.
- Como consultar NF-e sem a chave de acesso: o guia para o destinatário
Perdeu a chave de 44 dígitos? Descubra como consultar e baixar as NF-e disponíveis ao seu CNPJ na SEFAZ usando apenas o certificado digital.