ISSQNtot é obrigatório?

Ola companheiros, estou gerando uma NF-e que não é conjugada e nem possui qualquer serviço. Quando eu suprimo o bloco ISSQNtot, a API me devolve o erro: Internal server error: 3Phce4R3pWmXSBUzqip42w

O que estou fazendo errado? alguém pode me ajudar?

Bom dia @silvio,

A propriedade ISSQNtot não é obrigatória.

Você poderia nos enviar o JSON que está sendo enviado para a API da Nuvem Fiscal?

Segue abaixo:

{“infNFe”:{“versao”:“4.00”,“Id”:“19”,“ide”:{“cUF”:35,“cNF”:null,“natOp”:“VENDA DE MERCADORIA”,“mod”:55,“serie”:1,“nNF”:319,“dhEmi”:“2023-01-24T08:41:34-03:00”,“dhSaiEnt”:null,“tpNF”:1,“idDest”:1,“cMunFG”:“3550308”,“tpImp”:1,“tpEmis”:1,“cDV”:null,“tpAmb”:2,“finNFe”:1,“indFinal”:0,“indPres”:0,“indIntermed”:null,“procEmi”:0,“verProc”:“4.00”,“dhCont”:null,“xJust”:null},“emit”:{“CNPJ”:“68972942000175”,“CPF”:null,“xNome”:“SOFTWORK COMERCIO E SERVICOS DE INFORMATICA LTDA”,“xFant”:“SoftWork”,“enderEmit”:{“xLgr”:“Avenida Paulista”,“nro”:“171”,“xCpl”:null,“xBairro”:“Bela Vista”,“cMun”:“3550308”,“xMun”:“S\u00e3o Paulo”,“UF”:“SP”,“CEP”:“01311904”,“cPais”:“1058”,“xPais”:“BRASIL”,“fone”:null},“IE”:“113894920111”,“IEST”:null,“CRT”:1},“dest”:{“CNPJ”:“68972942000175”,“CPF”:“”,“idEstrangeiro”:null,“xNome”:“SOFTWORK COMERCIO E SERVICOS DE INFORMATICA LTDA”,“enderDest”:{“xLgr”:“Avenida Paulista”,“nro”:“171”,“xCpl”:null,“xBairro”:“Bela Vista”,“cMun”:“3550308”,“xMun”:“S\u00e3o Paulo”,“UF”:“SP”,“CEP”:“01311904”,“cPais”:“1058”,“xPais”:“BRASIL”,“fone”:“1129492700”},“indIEDest”:1,“IE”:“113894920111”,“ISUF”:null,“IM”:null,“email”:null},“det”:[{“nItem”:1,“prod”:{“cProd”:“1”,“cEAN”:“7894900700046”,“cBarra”:null,“xProd”:“REFRIGERANTE COCA COLA LATA ZERO”,“NCM”:“22021000”,“NVE”:[null],“CEST”:null,“cBenef”:null,“EXTIPI”:null,“CFOP”:“5102”,“uCom”:“UN”,“qCom”:50,“vUnCom”:5,“vProd”:295,“cEANTrib”:“7894900700046”,“cBarraTrib”:null,“uTrib”:“UN”,“qTrib”:50,“vUnTrib”:5,“vFrete”:null,“vSeg”:null,“vDesc”:null,“vOutro”:null,“indTot”:1,“xPed”:null,“nItemPed”:null,“nFCI”:null},“imposto”:{“vTotTrib”:0,“ICMS”:{“ICMSSN102”:{“orig”:0,“CSOSN”:“102”}},“PIS”:{“PISOutr”:{“CST”:“49”,“vBC”:0,“pPIS”:0,“qBCProd”:null,“vAliqProd”:null,“vPIS”:0}},“COFINS”:{“COFINSOutr”:{“CST”:“49”,“vBC”:0,“pCOFINS”:0,“qBCProd”:0,“vAliqProd”:0,“vCOFINS”:0}}}}],“total”:{“ICMSTot”:{“vBC”:29500,“vICMS”:5310,“vICMSDeson”:0,“vFCPUFDest”:0,“vICMSUFDest”:0,“vICMSUFRemet”:0,“vFCP”:0,“vBCST”:0,“vST”:0,“vFCPST”:0,“vFCPSTRet”:0,“vProd”:29500,“vFrete”:0,“vSeg”:0,“vDesc”:0,“vII”:0,“vIPI”:0,“vIPIDevol”:0,“vPIS”:0,“vCOFINS”:0,“vOutro”:0,“vNF”:29500,“vTotTrib”:0},“ISSQNtot”:[]},“transp”:{“modFrete”:9},“cobr”:{“fat”:{“nFat”:“string”,“vOrig”:0,“vDesc”:0,“vLiq”:0},“dup”:[null]},“pag”:{“detPag”:[{“tPag”:“05”,“vPag”:29500}]}},“ambiente”:“homologacao”,“referencia”:“19”}

