NFS-eManual de Integração       Versão 1.0       29/12/2008
Página 2 de 37                                                                                                           R...
Página 3 de 37 Revisão 1.00         3
Página 4 de 37                                                            Revisão 1.001 INTRODUÇÃO               Este manu...
Página 5 de 37                                                                       Revisão 1.002 CONSIDERAÇÕES INICIAIS ...
Página 6 de 37                                                                       Revisão 1.00é seguido de alguns risco...
Página 7 de 37                                                                                    Revisão 1.00 3 ARQUITETU...
Página 8 de 37                                                                                                           R...
Página 9 de 37                                                                                                            ...
Página 10 de 37                                                                                                 Revisão 1....
Página 11 de 37                                                                       Revisão 1.003.2.1 Padrão de Comunica...
Página 12 de 37                                                                          Revisão 1.00Os certificados digit...
Página 13 de 37                                                                                      Revisão 1.00        <...
Página 14 de 37                                                                        Revisão 1.00   6. Adotar as regras ...
Página 15 de 37                                                                                         Revisão 1.003.3.1 ...
Página 16 de 37                                                                       Revisão 1.003.3.3 Schemas XML (arqui...
Página 17 de 37                                                                              Revisão 1.004 ESTRUTURA DE DA...
Página 18 de 37                                                                               Revisão 1.00Etapas do proces...
Página 19 de 37                                                                                             Revisão 1.00  ...
Página 20 de 37                                                                         Revisão 1.00Não deve ser inserido ...
Página 21 de 37                                                                                        Revisão 1.00       ...
Página 22 de 37                                                                                      Revisão 1.00tsIncrica...
Página 23 de 37                                                                                    Revisão 1.00Número de C...
Página 24 de 37                                                                                           Revisão 1.00Raza...
Página 25 de 37                                                                                             Revisão 1.00Id...
Página 26 de 37                                                                                              Revisão 1.00 ...
Página 27 de 37                                                                                       Revisão 1.00        ...
Página 28 de 37                                                                                       Revisão 1.00        ...
Página 29 de 37                                                                                         Revisão 1.00      ...
Página 30 de 37                                                                                        Revisão 1.00    Com...
Página 31 de 37                                                                                                Revisão 1.0...
Página 32 de 37                                                                                                Revisão 1.0...
Manual de Integração NFS-e Montes Claros
Manual de Integração NFS-e Montes Claros
Manual de Integração NFS-e Montes Claros
Manual de Integração NFS-e Montes Claros
Manual de Integração NFS-e Montes Claros
Próximos SlideShares
Carregando em…5
×

Manual de Integração NFS-e Montes Claros

2.207 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
2.207
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
13
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Manual de Integração NFS-e Montes Claros

  1. 1. NFS-eManual de Integração Versão 1.0 29/12/2008
  2. 2. Página 2 de 37 Revisão 1.00 SUMÁRIO1 INTRODUÇÃO............................................................................................ 42 CONSIDERAÇÕES INICIAIS ..................................................................... 5 2.1 NOTA FISCAL DE SERVIÇOS ELETRÔNICA - NFS-E .................................... 5 2.2 RECIBO PROVISÓRIO DE SERVIÇO - RPS.................................................. 53 ARQUITETURA DE COMUNICAÇÃO COM O CONTRIBUINTE .............. 7 3.1 MODELO CONCEITUAL ............................................................................ 7 3.1.1 Recepção e Processamento de Lote de RPS............................... 7 3.1.2 Consulta de Situação de Lote de RPS.......................................... 8 3.1.3 Consulta de NFS-e por RPS ......................................................... 8 3.1.4 Consulta de Lote de RPS ............................................................. 9 3.1.5 Consulta de NFS-e ....................................................................... 9 3.1.6 Cancelamento de NFS-e ............................................................ 10 3.2 PADRÕES TÉCNICOS ............................................................................. 10 3.2.1 Padrão de Comunicação ............................................................ 11 3.2.2 Padrão de Certificado Digital .......................................................... 11 3.2.3 Padrão de Assinatura Digital....................................................... 12 3.2.4 Validação de Assinatura Digital pelo Sistema NFS-e ................. 13 3.2.5 Uso de Assinatura com Certificado Digital.................................. 14 3.3 PADRÃO DAS MENSAGENS XML ............................................................ 14 3.3.1 Área do Cabeçalho ..................................................................... 15 3.3.2 Validação da estrutura das Mensagens XML ............................. 15 3.3.3 Schemas XML (arquivos XSD) ................................................... 16 3.3.4 Versão dos Schemas XML ......................................................... 164 ESTRUTURA DE DADOS DO WEB SERVICE........................................ 17 4.1 MODELO OPERACIONAL ........................................................................ 17 4.1.1 Serviços Síncronos ..................................................................... 17 4.1.2 Serviços Assíncronos ................................................................. 18 4.2 FORMATOS E PADRÕES UTILIZADOS ....................................................... 19 4.3 TIPOS SIMPLES .................................................................................... 20 4.4 TIPOS COMPLEXOS............................................................................... 22 4.5 SERVIÇOS ............................................................................................ 27 4.5.1 Recepção de Lote de RPS ......................................................... 28 4.5.2 Consulta de Situação de Lote de RPS........................................ 28 4.5.3 Consulta de NFS-e por RPS ....................................................... 29 4.5.4 Consulta de NFS-e ..................................................................... 29 4.5.5 Consulta de Lote de RPS ........................................................... 30 4.5.6 Cancelamento NFS-e ................................................................. 305 ANEXO ..................................................................................................... 31 5.1 TABELA DE ERROS E ALERTAS ............................................................... 31 2
  3. 3. Página 3 de 37 Revisão 1.00 3
  4. 4. Página 4 de 37 Revisão 1.001 INTRODUÇÃO Este manual tem como objetivo apresentar as especificações e critérios técnicos necessários para utilização do Web Service disponibilizado pelas Secretarias Municipais de Fazenda para as empresas prestadoras e/ou tomadoras de serviços. Através do Web Service as empresas poderão integrar seus próprios sistemas de informações com o Sistema de Notas Fiscais de Serviço Eletrônicas das Secretarias Municipais de Fazenda. Desta forma, consegue-se automatizar o processo de geração, consulta e cancelamento de NFS-e. 4
  5. 5. Página 5 de 37 Revisão 1.002 CONSIDERAÇÕES INICIAIS O projeto Nota Fiscal de Serviços Eletrônica de Serviços está sendo concebido através de reuniões das áreas de Negócio e Tecnologia da Informação com os representantes dos municípios integrantes da Câmara Técnica da Associação Brasileira de Secretários e Dirigentes das Finanças dos Municípios das Capitais (ABRASF), onde tiveram como principal objetivo a geração de um modelo de processo que considerasse as necessidades e as legislações de cada município. O projeto tem como objetivo atender ao “Protocolo deCooperação ENAT nº 01/2006 - III ENAT”, que instituiu a Nota Fiscal deServiços Eletrônica – NFS-e com vistas ao compartilhamento de informaçõesentre os fiscos municipais, estaduais e federal, através do desenvolvimento deuma solução para a geração desse documento fiscal eletrônico comoinstrumento de controle da arrecadação e fiscalização do ISS.Visa o benefício das administrações tributárias padronizando e melhorando aqualidade das informações, racionalizando os custos e gerando maior eficácia,bem como o aumento da competitividade das empresas brasileiras pelaracionalização das obrigações acessórias (redução do “custo-Brasil”), emespecial a dispensa da emissão e guarda de documentos em papel.2.1 NOTA FISCAL DE SERVIÇOS ELETRÔNICA - NFS-E A Nota Fiscal de Serviços Eletrônica (NFS-e) é um documento de existência exclusivamente digital, gerado e armazenado eletronicamente pela prefeitura ou por outra entidade conveniada, para documentar as operações de prestação de serviços.A geração da NFS-e será feita, automaticamente, por meio de serviçosinformatizados, disponibilizados aos contribuintes. Para que sua geração sejaefetuada, dados que a compõem serão informados, analisados, processados,validados e, se corretos, gerarão o documento.A responsabilidade pelo cumprimento da obrigação acessória de emissão daNFS-e e pelo correto fornecimento dos dados à secretaria, para a geração damesma, é do contribuinte.2.2 RECIBO PROVISÓRIO DE SERVIÇO - RPSA NFS-e somente será gerada através dos serviços informatizadosdisponibilizados pelas Secretarias Municipais de Fazenda. Esse tipo de serviço 5
  6. 6. Página 6 de 37 Revisão 1.00é seguido de alguns riscos inerentes à ininterrupta disponibilidade, podendo,portanto, em alguns momentos tornar-se indisponível.Visando manter as atividades dos contribuintes ininterruptas, independente deos serviços informatizados disponibilizados pelas Secretarias Municipais deFazenda estarem disponíveis, foi criado o Recibo Provisório de Serviços (RPS),que é um documento de posse e responsabilidade do contribuinte, que deveráser gerado manualmente ou por alguma aplicação local, possuindo umanumeração seqüencial crescente e devendo ser convertido em NFS-e no prazoestipulado pela legislação tributária municipal. 6
  7. 7. Página 7 de 37 Revisão 1.00 3 ARQUITETURA DE COMUNICAÇÃO COM O CONTRIBUINTE 3.1 MODELO CONCEITUAL Através do Web Service, o Sistema de Notas Fiscais de Serviço Eletrônicas das Secretarias Municipais de Fazenda disponibilizará serviços que poderão ser acessados pelos sistemas dos contribuintes. A seguir, estão resumidos os serviços disponíveis e suas respectivas funcionalidades básicas. 3.1.1 Recepção e Processamento de Lote de RPS Esse serviço compreende a recepção do Lote de RPS, a resposta com o número do protocolo gerado para esta transação e o processamento do lote. Quando efetuada a recepção, o Lote entrará na fila para processamento posterior onde serão feitas as validações necessárias e geração das NFS-e.PrestadorAplicação Cliente Secretaria da Fazenda <XML> b Lote de RPS c NFS-e a NFS-e d Web Services e <XML> RPS Fila de Processos Mensagem XML de Envio é validado pelo arquivo: servico_enviar_lote_rps_envio.xsd XML de Resposta é validado pelo arquivo: servico_enviar_lote_rps_resposta.xsd Passos para execução 1. A aplicação acessa o serviço de “Recepção e Processamento de Lote de RPS” enviando o lote (fluxo “b”). 2. A requisição é recebida pelo servidor do Web Service que grava as informações recebidas e gera o número de protocolo de recebimento (fluxo “c”). 3. O Web Service retorna uma mensagem com o resultado do processamento do serviço (fluxo “d”). 7
  8. 8. Página 8 de 37 Revisão 1.00 3.1.2 Consulta de Situação de Lote de RPS Esse serviço efetua a consulta da situação de um Lote de RPS já enviado. Prestador Secretaria da Fazenda Aplicação Cliente 2.b <XML> 2.c ? Identif. do Lote 2.a Consulta 2.e Web Services 2.d Processamento NFS-e <XML> Resultado Situação do Lote XML de Envio é validado pelo arquivo: servico_consultar_situacao_lote_rps_envio.xsd XML de Resposta é validado pelo arquivo: servico_consultar_situacao_lote_rps_resposta.xsd Passos para execução 1. A aplicação acessa o serviço de “Consulta de Situação de Lote de RPS” e submete os dados para processamento (fluxo “2.b”). 2. A requisição é recebida pelo servidor do Web Service, que verifica os dados preenchidos e identifica o status do lote (fluxox “2.c” e “2.d”). 3. O Web Service retorna uma mensagem com o resultado do processamento do serviço (fluxo “2.e”). 3.1.3 Consulta de NFS-e por RPS Esse serviço efetua a consulta de uma NFS-e a partir do número de RPS que a gerou.Prestador ou Tomador Secretaria da Fazenda Aplicação Cliente 2.b <XML> 2.c ? Identif. do RPS 2.a Consulta 2.e 2.d Web Services Processamento NFS-e <XML> NFS-e / Msg NFS-e / Mensag. XML de Envio é validado pelo arquivo: servico_consultar_nfse_rps_envio.xsd XML de Resposta é validado pelo arquivo: servico_consultar_nfse_rps_resposta.xsd Passos para execução 1. A aplicação acessa o serviço de “Consulta de NFS-e por RPS” e submete os dados para processamento (fluxo “2.b”). 2. A requisição é recebida pelo servidor do Web Service, que verifica os dados preenchidos e identifica a NFS-e correspondente (fluxos “2.c” e “2.d”). 8
  9. 9. Página 9 de 37 Revisão 1.00 3. O Web Service retorna uma mensagem com o resultado do processamento do serviço (fluxo “2.e”). 3.1.4 Consulta de Lote de RPS Esse serviço permite ao contribuinte obter as NFS-e que foram geradas a partir do Lote de RPS enviado, quando o processamento ocorrer sem problemas; ou obter a lista de erros e/ou inconsistências encontradas nos RPS. Na validação do lote, devem ser retornados todos os erros verificados. Excepcionalmente, havendo uma excessiva quantidade de erros, poderá ser definido um limitador para a quantidade de erros retornados.Prestador Secretaria da FazendaAplicação Cliente b <XML> Web Services c ? Identif. do RPS a Consulta e d NFS-e Processamento <XML> NFS-e / Msg Grupo de NFS-e / Msg. XML de Envio é validado pelo arquivo: servico_consultar_lote_rps_envio.xsd XML de Resposta é validado pelo arquivo: servico_consultar_lote_rps_resposta.xsd Passos para execução 1. A aplicação acessa o serviço de “Consulta de Lote de RPS” e submete os dados para processamento (fluxo “b”). 2. A requisição é recebida pelo servidor do Web Service, que verifica os dados preenchidos e identifica as NFS-e correspondentes (fluxos “c” e “d”). 3. O Web Service retorna uma mensagem (a estrutura com a lista da NFS- e geradas ou as mensagens de erro) com o resultado do processamento do serviço (fluxo “e”). 3.1.5 Consulta de NFS-e Esse serviço permite a obtenção de determinada NFS-e já gerada. Secretaria da Fazenda Prestador ou Tomador Aplicação Cliente <XML> 2.c ? 2.b Identif. do RPS Consulta 2.a 2.e 2.d Web Services Processamento NFS-e <XML> NFS-e / Msg NFS-e / Mensag. 9
  10. 10. Página 10 de 37 Revisão 1.00 XML de Envio é validado pelo arquivo: servico_consultar_nfse_envio.xsd XML de Resposta é validado pelo arquivo: servico_consultar_nfse_resposta.xsd Passos para execução 1. A aplicação acessa o serviço de “Consulta de NFS-e” e submete os dados para processamento (). 2. A requisição é recebida pelo servidor do Web Service, que verifica os dados preenchidos e identifica as NFS-e correspondentes. 3. O Web Service retorna uma mensagem com o resultado do processamento do serviço. 3.1.6 Cancelamento de NFS-e Esse serviço permite o cancelamento direto de uma NFS-e sem substituição da mesma por outra.Prestador Secretaria da FazendaAplicação Cliente <XML> 2.b Identif. da NFS-e 2.a Cancelamento 2.d 2.c Web Services Processamento NFS-e <XML> Mensagem XML de Envio é validado pelo arquivo: servico_cancelar_nfse_envio.xsd XML de Resposta é validado pelo arquivo: servico_cancelar_nfse_resposta.xsd Passos para execução 1. A aplicação acessa o serviço de “Cancelamento de NFS-e” e submete os dados para processamento (fluxo “2.b”). 2. A requisição é recebida pelo servidor do Web Service, que verifica os dados preenchidos, identifica a NFS-e correspondente e efetua o seu cancelamento (fluxo “2.c”). 3. O Web Service retorna uma mensagem com o resultado do processamento do serviço (fluxo “2.d”). 3.2 PADRÕES TÉCNICOS HTTPS Requisição Contribuinte Secretaria Municipal da Fazenda 10
  11. 11. Página 11 de 37 Revisão 1.003.2.1 Padrão de ComunicaçãoO meio físico de comunicação utilizado entre os sistemas de informação doscontribuintes e o Sistema de Notas Fiscais de Serviço Eletrônicas dasSecretarias Municipais de Fazenda será a Internet, com o uso do protocoloSSL, que além de garantir um duto de comunicação seguro na Internet, permitea identificação do servidor e do cliente através de certificados digitais,eliminando a necessidade de identificação do usuário através de nome oucódigo de usuário e senha.O modelo de comunicação segue o padrão de Web Services definido pelo WS-IBasic Profile.A troca de mensagens entre o Web Service do Sistema de Notas Fiscais deServiço Eletrônicas das Secretaria Municipais de Fazenda e o sistema docontribuinte será realizada no padrão SOAP, com troca de mensagens XML nopadrão Style/Enconding: Document/Literal, wrapped. A opção “wrapped”representa a chamada aos métodos disponíveis com a passagem de mais deum parâmetro. Para descrever os serviços disponibilizados, será utilizado umdocumento WSDL (Web Service Description Language). O WSDL é o padrãorecomendado para descrição de serviços SOAP. SOAP Requerente Provedor do Serviço do ServiçoAs chamadas aos serviços serão feitas enviando como parâmetro umdocumento XML a ser processado pelo sistema. Esse documento não faráparte da descrição do serviço (arquivo WSDL), e o formato do XMLcorrespondente ao serviço deverá ser consultado nesse manual de integração,seção 4.5.3.2.2 Padrão de Certificado Digital Os certificados digitais utilizados no sistema de Notas Fiscais de Serviço Eletrônicas, das Secretarias Municipais de Fazenda, serão emitidos por Autoridade Certificadora credenciada pela Infra-estrutura de Chaves Públicas Brasileira – ICP-Brasil, de pessoa física oujurídica, dos tipos A1, A3 ou certificado de servidor (híbrido).Para a assinatura digital dos documentos envolvidos aceitar-se-á que ocertificado digital seja de quaisquer dos estabelecimentos da empresa. 11
  12. 12. Página 12 de 37 Revisão 1.00Os certificados digitais serão exigidos em 2 (dois) momentos distintos para aintegração entre o sistema do contribuinte e o Web Service das SecretariasMunicipais de Fazenda: • Assinatura de Mensagens: O certificado digital utilizado para essa função deverá conter o CNPJ do estabelecimento emissor da NFS-e ou o CNPJ do estabelecimento matriz. O certificado digital deverá ter o “uso da chave” previsto para a função de assinatura digital, respeitando a Política do Certificado. • Transmissão (durante a transmissão das mensagens entre os servidores do contribuinte e os serviços disponibilizados pelas Secretarias Municipais de Fazenda): O certificado digital utilizado para identificação do aplicativo do contribuinte deverá conter o CNPJ do responsável pela transmissão das mensagens, mas não necessita ser o mesmo CNPJ do estabelecimento emissor da NFS-e, devendo ter a extensão extended Key Usage com permissão de "Autenticação Cliente".3.2.3 Padrão de Assinatura DigitalAs mensagens enviadas aos serviços disponibilizados pelas SecretariasMunicipais de Fazenda são documentos eletrônicos elaborados no padrão XMLe devem ser assinados digitalmente com um certificado digital que contenha oCNPJ do estabelecimento matriz ou o CNPJ do estabelecimento emissor daNFS-e objeto do pedido.Para garantir minimamente a integridade das informações prestadas e acorreta formação dos arquivos XML, o contribuinte deverá submeter asmensagens XML para validação pela linguagem de Schema do XML (XSD –XML Schema Definition), disponibilizada pelas Secretarias Municipais deFazenda antes de seu envio.Os elementos abaixo estão presentes dentro do Certificado do contribuintetornando desnecessária a sua representação individualizada no arquivo XML.Portanto, o arquivo XML não deve conter os elementos: <X509SubjectName> <X509IssuerSerial> <X509IssuerName> <X509SerialNumber> <X509SKI>Deve-se evitar o uso das TAGs abaixo, pois as informações serão obtidas apartir do Certificado do emitente: <KeyValue> 12
  13. 13. Página 13 de 37 Revisão 1.00 <RSAKeyValue> <Modulus> <Exponent>O Projeto NFS-e utiliza um subconjunto do padrão de assinatura XML definidopelo http://www.w3.org/TR/xmldsig-core/, que tem o seguinte leiaute: # Campo Elemento Pai Tipo Ocorrência DescriçãoXS01 Signature RaizXS02 Id A XS01 C 1-1XS03 SignedInfo G XS01 1-1 Grupo da Informação da assinaturaXS04 CanonicalizationMethod G XS03 1-1 Grupo do Método de CanonicalizaçãoXS05 Algorithm A XS04 C 1-1 Atributo Algorithm de CanonicalizationMethod: http://www.w3.org/TR/2001/REC-xml-c14n- 20010315XS06 SignatureMethod G XS03 1-1 Grupo do Método de AssinaturaXS07 Algorithm A XS06 C 1-1 Atributo Algorithm de SignedInfo: http://www.w3.org/2000/09/xmldsig#rsa-sha1XS08 Reference G XS03 1-1 Grupo do Método de ReferenceXS09 URI A XS08 C 1-1 Atributo URI da tag ReferenceXS10 Transforms G XS08 1-1 Grupo do algorithm de TransformXS11 Unique_Transf_Alg RC XS10 1-1 Regra para o atributo Algorithm do Transform ser únicoXS12 Transform G XS10 2-2 Grupo de TransformXS13 Algorithm A XS12 C 1-1 Atributos válidos Algorithm do Transform: http://www.w3.org/TR/2001/REC-xml-c14n- 20010315 http://www.w3.org/2000/09/xmldsig#enveloped- signatureXS14 Xpath E XS12 C 0-N XpathXS15 DigestMethod G XS08 1-1 Grupo do Método de DigestMethodXS16 Algorithm A XS15 C 1-1 Atributo Algorithm de DigestMethod: http://www.w3.org/2000/09/xmldsig#sha1XS17 DigestValue E XS08 C 1 Digest Value (Hash SHA-1 – Base64)XS18 SignatureValue G XS01 1-1 Grupo do Signature ValueXS19 KeyInfo G XS01 1-1 Grupo do KeyInfoXS20 X509Data G XS19 1-1 Grupo X509XS21 X509Certificate E XS20 C 1-1 Certificado Digital x509 em Base64b3.2.4 Validação de Assinatura Digital pelo Sistema NFS-ePara a validação da assinatura digital, seguem as regras que serão adotadaspelas Secretarias Municipais de Fazenda: 1. Extrair a chave pública do certificado; 2. Verificar o prazo de validade do certificado utilizado; 3. Montar e validar a cadeia de confiança dos certificados validando também a LCR (Lista de Certificados Revogados) de cada certificado da cadeia; 4. Validar o uso da chave utilizada (Assinatura Digital) de tal forma a aceitar certificados somente do tipo A (não serão aceitos certificados do tipo S); 5. Garantir que o certificado utilizado é de um usuário final e não de uma Autoridade Certificadora; 13
  14. 14. Página 14 de 37 Revisão 1.00 6. Adotar as regras definidas pelo RFC 3280 para LCRs e cadeia de confiança; 7. Validar a integridade de todas as LCR utilizadas pelo sistema; 8. Prazo de validade de cada LCR utilizada (verificar data inicial e final).A forma de conferência da LCR fica a critério de cada Secretaria Municipal deFazenda, podendo ser feita de 2 (duas) maneiras: On-line ou Downloadperiódico. As assinaturas digitais das mensagens serão verificadasconsiderando o horário fornecido pelo Observatório Nacional.3.2.5 Uso de Assinatura com Certificado DigitalPara garantir a autenticidade dos dados gerados, algumas informaçõesdeverão ser assinadas digitalmente. Abaixo segue as informações que deverãoser assinadas e quem deverá fazê-lo em cada momento: • O RPS, pelo contribuinte, antes do envio do mesmo através do Lote de RPS; • O Lote de RPS, pelo contribuinte, antes do envio do mesmo; • A NFS-e: o Pela prefeitura e pelo contribuinte, quando gerada pela Aplicação On Line; o Pela prefeitura nos demais casos; • O Pedido de cancelamento da NFS-e, pelo contribuinte; • A Confirmação de cancelamento da NFS-e, pela prefeitura;3.3 PADRÃO DAS MENSAGENS XMLA especificação adotada para as mensagens XML é a recomendação W3Cpara XML 1.0, disponível em www.w3.org/TR/REC-xml e a codificação doscaracteres será em UTF-8.As chamadas dos Web Services disponibilizados pelas Secretarias Municipaisde Fazenda e os respectivos resultados do processamento são realizadasatravés das mensagens com o seguinte padrão: • Área de Cabeçalho – estrutura XML padrão para todas as mensagens de chamada e retorno de resultado dos Web Services disponibilizados pelas Secretarias Municipais de Fazenda, que contém os dados de controle da mensagem. A área de cabeçalho está sendo utilizada para armazenar a versão do leiaute da estrutura XML informado na área de dados • Área de Dados – estrutura XML variável definida na documentação do Web Service acessado. 14
  15. 15. Página 15 de 37 Revisão 1.003.3.1 Área do CabeçalhoAbaixo, o leiaute da Área de Cabeçalho padrão:# Nome Elemento Pai Tipo Ocorrência Tamanho Descrição1 cabecalho G 1-1 TAG raiz do cabeçalho da mensagem. Versão A 1 N 1-1 4 Versão do leiaute.2 versaoDados E 1 N 1-1 4 O conteúdo deste campo indica a versão do leiaute XML da estrutura XML informada na área de dados da mensagem.O campo versaoDados deve conter a informação da versão do leiaute daestrutura XML armazenada na área de dados da mensagem.A estrutura XML armazenada na área de dados está definida na documentaçãodo Web Service acessado.3.3.2 Validação da estrutura das Mensagens XML Para garantir minimamente a integridade das informações prestadas e a correta formação das mensagens XML, o contribuinte deverá submeter cada uma das mensagens XML de pedido de serviço para validação pelo seu respectivo arquivo XSD (XML Schema Definition, definição de esquemas XML) antes de seu envio. Neste manual utilizaremos a nomenclatura Schema XML para nos referir a arquivo XSD. Um Schema XML define o conteúdo de uma mensagem XML, descrevendo os seus atributos, elementos e a sua organização, além de estabelecer regras de preenchimentode conteúdo e de obrigatoriedade de cada elemento ou grupo de informação.A validação da estrutura da mensagem XML é realizada por um analisadorsintático (parser) que verifica se a mensagem XML atende as definições eregras de seu respectivo Schema XML.Qualquer divergência da estrutura da mensagem XML em relação ao seurespectivo Schema XML, provoca um erro de validação do Schema XML. Nestecaso o conteúdo da mensagem XML de pedido do serviço não poderá serprocessado.A primeira condição para que a mensagem XML seja validada com sucesso éque ela seja submetida ao Schema XML correto.Assim, os sistemas de informação dos contribuintes devem estar preparadospara gerar mensagens XML em seus respectivos Schemas XML em vigor. 15
  16. 16. Página 16 de 37 Revisão 1.003.3.3 Schemas XML (arquivos XSD)O Schema XML (arquivo XSD) correspondente a cada uma das mensagensXML de pedido e de retorno utilizadas pelo Web Service pode ser obtido nainternet acessando o Portal do Sistema de Notas Fiscais de Serviço Eletrônicasdas Secretarias Municipais de Fazenda.3.3.4 Versão dos Schemas XMLToda mudança de layout das mensagens XML do Web Service implica naatualização do seu respectivo Schema XML.A identificação da versão dos Schemas XML será realizada com o acréscimodo número da versão com dois dígitos no nome do arquivo XSD precedida daliteral ‘_v’, como segue: <Nome do Arquivo>_v<Número da Versão>.xsdExemplo: EnvioLoteRps_v01.xsdA maioria dos Schemas XML definidos para a utilização do Web Service doSistema de Notas Fiscais de Serviço Eletrônicas das Secretarias Municipais deFazenda utilizam as definições de tipos simples ou tipos complexos que estãodefinidos em outros Schemas XML, nestes casos, a modificação de versão doSchema básico será repercutida no Schema principal.As modificações de layout das mensagens XML do Web Service podem sercausadas por necessidades técnicas ou em razão da modificação de algumalegislação. As modificações decorrentes de alteração da legislação deverão serimplementadas nos prazos previstos no ato normativo que introduziu aalteração. As modificações de ordem técnica serão divulgadas pelasSecretarias Municipais de Fazenda e poderão ocorrer sempre que se fizeremnecessárias. 16
  17. 17. Página 17 de 37 Revisão 1.004 ESTRUTURA DE DADOS DO WEB SERVICEExistirá um único Web Service com todos os serviços apresentados no item3.1. O fluxo de comunicação é sempre iniciado pelo sistema do contribuinteatravés do envio de uma mensagem XML ao Web Service com o pedido doserviço desejado.4.1 MODELO OPERACIONALA forma de processamento das solicitações de serviços no projeto Nota Fiscalde Serviços Eletrônica pode ser síncrona, caso o atendimento da solicitação deserviço seja realizada na mesma conexão ou assíncrona, quando oprocessamento do serviço solicitado não é atendido na mesma conexão,devido à uma demanda de processamento de grande quantidade deinformação. Nesta situação torna-se necessária a realização de mais umaconexão para a obtenção do resultado do processamento.As solicitações de serviços que exigem processamento intenso serãoexecutadas de forma assíncrona e as demais solicitações de serviços de formasíncrona.Assim, os serviços da NFS-e serão implementados da seguinte forma:Serviço ImplementaçãoRecepção e Processamento de Lote de RPS AssíncronaConsulta de Situação de Lote de RPS SíncronaConsulta de NFS-e por RPS SíncronaConsulta de Lote de RPS SíncronaConsulta de NFS-e SíncronaCancelamento de NFS-e Síncrona4.1.1 Serviços SíncronosAs solicitações de serviços de implementação síncrona são processadasimediatamente e o resultado do processamento é obtido em uma únicaconexão.Abaixo, o fluxo simplificado de funcionamento: Secretaria da FazendaPrestador <XML> Web Services Solicitação Processamento <XML> Resultado 17
  18. 18. Página 18 de 37 Revisão 1.00Etapas do processo ideal: 1. O aplicativo do contribuinte inicia a conexão enviando uma mensagem de solicitação de serviço para o Web Service; 2. O Web Service recebe a mensagem de solicitação de serviço e encaminha ao aplicativo da NFS-e que irá processar o serviço solicitado; 3. O aplicativo da NFS-e recebe a mensagem de solicitação de serviços e realiza o processamento, devolvendo uma mensagem de resultado do processamento ao Web Service; 4. O Web Service recebe a mensagem de resultado do processamento e o encaminha ao aplicativo do contribuinte; 5. O aplicativo do contribuinte recebe a mensagem de resultado do processamento e caso não exista outra mensagem, encerra a conexão.4.1.2 Serviços AssíncronosAs solicitações de serviços de implementação assíncrona são processadas deforma distribuída por vários processos e o resultado do processamentosomente é obtido na segunda conexão.Abaixo, o fluxo simplificado de funcionamento: Prestador Secretaria da Fazenda <XML> Solicitação Web Service <XML> Fila de Processos ResultadoEtapas do processo ideal: Solicitação e processamento: 1. O aplicativo do contribuinte inicia a conexão enviando uma mensagem de solicitação de serviço para o Web Service de recepção de solicitação de serviços; 2. O Web Service de recepção de solicitação de serviços recebe a mensagem de solicitação de serviço e a coloca na fila de serviços solicitados, acrescentando o CNPJ do transmissor obtido do certificado digital do transmissor; 3. O Web Service de recepção de solicitação de serviços retorna o protocolo da solicitação de serviço e a data e hora de gravação na fila de serviços solicitados ao aplicativo do contribuinte; 18
  19. 19. Página 19 de 37 Revisão 1.00 4. O aplicativo do contribuinte recebe o protocolo; 5. Na estrutura interna do aplicativo de NFS-e a solicitação de serviços é retirada da fila de serviços solicitados pelo aplicativo da NFS-e em momento específico, definido pela equipe técnica da NFS-e; 6. O serviço solicitado é processado pelo aplicativo da NFS-e e o resultado do processamento é colocado na fila de serviços processados; Obtenção do resultado do serviço: 7. O aplicativo do contribuinte, através do protocolo recebido, envia uma consulta ao serviço que retornará o resultado do processamento daquele protocolo, iniciando uma conexão com o Web Service; 8. O Web Service recebe a mensagem de consulta e localiza o resultado de processamento da solicitação de serviço; 9. O Web Service devolve o resultado do processamento ao aplicativo contribuinte; 10. O aplicativo do contribuinte recebe a mensagem de resultado do processamento e, caso não exista outra mensagem, encerra a conexão.4.2 FORMATOS E PADRÕES UTILIZADOSAbaixo segue algumas formatações de dados que devem ser seguidas parageração correta na estrutura dos arquivos.Formato ObservaçãoData (date) Formato: AAAA-MM-DD onde: AAAA = ano com 4 caracteres MM = mês com 2 caracteres DD = dia com 2 caracteresData/Hora (datetime) Formato AAAA-MM-DDTHH:mm:ss onde: AAAA = ano com 4 caracteres MM = mês com 2 caracteres DD = dia com 2 caracteres T = caractere de formatação que deve existir separando a data da hora HH = hora com 2 caracteres mm: minuto com 2 caracteres ss: segundo com 2 caracteresValores Decimais Formato: 0.00(decimal) Não deve ser utilizado separador de milhar. O ponto (.) deve ser utilizado para separar a parte inteira da fracionária. Exemplo: 48.562,25 = 48562.25 1,00 = 1.00 ou 1 0,50 = 0.50 ou 0.5Valores Percentuais Formato 0.0000(decimal) O formato em percentual presume o valor percentual em sua forma fracionária, contendo 5 dígitos. O ponto (.) separa a parte inteira da fracionária. Exemplo: 62% = 0.62 150% = 1.5 25,32 = 0.2532 19
  20. 20. Página 20 de 37 Revisão 1.00Não deve ser inserido caractere não significativo para preencher o tamanhocompleto do campo, ou seja, zeros antes de número ou espaço em brancoapós cadeia de caracteres. A posição do campo é definida na estrutura dodocumento XML através de TAGs (<tag>conteúdo</tag>).A regra constante do parágrafo anterior deverá estender-se para os camposonde não há indicação de obrigatoriedade e que, no entanto, seupreenchimento torna-se obrigatório por estar condicionado à legislaçãoespecífica ou ao negócio do contribuinte. Neste caso, deverá constar a TAGcom o valor correspondente e, para os demais campos, deverão ser eliminadasas TAGs.Para reduzir o tamanho final do arquivo XML da NFS-e alguns cuidados deprogramação deverão ser assumidos: • não incluir "zeros não significativos" para campos numéricos; • não incluir "espaços" no início ou no final de campos numéricos e alfanuméricos; • não incluir comentários no arquivo XML; • não incluir anotação e documentação no arquivo XML (TAG annotation e TAG documentation); • não incluir caracteres de formatação no arquivo XML ("line-feed", "carriage return", "tab", caractere de "espaço" entre as TAGs).As TAGs que permitirem valores nulos devem ser omitidas da estrutura XML aser enviada.4.3 TIPOS SIMPLESA seguir encontra-se a tabela com a lista dos tipos simples que serão utilizadoscomo tipos de dados. A tabela está dividida em 4 colunas, a saber: • Campo: nome do tipo simples; • Tipo: tipo primitivo de dados utilizados pelo campo: o C: Caractere; o N: Número; o D: Data ou Data/Hora; • Descrição: descreve informações sobre o campo; • Tam.: tamanho do campo: o Quando for caracteres o tamanho define a quantidade máxima de caracteres que o texto poderá ter; o Quando for numérico o tamanho pode ser representado das seguintes formas Número inteiro, que define o total de dígitos existente no número. Exemplo: “15” significa que o número poderá ter, no máximo, 15 dígitos; 20
  21. 21. Página 21 de 37 Revisão 1.00 Número fracionário, que define o total de dígitos e quantos deles serão designados para a parte fracionária. Exemplo: “15,2” significa que o número poderá ter, no máximo, 15 dígitos sendo 2 deles a identificação da parte fracionária. A parte fracionária não é obrigatória quando assim definido; o Quando for data, não haverá definição de tamanho.Campo Tipo Descrição Tam.TsNumeroNfse N Número da Nota Fiscal de Serviço Eletrônica, 15 formado pelo ano com 04 (quatro) dígitos e um número seqüencial com 11 posições – Formato AAAANNNNNNNNNNN.tsCodigoVerificacao C Código de verificação do número da nota 9TsStatusRps N Código de status do RPS 1 1 – Normal 2 – CanceladoTsStatusNfse N Código de status da NFS-e 1 1 – Normal 2 – CanceladotsNaturezaOperacao N Código de natureza da operação 2 1 – Tributação no município 2 - Tributação fora do município 3 - Isenção 4 - Imune 5 –Exigibilidade suspensa por decisão judicial 6 – Exigibilidade suspensa por procedimento administrativotsRegimeEspecialTributacao N Código de identificação do regime especial de 2 tributação 1 – Microempresa municipal 2 - Estimativa 3 – Sociedade de profissionais 4 – CooperativaTsSimNao N Identificação de Sim/Não 1 1 - Sim 2 – NãoTsQuantidadeRps N Quantidade de RPS do Lote 4TsNumeroRps N Número do RPS 15TsSerieRps C Número de série do RPS 5TsTipoRps N Código de tipo de RPS 1 1 - RPS 2 – Nota Fiscal Conjugada (Mista) 3 – CupomtsOutrasInformacoes C Informações adicionais ao documento. 255TsValor N Valor monetário. 15,2 Formato: 0.00 (ponto separando casa decimal) Ex: 1.234,56 = 1234.56 1.000,00 = 1000.00 1.000,00 = 1000tsItemListaServico C Código de item da lista de serviço 5TsCodigoCnae N Código CNAE 7tsCodigoTributacao C Código de Tributação 20TsAliquota N Alíquota. Valor percentual. 5,4 Formato: 0.0000 Ex: 1% = 0.01 25,5% = 0.255 100% = 1.0000 ou 1tsDiscriminacao C Discriminação do conteúdo da NFS-e 2000tsCodigoMunicipioIbge N Código de identificação do município conforme 7 tabela do IBGE 21
  22. 22. Página 22 de 37 Revisão 1.00tsIncricaoMunicipal C Número de inscrição municipal 15tsRazaoSocial C Razão Social do contribuinte 115tsNomeFantasia C Nome fantasia 60TsCnpj C Número CNPJ 14tsEndereco C Endereço 125tsNumeroEndereco C Número do endereço 10tsComplementoEndereco C Complemento de endereço 60tsBairro C Bairro 60tsUf C Sigla da unidade federativa 2tsCep N Número do CEP 8tsEmail C E-mail 80tsTelefone C Telefone 11TsCpf C Número de CPF 11tsIndicacaoCpfCnpj N Indicador de uso de CPF ou CNPJ 1 1 – CPF 2 – CNPJ 3 – Não InformadotsCodigoObra C Código de Obra 15tsArt C Código ART 15tsNumeroLote N Número do Lote de RPS 15TsNumeroProtocolo C Número do protocolo de recebimento do RPS 50tsSituacaoLoteRps N Código de situação de lote de RPS 1 1 – Não Recebido 2 – Não Processado 3 – Processado com Erro 4 – Processado com SucessotsCodigoMensagemAlerta C Código de mensagem de retorno de serviço. 4TsDescricaoMensagemAlerta C Descrição da mensagem de retorno de serviço. 200TsCodigoCancelamentoNfse C Código de cancelamento com base na tabela de 4 Erros e alertas.tsIdTag C Atributo de identificação da tag a ser assinada 255 no documento XML4.4 TIPOS COMPLEXOSA seguir serão detalhadas as tabelas de cada tipo composto e seus campos. Atabela está dividida da seguinte forma: (1) (2)Nome Tipo Ocorrência Descrição (4) (5) (6) (7) (3) (4) (5) (6) (7) 1. Nome do tipo complexo; 2. Descrição do tipo complexo; 3. Identifica se a seqüência de campos fará parte de uma escolha (Choice); 4. Nome do campo que faz parte do tipo complexo; 5. Tipo do campo, que pode ser de um tipo simples ou complexo; 6. Quantas vezes o campo se repete na estrutura de dados: a. Formato: “x-y” onde “x” é a quantidade mínima e “y” a quantidade máxima. Se a quantidade máxima for indefinida, será utilizado “N” no lugar do “y”; 7. Descrição do campo. TcCpfCnpj 22
  23. 23. Página 23 de 37 Revisão 1.00Número de CPF ou CNPJNome Tipo Ocorrência Descrição Cpf tsCpf 1-1 Número do CpfChoice Cnpj tsCnpj 1-1 Número do Cnpj TcEnderecoRepresentação completa do endereçoNome Tipo Ocorrência DescriçãoEndereco tsEndereco 0-1 EndereçoNumero tsNumeroEndereco 0-1 Número do endereçoComplemento tsComplementoEndereco 0-1 Complemento do EndereçoBairro tsBairro 0-1 Nome do bairroCodigoMunicipio tsCodigoMunicipioIbge 0-1 Código da cidadeUf tsUf 0-1 Sigla do estadoCep tsCep 0-1 CEP da localidade TcContatoRepresenta forma de contato com a pessoa (física/jurídica)Nome Tipo Ocorrência DescriçãoTelefone tsTelefone 0-1Email tsEmail 0-1 tcIdentificacaoOrgaoGeradorRepresenta dados para identificação de órgão geradorNome Tipo Ocorrência DescriçãoCodigoMunicipio tsCodigoMunicipioIbge 1-1Uf tsUf 1-1 tcIdentificacaoRpsDados de identificação do RPSNome Tipo Ocorrência DescriçãoNumero tsNumeroRps 1-1Serie tsSerieRps 1-1Tipo tsTipoRps 1-1 tcIdentificacaoPrestadorRepresenta dados para identificação do prestador de serviçoNome Tipo Ocorrência DescriçãoCnpj tsCnpj 1-1InscricaoMunicipal tsInscricaoMunicipal 0-1 tcIdentificacaoTomadorRepresenta dados para identificação do tomador de serviçoNome Tipo Ocorrência DescriçãoCpfCnpj tcCpfCnpj 0-1InscricaoMunicipal tsInscricaoMunicipal 0-1 tcDadosTomadorRepresenta dados do tomador de serviçoNome Tipo Ocorrência DescriçãoIdentificacaoTomador TcIdentificacaoTomador 0-1RazaoSocial TsRazaoSocial 0-1Endereco TcEndereco 0-1Contato TcContato 0-1 TcIdentificacaoIntermediarioServicoRepresenta dados para identificação de intermediário do serviçoNome Tipo Ocorrência Descrição 23
  24. 24. Página 24 de 37 Revisão 1.00RazaoSocial tsRazaoSocial 1-1CpfCnpj tcCpfCnpj 1-1InscricaoMunicipal tsInscricaoMunicipal 0-1 TcValoresRepresenta um conjunto de valores que compõe o documento fiscalNome Tipo Ocorrência DescriçãoValorServicos tsValor 1-1ValorDeducoes tsValor 0-1ValorPis tsValor 0-1ValorCofins tsValor 0-1ValorInss tsValor 0-1ValorIr tsValor 0-1ValorCsll tsValor 0-1IssRetido tsSimNao 1-1ValorIss tsValor 0-1OutrasRetencoes tsValor 0-1BaseCalculo tsValor 1-1 (Valor dos serviços - Valor das deduções - descontos incondicionados)Aliquota tsAliquota 0-1ValorLiquidoNfse tsValor 0-1 (ValorServicos - ValorPIS - ValorCOFINS - ValorINSS - ValorIR - ValorCSLL - OutrasRetençoes - ValorISSRetido - DescontoIncondicionado - DescontoCondicionado)ValorIssRetido tsValor 0-1DescontoCondicionado tsValor 0-1DescontoIncondicionado tsValor 0-1 TcDadosServicoRepresenta dados que compõe o serviço prestadoNome Tipo Ocorrência DescriçãoValores tcValores 1-1ItemListaServico tsItemListaServico 1-1CodigoCnae tsCodigoCnae 0-1CodigoTributacaoMunicipio tsCodigoTributacao 0-1Discriminacao tsDiscriminacao 1-1CodigoMunicipio tsCodigoMunicipioIbge 1-1 tcDadosConstrucaoCivilRepresenta dados para identificação de construção civilNome Tipo Ocorrência DescriçãoCodigoObra tsCodigoObra 1-1Art tsArt 1-1 tcDadosPrestadorRepresenta dados do prestador do serviçoNome Tipo Ocorrência DescriçãoIdentificacaoPrestador tcIdentificacaoPrestador 1-1RazaoSocial tsRazaoSocial 1-1NomeFantasia tsNomeFantasia 0-1Endereco tcEndereco 1-1Contato tcContato 0-1 TcInfRpsRepresenta dados informativos do Recibo Provisório de Serviço (RPS)Nome Tipo Ocorrência Descrição 24
  25. 25. Página 25 de 37 Revisão 1.00Id tsIdTag Identificador da TAG a ser assinadaIdentificacaoRps TcIdentificacaoRps 1-1DataEmissao Datetime 1-1NaturezaOperacao TsNaturezaOperacao 1-1RegimeEspecialTributacao TsRegimeEspecialTributacao 0-1OptanteSimplesNacional TsSimNao 1-1IncentivadorCultural TsSimNao 1-1Status TsStatusRps 1-1RpsSubstituido TcIdentificacaoRps 0-1Servico TcDadosServico 1-1Prestador TcIdentificacaoPrestador 1-1Tomador TcDadosTomador 1-1IntermediarioServico tcIdentificacaoIntermediarioServico 0-1ConstrucaoCivil TcDadosContrucaoCivil 0-1 TcRpsRepresenta a estrutura do Recibo Provisório de Serviço (RPS) assinadaNome Tipo Ocorrência DescriçãoInfRps tcInfRps 1-1Signature dsig:Signature 0-1 tcIdentificacaoNfseRepresenta dados que identificam uma Nota Fiscal de Serviços EletrônicaNome Tipo Ocorrência DescriçãoNumero tsNumeroNfse 1-1Cnpj tsCnpj 1-1InscricaoMunicipal tsInscricaoMunicipal 0-1CodigoMunicipio tsCodigoMunicipioIbge TcInfNfseRepresenta os dados informativos da Nota Fiscal de Serviços EletrônicaNome Tipo Ocorrência DescriçãoId tsIdTag Identificador da TAG a ser assinadaNumero tsNumeroNfse 1-1CodigoVerificacao tsCodigoVerificacao 1-1DataEmissao Datetime 1-1IdentificacaoRps tcIdentificacaoRps 0-1DataEmissaoRps Date 0-1NaturezaOperacao tsNaturezaOperacao 1-1RegimeEspecialTributacao tsRegimeEspecialTributacao 0-1OptanteSimplesNacional TsSimNao 1-1IncetivadorCultural TsSimNao 1-1Competencia Date 1-1NfseSubstituida tsNumeroNfse 0-1OutrasInformacoes tsOutrasInformacoes 0-1Servico tcDadosServico 1-1ValorCredito TsValor 0-1PrestadorServico tcDadosPrestador 1-1TomadorServico tcDadosTomador 1-1IntermediarioServico tcIdentificacaoIntermediarioServico 0-1OrgaoGerador tcIdentificacaoOrgaoGerador 1-1ConstrucaoCivil tcDadosContrucaoCivil 0-1 TcNfseRepresenta a estrutura da Nota Fiscal de Serviços Eletrônica assinadaNome Tipo Ocorrência DescriçãoInfNfse tcInfNfse 1-1Signature Dsig:Signature 1-2 25
  26. 26. Página 26 de 37 Revisão 1.00 tcInfPedidoCancelamentoRepresenta a estrutura de dados do pedido de cancelamento enviado pelo prestador ao cancelar umaNota Fiscal de Serviços Eletrônica.Nome Tipo Ocorrência ObservaçãoId tsIdTag Identificador da TAG a ser assinadaIdentificacaoNfse tcIdentificacaoNfse 1-1CodigoCancelamento tsCodigoCancelamentoNfse 1-1 TcPedidoCancelamentoRepresenta a estrutura de Pedido de Cancelamento da Nota Fiscal de Serviços Eletrônica assinadaNome Tipo Ocorrência DescriçãoInfPedidoCancelamento tcInfPedidoCancelamento 1-1Signature Dsig:Signature 0-1 tcInfConfirmacaoCancelamentoRepresenta a estrutura de dados da confirmação de cancelamento Nota Fiscal de Serviços Eletrônica feitopelo Fisco Municipal.Nome Tipo Ocorrência ObservaçãoSucesso boolean 1-1DataHora datetime 1-1 TcConfirmacaoCancelamentoRepresenta a estrutura de Confirmação de Cancelamento da Nota Fiscal de Serviços Eletrônica assinadaNome Tipo Ocorrência DescriçãoId tsIdTag Identificador da TAG a ser assinadaPedido TcPedidoCancelamento 1-1InfConfirmacaoCancelamento tcInfConfirmacaoCancelamento 1-1 TcCancelamentoNfseRepresenta a estrutura completa (pedido + confirmação) de cancelamento de NFS-e.Nome Tipo Ocorrência DescriçãoConfirmacao TcConfirmacaoCancelamento 1-1Signature Dsig:Signature 1-1 TcInfSubstituicaoNfseRepresenta os dados de registro de substituição de NFS-e.Nome Tipo Ocorrência DescriçãoId tsIdTag Identificador da TAG a ser assinadaNfseSubstituidora tsNumeroNfse 1-1 TcSubstituicaoNfseRepresenta a estrutura de substituição de NFS-e.Nome Tipo Ocorrência DescriçãoSubstituicaoNfse tcInfSubstituicaoNfse 1-1Signature dsig:Signature 1-2 TcCompNfseRepresenta a estrutura de compartilhamento de dados de uma NFS-e.Nome Tipo Ocorrência DescriçãoNfse tcNfse 1-1NfseCancelamento tcCancelamentoNfse 0-1NfseSubstituicao tcSubstituicaoNfse 0-1 26
  27. 27. Página 27 de 37 Revisão 1.00 tcMensagemRetornoRepresenta a estrutura de mensagem de retorno de serviço.Nome Tipo Ocorrência DescriçãoCodigo TsCodigoMensagemAlerta 1-1Mensagem tsDescricaoMensagemAlerta 1-1Correcao tsDescricaoMensagemAlerta 0-1 ListaMensagemRetornoRepresenta a estrutura de mensagem de retorno de serviço.Nome Tipo Ocorrência DescriçãoMensagemRetorno tcMensagemRetorno 1-N tcMensagemRetornoLoteRepresenta a estrutura de mensagem de retorno de serviço.Nome Tipo Ocorrência DescriçãoIdentificacaoRps TcIdentificacaoRps 1-1Codigo TsCodigoMensagemAlerta 1-1Mensagem tsDescricaoMensagemAlerta 1-1 tcLoteRpsNome Tipo Ocorrência ObservaçãoId tsIdTag Identificador da TAG a ser assinadaNumeroLote TsNumeroLote 1-1Cnpj TsCnpj 1-1InscricaoMunicipal TsInscricaoMunicipal 1-1QuantidadeRps TsQuantidadeRps 1-1ListaRps 1-1Rps TcRps 1-N4.5 SERVIÇOSA seguir estão os serviços disponíveis, conforme descritos no item 3.1, noWebService e seus XML Schema. O XML Schema define a estrutura eformatação do arquivo XML que conterá os dados a serem trafegados. Essesdocumentos serão enviados de forma textual (como uma string) comoparâmetros do serviço oferecido pelo Web Service, como descrito em 3.2.1.As tabelas que detalham cada XML Schema estão divididas da seguinte forma: (1) # Nome Tipo Pai Ocorrência Observação(2) (3) (4) (5) (6) (7) (8) (9) 1. Nome do arquivo XSD; 2. Número identificador do campo, quando este contiver subitens; 3. Nome do campo; 4. Nome do tipo do campo que pode ser tipo primitivo, simples ou complexo; 5. Indica quem é o campo pai, para definição da hierarquia; 6. Quantas vezes o campo se repete na estrutura de dados: 27
  28. 28. Página 28 de 37 Revisão 1.00 a. Formato: “z-y” onde “x” é a quantidade mínima e “y” a quantidade máxima. Se a quantidade máxima for indefinida, será utilizado “N” no lugar do “y”; 7. Descreve alguma observação pertinente; 8. Formato de grupo, utilizado para definição de uma escolha (ver próximo item); 9. Identifica os campos ou grupos que farão parte de uma escolha (Choice).4.5.1 Recepção de Lote de RPSEsse serviço será executado, inicialmente, através da chamada ao métodoRecepcionarLoteRps, passando a mensagem XML como parâmetro com aestrutura definida na tabela que segue. servico_enviar_lote_rps_envio.xsd# Nome Tipo Pai Ocorrência Observação1 EnviarLoteRpsEnvio 1-1 LoteRps TcLoteRps 1 1-1 Signature dsig:Signature 1 0-1Em resposta a chamada do serviço será devolvida a estrutura definida natabela a seguir. servico_enviar_lote_rps_resposta.xsd# Nome Tipo Pai Ocorrência Observação1 EnviarLoteRpsResposta 1-1 NumeroLote tsNumeroLote 1 DataRecebimento Datetime 1 1-1 Choice Protocolo tsNumeroProtocolo 12 ListaMensagemRetorno ListaMensagemRetorno 1 1-1O lote será processado posteriormente, sendo o seu resultado disponibilizadopara consulta.4.5.2 Consulta de Situação de Lote de RPSEsse serviço será executado através da chamada ao métodoConsultarSituacaoLoteRps, passando a mensagem XML como parâmetrocom a estrutura definida na tabela que segue. servico_consultar_situacao_lote_rps_envio.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarSituacaoLoteRpsEn 1-1 vio Prestador TcIdentificacaoPrestador 1 1-1 Protocolo TsNumeroProtocolo 1 1-1Em resposta a chamada do serviço será devolvida a estrutura definida natabela a seguir. 28
  29. 29. Página 29 de 37 Revisão 1.00 servico_consultar_situacao_lote_rps_resposta.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarSituacaoLoteRpsRe 1-1 sposta NumeroLote tsNumeroLote 1 1-1 Situação tsSituacaoLoteRps 1 Choice2 ListaMensagemRetorno ListaMensagemRetorno 1 1-14.5.3 Consulta de NFS-e por RPSEsse serviço será executado através da chamada ao métodoConsultarNfsePorRps, passando a mensagem XML como parâmetro com aestrutura definida na tabela que segue. servico_consultar_nfse_rps_envio.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarNfseRpsEnvio IdentificacaoRps tcIdentificacaoRps 1 1-1 Prestador tcIdentificacaoPrestador 1 1-1Em resposta a chamada do serviço será devolvida a estrutura definida natabela a seguir. servico_consultar_nfse_rps_resposta.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarNfseRpsResposta CompNfse tcCompNfse 1 1-1 Choice2 ListaMensagemRetorno ListaMensagemRetorno 1 1-14.5.4 Consulta de NFS-eEsse serviço será executado através da chamada ao método ConsultarNfse,passando a mensagem XML como parâmetro com a estrutura definida natabela que segue. servico_consultar_nfse_envio.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarNfseEnvio 1-1 Prestador tcIdentificacaoPrestador 1 1-1 NumeroNfse tsNumeroNfse 1 0-12 PeriodoEmissao 1 0-1 DataInicial date 2 1-1 DataFinal date 2 1-1 Tomador tcIdentificacaoTomador 1 0-1 IntermediarioServico TcIdentificacaoIntermediar 1 0-1 ioServicoEm resposta a chamada do serviço será devolvida a estrutura definida natabela a seguir. servico_consultar_nfse_resposta.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarNfseResposta 1-12 ListaNfse 1 1-1 Choice 29
  30. 30. Página 30 de 37 Revisão 1.00 CompNfse tcCompNfse 23 ListaMensagemRetorno ListaMensagemRetorno 1 1-14.5.5 Consulta de Lote de RPSEsse serviço será executado através da chamada ao métodoConsultarLoteRps, passando a mensagem XML como parâmetro com aestrutura definida na tabela que segue. servico_consultar_lote_rps_envio.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarLoteRpsEnvio 1-1 Prestador TcIdentificacaoPrestador 1 1-1 Protocolo TsNumeroProtocolo 1 1-1Em resposta a chamada do serviço será devolvida a estrutura definida natabela a seguir. servico_consultar_lote_rps_resposta.xsd# Nome Tipo Pai Ocorrência Observação1 ConsultarLoteRpsResposta 1-12 ListaNfse 1 1-1 CompNfse tcCompNfse 2 1-N Choice3 ListaMensagemRetorno ListaMensagemRetorno 1 1-14.5.6 Cancelamento NFS-eEsse serviço será executado através da chamada ao método CancelarNfse,passando a mensagem XML como parâmetro com a estrutura definida natabela que segue. servico_cancelar_nfse_envio.xsd# Nome Tipo Pai Ocorrência Observação1 CancelarNfseEnvio 1-1 Pedido TcPedidoCancelamento 1 1-1Em resposta a chamada do serviço será devolvida a estrutura definida natabela a seguir. servico_cancelar_nfse_resposta.xsd# Nome Tipo Pai Ocorrência Observação1 CancelarNfseResposta Cancelamento TcCancelamentoNfse 1 1-1 Choice2 ListaMensagemRetorno ListaMensagemRetorno 1 1-1 30
  31. 31. Página 31 de 37 Revisão 1.005 ANEXO5.1 TABELA DE ERROSCÓD. MENSAGEM SOLUÇÃOE1 Assinatura do Hash não confere Reenvie asssinatura do Hash conforme algoritmo estabelecido no Manual de Instrução da NFS-eE2 Mês de competência superior ao de emissão Informe um mês de competência inferior ou do RPS ou da Nota igual ao de emissão do RPS ou da Nota.E3 Natureza da operação não informada. Utilize um dos tipos: 01 – Tributação no municipio; 02 – Tributação fora do municipio; 03 – Isenção; 04 – Imune; 05 – Exigibilidade suspensa por decisão judicial; 06 – Exigibilidade suspensa por procedimento administrativo.E4 Esse RPS não foi enviado para a nossa base Envie o RPS para emissão da NFS-e. de dadosE5 O número da NFS-E substituída informado Informe um número de NFS-E substituída que já não existe na base de dados do município. tenha sido emitida.E6 Essa NFS-e não pode ser cancelada através O cancelamento de uma NFS-e com crédito deve desse serviço, pois há crédito informado ser feito através de processo administrativo aberto em uma repartição fazendária.E7 Essa NFS-e já foi substituída Confira e informe novamente os dados da NFS-e que deseja substituir.E8 Campo de optante pelo simples nacional não Utilize um dos tipos: 1 – Sim; 2 - Não. informadoE9 Campo de incentivador cultural não Utilize um dos tipos: 1 – Sim; 2 - Não. informadoE10 RPS já informado. Para essa Inscrição Municipal/CNPJ já existe um RPS informado com o mesmo número, série e tipo.E11 Número do RPS não informado Informe o número do RPSE12 Tipo do RPS não informado Informe o tipo do RPSE13 Campo tipo do RPS inválido. Utilize um dos tipos especificados: "RPS", "RPS- C" ou "RPSM".E14 Data da emissão do RPS não informada Informe a Data da emissão do RPS no formato DateE15 Data da emissão do RPS inválida Informe a Data da emissão do RPS no formato DateE16 A data da emissão do RPS não poderá ser Informe uma data de emissão de RPS válida superior a data de hojeE17 A data da emissão do RPS não poderá ser Informe uma data de emissão de RPS válida inferior à data de habilitação do prestador para emissão da NFS-e.E18 O valor dos serviços deverá ser superior a R$ Não é permitido envio de valor de serviços igual 0,00 (zero) a zero.E19 O valor das deduções deverá ser inferior ou Não é permitido valor de dedução superior ao igual ao valor dos serviços valor de serviços.E20 O valor das deduções deverá ser superior ou Não é permitido valor de dedução inferior a zero igual a R$ 0,00 (zero) (negativo).E21 O valor dos descontos deverá ser inferior ou Não é permitido valor de desconto superior ao igual ao valor dos serviços valor de serviços.E22 O valor dos descontos deverá ser superior ou Não é permitido valor de desconto inferior a zero igual a R$ 0,00 (zero) (negativo).E23 O valor do PIS deverá ser superior ou igual a Não é permitido valor de retenção inferior a zero R$ 0,00 (zero) (negativo).E24 O valor da Cofins deverá ser superior ou igual Não é permitido valor de retenção inferior a zero a R$ 0,00 (zero) (negativo).E25 O valor do INSS deverá ser superior ou igual Não é permitido valor de retenção inferior a zero a R$ 0,00 (zero) (negativo).E26 O valor do IR deverá ser superior ou igual a Não é permitido valor de retenção inferior a zero 31
  32. 32. Página 32 de 37 Revisão 1.00 R$ 0,00 (zero) (negativo).E27 O valor da CSLL deverá ser superior ou igual Não é permitido valor de retenção inferior a zero a R$ 0,00 (zero) (negativo).E28 Item da lista de serviço informado é Consulte a legislação vigente para saber se o incompatível com a informação de optante item informado permite a opção pelo simples pelo simples nacional nacionalE29 O código de serviço prestado não permite Altere o campo "ISS Retido" para: 2 (Nota Fiscal retenção de ISS. sem ISS Retido).E30 Item da lista de serviço inexistente Consulte a legislação vigente para saber o item da lista de serviço que deverá ser informado neste campo.E31 Item da lista de serviço não informado para a Informe o item relativo ao serviço prestado operação nessa operação.E32 Código CNAE informado é incompatível com a Consulte a legislação vigente para saber se o informação de optante pelo simples nacional código informado permite a opção pelo simples nacional.E33 Código CNAE inexistente Consulte a legislação vigente para saber o código CNAE que deverá ser informado neste campo.E34 Código de tributação informado é Consulte a legislação vigente para saber se o incompatível com a informação de optante código informado permite a opção pelo simples pelo simples nacional nacional.E35 Código de tributação inexistente Consulte a legislação vigente para saber o Código de tributação que deverá ser informado neste campo.E36 Campo ISSRetido inválido. Utilize um dos tipos: 1 para ISS Retido ou 2 para ISS não Retido.E37 Apenas serviços tributados, no município ou Operações isentas, imunes ou com exigibilidade fora, podem sofrer retenção de ISS suspensa por decisão judicial ou procedimento administrativo não podem sofrer retenção de ISS.E38 Contribuintes enquadrados como Não faça a retenção do ISS nos casos de Microempresa Municipal, Estimativa, empresas enquadradas como Microempresa Sociedade de Profissionais ou Incentivador Municipal, Estimativa, Sociedade de Profissionais Cultural não podem sofrer retenção de ISS. ou Incentivador Cultural.E39 Apenas empresas tomadoras de serviços O CNPJ e/ou a Inscrição Municipal informada do inscritas neste municipio podem efetuar tomador não foi encontrada na base de dados do retenção de ISS. município, não sendo permitida a retenção. Acerte o CNPJ e/ou Inscrição Municipal ou altere o campo ISS Retido para 2 (Sem retenção de ISS).E40 Valor do ISS retido não informado. O valor do ISS retido deve ser informado quando o campo "IssRetido" for marcado com 1- Sim.E41 O campo discriminação dos serviços não foi O preenchimento da discriminação dos serviços é preenchido. obrigatório por lei, devendo ser preenchido adequadamente.E42 Código do município da prestação do serviço Consulte a tabela do IBGE e utilize um dos tipos inválido listados na tabelaE43 Inscrição Municipal do prestador não Informe a inscrição municipal correta do encontrada na base de dados do município. prestador.E44 CNPJ do prestador inválido Informe o número do CNPJ correto do prestador.E45 CNPJ não encontrado na base de dados Confira o numero do CNPJ informado. Caso esteja correto, o prestador não está inscrito no município.E46 CNPJ do prestador não informado Informe o CNPJ do prestador.E47 CPF/CNPJ do tomador inválido Informe o CPF/CNPJ correto do tomador.E48 O campo CPF/CNPJ do tomador deverá ser Preencher o campo CPF/CNPJ do Tomador com preenchido com zeros quando for de CPF zeros quando se tratar de tomador com CPF não não-informado. informado.E49 Lote de RPS com excesso de inconsistências. O serviço de validação de RPS é abortado quando atinge o número de 50 inconsistências. Corrija os erros e reenvie o lote de RPS.E50 Inscricao Municipal do pretador inválida Informe a inscricao municipal correta do prestador. 32

×