Pular para o conteúdo
TexFiscal

Homologação de NFS-e: teste a emissão sem valor fiscal

A homologação de NFS-e é o ambiente em que o seu sistema emite notas de teste, sem valor fiscal, antes de emitir de verdade. No TexFiscal ela tem endereço e token próprios, valida o pedido com as mesmas regras da produção e envia a nota ao ambiente de teste do provedor da prefeitura.

O que é a homologação, em uma frase:

É um segundo ambiente, separado da produção, onde a nota percorre o mesmo caminho de uma nota real (validação, assinatura, envio ao provedor, resposta) e no fim não vale nada para o fisco. Serve para o seu sistema errar à vontade enquanto a integração está sendo escrita, sem gerar documento que depois precise ser cancelado.

Quem integra emissão de nota sem passar pela homologação descobre os erros em produção, e em produção cada recusa da prefeitura pode consumir numeração e cada acerto errado vira um cancelamento com justificativa. A homologação existe para que esse aprendizado aconteça onde ele não custa nada.

Como os dois ambientes ficam separados no TexFiscal:

  • Endereços diferentes. Produção responde em nfse.texfiscal.com.br e homologação em homologacao-nfse.texfiscal.com.br. As rotas, os campos e as respostas são os mesmos nos dois.
  • Tokens diferentes. Cada token pertence a um emissor e a um ambiente, e é gerado no painel. Um token de homologação apresentado no endereço de produção recebe 401, e o contrário também. Ninguém emite nota de verdade por engano com a credencial de teste.
  • Webhook diferente. Cada ambiente tem o seu endereço de aviso e o seu segredo. Os avisos das notas de teste vão para o webhook de homologação.
  • Provedor de teste. Em homologação, o pedido vai ao endereço de homologação do provedor da prefeitura, que fica no cadastro do emissor ao lado do endereço de produção.

Na prática, virar a chave para a produção é trocar a URL base e o token no seu sistema. Se a integração funcionou na homologação com os mesmos dados, o código não precisa mudar.

A mesma chamada nos dois ambientes, só muda a base e o token:
# homologação
curl -u "TOKEN_DE_HOMOLOGACAO:" -X POST "https://homologacao-nfse.texfiscal.com.br/v2/nfse?ref=PED-4471" \
  -H "Content-Type: application/json" -d @nota.json

# produção (mesmo corpo, mesma ref de negócio)
curl -u "TOKEN_DE_PRODUCAO:" -X POST "https://nfse.texfiscal.com.br/v2/nfse?ref=PED-4471" \
  -H "Content-Type: application/json" -d @nota.json

Validar sem emitir: o passo antes da homologação:

Existe uma rota que roda a mesma validação da emissão e para antes de reservar numeração e de falar com a prefeitura. Ela responde se o pedido está pronto ou devolve a lista de erros no mesmo formato da emissão, campo por campo, com a correção de cada um. Nada é transmitido e nenhum número é consumido.

Ela é útil em dois momentos: enquanto você escreve o mapeamento dos campos do seu sistema, e como conferência antes de um lote grande. Uma ressalva honesta: a validação também confere o cadastro do emissor. Se faltar inscrição municipal, código do município, certificado digital A1 ou a senha dele, a resposta diz que o cadastro está incompleto e que não é nada no seu envio. Ou seja, ela não substitui o cadastro completo do emissor.

Passar na validação local também não garante a autorização: a prefeitura ainda pode recusar por regra própria dela. É por isso que a homologação continua sendo o teste de verdade.

Validar o pedido, sem emitir:
curl -u "SEU_TOKEN:" -X POST https://homologacao-nfse.texfiscal.com.br/v2/nfse/validar \
  -H "Content-Type: application/json" -d @nota.json

200 {"valido": true, ...}                     pronto para emitir
422 {"codigo": "requisicao_invalida", "erros": [...]}   nada consumido

O roteiro de testes que vale a pena cumprir:

Uma nota autorizada não prova uma integração. O que prova é o seu sistema reagir certo a cada desfecho. Antes de pedir o token de produção, faça pelo menos isto na homologação:

  1. Uma nota autorizada, guardando número, PDF e XML no lugar onde o seu sistema vai procurá-los.
  2. Um pedido repetido com a mesma referência, para ver que ele devolve a nota que já existe em vez de emitir outra. A referência da venda é a chave que impede duas notas para a mesma venda.
  3. Um pedido com erro de propósito, como uma discriminação curta demais, para o seu sistema mostrar a mensagem certa a quem emite.
  4. Um aviso de webhook recebido e conferido, com a assinatura validada e o evento aplicado uma vez só.
  5. Um cancelamento, do pedido até o aviso de cancelada, e a emissão da substituta com uma referência nova.

Cumprido esse roteiro, a produção costuma ser só a troca de base e de token.

O simulador do painel, para quem ainda não escreveu código:

O painel tem um simulador que monta o pedido a partir de um formulário e mostra, lado a lado, a requisição enviada e a resposta recebida. Ele emite só em homologação, e é a forma mais rápida de entender o formato antes de escrever a primeira linha de integração.

Ele não é uma tela de emissão. Em produção, quem emite é sempre o seu sistema, pela API, e nunca o TexFiscal por conta própria: a nota só sai quando o seu sistema pede.

Perguntas frequentes:

A nota emitida em homologação tem valor fiscal?
Não. A homologação é ambiente de teste: a nota percorre o mesmo caminho de uma nota real, mas não vale para o fisco e não precisa ser cancelada depois.
Posso usar o mesmo token em homologação e em produção?
Não. Cada token pertence a um emissor e a um ambiente. O token de homologação apresentado no endereço de produção recebe 401, e o contrário também, para ninguém emitir nota real com a credencial de teste.
Preciso do certificado digital para testar?
Para emitir em homologação, o cadastro do emissor precisa estar completo, com o certificado A1 e a senha. A própria validação sem emitir confere esse cadastro e avisa quando falta alguma coisa, dizendo que não é problema do seu envio.
O que muda no meu código para ir para a produção?
A URL base e o token. As rotas, os campos e as respostas são os mesmos nos dois ambientes, então a integração que funcionou na homologação funciona na produção sem reescrever nada.
A validação sem emitir garante que a prefeitura vai autorizar?
Não garante. Ela confere o cadastro do emissor e as regras da NFS-e antes de transmitir, mas a prefeitura ainda pode recusar por regra própria dela. Por isso a homologação continua sendo o teste de verdade.
O webhook funciona em homologação?
Funciona, com endereço e segredo próprios. As notas de teste disparam os mesmos avisos da produção, de autorizada, erro e cancelada, para o webhook cadastrado no ambiente de homologação.

Página atualizada em: 19/10/2026

Peça o token de homologação e teste com o seu sistema

A homologação usa as mesmas rotas da produção. Mande o pedido que o seu sistema já monta: a gente diz o que falta para ele passar.

Criar conta e começar o teste

Prefere falar com uma pessoa antes?

Com DDD. É por onde a gente responde mais rápido.
Opcional. Ajuda a conferir se a sua cidade é atendida.
Opcional. Por exemplo: qual sistema emite hoje, ou qual prefeitura.