Problema na validação do schema

Olá,

estou recebendo os seguintes erros ao emitir uma nfce

{
  "message": "Ocorreram erros de validação na sua requisição, por favor, verifique as informações e tente novamente.",
  "messageCode": "ME0400",
  "validationErrors": [
    {
      "errorCode": "SchemaValidationError",
      "message": "Element 'xNome' is unexpected according to content model of parent element 'dest'.\r\nExpecting: CNPJ, CPF, idEstrangeiro.",
      "propertyName": "Nota fiscal"
    },
    {
      "errorCode": "SchemaValidationError",
      "message": "Element 'vIPI' is unexpected according to content model of parent element 'IPITrib'.\r\nExpecting: vBC, qUnid.",
      "propertyName": "Nota fiscal"
    },
    {
      "errorCode": "SchemaValidationError",
      "message": "Element 'vPIS' is unexpected according to content model of parent element 'PISOutr'.\r\nExpecting: vBC, qBCProd.",
      "propertyName": "Nota fiscal"
    },
    {
      "errorCode": "SchemaValidationError",
      "message": "Element 'vCOFINS' is unexpected according to content model of parent element 'COFINSOutr'.\r\nExpecting: vBC, qBCProd.",
      "propertyName": "Nota fiscal"
    }
  ]
}

Olhei a documentação os campos de impostos estão como requeridos, o campo de nome não está.

Eu não entendi o porque começou dar agora esses erros, já estava enviando assim normalmente.

Segue o xml gerado pelo sdk nuvem fiscal

{"ambiente":"homologacao","infNFe":{"versao":"4.00","ide":{"cUF":41,"cNF":"19148043","natOp":"Venda de Mercadoria","mod":65,"serie":1,"nNF":50340,"dhEmi":"2023-09-14T12:53:44Z","dhSaiEnt":"2023-09-14T12:53:44Z","tpNF":1,"idDest":1,"cMunFG":"4109609","tpImp":4,"tpEmis":1,"tpAmb":2,"finNFe":1,"indFinal":1,"indPres":1,"procEmi":0,"verProc":"1.0","NFref":[]},"emit":{"CNPJ":"13007512000121","xNome":"Kero Ótica Inc.","xFant":"Kero Ótica","enderEmit":{"xLgr":"Testetest","nro":"12345","xBairro":"Zona 1","cMun":"4109609","xMun":"Guaratuba","UF":"PR","CEP":"87200000","cPais":"1058","xPais":"Brasil","fone":"36296203"},"IE":"9054324607","CRT":1},"dest":{"xNome":"Consumidor","enderDest":{"xLgr":"Sem logradouro","nro":"S/N","xBairro":"Sem bairro","cMun":"4109609","xMun":"Guaratuba","UF":"PR","CEP":"00000000","cPais":"1058","xPais":"Brasil"},"indIEDest":9,"IE":"9054324607"},"autXML":[{"CNPJ":"16547136000156"},{"CNPJ":"00705314000190"},{"CPF":"41794858008"},{"CPF":"86108926031"}],"det":[{"nItem":1,"prod":{"cProd":"05049385352","cEAN":"5695546982566","cBarra":"5695546982566","xProd":"Teste homologacao","NCM":"00000000","CFOP":"5102","uCom":"PAR","qCom":1.00,"vUnCom":10.00,"vProd":10.0000,"cEANTrib":"5695546982566","cBarraTrib":"5695546982566","uTrib":"PAR","qTrib":1.00,"vUnTrib":10.00,"indTot":1},"imposto":{"vTotTrib":2.68,"ICMS":{"ICMSSN102":{"orig":0,"CSOSN":"102"}},"IPI":{"cEnq":"999","IPITrib":{"CST":"99","vIPI":0.0}},"PIS":{"PISOutr":{"CST":"99","vPIS":0.0}},"COFINS":{"COFINSOutr":{"CST":"99","vCOFINS":0.0}}},"impostoDevol":{"pDevol":0.00,"IPI":{"vIPIDevol":0.00}}}],"total":{"ICMSTot":{"vBC":0.0,"vICMS":0.0,"vICMSDeson":0.00,"vFCP":0.0,"vBCST":0.0,"vST":0.0,"vFCPST":0.0,"vFCPSTRet":0.0,"vProd":10.00,"vFrete":0.00,"vSeg":0.00,"vDesc":0.00,"vII":0.00,"vIPI":0.0,"vIPIDevol":0.00,"vPIS":0.0,"vCOFINS":0.0,"vOutro":0.00,"vNF":10.00,"vTotTrib":2.68}},"transp":{"modFrete":9},"pag":{"detPag":[{"tPag":"01","vPag":10.00}]},"infRespTec":{"CNPJ":"13007512000121","xContato":"Alessandro Pizza Pancotte","email":"financeiro@logsistemas.com.br","fone":"4433519332"}},"referencia":"c909e02d24ea4c651b8635a1b4a27bc4"}

