Pular para o conteúdo principal

Mensagens de erro da API de NFS-e (PT/EN)

Esta página mostra onde cada mensagem de erro da API de NFS-e aparece, qual é o texto literal e o que ele significa em português. Use-a para achar a causa de um erro e a ação que resolve.

A página complementa o catálogo de erros 400 na emissão. Aquela página detalha cada campo do payload. Esta reúne os outros endpoints, o campo flowMessage e a tradução.

A API devolve mensagens em inglês. Algumas mensagens de prefeituras e de integrações novas já chegam em português, e há mensagens que misturam os dois idiomas. A API ainda não permite escolher o idioma da resposta.

Tradução de referência

A coluna Português é uma tradução de referência desta documentação. A API não devolve esse texto. Para casar uma mensagem em automações, use o texto em inglês da coluna Mensagem (EN).

Uma mensagem de erro aparece em três lugares:

Onde apareceFormatoComo ler
Corpo da resposta HTTP 400, 404, 409 ou 422Texto simples. Quando várias regras falham, o corpo traz só a primeira mensagemVeja Respostas HTTP
Corpo da resposta HTTP 400 de formato de JSONapplication/problem+json, com o caminho do campo em errorsVeja Erros de formato do JSON
Campo flowMessage da notaTexto livre, no GET da nota e no payload do webhookVeja Campo flowMessage
Valor entre chaves

Nos textos abaixo, {campo}, {id} e similares marcam o valor que a API preenche na mensagem. A API nunca devolve as chaves.

Respostas HTTP​

As tabelas desta seção cobrem a resposta síncrona da API, na ordem em que você encontra os erros ao integrar. O status HTTP está na coluna Onde.

Validação do corpo na emissão​

Onde: POST /v1/companies/{companyId}/serviceinvoices, status 400. O texto é sempre {campo} <regra>, em que {campo} é o caminho do campo no JSON (por exemplo borrower.address.city.code). A tabela lista cada modelo de mensagem.

Mensagem (EN)PortuguêsCampos que disparam
{campo} can not be null{campo} não pode ser nulolocation.city, borrower.address.city, foreignTrade.serviceAmountInCurrency, foreignTrade.mdicDelivery, Body
{campo} can not be null or empty{campo} não pode ser nulo nem vaziocityServiceCode, description, location.city.code, location.city.name, location.state, borrower.address.postalCode, borrower.address.street, borrower.address.state, foreignTrade.currency
{campo} must be a valid IBGE city code{campo} deve ser um código IBGE de cidade válidolocation.city.code, borrower.address.city.code
{campo} must be a valid ISO 3166-2 code, samples (SP, RJ, AC){campo} deve ser uma sigla de UF válida (ISO 3166-2), por exemplo SP, RJ, AClocation.state, borrower.address.state
{campo} must be a valid ISO 3166-1 code, samples (BRA, ARG, COL){campo} deve ser um código de país válido (ISO 3166-1), por exemplo BRA, ARG, COLborrower.address.country
{campo} can not be less than zero{campo} não pode ser menor que zerodeductionsAmount, discountConditionedAmount, discountUnconditionedAmount, irAmountWithheld, pisAmountWithheld, cofinsAmountWithheld, csllAmountWithheld, inssAmountWithheld, issAmountWithheld, othersAmountWithheld, foreignTrade.serviceAmountInCurrency, rpsSerialNumber
{campo} can not be less than 0.00{campo} não pode ser menor que 0,00servicesAmount
{campo} can not be less than or equal zero{campo} não pode ser menor ou igual a zerorpsNumber
{campo} can not be less than 0.00 (0%){campo} não pode ser menor que 0,00 (0%)issRate, approximateTax.TotalRate
{campo} can not be more than 0.05 (5%){campo} não pode ser maior que 0,05 (5%)issRate
{campo} can not be more than 99.99 (99.99%){campo} não pode ser maior que 99,99 (99,99%)approximateTax.TotalRate
{campo} must be exactly 6 digits{campo} deve ter exatamente 6 dígitosibsCbs.classCode, ibsCbs.operationIndicator
{campo} must contain from 1 to 12 digits{campo} deve ter de 1 a 12 dígitosconstruction.encapsulationNumber
{campo} must contain only digits{campo} deve conter apenas dígitosintermediary.address.city.code, recipient.address.city.code
{campo} length must be less than 500 characters{campo} deve ter menos de 500 caracteresadditionalInformation
{campo} length must be less than 115 characters{campo} deve ter menos de 115 caracteresborrower.name
{campo} can not be less than 7 digits{campo} não pode ter menos de 7 dígitosborrower.phoneNumber
{campo} can not be longer than 20 digits{campo} não pode ter mais de 20 dígitosborrower.phoneNumber
{campo} borrower federal tax number is not validO CPF/CNPJ do tomador em {campo} não é válidoborrower.federalTaxNumber
{campo} is not valid for natural person{campo} não é válido para pessoa físicaborrower.federalTaxNumber
{campo} is not valid for legal person{campo} não é válido para pessoa jurídicaborrower.federalTaxNumber
{campo} is invalid{campo} é inválido (valor fora da lista permitida)foreignTrade.serviceMode, foreignTrade.relationShip, foreignTrade.supportMechanismProvider, foreignTrade.supportMechanismReceiver, foreignTrade.temporaryGoods
{campo} is not a valid state code{campo} não é uma UF válidaborrower.address.state
{campo} is not a valid city code or city{campo} não é um código de cidade ou cidade válidoborrower.address.city.code
{campo} aren't related. inform the correct state associated with correct city code{campo} não se relacionam. Informe a UF correta para o código da cidadeborrower.address.city.code e borrower.address.state
{campo} from DB differs of city state informedA UF cadastrada para a cidade em {campo} difere da UF informadaborrower.address.state

