Erro ao emitir NFSe no município de Barueri/SP – XML inválido

Boa tarde, equipe NuvemFiscal.

Estou enfrentando dificuldades para emitir NFSe no município de Barueri/SP, tanto via emissão em lote quanto individual. Em todas as tentativas, a nota retorna com status “negada” e as mensagens abaixo:

{
  "id": "nfs_3a1ab5752970445c96693cb6cf0467ef",
  "created_at": "2025-06-23T18:51:55.104Z",
  "status": "negada",
  "ambiente": "homologacao",
  "referencia": "93703b4f-bf88-45e0-a6ea-81e104ac90b1",
  "DPS": {
    "serie": "1",
    "nDPS": "1"
  },
  "mensagens": [
    {
      "codigo": "R0404",
      "descricao": "Não há informações disponíveis com os parâmetros fornecidos"
    },
    {
      "codigo": "X201",
      "descricao": "WebService retornou um XML vazio."
    }
  ]
}

Ao consultar o XML gerado, percebo que ele está mal formatado, com vários campos faltando (como série, número do RPS, inscrição municipal do tomador, entre outros), além de aparentar estar em um layout que não segue o padrão esperado. Segue o conteúdo retornado:

<?xml version="1.0" encoding="UTF-8"?>2RPS  1        000000000120250623000000E                                                                                                                                                                                                          6311900  12                                                                                                                                                                                                            000001000000000160000     00000000000000021052244167119000129JOÃO DO MERCANTIL LTDA                                      RUA FRANCISCA RODRIGUES                                                    164      Centro                        Vila Tota Barbosa                       Barueri                                 SP06400000                                                                                                                                                                                            1.SERVICO DE ASSESSORIA PARA ISP - COMPETENCIA JUN/2025 #QTD:1 - V.UND.:R$1.600,00 - TOTAL.:R$1.600,00  

Pelo conteúdo, parece que o XML está incompleto ou sendo montado de forma incorreta, mesmo com todos os dados sendo corretamente enviados para a API da NuvemFiscal.

Gostaria de confirmar se há algum parâmetro faltando na requisição ou se o erro está, de fato, na geração do XML por parte da plataforma.

Segue o ID da NFSe para análise detalhada:
nfs_3a1ab5752970445c96693cb6cf0467ef

Segue também o json enviado no endpoint: https://api.sandbox.nuvemfiscal.com.br/nfse/dps/lotes

{
  "ambiente": "homologacao",
  "provedor": "padrao",
  "referencia": "f528b573-f807-45dd-98c5-6de35b098f6f",
  "documentos": [
    {
			"infDPS": {
				"valores": {
					"trib": {
						"tribMun": {
							"tribISSQN": 1,
							"pAliq": 2.5,
							"cLocIncid": "3505708"
						}
					},
					"vServPrest": {
						"vServ": 1600.00
					}
				},
				"serv": {
					"cServ": {
						"xDescServ": "1.SERVICO DE ASSESSORIA PARA ISP - COMPETENCIA JUN/2025 #QTD:1 - V.UND.:R$1.600,00 - TOTAL.:R$1.600,00",
						"cTribNac": "01.03",
						"cTribMun": "6311900"
					}
				},
				"prest": {
					"CNPJ": "59790760000192"
				},
				"toma": {
					"CNPJ": "44167119000129",
					"xNome": "JOÃO DO MERCANTIL LTDA",
					"end": {
						"endNac": {
							"cMun": "3505708",
							"CEP": "06400000"
						},
						"xLgr": "RUA OLIVEIRA RODRIGUES",
						"nro": "164",
						"xCpl": "Centro",
						"xBairro": "Vila Tota Barbosa"
					}
				},
				"dCompet": "20250601",
				"dhEmi": "2025-06-23T14:08:22Z",
				"tpAmb": 2
			},
			"ambiente": "homologacao",
			"provedor": "padrao",
			"referencia": "93703b4f-bf88-45e0-a6ea-81e104ac90b1"
		}
  ]
}

Fico no aguardo de um retorno. Desde já agradeço

Bom dia, @arimateia alguma novidade sobre esse problema?

Boa tarde, alguém passou por esse problema? Pode ser algo que estou mandando de forma errada? Agradeço demais se alguém poder me reportar algo

Boa tarde @arimateia teria como você me mandar o xmls enviado para a prefeitura? Pois o suporte deles pediram, estou tentando baixar no endpoint de baixar xml mas ele não esta me retornando um xml