Eu sei que quando o campo não é obrigatório não pode ser enviado, mas não me parece ser esse o caso. Não consegui identificar o motivo.

Obrigado

Bom dia, @financeiro.

Fizemos algumas melhorias nas validações que, por enquanto, foram implantadas apenas na API Sandbox. Esse é o motivo de você ter começado a receber esses erros recentemente.

Ocorre que muitos campos estão como opcionais na documentação, porém fazem parte de um grupo de tags onde deve-se escolher uma delas obrigatoriamente. Todas as mensagens de erro que você postou se enquadram nisso.

Vamos tomar como exemplo a primeira mensagem de erro:

"Element 'xNome' is unexpected according to content model of parent element 'dest'.
Expecting: CNPJ, CPF, idEstrangeiro."

A mensagem indica que o elemento xNome não é esperado e que você deve informar, antes dele, a identificação do destinatário (CNPJ, CPF ou idEstrangeiro). Olhando o schema XSD, temos o seguinte trecho correspondente:

Perceba que, para enviar o destinatário, é obrigatório a identificação dele com uma das três tags mencionadas na mensagem de erro. Como o destinatário é opcional na NFC-e em algumas situações, o comportamento anterior da API era o de ignorar completamente o destinatário enviado sem identificação (que foi o seu caso). Você pode comprovar isso analisando os XMLs de NFC-e enviadas antes dessa alteração.

Já o comportamento atual da API é o de garantir que todos os dados enviados sejam processados corretamente, sem ambiguidades nem ignorando dados fornecidos. Ou seja, caso você não queira enviar o destinatário, terá que remover o campo dest inteiro do JSON.

Espero ter esclarecido. Qualquer dúvida, estamos à disposição.

Complementando o meu tópico:

Eu havia recebido este erro:

{"Error calling EmitirNfce: {
    "error": {
        "code": "ValidationFailed",
        "message": "Validation failed",
        "errors": [
            {
                "code": "SchemaValidationError",
                "message": "Element 'xNome' is unexpected according to content model of parent element 'dest'.\r\nExpecting: CNPJ, CPF, idEstrangeiro."
            },
            {
                "code": "SchemaValidationError",
                "message": "Element 'vIPI' is unexpected according to content model of parent element 'IPITrib'.\r\nExpecting: vBC, qUnid."
            },
            {
                "code": "SchemaValidationError",
                "message": "Element 'vPIS' is unexpected according to content model of parent element 'PISOutr'.\r\nExpecting: vBC, qBCProd."
            },
            {
                "code": "SchemaValidationError",
                "message": "Element 'vPIS' is unexpected according to content model of parent element 'PISST'.\r\nExpecting: vBC, qBCProd."
            },
            {
                "code": "SchemaValidationError",
                "message": "Element 'vCOFINS' is unexpected according to content model of parent element 'COFINSOutr'.\r\nExpecting: vBC, qBCProd."
            },
            {
                "code": "SchemaValidationError",
                "message": "Element 'vCOFINS' is unexpected according to content model of parent element 'COFINSST'.\r\nExpecting: vBC, qBCProd."
            }
        ]
    }
}"}