Para a regra exata de cada campo e como evitar o erro, use a tabela por campo em Cenários de erro 400 na emissão.

nota

Quando vários campos falham, o corpo da resposta traz só a primeira mensagem. Corrija, envie de novo e leia a seguinte.

Regras de negócio e estado da nota​

Estas mensagens vêm de regras da plataforma, depois que o corpo passa na validação. O status está na coluna Onde.

OndeMensagem (EN)PortuguêsCausa e ação
POST e DELETE da nota, 400Municipal tax is not allowed to issue invoiceA inscrição municipal não está habilitada para emitir notaA habilitação fiscal da empresa não está ativa. Confira o cadastro da empresa. No cancelamento a frase também diz "issue"
Qualquer rota da nota, 400company is not activeA empresa não está ativaA empresa está inativa. Reative a empresa e tente de novo
Qualquer rota da nota, 404Company not found.Empresa não encontradaO companyId não existe na conta. Confira o identificador
POST, DELETE e listagem da nota, 404Municipal tax not found.Inscrição municipal não encontradaA empresa não tem inscrição municipal cadastrada. Cadastre antes de emitir
POST da nota, 400service invoice with rps number ({rpsNumber}) already existsJá existe nota com o número de RPS ({rpsNumber})O RPS já foi usado. Use o próximo número livre
POST da nota, 400service invoice with external id ({externalId}) already existsJá existe nota com o identificador externo ({externalId})O externalId já foi usado. Consulte a nota existente por externalId antes de reenviar
GET, DELETE, reprocess da nota, 404service invoice with id ({invoiceId}) was not foundNota fiscal com id ({invoiceId}) não encontradaO id não existe nessa empresa. Confira o id e o companyId
PUT .../reprocess, 400invoice is processingA nota está em processamentoAguarde o fim do processamento antes de reprocessar
PUT .../reprocess, 400invoice with this status can't be reprocessedUma nota com este status não pode ser reprocessadaSó notas com falha podem ser reprocessadas. Consulte o status da nota
GET .../cancellation-xml, 404Cancellation event XML not available for this service invoice (National environment only; legacy providers have no cancellation event XML, or the invoice has not been cancelled).XML do evento de cancelamento indisponível para esta nota (somente ambiente Nacional; provedores legados não têm esse XML, ou a nota não foi cancelada)Confirme se a nota foi cancelada e se o município usa o ambiente Nacional
atenção