@silvio

A propriedade ISSQNtot está sendo enviada como se fosse um array:

"ISSQNtot": []

Como você mencionou que a NF-e não possui ISSQN, então você deve remover essa propriedade do JSON. Caso queira enviar, então deve corrigir o mapeamento, pois essa propriedade é um objeto e não um array.

Para mais detalhes, segue o link da documentação: API Nuvem Fiscal | Nuvem Fiscal

Desculpe, vou enviar novamente . . . este era um teste . . .
vou enviar sem a propriedade …

{“infNFe”:{“versao”:“4.00”,“Id”:“19”,“ide”:{“cUF”:35,“cNF”:null,“natOp”:“VENDA DE MERCADORIA”,“mod”:55,“serie”:1,“nNF”:319,“dhEmi”:“2023-01-24T08:41:34-03:00”,“dhSaiEnt”:null,“tpNF”:1,“idDest”:1,“cMunFG”:“3550308”,“tpImp”:1,“tpEmis”:1,“cDV”:null,“tpAmb”:2,“finNFe”:1,“indFinal”:0,“indPres”:0,“indIntermed”:null,“procEmi”:0,“verProc”:“4.00”,“dhCont”:null,“xJust”:null},“emit”:{“CNPJ”:“68972942000175”,“CPF”:null,“xNome”:“SOFTWORK COMERCIO E SERVICOS DE INFORMATICA LTDA”,“xFant”:“SoftWork”,“enderEmit”:{“xLgr”:“Avenida Paulista”,“nro”:“171”,“xCpl”:null,“xBairro”:“Bela Vista”,“cMun”:“3550308”,“xMun”:“S\u00e3o Paulo”,“UF”:“SP”,“CEP”:“01311904”,“cPais”:“1058”,“xPais”:“BRASIL”,“fone”:null},“IE”:“113894920111”,“IEST”:null,“CRT”:1},“dest”:{“CNPJ”:“68972942000175”,“CPF”:“”,“idEstrangeiro”:null,“xNome”:“SOFTWORK COMERCIO E SERVICOS DE INFORMATICA LTDA”,“enderDest”:{“xLgr”:“Avenida Paulista”,“nro”:“171”,“xCpl”:null,“xBairro”:“Bela Vista”,“cMun”:“3550308”,“xMun”:“S\u00e3o Paulo”,“UF”:“SP”,“CEP”:“01311904”,“cPais”:“1058”,“xPais”:“BRASIL”,“fone”:“1129492700”},“indIEDest”:1,“IE”:“113894920111”,“ISUF”:null,“IM”:null,“email”:null},“det”:[{“nItem”:1,“prod”:{“cProd”:“1”,“cEAN”:“7894900700046”,“cBarra”:null,“xProd”:“REFRIGERANTE COCA COLA LATA ZERO”,“NCM”:“22021000”,“NVE”:[null],“CEST”:null,“cBenef”:null,“EXTIPI”:null,“CFOP”:“5102”,“uCom”:“UN”,“qCom”:50,“vUnCom”:5,“vProd”:295,“cEANTrib”:“7894900700046”,“cBarraTrib”:null,“uTrib”:“UN”,“qTrib”:50,“vUnTrib”:5,“vFrete”:null,“vSeg”:null,“vDesc”:null,“vOutro”:null,“indTot”:1,“xPed”:null,“nItemPed”:null,“nFCI”:null},“imposto”:{“vTotTrib”:0,“ICMS”:{“ICMSSN102”:{“orig”:0,“CSOSN”:“102”}},“PIS”:{“PISOutr”:{“CST”:“49”,“vBC”:0,“pPIS”:0,“qBCProd”:null,“vAliqProd”:null,“vPIS”:0}},“COFINS”:{“COFINSOutr”:{“CST”:“49”,“vBC”:0,“pCOFINS”:0,“qBCProd”:0,“vAliqProd”:0,“vCOFINS”:0}}}}],“total”:{“ICMSTot”:{“vBC”:29500,“vICMS”:5310,“vICMSDeson”:0,“vFCPUFDest”:0,“vICMSUFDest”:0,“vICMSUFRemet”:0,“vFCP”:0,“vBCST”:0,“vST”:0,“vFCPST”:0,“vFCPSTRet”:0,“vProd”:29500,“vFrete”:0,“vSeg”:0,“vDesc”:0,“vII”:0,“vIPI”:0,“vIPIDevol”:0,“vPIS”:0,“vCOFINS”:0,“vOutro”:0,“vNF”:29500,“vTotTrib”:0}},“transp”:{“modFrete”:9},“cobr”:{“fat”:{“nFat”:“string”,“vOrig”:0,“vDesc”:0,“vLiq”:0},“dup”:[null]},“pag”:{“detPag”:[{“tPag”:“05”,“vPag”:29500}]}},“ambiente”:“homologacao”,“referencia”:“19”}

