Exemplo Montagem NFS-e

boa noite, sou novato neste forum, e estou com dificuldade de montar a rotina para gerar o envio da nfse, abaixo minha duvida:
nesse pequeno exemplo:
como motar esse NfsePedidoEmissao?
var body = new NfsePedidoEmissao(); // NfsePedidoEmissao |

        try
        {
            // Emitir NFS-e
            Nfse result = apiInstance.EmitirNfse(body);
            Debug.WriteLine(result);
        }

Após criar a instância e setá-la na variável body, você deve setar as propriedades pertinentes.

As propriedades estão documentadas no SDK, você pode usar o code completion para ver as propriedades e suas descrições. Também são as mesmas listadas aqui na documentação do endpoint: API Nuvem Fiscal | Nuvem Fiscal

Lembrando que o endpoint correto é EmitirNfseDps, não EmitirNfse.

o que eu posso esta fazendo de errado, ja que o erro se da na criacao da variavel, que ira receber os dados.
image

Qual erro?

da um erro na linha dim Body as new nfsedpspedidoemssao(falta de parametros)
e quando verifico a ocorrencia, é como se o conteudo do body teria q estar dentro do () dessa linha

Qual é o erro?

A IDE não mostra pra você os parâmetros que você precisa preencher no construtor do objeto?

Tentou:

Dim Body As New NfseDpsPedidoEmissao
With Body
   .provedor = "padrao"
   .ambiente = "homologacao"
...
EndWith

?

os comandos que voce colocou ja esta inserido, so que mais abaixo, conforme imagem abaixo, e segue também a imagem do erro.

é como se a funcao exigisse os dados do body, conforme mais claro abaixo:

O código que eu coloquei é diferente do seu.

verdade, perdão pela falta de atenção.
entao, eu corrigi o codigo, coloquei nos mesmos moldes que voce me indicou, nas apresenta essa mensagem


onde ele informa que o campo xNome nao pode ser nulo, mas existe o conteúdo.

No caso dos parâmetros obrigatórios você deve passar no construtor mesmo:

Dim toma As New InfoTomador(xNome:="INDUSTRIA LTDA") With {
  ...
}

boa Noite Wagner, consegui “aparentemente” enviar uma nfse teste, para o ambiente de homologacao, mas quando vou sincroniza(acredito que este seja o proximo passo), o sistema me diz que a nota nao esta na base de dados.
estou enviando:
{
“ambiente”: “homologacao”,
“referencia”: “123”,
“infDPS”: {
“tpAmb”: 2,
“dhEmi”: “2024-08-14T10:15:22-04:00”,
“verAplic”: “1.0”,
“dCompet”: “2024-08-14”,
“prest”: {
“CNPJ”: “05867589000143”,
“CPF”: null
},
“toma”: {
“CNPJ”: “14868322000161”,
“CPF”: null,
“NIF”: “1”,
“cNaoNIF”: 0,
“CAEPF”: null,
“IM”: null,
“xNome”: “INDUSTRIA LTDA”,
“end”: {
“endNac”: {
“cMun”: “1302603”,
“CEP”: “69075590”
},
“xLgr”: “ENDERECO”,
“nro”: “10”,
“xCpl”: “NAO TEM”,
“xBairro”: “D.PEDRO I”
},
“fone”: null,
“email”: null
},
“serv”: {
“cServ”: {
“cTribNac”: “0107”,
“cTribMun”: “7101”,
“CNAE”: null,
“xDescServ”: “SERVICO”,
“cNBS”: null
}
},
“valores”: {
“vServPrest”: {
“vReceb”: 10.0,
“vServ”: 10.0
},
“trib”: {
“tribMun”: {
“tribISSQN”: 1,
“cLocIncid”: null,
“cPaisResult”: null,
“tpImunidade”: null,
“vBC”: 10.0,
“pAliq”: 5.0,
“vISSQN”: null,
“tpRetISSQN”: null,
“vLiq”: 9.5
},
“tribFed”: {
“piscofins”: {
“CST”: “06”,
“vBCPisCofins”: 0.0,
“pAliqPis”: 0.0,
“pAliqCofins”: 0.0,
“vPis”: 0.0,
“vCofins”: 0.0,
“tpRetPisCofins”: null
},
“vRetCP”: 0.0,
“vRetIRRF”: 0.0,
“vRetCSLL”: 0.0
}
}
}
}
}

e recebendo:
class Nfse {
id: nfs_3a1484c78b98481991e6710fa681cfc5
created_at: 20/08/2024 01:43:46
status: Processando
numero:
codigo_verificacao:
link_url:
data_emissao:
ambiente: Homologacao
referencia: 123
DPS: class DPS {
serie:
nDPS:
}

cancelamento:
mensagens: System.Collections.Generic.List`1[NuvemFiscal.Sdk.Model.NfseMensagemRetorno]
declaracao_prestacao_servico:
}

e quando faço a sincronizacao, recebo:
{class NfseMensagemRetorno {
codigo: E4
descricao: Esse RPS não foi enviado para a nossa base de dados
correcao:
}
confesso que é a primeira vez que mexo com nfse.

O endpoint de sincronização deve ser usado apenas em casos extremos.
Após emitir a Nfse, você deve acompanhar o status da emissão utilizando o endpoint ConsultarNfse.

bom dia wagner, fiz conforme orientação, mas agora é o caso do numero do rps. Estou passando a Id que recebi no momento do envio.

Boa tarde, @cronoshcac.

Essa mensagem, provavelmente, é decorrente da tentativa de sincronização. Tente emitir uma nova nota e, após isso, utilize o endpoint Consultar NFS-e.

veja que estou usando o ConsultarNfse
na linha Dim Result as Nfse = apiInstance.ConsuiltarNfse(id)

@cronoshcac

Favor nos informar o id da nota.

este: nfs_3a1484c78b98481991e6710fa681cfc5

@cronoshcac

Verificamos que essa mensagem é referente à sincronização. O envio da nota em si deu erro, provavelmente por instabilidade ou indisponibilidade do ambiente de homologação da prefeitura.

Chegou a testar em produção?

em producao nao, ainda estou na fase de teste, vou tentar enviar novamente, mas esse id foi o que recebi quando tentei enviar.

acredito que tenha sido alguma instabilidade mesmo, pois me retornou outro erro (Inscricao municipal) mas foi enviado na api, conforme texto abaixo.
id: nfs_3a1488779f424ae39110a2ccf48615af

image