Segue o id de uma das nfse que tentei gerar
nfs_3a1b119366064262b63f83de9764c5b8

Bom dia, @financeiro5.

A funcionalidade de debug da API da Nuvem Fiscal permite analisar a comunicação realizada com os servidores da SEFAZ ou prefeituras durante as transmissões de documentos fiscais. Com ela, é possível coletar os envelopes SOAP (requisição e resposta) e outras informações técnicas úteis para diagnóstico de falhas e abertura de chamados:

Muito obrigado, irei verificar aqui. Desde já agradeço.

Boa tarde @arimateia entrei em contato com a prefeitura de barueri, mandei os envelopes soap e eles me deram o seguinte retorno

Referente ao erro 402 eu vi que no arquivo de layout ele fala que a quantidade de serviço é obrigatório e não consegui encontrar esse parâmetro disponivel na nuvemfiscal para poder passar. Porém pode ser que vocês já passem ele de forma estática.

E sobre o erro 900 eles pediram para revisar se o layout está com todas as posições corretas

Link do layout rps: https://www.barueri.sp.gov.br/nfe/Manuais/RPS_Layout.pdf

Boa tarde, @financeiro5.

Obrigado pelas informações.

Favor nos enviar o envelope SOAP via mensagem privada para análise.

Boa tarde, @financeiro5.

Altere o número do próximo RPS para 2 e tente novamente.

Boa tarde, fiz a alteração de número para 2 e gerei novamente. Porém continua dando erro

Id da nfse: nfs_3a1b2b65359443b4ac4bc3aed6c645e2
Id do lote: lns_3a1b2b6535754aeba90e6dc387e8c9cd

Consulta no endpoint de debug para a request: req_3a1b2b653c2c4defb33b8bc31fdca523

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
	xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<soap:Body>
		<NFeLoteBaixarArquivoResponse
			xmlns="http://www.barueri.sp.gov.br/nfe">
			<NFeLoteBaixarArquivoResult>
				<ListaMensagemRetorno>
					<Codigo>R0404</Codigo>
					<Mensagem>Não há informações disponíveis com os parâmetros fornecidos</Mensagem>
					<Correcao />
				</ListaMensagemRetorno>
			</NFeLoteBaixarArquivoResult>
		</NFeLoteBaixarArquivoResponse>
	</soap:Body>
</soap:Envelope>

Consultei diretamente no painel da prefeitura e lá esta assim, situação com erros

E ao baixar o arquivo de erro verifiquei que esta dando o erro 900 e 402. Ou seja, parou de acontecer apenas o erro de código 102.

Se quiser posso enviar o arquivo com erro também

@financeiro5

Favor nos enviar o envelope SOAP dessa nota via mensagem privada.

Bom dia,

Verifiquei a documentação da prefeitura e identifiquei alguns pontos incorretos no envio inicial do arquivo:

  1. A descrição do serviço não pode exceder 100 caracteres por linha, com no máximo 13 linhas. Eu estava ultrapassando esse limite.
  2. O e-mail do tomador, quando for pessoa jurídica (PJ), é obrigatório — e eu não estava informando.
  3. O código de atividade também estava sendo enviado de forma incorreta.

Após corrigir essas informações, reenviei o arquivo. Consultei diretamente no portal da prefeitura e confirmei que ele foi importado com sucesso, conforme mostra a imagem em anexo (RPS número 018).

No entanto, o problema agora ocorre apenas na consulta_lote,. O erro retornado é o seguinte:

xml

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
	xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<soap:Body>
		<NFeLoteBaixarArquivoResponse
			xmlns="http://www.barueri.sp.gov.br/nfe">
			<NFeLoteBaixarArquivoResult>
				<ListaMensagemRetorno>
					<Codigo>R0404</Codigo>
					<Mensagem>Não há informações disponíveis com os parâmetros fornecidos</Mensagem>
					<Correcao />
				</ListaMensagemRetorno>
			</NFeLoteBaixarArquivoResult>
		</NFeLoteBaixarArquivoResponse>
	</soap:Body>
</soap:Envelope>

Acredito que o problema esteja na forma como o protocolo de remessa está sendo recuperado para realizar essa consulta. Fiz uma POC simples, onde simulei todo o fluxo de envio e consulta usando o arquivo Rps-09.txt, e consegui realizar todas as etapas com sucesso, sem receber o erro R0404.

