Ws NFSe Nacional
Ws NFSe Nacional
Ws NFSe Nacional
ELETRÔNICA (NFS-e)
Índice
ÍNDICE ....................................................................................................................................................................... 2
1. INTRODUÇÃO .................................................................................................................................................... 3
Revisado em 06/12/2021
Página 3 de 16
1. Introdução
Este manual tem como objetivo apresentar a definição das especificações e critérios técnicos necessários para
utilização do Web Service do Sistema de Nota Fiscal de Serviços Eletrônica (NFS-e) disponibilizado pela
Prefeitura para as empresas prestadoras e/ou tomadoras de serviços.
Através do Web Service disponibilizado, as empresas podem integrar seus próprios sistemas de informações com
o Sistema de NFS-e da Prefeitura. Desta forma, consegue-se automatizar o processo de emissão, consulta e
cancelamento de NFS-e.
O Web Service e todos os seus serviços, referenciados nesse documento, são baseados no modelo nacional de
NFS-e, definido pela Associação Brasileira de Secretários e Dirigentes das Finanças dos Municípios das Capitais
(ABRASF) e pela Receita Federal do Brasil (RFB).
Revisado em 06/12/2021
Página 4 de 16
2. Serviços Disponíveis
ATENÇÃO!
A descrição completa destes métodos pode ser obtida diretamente do Manual de Integração da ABRASF:
https://notacarioca.rio.gov.br/files/manuais/nfse_abrasf_integracao.pdf
Todos os serviços a seguir exigem o uso de certificados digitais ICP-Brasil para autenticação.
Na validação do lote, são retornados todos os erros verificados. Excepcionalmente, havendo uma
excessiva quantidade de erros, poderá ser definido um limitador para a quantidade de erros retornados.
Revisado em 06/12/2021
Página 5 de 16
Esse serviço será executado através da chamada ao método GerarNfse, passando a mensagem XML
como parâmetro com a estrutura definida na tabela que segue.
GerarNfseEnvio
# Nome Tipo Pai Ocorrência Observação
1 GerarNfseEnvio 1-1
Rps tcRps 1 1-1
OBS: O elemento CompNfse é retornado caso o RPS seja processado com sucesso. Em caso de alertas,
o RPS é processado, sendo retornado a(s) mensagen(s) de alerta (tipo ListaMensagemRetorno) e a NFS-
e gerada (tipo CompNfse). Em caso de erro, a NFS-e não é gerada, sendo retornado apenas a(s)
mensagen(s) de erro(s) ocorridos (tipo ListaMensagemRetorno).
Revisado em 06/12/2021
Página 6 de 16
3. Especificações Técnicas
ATENÇÃO: Para acessar estes endereços e utilizar os WebServices, é necessário se autenticar usando certificado
digital ICP-Brasil, conforme explicado no Manual Nacional do Modelo de Integração. As assinaturas digitais do
RPS, do Lote de RPS e/ou do Cancelamento da NFS-e são OPCIONAIS, ficando a critério do contribuinte sua
assinatura (ou não).
Revisado em 06/12/2021
Página 7 de 16
3.6. Exemplos
Diversos exemplos de mensagens XML (pedido e retorno) de cada um dos métodos disponibilizados podem ser
obtidos no endereço eletrônico:
https://notacarioca.rio.gov.br/files/WSNacional/exemplos.zip
System.Security.Cryptography.X509Certificates.X509Certificate2) _
As XmlDocument
Dim xmlDoc As New System.Xml.XmlDocument()
Dim Key As New System.Security.Cryptography.RSACryptoServiceProvider()
Dim SignedDocument As System.Security.Cryptography.Xml.SignedXml
Dim keyInfo As New System.Security.Cryptography.Xml.KeyInfo()
xmlDoc.LoadXml(mensagemXML)
'Retira chave privada ligada ao certificado
Key = CType(certificado.PrivateKey, _
System.Security.Cryptography.RSACryptoServiceProvider)
'Adiciona Certificado ao Key Info
keyInfo.AddClause(New _
System.Security.Cryptography.Xml.KeyInfoX509Data(certificado))
SignedDocument = New System.Security.Cryptography.Xml.SignedXml(xmlDoc)
'Seta chaves
SignedDocument.SigningKey = Key
SignedDocument.KeyInfo = keyInfo
Revisado em 06/12/2021
Página 8 de 16
Imports System.Security.Cryptography
Imports System.Security.Cryptography.Xml
Imports System.Security.Cryptography.X509Certificates
...
''' <summary>
''' Exemplo de como assinar elementos de um documento XML com um certificado digital.
''' </summary>
''' </param>
''' Ex.:
Revisado em 06/12/2021
Página 9 de 16
''' </param>
''' Ex.:
''' </param>
''' Obs.:
''' </param>
Dim el As XmlElement
keyInfo.AddClause(New KeyInfoX509Data(x509))
elInf = _
CType(el.GetElementsByTagName(ElementName)(el.GetElementsByTagName(ElementName).Count - 1), _
XmlElement)
elInfID = elInf.Attributes.GetNamedItem(AttributeName).Value
Revisado em 06/12/2021
Página 10 de 16
'Seta chaves
elSigned.SigningKey = Key
elSigned.KeyInfo = keyInfo
reference.AddTransform(New XmlDsigEnvelopedSignatureTransform())
reference.AddTransform(New XmlDsigC14NTransform(False))
elSigned.AddReference(reference)
elSigned.ComputeSignature()
'Adiciona assinatura
el.AppendChild(Document.ImportNode(elSigned.GetXml(), True))
Next
End Sub
...
End Class
Revisado em 06/12/2021
Página 11 de 16
As tabelas a seguir, relacionam os erros, alertas e procedimentos específicos do município do Rio de Janeiro na
substituição do Recibo Provisório de Serviços - RPS por NFS-e através de arquivo XML. Consulte o manual da
Abrasf para obter os demais códigos de erros e alertas utilizados:
https://notacarioca.rio.gov.br/files/manuais/nfse_abrasf_integracao.pdf
# Códigos de Cancelamento
1 Erro na emissão
2 Serviço não prestado
3 Duplicidade da nota
9 Outros
Revisado em 06/12/2021
Página 12 de 16
Revisado em 06/12/2021
Página 13 de 16
Revisado em 06/12/2021
Página 14 de 16
Revisado em 06/12/2021
Página 15 de 16
Nos casos em que a NFS-e a ser emitida faça juz a um benefício fiscal o prestador deverá preencher a TAG
“<CodigoTributacaoMunicipio>” com código do benefício e o código do serviço no municípío.
Exemplo:
<CodigoTributacaoMunicipio>123070201</CodigoTributacaoMunicipio>
Revisado em 06/12/2021
Página 16 de 16
O sistema de NFS-e da Prefeitura pode enviar um email padrão automático com o link que permite a visualização
da NFS-e emitida para todos os tomadores de serviços.
Os contribuintes que possuem sistema informatizado e que quiserem enviar, através de seu próprio sistema, um
email personalizado para seus clientes com um link de acesso para visualizar/imprimir a NFS-e emitida, podem
fazê-lo utilizando a estrutura abaixo:
https://notacarioca.rio.gov.br/nfse.aspx?ccm=99999999&nf=999999999&cod=XXXXXXXX
Este mesmo link pode ser utilizado diretamente no sistema do próprio contribuinte como uma forma rápida de
visualização/impressão da NFS-e, sem necessidade de se logar no sistema.
Revisado em 06/12/2021