A preenchimento das tags COFINSST e PISST eu removi e parou de dar o erro delas, nesse caso faz sentido.

Entendi.

Como você conseguiu fazer esse diagrama a partir dos esquemas?
Estou tentando aqui e não estou conseguindo.
Acredito que com ele ficará mais fácil.

Arimateia, eu fiz os ajustes aqui e deu certo o envio.

Quanto aos impostos notei alguns pontos, vou pegar o erro que indica o pis por exemplo

"Element 'vPIS' is unexpected according to content model of parent element 'PISST'.\r\nExpecting: vBC, qBCProd."

As tags vBC, qBCProd estavam sendo informadas com valor zero nas classes do sdk conforme a imagem abaixo:

No entanto nem todos os valores estão sendo enviados na requisição (Interceptada pelo fiddler) realizada pelo sdk conforme a imagem abaixo e também o json no início do tópico:
image

Para continuar recebendo o erro eu simplesmente fiz um tratamento para não enviar nada dos impostos PIS, COFINS e IPI resultando no seguinte formato da minha tag imposto em nfce:

<imposto>
	<vTotTrib>2.68</vTotTrib>
	<ICMS>
		<ICMSSN102>
			<orig>0</orig>
			<CSOSN>102</CSOSN>
		</ICMSSN102>
	</ICMS>
</imposto>

A NFCe está sendo enviada em homologação, mas não sei se isso dará certo em produção, porque não lembro de já ter visto alguma nfce autorizada em produção dessa forma, sem as demais tags de impostos.

Boa tarde, @financeiro.

Utilizo o software Altova XMLSpy.

Ao que tudo indica, a SDK não está serializando valores default (zeros e strings vazias) para o JSON. Nossa equipe está analisando e em breve damos um retorno.

Tá ok então, fico no aguardo. Obrigado.

@financeiro, fizemos uma atualização no SDK e agora esse problema deve estar corrigido.
Poderia atualizar o SDK e tentar novamente agora?

Bom dia, resolveu sim.

No entanto estou recebendo este retorno no envio:

  "error": {
    "code": "ServerError",
    "message": "Internal server error: GdqOa-9mjvbVvZHQ4j6xQA"
  }

xml enviado:

{"ambiente":"homologacao","infNFe":{"versao":"4.00","Id":null,"ide":{"cUF":41,"cNF":"62091544","natOp":"Venda de Mercadoria","mod":65,"serie":1,"nNF":50380,"dhEmi":"2023-09-18T11:46:00Z","dhSaiEnt":"0001-01-01T00:00:00","tpNF":1,"idDest":1,"cMunFG":"4109609","tpImp":4,"tpEmis":1,"cDV":0,"tpAmb":2,"finNFe":1,"indFinal":1,"indPres":1,"indIntermed":0,"procEmi":0,"verProc":"1.0","dhCont":"0001-01-01T00:00:00","xJust":null,"NFref":[]},"emit":{"CNPJ":"13007512000121","CPF":null,"xNome":"Kero Ótica Inc.","xFant":"Kero Ótica","enderEmit":{"xLgr":"Testetest","nro":"12345","xCpl":null,"xBairro":"Zona 1","cMun":"4109609","xMun":"Guaratuba","UF":"PR","CEP":"87200000","cPais":"1058","xPais":"Brasil","fone":"36296203"},"IE":"9054324607","IEST":null,"IM":null,"CNAE":null,"CRT":1},"autXML":[{"CNPJ":"16547136000156","CPF":null},{"CNPJ":"00705314000190","CPF":null},{"CNPJ":null,"CPF":"41794858008"},{"CNPJ":null,"CPF":"86108926031"}],"det":[{"nItem":1,"prod":{"cProd":"05049385352","cEAN":"5695546982566","cBarra":"5695546982566","xProd":"Teste homologacao","NCM":"00000000","CEST":null,"indEscala":null,"CNPJFab":null,"cBenef":null,"EXTIPI":null,"CFOP":"5102","uCom":"PAR","qCom":1.00,"vUnCom":10.00,"vProd":10.0000,"cEANTrib":"5695546982566","cBarraTrib":"5695546982566","uTrib":"PAR","qTrib":1.00,"vUnTrib":10.00,"vFrete":null,"vSeg":null,"vDesc":null,"vOutro":null,"indTot":1,"xPed":null,"nItemPed":0,"nFCI":null,"nRECOPI":null},"imposto":{"vTotTrib":2.68,"ICMS":{"ICMSSN102":{"orig":0,"CSOSN":"102"}},"IPI":{"CNPJProd":null,"cSelo":null,"qSelo":null,"cEnq":"999","IPITrib":{"CST":"99","vBC":0.0,"pIPI":0.0,"qUnid":0.0,"vUnid":0.0,"vIPI":0.0}},"PIS":{"PISOutr":{"CST":"99","vBC":0.0,"pPIS":0.0,"qBCProd":0.0,"vAliqProd":0.0,"vPIS":0.0}},"COFINS":{"COFINSOutr":{"CST":"99","vBC":0.0,"pCOFINS":0.0,"qBCProd":0.0,"vAliqProd":0.0,"vCOFINS":0.0}}},"infAdProd":null}],"total":{"ICMSTot":{"vBC":0.0,"vICMS":0.0,"vICMSDeson":0.00,"vFCPUFDest":0.0,"vICMSUFDest":0.0,"vICMSUFRemet":0.0,"vFCP":0.0,"vBCST":0.0,"vST":0.0,"vFCPST":0.0,"vFCPSTRet":0.0,"qBCMono":null,"vICMSMono":0.0,"qBCMonoReten":null,"vICMSMonoReten":0.0,"qBCMonoRet":null,"vICMSMonoRet":0.0,"vProd":10.00,"vFrete":0.00,"vSeg":0.00,"vDesc":0.00,"vII":0.00,"vIPI":0.0,"vIPIDevol":0.00,"vPIS":0.0,"vCOFINS":0.0,"vOutro":0.00,"vNF":10.00,"vTotTrib":2.68}},"transp":{"modFrete":9,"vagao":null,"balsa":null},"pag":{"detPag":[{"indPag":0,"tPag":"01","xPag":null,"vPag":10.00}],"vTroco":null},"infRespTec":{"CNPJ":"13007512000121","xContato":"Alessandro Pizza Pancotte","email":"financeiro@logsistemas.com.br","fone":"4433519332","idCSRT":0,"hashCSRT":null}},"referencia":"500b51579360fa823aabf6cdddc9d0b5"}

Bom dia, @financeiro.

Estamos analisando. Favor aguardar.

Já editei a resposta ali

@financeiro

Esse JSON está dando alguns erros de validação de schema. Você poderia confirmar se é esse realmente que está fazendo retornar o “Internal server error”?

Opa, fiz um novo teste aqui.

Esse json é interceptado pelo fiddler