RPS ou externalId duplicado retorna 400, não 409. Trate a duplicidade pela mensagem, não por um status fixo.

Consulta e paginação​

Onde: GET /v1/companies/{companyId}/serviceinvoices e as consultas por externalId ou por RPS, status 400.

Mensagem (EN)PortuguêsAção
page count must be greater then zeroO tamanho da página deve ser maior que zeroEnvie pageCount maior que 0
page index must be greater then zeroO índice da página deve ser maior que zeroEnvie pageIndex maior que 0
page count must be less then equal to 50O tamanho da página deve ser menor ou igual a 50Envie pageCount até 50
external id is null or emptyO identificador externo é nulo ou vazioInforme o externalId na rota
issued begin must have a valueA data inicial de emissão deve ter valorInforme issuedBegin junto com issuedEnd
issued end must be greater then issued beginA data final de emissão deve ser maior que a inicialUse issuedEnd posterior a issuedBegin
created begin must have a valueA data inicial de criação deve ter valorInforme createdBegin junto com createdEnd
created end must be greater then created beginA data final de criação deve ser maior que a inicialUse createdEnd posterior a createdBegin
borrower federal tax number is not validO CPF/CNPJ do tomador não é válidoCorrija borrowerFederalTaxNumber
service invoice RPS number is not validO número de RPS da nota não é válidoCorrija rpsNumber
service invoice number is not validO número da nota não é válidoCorrija number
The value '{valor}' is not valid.O valor '{valor}' não é válidoO tipo do parâmetro de rota ou query está errado (pageIndex, status, issuedBegin e similares)

Onde: GET /v1/blob/download, o link assinado de PDF e XML.

StatusMensagem (EN)PortuguêsAção
400Invalid parameters.Parâmetros inválidosO link está incompleto ou foi alterado. Gere um novo link na nota
404File not found or an error occurred.Arquivo não encontrado ou ocorreu um erroO link expirou ou o arquivo não existe. Gere um novo link
503Storage temporarily unavailable.Armazenamento temporariamente indisponívelTente de novo após o intervalo do cabeçalho Retry-After (30 segundos)
500An error occurred while downloading the file.Ocorreu um erro ao baixar o arquivoTente de novo. Se repetir, abra chamado com o id da nota

Eventos da autoridade fiscal​

Onde: .../serviceinvoices/{invoiceId}/authority-events.

StatusMensagem (EN)PortuguêsAção
409an authority event of type '{eventType}' is already active for this service invoiceJá existe um evento do tipo '{eventType}' ativo para esta notaAguarde a conclusão do evento atual
404authority event '{eventId}' was not found for this service invoiceO evento '{eventId}' não foi encontrado para esta notaConfira o id do evento
404Authority event XML not available yet for this event.O XML do evento ainda não está disponívelConsulte de novo depois que o evento for processado

Notificações, pessoas jurídicas e pessoas físicas​

Onde: /v1/companies/{companyId}/notifications, /legalpeople e /naturalpeople, status 400, exceto onde indicado.

Mensagem (EN)PortuguêsAção
Company not found (404, notificações)Empresa não encontradaConfira o companyId
"Filters" is null or empty arrayFilters é nulo ou uma lista vaziaEnvie ao menos um evento em Filters
"Filters" item "{eventName}" has been already used on other notificationO evento "{eventName}" já é usado em outra notificaçãoRemova o evento duplicado ou edite a notificação existente
"CreateNotificationEmailResource" is null, empty or not a valid JSONO corpo da notificação é nulo, vazio ou não é um JSON válidoEnvie um JSON válido
name is null, empty or whitespacesname é nulo, vazio ou só tem espaçosInforme name
email is null, empty or whitespacesemail é nulo, vazio ou só tem espaçosInforme email
legal person id is not valid / natural person id is not validO id da pessoa jurídica / física não é válidoConfira o id na rota
body is nullO corpo é nuloEnvie o corpo da requisição