Removendo totalmente a tag, o reorno é este:
ServerError Internal server error: qleTjxtsHomMn_8VVFJOGw

O problema está sendo ocasionado porque o JSON enviado contém várias propriedades com null ou com array de nulo ([null]). Estamos trabalhando nisso e em breve damos um retorno.

Enquanto isso, caso prefira, você pode alterar o seu fonte para não enviar mais essas propriedades com valores nulo. Além de ser uma boa prática a se seguir, provavelmente isso fará com que você pare de receber esses erros.

Vou tentar . . .
Desde já agradeço

Segui o seu conselho, mas me retornou:
ValidationFailed Validation failed for entity of type “Dfe.Entities.TDfeEntity”: O campo ‘referencia’ deve ser único
Verifiquei o campo, e a mim, parece normal . . .
Desculpe o incômodo.

@silvio

O campo referencia é o seu identificador único para o documento. É um recurso opcional que lhe auxilia a evitar envios duplicados. Porém, a mensagem de erro acima indica que isso ocorreu.

Nesses casos, você tem duas opções:

  1. Utilizar um outro valor que não tenha sido enviado ainda para a Nuvem
  2. Remover a propriedade do JSON.

Resolvido, obrigado pela dica.
Aparentemente deu tudo certo, mas a NF-e retorna como pendente, é isto mesmo? e no retorno, comparando com a documentação, faltam algumas observações.

“id” => “nfe_3a09050238e74494b9b932d9b6787f27”
“ambiente” => “homologacao”
“created_at” => “2023-01-26T10:45:48.376Z”
“status” => “pendente”
“referencia” => “36”
“data_emissao” => “2023-01-26T10:45:45Z”
“serie” => 1
“numero” => 336
“valor_total” => 29500
“chave” => “35230168972942000175550010000003361229640206”
“autorizacao” => array:8 [▼
“id” => “3a090502-38e7-4b6f-9ee8-fcc4eaaa632f”
“ambiente” => “homologacao”
“status” => “pendente”
“autor” => array:1 [▼
“cpf_cnpj” => “68972942000175”
]
“chave_acesso” => “35230168972942000175550010000003361229640206”
“data_evento” => “2023-01-26T10:45:48.391Z”
“numero_sequencial” => 1
“tipo_evento” => “autorizacao”
]
Desculpe-me a falta de conhecimento da NFe em si, falta eu fazer alguma coisa?
Desde já agradeço.

Olá @silvio,

O envio de NF-e é assíncrono, sendo necessário consultar a nota após o envio para saber o resultado do processamento.

Para realizar isso, basta fazer uma requisição ao endpoint GET /nfe/{id}.

Preciso de uma orientação. Emiti a NFe e em seguida consultei o Status e obtive o retorno de um erro de preenchimento ou cálculo. O que fazer? Tentei cancelar a NF mas retorna que a operação não é permitida. Tem que gerar umas nova? ou dá pra fazerr alguma coisa pra re-transmitir?

Grato

O cancelamento só é permitido após a nota ter sido autorizada. Caso ela tenha esteja no status de rejeitada ou erro, você deve corrigir os dados e enviar um novo pedido de emissão.