-
Notifications
You must be signed in to change notification settings - Fork 2
10. Erros comuns
Seguem alguns erros comuns que podem ocorrer durante a emissão da NFS-e, e como evitá-los.
Verifique se está enviando a propriedade correta no payload. Por exemplo, se o serviço espera dpsXmlGZipB64 e você está enviando nfseXmlGZipB64, ocorrerá esse erro.
[RNG6110] Falha Schema Xml (Xml mal formado. System.NullReferenceException: Object reference not set to an instance of an object.\r\n at Serpro.Sped.NFSe.Schemas.Controle.ControleValidarSchema.Validar(String xml, TipoDocumentoRequisicao tipoDocReq, ResultadoProcessamento resultado))
Verifique se o XML está formatado corretamente e utilizando UTF-8. Além disso, confira se o XML está sendo assinado corretamente antes do envio.
Provavelmente o XML está sendo gerado com o prefixo "ds:" após a assinatura. Resolva passando um prefixo vazio para na classe XMLSecurityDSig, como no exemplo abaixo:
new XMLSecurityDSig('')Verifique se o XML está sendo gerado com a codificação UTF-8 e com o header correto:
<?xml version="1.0" encoding="UTF-8"?>[RNG6110] Falha Schema Xml (The 'versao' attribute is invalid - The value '1.00' is invalid according to its datatype 'http://www.sped.fazenda.gov.br/nfse:TVerNFSe' - The Pattern constraint failed.)
Provavelmente houve uma mudança de versão e a versão que está sendo enviada não é mais válida. Verifique a versão correta no schema e ajuste o código para enviar a versão correta:
config('services.nfse.version')
[RNG6110] Falha Schema Xml (The element 'cServ' in namespace 'http://www.sped.fazenda.gov.br/nfse' has incomplete content. List of possible elements expected: 'cNBS' in namespace 'http://www.sped.fazenda.gov.br/nfse'.)
O campo cNBS (Código Nacional de Atividade Econômica do Serviço) passou a ser obrigatório após a publicação da versão 1.01. Verifique o valor correto para o serviço prestado e envie esse campo no XML. Veja mais detalhes na portaria abaixo:
https://www.econeteditora.com.br/bdi/port/p13/portaria1820_rfb_scs_anx_2013.php
Verifique se o arquivo XSD está correto e acessível no caminho especificado. Além disso, confira se o XML está bem formado antes de validar contra o schema. Outra causa é a existência de RegEx no XSD que não são suportadas pelo PHP (ex: lookahead, lookbehind, etc). Nesse caso, será necessário ajustar o XSD para remover essas expressões, ou ajustar o serviço XmlValidatorService.php para realizar as correções (como já é feito no caso listado abaixo). Ex:
<xs:pattern value="^(?!0{1,5}$)\d{1,5}$"/>
deve ser alterado para
<xs:pattern value="[0-9]{1,5}"/>Outra opção é remover a validação do schema, mas isso não é recomendado.
Esse erro geralmente ocorre ao tentar obter as alíquotas do serviço nos parâmetros municipais. Apesar da mensagem indicar que o código do serviço deve ter nove dígitos, na prática, o sistema da SEFIN Nacional espera que o código seja enviado com uma formatação com pontos, dessa forma:
01.01.01.000
Ou seja, deve ter 9 dígitos, mas em um total de 12 caracteres. Se você enviar apenas os 9 dígitos, sem os pontos, receberá esse erro.