Erros de formato do JSON​

Quando o corpo não pode ser lido, a API responde 400 em application/problem+json. A chave de errors é o caminho do campo ($.campo). Estas mensagens vêm do framework da API e têm sempre o mesmo formato.

Mensagem (EN)PortuguêsCausa e ação
One or more validation errors occurred. (campo title)Ocorreram um ou mais erros de validaçãoTítulo padrão. Leia o detalhe em errors
A non-empty request body is required.É obrigatório enviar um corpo não vazioEnvie o JSON no corpo da requisição
The JSON value could not be converted to {Type}. Path: {path} | LineNumber: {n} | BytePositionInLine: {n}.O valor JSON não pôde ser convertido para {Type}. Caminho: {path}O campo tem o tipo errado (texto em campo numérico, por exemplo). Corrija o tipo no path indicado
Unable to convert "{valor}" to enum {Enum}.Não foi possível converter "{valor}" para o enum {Enum}O valor não está na lista permitida do campo. Use um valor da documentação do campo
Unable to convert "{valor}" to boolean.Não foi possível converter "{valor}" para booleanoEnvie true ou false
Unexpected token {TokenType} for FederalTaxNumber; expected String or Number.Token inesperado {TokenType} em FederalTaxNumber; esperado texto ou númeroEnvie federalTaxNumber como texto ou número
The {Field} field is required.O campo {Field} é obrigatórioInforme o campo. Aparece em pessoas jurídicas e físicas (Name, Address)
'{c}' is an invalid start of a value. Path: {path} ...'{c}' não pode iniciar um valor. Caminho: {path}JSON malformado. Valide o JSON antes de enviar

Versão da API na URL​

A resposta é 400 em ProblemDetails com o campo code estável.

codetitle (EN)PortuguêsAção
UnsupportedApiVersionUnsupported API versionVersão da API não suportadaUse uma versão existente na rota, como /v1/ ou /v3/
InvalidApiVersionInvalid API versionVersão da API inválidaCorrija o formato da versão na rota
ApiVersionUnspecifiedUnspecified API versionVersão da API não informadaInclua a versão na rota
AmbiguousApiVersionAmbiguous API versionVersão da API ambíguaInforme uma única versão

Erro genérico​

StatusMensagem (EN)PortuguêsAção
500An error occurred while processing your request. (campo title)Ocorreu um erro ao processar a requisiçãoErro interno. Tente de novo e, se repetir, abra chamado com o traceId da resposta
404Not Found (campo title)Não encontradoO recurso (PDF ou XML) ainda não existe para a nota. Consulte o status da nota

Campo flowMessage​

O flowMessage guarda o motivo da última falha no processamento assíncrono da nota. Ele sai no GET da nota e no payload do webhook, e não no corpo da resposta de emissão. As tabelas abaixo organizam as mensagens pelo estágio em que a falha acontece, que é o "onde" do flowMessage.

Como ler o flowMessage​

  • O texto é livre e não tem código de erro estável. O status e o flowStatus da nota são os campos para decidir o que fazer. O flowMessage explica a causa.
  • Quando a prefeitura recusa a nota, o flowMessage traz o texto da prefeitura, no idioma dela. Esse texto não está neste catálogo.
  • A mensagem pode ter um prefixo e um sufixo da plataforma. Por exemplo, ao esgotar as tentativas, a plataforma acrescenta o último erro: max retry reached on send batch stage last error was '...'.

Esgotamento de tentativas (max retry)​

Quando uma etapa tenta por cerca de 23 horas sem resposta definitiva, a plataforma para e grava max retry reached on {etapa} stage. O evento do webhook passa a ser issued_failed ou cancelled_failed.

