NFSe Caxias do Sul - Erro 1839 - Element 'infAdicLT'

Estou iniciando a validação da api para envio de notas para a cidade de Caxias do Sul - RS.

Está ocorrendo o erro:
[X800] Erro de Validação: --> 1839 - Element 'infAdicLT': [facet 'pattern'] The value '0' is not accepted by the pattern '[0-9]{7}'.

Pelo que encontrei nesse manual, na página 17, https://nfse.caxias.rs.gov.br/site/uploads/NFSe-ManualDeConectividade-GIF4-20200318.pdf, deveria ter uma tag a mais para infAdicLT, porém não tem esta opção aqui https://github.com/nuvem-fiscal/nuvemfiscal-sdk-php/blob/main/docs/Model/InfDPS.md.
Estou esquecendo de preencher algum outro campo?

Id em homologação: nfs_3a0f292ed58f4040a91eebf703e1ecf7

Boa tarde, @rafael1.

A tag infAdicLT do XML é gerada a partir do campo infDPS.valores.trib.tribMun.cLocIncid do JSON:

Segue a documentação completa do endpoint de emissão:

Obrigado, fiz o ajuste e corrigiu aquela situação.
Aí surgiu mais um erro: a grande maioria das notas vai ser enviada sem o tomador informado, porém o sistema está mostrando o seguinte erro:

[X800] Erro de Validação: --> 1871 - Element 'TomS': Missing child element(s). Expected is one of ( xNome, ender ).

Analisando o xml, está assim:

<TomS>
<CNPJ/>
</TomS>

Imagino que seja comportamento da api adicionar essas tags. É possível deixar sem elas quando o tomador estiver nulo?

O id da nota em homologação é nfs_3a0f2e7d7dae43fd97de4860c620161c.

Iremos analisar. Favor aguardar.

Olá, @rafael1.

De acordo com o layout do provedor da prefeitura, o tomador é obrigatório (pelo menos o CNPJ/CPF e o endereço).

Segue o trecho do schema XSD:

Bom dia, falei com outro empresário na cidade de Caxias, que já emite nota de serviço, e eles relataram que usam um programa disponível no site da prefeitura onde não é obrigatório o preenchimento do CPF. Existe a possibilidade do schema estar errado?

Bom dia, @rafael1.

Acabamos de realizar um teste de envio em nosso ambiente de desenvolvimento sem enviar a tag <TomS> e essa foi a resposta do provedor da prefeitura:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
	<SOAP-ENV:Header/>
	<SOAP-ENV:Body>
		<SOAP-ENV:Fault>
			<faultcode>SOAP-ENV:Client</faultcode>
			<faultstring xml:lang="en">ERRO : cvc-complex-type.2.4.a: Foi detectado um conteúdo inválido começando com o elemento 'det'. Era esperado um dos '{"http://ws.pc.gif.com.br/":TomS}'.</faultstring>
			<detail>
				<spring-ws:ValidationError xmlns:spring-ws="http://springframework.org/spring-ws">cvc-complex-type.2.4.a: Foi detectado um conteúdo inválido começando com o elemento 'det'. Era esperado um dos '{"http://ws.pc.gif.com.br/":TomS}'.</spring-ws:ValidationError>
			</detail>
		</SOAP-ENV:Fault>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Ou seja, o schema está correto.

Essa emissão que esse outro empresário na mesma cidade fez foi utilizando webservices ou foi diretamente pelo portal da prefeitura?

Possivelmente foi pelo programa disponibilizado na prefeitura, mas não cheguei a verificar lá.


Questionei a prefeitura para ver como tratar esses casos sem tomador, e me responderam isso:

Para enviar a nota sem identificar o tomador no XML, seria necessário fazer a seguinte estrutura:

<TomS>
  <CPF>00000000000</CPF>
  <xNome>Clientes Diversos</xNome>
  <ender>
     <xLgr>Rua</xLgr>
     <nro>0</nro>
     <xBairro>centro</xBairro>
     <cMun>4307906</cMun>
     <xMun>FARROUPILHA</xMun>
     <UF>RS</UF>
     <CEP>95180000</CEP>
     <cPais>01058</cPais>
     <xPais>Brasil</xPais>
  </ender>
</TomS>

*Aí teria que trocar a cidade e o cep provavelmente.

Fui pesquisar para ver se tem essa informação num documento, e encontrei o texto

Se for o caso de um CPF não informado deve ser utilizado o valor “00000000000” (correspondendo ao CPF 000.000.000/00).

na página 55 deste manual:

Acham que é possível alterar a api para preencher sozinho com o cpf 00000000000 quando eu não enviar o tomador?

Bom dia, @rafael1.

Alteração realizada na API.

Favor tentar novamente.

Ótimo, ainda estou com outros erros para validar a primeira nota em homologação, mas esse ajuste que fizeram deu certo, já apareceu o cpf 0 e não deu erro relacionado a isso, como ocorria no começo.
Obrigado!

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