Solução de erros 400 na emissão de NFS-e
Este guia diagnostica os erros HTTP 400 (BadRequest) mais comuns ao emitir uma NFS-e ou operar sobre ela. Cada seção parte do sintoma e indica causa e ação. Para o catálogo completo com as mensagens literais, consulte Cenários de erro 400 (BadRequest) na emissão de NFS-e.
Erros de validação do payload
Mensagens sobre o tomador (borrower)
O tomador está ausente ou com dados inválidos — por exemplo borrower can not be null ou borrower.federalTaxNumber borrower federal tax number is not valid.
- Garanta que o objeto
borrowerestá presente no corpo. - Para tomador no Brasil, informe CPF ou CNPJ válido em
federalTaxNumber. - Confira a coerência entre
type(NaturalPerson/LegalEntity) e o documento. - Para tomador estrangeiro, use
borrower.address.countrydiferente deBRA— a validação de CPF/CNPJ é dispensada.
Mensagens sobre endereço ou cidade
Um campo de endereço foi informado de forma incompleta ou incoerente — por exemplo borrower.address.city.code must be a valid IBGE city code.
- Use o código IBGE de 7 dígitos para a cidade.
- Garanta que a UF (
state) corresponde ao prefixo do código IBGE. - Ao preencher qualquer campo de endereço, preencha também CEP, logradouro, cidade e UF.
Para prevenir, valide CPF/CNPJ e mantenha uma base de cidades e UFs consistente com a tabela do IBGE.
Erros de regra de emissão
Empresa não habilitada
A mensagem Municipal tax is not allowed to issue invoice ou company is not active indica que a empresa não está apta a emitir.
- Verifique se a empresa está ativa e habilitada na prefeitura.
- Conclua o credenciamento municipal, se pendente.
- Confirme que o ambiente da requisição corresponde à habilitação.
RPS ou externalId duplicado
Já existe uma nota com o mesmo número de RPS ou externalId. Esse cenário pode retornar 400 (não apenas 409).
- Consulte a nota existente antes de emitir novamente.
- Use um novo número de RPS sequencial ou um
externalIdúnico por nota.
Para prevenir, controle o contador de RPS internamente e gere externalId idempotente por documento.
Erros no cancelamento
O cancelamento (DELETE /{id}) pode retornar 400 quando a empresa não está habilitada a operar no município (mesma causa de Municipal tax is not allowed to issue invoice).
- Verifique se a empresa está ativa e habilitada na prefeitura.
- Conclua o credenciamento municipal, se ainda pendente.