Mensagem (EN)PortuguêsOnde (estágio)
max retry reached on define borrower details stageLimite de tentativas na etapa de definição do tomadorEmissão: dados do tomador
max retry reached on set calculate taxes stageLimite de tentativas na etapa de cálculo de impostosEmissão: cálculo de impostos
max retry reached on set RPS number stageLimite de tentativas na etapa de numeração do RPSEmissão: numeração do RPS
max retry reached on send batch stageLimite de tentativas na etapa de envio do loteEmissão: envio à prefeitura
max retry reached on check batch stageLimite de tentativas na etapa de consulta do loteEmissão: consulta do resultado
max retry reached on send to cancel stageLimite de tentativas na etapa de envio do cancelamentoCancelamento: envio
max retry reached on check batch cancel stageLimite de tentativas na etapa de consulta do cancelamentoCancelamento: consulta do resultado
max retry reached sending event to ADNLimite de tentativas ao enviar o evento ao ADNCancelamento por evento (ambiente Nacional)
max retry reached on download stageLimite de tentativas na etapa de downloadDownload de PDF ou XML. A nota continua emitida

Ação. Confira na prefeitura se a nota foi emitida. Se não foi, envie a nota para re-emissão. O passo a passo está em Erro Max Retry Reached On Send Batch Stage. Na etapa de download, a nota já está emitida. Peça um novo link de download.

Mensagens que envolvem outra mensagem​

Mensagem (EN)PortuguêsCausa
{mensagem} last error was '{erro anterior}'{mensagem}; o último erro foi '{erro anterior}'A plataforma acrescentou o erro da tentativa anterior. Leia o trecho entre aspas para a causa real
Error: {motivo}Erro: {motivo}A numeração do RPS falhou de forma definitiva. O motivo vem do cadastro da empresa

Dados da nota e cadastro da empresa​

Mensagem (EN)PortuguêsCausa e ação
city code is null or emptyO código da cidade é nulo ou vazioFalta o código IBGE da cidade. Corrija o cadastro da empresa e reprocesse
prefecture not found for city code {cityCode}Prefeitura não encontrada para o código de cidade {cityCode}O município não tem integração ativa. Veja as prefeituras integradas
failed to resolve the company certificateFalha ao obter o certificado da empresaO certificado digital está ausente, vencido ou inválido. Reenvie o certificado A1 da empresa
service invoice with the same external id already existsJá existe nota com o mesmo identificador externoUse outro externalId ou consulte a nota existente
service invoice with rps number ({RpsNumber}) already existsJá existe nota com o número de RPS ({RpsNumber})Use o próximo RPS livre
service invoice with external id ({ExternalId}) already existsJá existe nota com o identificador externo ({ExternalId})Consulte a nota existente
service invoice with rps Serial ({RpsSerialNumber}) and rps number ({RpsNumber}) already exists in invoices: {ids}Já existe nota com a série de RPS ({RpsSerialNumber}) e o número ({RpsNumber}) nas notas: {ids}O RPS informado manualmente está ocupado. Use outro número
Certificate resolution failed permanently for invoice {invoiceId}, company {companyId}: {Status} {Value}Falha definitiva ao resolver o certificado da nota {invoiceId}, empresa {companyId}O certificado da empresa não pôde ser usado. Verifique o certificado e reprocesse

Cálculo de impostos​