{"ambiente":"homologacao","infNFe":{"versao":"4.00","Id":null,"ide":{"cUF":41,"cNF":"71830355","natOp":"Venda de Mercadoria","mod":65,"serie":1,"nNF":50382,"dhEmi":"2023-09-18T12:15:40Z","dhSaiEnt":"0001-01-01T00:00:00","tpNF":1,"idDest":1,"cMunFG":"4109609","tpImp":4,"tpEmis":1,"cDV":0,"tpAmb":2,"finNFe":1,"indFinal":1,"indPres":1,"indIntermed":0,"procEmi":0,"verProc":"1.0","dhCont":"0001-01-01T00:00:00","xJust":null,"NFref":[]},"emit":{"CNPJ":"13007512000121","CPF":null,"xNome":"Kero Ótica Inc.","xFant":"Kero Ótica","enderEmit":{"xLgr":"Testetest","nro":"12345","xCpl":null,"xBairro":"Zona 1","cMun":"4109609","xMun":"Guaratuba","UF":"PR","CEP":"87200000","cPais":"1058","xPais":"Brasil","fone":"36296203"},"IE":"9054324607","IEST":null,"IM":null,"CNAE":null,"CRT":1},"autXML":[{"CNPJ":"16547136000156","CPF":null},{"CNPJ":"00705314000190","CPF":null},{"CNPJ":null,"CPF":"41794858008"},{"CNPJ":null,"CPF":"86108926031"}],"det":[{"nItem":1,"prod":{"cProd":"05049385352","cEAN":"5695546982566","cBarra":"5695546982566","xProd":"Teste homologacao","NCM":"00000000","CEST":null,"indEscala":null,"CNPJFab":null,"cBenef":null,"EXTIPI":null,"CFOP":"5102","uCom":"PAR","qCom":1.00,"vUnCom":10.00,"vProd":10.0000,"cEANTrib":"5695546982566","cBarraTrib":"5695546982566","uTrib":"PAR","qTrib":1.00,"vUnTrib":10.00,"vFrete":null,"vSeg":null,"vDesc":null,"vOutro":null,"indTot":1,"xPed":null,"nItemPed":0,"nFCI":null,"nRECOPI":null},"imposto":{"vTotTrib":2.68,"ICMS":{"ICMSSN102":{"orig":0,"CSOSN":"102"}},"IPI":{"CNPJProd":null,"cSelo":null,"qSelo":null,"cEnq":"999","IPITrib":{"CST":"99","vBC":0.0,"pIPI":0.0,"qUnid":0.0,"vUnid":0.0,"vIPI":0.0}},"PIS":{"PISOutr":{"CST":"99","vBC":0.0,"pPIS":0.0,"qBCProd":0.0,"vAliqProd":0.0,"vPIS":0.0}},"COFINS":{"COFINSOutr":{"CST":"99","vBC":0.0,"pCOFINS":0.0,"qBCProd":0.0,"vAliqProd":0.0,"vCOFINS":0.0}}},"infAdProd":null}],"total":{"ICMSTot":{"vBC":0.0,"vICMS":0.0,"vICMSDeson":0.00,"vFCPUFDest":0.0,"vICMSUFDest":0.0,"vICMSUFRemet":0.0,"vFCP":0.0,"vBCST":0.0,"vST":0.0,"vFCPST":0.0,"vFCPSTRet":0.0,"qBCMono":null,"vICMSMono":0.0,"qBCMonoReten":null,"vICMSMonoReten":0.0,"qBCMonoRet":null,"vICMSMonoRet":0.0,"vProd":10.00,"vFrete":0.00,"vSeg":0.00,"vDesc":0.00,"vII":0.00,"vIPI":0.0,"vIPIDevol":0.00,"vPIS":0.0,"vCOFINS":0.0,"vOutro":0.00,"vNF":10.00,"vTotTrib":2.68}},"transp":{"modFrete":9,"vagao":null,"balsa":null},"pag":{"detPag":[{"indPag":0,"tPag":"01","xPag":null,"vPag":10.00}],"vTroco":null},"infRespTec":{"CNPJ":"13007512000121","xContato":"Alessandro Pizza Pancotte","email":"financeiro@logsistemas.com.br","fone":"4433519332","idCSRT":0,"hashCSRT":null}},"referencia":"cb37850231fd3e088ebbdd97d0258488"}

Certo.

Enquanto analisamos, percebi valores estranhos nos seguintes campos:

"dhSaiEnt": "0001-01-01T00:00:00",
"dhCont": "0001-01-01T00:00:00",

Caso a NFC-e não contenha esses dados, o ideal é removê-los do JSON.

Ajustei. Obrigado

Deu certo.

Apareceram mais algumas validações de schema, ajustei-as e agora está enviando.

1 curtida

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