Na POC, utilizei o seguinte caminho para obter o protocolo corretamente da resposta do envio:

resposta[0]?.NFeLoteEnviarArquivoResult?.ProtocoloRemessa

Com esse valor, a consulta do status retornou normalmente. Por isso, acredito que no ambiente da Nuvem Fiscal o erro esteja ocorrendo porque o protocolo está sendo obtido de um nó incorreto da resposta.

Segue novamente o ID da NFSe para facilitar a análise:

nfs_3a1b2c4d3c6f42a18b165b345e62a2db

Bom dia, @financeiro5.

Agradeço pelo retorno e pelas informações detalhadas.

Analisamos a comunicação com a prefeitura e confirmamos que o protocolo da remessa está sendo obtido corretamente, tanto que ele está sendo incluído no envelope SOAP da requisição de consulta do lote:

<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:nfe="http://www.barueri.sp.gov.br/nfe">
	<soapenv:Header/>
	<soapenv:Body>
		<nfe:NFeLoteBaixarArquivo>
			<nfe:VersaoSchema>1</nfe:VersaoSchema>
			<nfe:MensagemXML><![CDATA[<NFeLoteBaixarArquivo xmlns="http://www.barueri.sp.gov.br/nfe"><InscricaoMunicipal>(ofuscado)</InscricaoMunicipal><CPFCNPJContrib>(ofuscado)</CPFCNPJContrib><NomeArqRetorno>ENV4BM1034EBB20250716174307</NomeArqRetorno></NFeLoteBaixarArquivo>]]></nfe:MensagemXML>
		</nfe:NFeLoteBaixarArquivo>
	</soapenv:Body>
</soapenv:Envelope>

Você poderia, por gentileza, verificar se há alguma diferença entre esse envelope e o que foi utilizado em seus testes?

Notei um detalhe importante sobre os nomes dos arquivos relacionados ao envio e ao retorno.

Ao consultar o status de um envio utilizando o protocolo, percebi que o nome do arquivo de retorno informado na resposta começa com o prefixo RET, enquanto o protocolo de envio utilizado na consulta começa com ENV. Acredito que esses prefixos indiquem justamente “ENVio” e “RETorno”.

Segue um exemplo real:

client.consultarStatusArquivo('ENV4BM1034EBB20250716174307')
  .then(console.log)
  .catch(console.error);
{
  "NFeLoteStatusArquivoResult": {
    "ListaMensagemRetorno": {
      "Codigo": "OK200",
      "Mensagem": "Procedimento executado com sucesso",
      "Correcao": ""
    },
    "ListaNfeArquivosRPS": {
      "NomeArquivoOrginal": "Rps-018.txt",
      "DataEnvioArq": "2025-07-16T17:43:07",
      "CodigoRemessa": "00000000018",
      "ApenasValidaArq": false,
      "SituacaoArq": "1",
      "NomeArqRetorno": "RET4BM1034EBB20250716174307.TXT"
    }
  }
}

Ou seja, o nome correto do arquivo de retorno vem com o prefixo RET e a extensão .TXT, e foi retornado corretamente pelo método de consulta.

Após isso, utilizei esse nome no método de download e funcionou perfeitamente:

client.baixarArquivo('RET4BM1034EBB20250716174307.TXT', path.join(__dirname, new Date().toISOString() + '_retorno.txt'))
  .then(console.log)
  .catch(console.error);

Resultado:

{
  "sucesso": true,
  "codigo": "OK200",
  "mensagem": "Procedimento executado com sucesso",
  "dados": {
    "ListaMensagemRetorno": {
      "Codigo": "OK200",
      "Mensagem": "Procedimento executado com sucesso",
      "Correcao": ""
    },
    "caminhoArquivoSalvo": "2025-07-17T12:57:18.380Z_retorno.txt"
  }
}

Então, reforçando: o nome do arquivo de retorno eu obtive pelo método de status, pois ele inclui o prefixo RET e a extensão .TXT, enquanto o protocolo usado na consulta vem com ENV.

Em resumo acredito que você esta passando o nome do arquivo para o método de baixar com ENV4BM1034EBB20250716174307 e deveria ser RET4BM1034EBB20250716174307

@financeiro5

Poderia, por gentileza, encaminhar via mensagem privada o envelope SOAP da consulta do lote gerado em seus testes?

@financeiro5

Fizemos um novo ajuste para esse município.

Favor tentar novamente agora.

Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.