Mensagem (EN)PortuguêsCausa e ação
city service code '{CityServiceCode}' was not found for city code '{cityCode}' for calculate taxesO código de serviço '{CityServiceCode}' não foi encontrado para a cidade '{cityCode}' no cálculo de impostosO cityServiceCode não existe para o município. Confira o código na lista da cidade
provider federal tax number '{FederalTaxNumber}' is not a valid CNPJ for tax calculationO CNPJ do prestador '{FederalTaxNumber}' não é válido para o cálculo de impostosCorrija o CNPJ da empresa
tax service lookup failed ({Status}) for city service code '{CityServiceCode}' and city code '{cityCode}'A consulta do serviço tributário falhou ({Status}) para o código '{CityServiceCode}' e a cidade '{cityCode}'Reprocesse a nota. Se repetir, abra chamado
ibpt code '{federalServiceCode}' was not found for state '{UF}' to calculate approximate tax burdenO código IBPT '{federalServiceCode}' não foi encontrado para a UF '{UF}' no cálculo da carga tributária aproximadaConfira o código de serviço federal ou informe approximateTax
Failed to get the cityServiceCodeFalha ao obter o cityServiceCodeInforme o cityServiceCode na emissão

Validação antes do envio à prefeitura​

Estas mensagens aparecem quando a plataforma recusa o dado antes de enviar à prefeitura.

ProvedorMensagem (EN)PortuguêsAção
Nacional (ADN), Cidade360, SilTecnologiaInvalid RpsSerialNumber for National ProxySérie de RPS inválida para o provedor NacionalCorrija rpsSerialNumber
Betha CloudInvalid RpsSerialNumber for Betha Cloud ProxySérie de RPS inválida para o provedor Betha CloudCorrija rpsSerialNumber
NacionalInvalid CityServiceCode for National ProxyCódigo de serviço da cidade inválido para o provedor NacionalCorrija cityServiceCode
NacionalInvalid cTribNac source value '{valor}': must be exactly 6 numeric digits ...Valor de origem do cTribNac '{valor}' inválido: deve ter exatamente 6 dígitos numéricosInforme federalServiceCode com 6 dígitos (por exemplo 050801) ou cityServiceCode no formato 050801.050
NacionalDeductionDocument must have exactly one identifier set: ...O documento de dedução deve ter exatamente um identificadorInforme um só identificador por documento de dedução
NacionalDeductionDocument.{Campo} is required ...O campo {Campo} do documento de dedução é obrigatórioPreencha o campo indicado
SIGISSThe value of field {campo} is invalid: expected 6 numeric digits, got '{valor}'.O valor do campo {campo} é inválido: esperados 6 dígitos numéricosInforme ibsCbs.classCode e ibsCbs.operationIndicator com 6 dígitos
Barueri{campo} lenght must be less than {N} characters{campo} deve ter menos de {N} caracteresReduza o tamanho do campo
Barueri{campo} must not exceed {N} characters{campo} não pode passar de {N} caracteresReduza o tamanho do campo
Baruerilocation is required when ibsCbs.operationIndicator is '{op}' ...location é obrigatório quando ibsCbs.operationIndicator é '{op}' (operação com imóvel)Informe rua, número, bairro, cidade, UF e CEP do local da prestação
Baruerilocation.city.code is required for a service rendered in Brazil ...location.city.code é obrigatório para serviço prestado no BrasilInforme o código IBGE da cidade da prestação
Baruerilocation.country is required for a service rendered abroad ...location.country é obrigatório para serviço prestado no exteriorInforme o país do local da prestação
Baruerilocation.country is not mapped in the Barueri country table ...location.country não consta na tabela de países de BarueriUse um país aceito pela prefeitura (ISO 3166-1 alfa-3)
AVMB, FlorianópolisToken cannot be nullO token não pode ser nuloCadastre o token de integração da prefeitura na empresa
EL NacionalInvalid AuthIssueValue for EL National Proxy: the integration token is required on every requestValor de autenticação inválido: o token de integração é obrigatório em toda requisiçãoCadastre o token de integração da empresa
Cidade360Cancellation is not available via webservice for this provider.O cancelamento não está disponível por webservice neste provedorCancele a nota no portal da prefeitura

Autenticação e acesso na prefeitura​

