CT-e rejeitado: como ler o retorno da SEFAZ e resolver o que mais trava a emissão
Quem emite CT-e todo dia sabe: a SEFAZ nunca recusa um documento em silêncio. Toda resposta traz um código (o cStat) e um motivo (o xMotivo) — e é ali que está o conserto. O problema é que o motivo costuma ser escrito para quem programou o emissor, não para quem está com o caminhão parado no pátio.
Rejeição, denegação e "serviço fora" são coisas diferentes
- Autorizado (cStat 100). O documento existe, tem protocolo e vale. É o único desfecho que libera a viagem.
- Rejeição. O documento não chegou a existir: a SEFAZ olhou, achou erro e devolveu. Você corrige e envia de novo — inclusive com o mesmo número, porque nada foi consumido.
- Denegação. O documento fica registrado como negado por problema cadastral (irregularidade do emitente ou do destinatário). Aqui o número morre: não adianta reenviar igual, o caminho é resolver a situação cadastral.
- Serviço em manutenção. Não é o seu XML. É esperar ou entrar em contingência.
Guarde essa separação: ela decide se você corrige o arquivo, corrige o cadastro ou simplesmente espera.
Os tropeços que mais aparecem
1. Falha de schema
O mais comum e o mais mal-entendido. O XML não bateu com o leiaute oficial: casa decimal a mais, valor fora da lista permitida para aquele campo, tag obrigatória ausente, caractere inválido no texto.
O detalhe cruel é que a resposta costuma dizer apenas "falha no schema", sem apontar o campo. Por isso um emissor sério valida contra o esquema oficial antes de enviar: o erro local aponta a linha, o erro da SEFAZ aponta o nada.
2. Duplicidade
Número já usado naquela série, ou chave que já existe com dados diferentes. Acontece muito quando se emite de dois lugares, ou quando um envio "deu erro de rede" e foi refeito sem consultar antes.
Regra de ouro: antes de reemitir por timeout, consulte. Se o documento passou, a consulta devolve o protocolo — e você não queima número à toa.
3. Certificado vencido
Parece bobagem até acontecer numa sexta-feira à tarde. O A1 vale um ano: coloque o vencimento no calendário com 30 dias de antecedência, não no dia.
4. Ambiente trocado
Emitiu em homologação achando que era produção. Documento de homologação não vale nada fiscalmente — e sai com aquela razão social de teste obrigatória. Confira o ambiente antes de rodar o mês inteiro.
5. Cadastro do tomador
Inscrição estadual inválida para a UF, CNPJ em situação irregular, endereço sem código de município. Boa parte das rejeições "estranhas" é cadastro velho no sistema, não erro de emissão.
6. Valores que não fecham
A soma dos componentes tem que bater com o total. Um arredondamento diferente entre a planilha e o XML derruba o documento inteiro.
Como parar de tropeçar sempre nas mesmas pedras
- Valide antes de enviar. Erro que aparece na sua tela custa trinta segundos; erro que aparece na SEFAZ custa uma ligação para a contabilidade.
- Guarde o XML de envio e o de retorno. Sem o retorno você não prova nada — nem para o cliente, nem para o fisco.
- Numeração por série, com controle único. Duas pessoas emitindo da mesma série sem trava é fábrica de duplicidade.
- Consulte antes de reemitir.
- Leia o motivo inteiro. Ele quase sempre nomeia o campo; a pressa é que faz parar na primeira palavra.
Como o RotaCTe trata isso
O RotaCTe valida o documento contra os esquemas oficiais antes de enviar, guarda o XML de envio e o de retorno de cada tentativa e mostra o motivo da rejeição no próprio card do documento — em vez de um "erro ao emitir" genérico. Quando a recusa é de cadastro, o caminho até o campo errado é direto.