ProvedorMensagem (EN)PortuguêsAção
Nacional e herdeiros{statusCode} - Access is denied.{statusCode} - Acesso negadoA prefeitura negou o acesso. Verifique o certificado digital e as credenciais da empresa
EL NacionalEL rejected the integration token (HTTP {code}). Generate a new token in the city portal (Configurações → Integração) and update the company registration.O EL recusou o token de integração (HTTP {code}). Gere um novo token no portal da cidade (Configurações → Integração) e atualize o cadastro da empresaGere o novo token e atualize a empresa
SIGISSWebAuthentication FailureFalha de autenticaçãoConfira o usuário e a senha da prefeitura no cadastro da empresa

Divergência entre a nota e a resposta da prefeitura​

A prefeitura respondeu, mas os dados não conferem com a nota enviada. Confira a nota no portal da prefeitura antes de reprocessar.

ProvedorMensagem (EN)Português
ABRASF 2.01, BHISS, João Pessoa, Paulistana, VitóriaRps does not match this borrowerO RPS não corresponde a este tomador
OsascoRps does not match this invoiceO RPS não corresponde a esta nota
Lexsom, Pronimrps number does not match invoiceO número do RPS não corresponde à nota
ELDivergence detected: borrower tax number in the response does not match the issued invoiceDivergência: o CPF/CNPJ do tomador na resposta não corresponde à nota emitida
ELDivergence detected: services amount in the response does not match the issued invoiceDivergência: o valor dos serviços na resposta não corresponde à nota emitida
SIGISSBorrower CNPJ mismatch: expected {esperado}, but prefecture returned {recebido}CNPJ do tomador divergente: esperado {esperado}, a prefeitura devolveu {recebido}
SIGISSService amount mismatch: expected {esperado}, but prefecture returned {recebido}Valor do serviço divergente: esperado {esperado}, a prefeitura devolveu {recebido}
SIGISSRPS number mismatch: expected {esperado}, but prefecture returned {recebido}Número do RPS divergente: esperado {esperado}, a prefeitura devolveu {recebido}

Resposta vazia ou ilegível da prefeitura​

ProvedorMensagem (EN)Português
Paulistana (SP)Empty response from prefecture webserviceResposta vazia do webservice da prefeitura
EL NacionalEmpty or invalid response from ELResposta vazia ou inválida do EL
EL NacionalResponse from EL has no idDPSA resposta do EL não tem idDPS
EL NacionalUnreadable nfseXmlGZipB64 returned by EL for access key {chave}nfseXmlGZipB64 ilegível devolvido pelo EL para a chave de acesso {chave}
GIAPcancel xml is nullO XML de cancelamento é nulo
SMARAPDRPS not found in the responseRPS não encontrado na resposta

Ação. Consulte a nota no portal da prefeitura. Se a nota existe, aguarde a sincronização. Se não existe, reprocesse.

Motor de cálculo IBS/CBS​

Algumas mensagens de IBS/CBS começam em português e terminam em inglês. O prefixo é Falha no pré-cálculo do IBS/CBS (Tax Engine): . Provedores: Elotech, SilTecnologia e TINUS.

Trecho em inglêsPortuguês
Tax Engine timed out.O motor de cálculo excedeu o tempo limite
Tax Engine transport failure.Falha de comunicação com o motor de cálculo
Tax Engine returned HTTP {statusCode}[ - {detalhe}]O motor de cálculo respondeu HTTP {statusCode}
Tax Engine returned an empty success body.O motor de cálculo respondeu sucesso com corpo vazio
Tax Engine returned a malformed JSON success body.O motor de cálculo respondeu sucesso com um JSON malformado

Ação. Reprocesse a nota. Se o erro repetir, abra chamado com o id da nota.

Substituição e eventos não suportados​

Mensagem (EN)PortuguêsAção
Substitution not supported for provider {Provedor}. ...Substituição não suportada para o provedor {Provedor}Cancele a nota original e emita uma nova no portal da prefeitura
EnviarEvento not supported by this proxyO envio de evento não é suportado por este provedorO cancelamento por evento só existe no ambiente Nacional
unsupported event type {EventType}Tipo de evento não suportado: {EventType}Use um tipo de evento aceito
missing event detail for event type {EventType}Falta o detalhe do evento do tipo {EventType}Envie o detalhe exigido pelo tipo de evento

Mensagens técnicas de exceção​

Alguns erros vêm direto de uma exceção do sistema. O texto varia, fica em inglês e não orienta uma correção.

Padrão (EN)ExemploAção
[999] {texto}[999] Data at the root level is invalid. Line 1, position 1.A resposta da prefeitura não é um XML válido. Reprocesse. Se repetir, abra chamado
{prefixo em português}: {texto}[E999] Erro ao deserializar resposta XML: Data at the root level is invalidIdem
EnviarLote failed with {Exceção}: {texto} / CancelarNotaFiscal failed with {Exceção}: {texto}EnviarLote failed with ...Falha no envio ou no cancelamento. Reprocesse. Se repetir, abra chamado
Nullable object must have a value., Sequence contains no elementsIdemDado ausente na nota. Revise o payload e abra chamado se tudo estiver preenchido

Ambiente de testes​

No ambiente de desenvolvimento, uma descrição com o gatilho de erro aleatório devolve [E998] Random error on SendBatch. ou [E999] Random error on CheckBatch.. Veja Como simular erro de processamento.

Veja também​

Para IA / LLMs​

  • Cobertura: mensagens de erro da API de NFS-e v1, em respostas HTTP síncronas e no campo flowMessage do fluxo assíncrono.
  • Não parafrasear: a coluna "Mensagem (EN)" é literal. Reproduza o texto original ao responder. A coluna "Português" é uma tradução de referência desta documentação, não texto retornado pela API.
  • Idioma: a API responde em inglês. Há mensagens em português (de prefeituras e de integrações novas) e mensagens com os dois idiomas. Não há escolha de idioma na resposta.
  • Código de erro: quase todas as mensagens não têm código estável. Só UnsupportedApiVersion, InvalidApiVersion, ApiVersionUnspecified e AmbiguousApiVersion têm code. Use o status HTTP, o status e o flowStatus da nota para decidir.
  • Texto da prefeitura: o flowMessage pode trazer o texto da prefeitura sem alteração. Esse texto não está neste catálogo.
  • Pré-requisitos: Tipos de retorno de status das requisições HTTPS.
  • Atualizado: 2026-10-09.

NFE.io

A NFE.io é uma empresa de tecnologia que fornece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas. Com suas ferramentas, as empresas podem economizar tempo e reduzir erros, aumentando a eficiência e precisão do processo de emissão de notas fiscais.

Um dos principais cases de sucesso da NFE.io é a implementação da solução na empresa de transporte Rodonaves. Com a automatização da emissão e gestão de notas fiscais eletrônicas, a Rodonaves conseguiu reduzir em até 80% o tempo gasto nesse processo, o que se traduziu em uma significativa melhoria na eficiência operacional. Além disso, a empresa também conseguiu eliminar erros e atrasos na emissão de notas fiscais, o que melhorou a relação com seus clientes e aumentou a confiança dos órgãos fiscais.

Outro exemplo é a implementação da NFE.io na empresa de comércio eletrônico, a Loja Integrada. Com a automatização da emissão de notas fiscais, a Loja Integrada conseguiu aumentar a velocidade de emissão de notas em até 10 vezes, o que permitiu que a empresa atendesse a uma maior quantidade de clientes e, consequentemente, aumentar as suas vendas.

Além desses exemplos, a NFE.io também tem outros cases de sucesso com empresas de setores como indústria, construção, varejo e serviços, mostrando a versatilidade e eficácia da sua solução.

Em resumo, a NFE.io é uma empresa de tecnologia que oferece soluções para automatizar e simplificar a emissão e gestão de notas fiscais eletrônicas, ajudando as empresas a economizar tempo e reduzir erros, melhorando a eficiência e precisão do processo. Com cases de sucesso em diferentes setores, a NFE.io tem se destacado como uma empresa líder em automação fiscal.