Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

3 ARQUITETURA DE COMUNICAÇÃO COM O CONTRIBUINTE

3.1 Modelo Conceitual
Utilizando Web Service, o Sistema de Notas Fiscais de Serviços
Serviço Eletrônicas das Administrações Tributárias Municipais disponibilizará serviços
que poderão ser acessados pelos sistemas 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 (Gerar NFS-e)
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 quando serão feitas as validações necessárias e geração das NFS-e.

XML de Envio é validado pelo elemento do schema do arquivo nfse.xsd:gerarNFSe

Passos para execução:

  1. A aplicação acessa o serviço de “Recepção e Processamento de Lote de RPS” enviando o lote de RPS (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”).

A URL do serviço será:
https://www.janelaunica.srv.br:8443/wsjanelaunica/NfseWS?wsdl

3.1.3 Consulta de NFS-e
Esse serviço efetua a consulta da(s) NFS-e(s) gerada(s).
XML de Envio é validado pelo elemento do schema do arquivo nfse.xsd:buscarNfse

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 a(s) NFS-e(s) correspondente (s).

  3. O Web Service retorna uma mensagem com o resultado do processamento do serviço.

4 PADRÕES TÉCNICOS

O meio físico de comunicação utilizado entre os sistemas de informação dos contribuintes e o Sistema de Notas Fiscais de Serviço Eletrônicas das Administrações Tributárias Municipais será a Internet, com o uso do protocolo SSL, que além de garantir um duto de comunicação seguro na Internet, permite a utilização de nome ou código de usuário e senha em tráfego seguro.

O modelo de comunicação segue o padrão de Web Services definido pelo WS-I Basic Profile (Basic 128).

A troca de mensagens entre o Web Service do Sistema de Notas Fiscais de Serviço Eletrônicas das Administrações Tributárias Municipais e o sistema do contribuinte será realizada no padrão SOAP, com troca de mensagens XML no padrão Style/Enconding: Document/Literal, wrapped. A opção “wrapped”
representa esenta a chamada aos métodos disponíveis com a passagem de mais de um parâmetro. Para descrever os serviços disponibilizados, será utilizado um documento WSDL (Web Service DescriptionLanguage). O WSDL é o padrão recomendado para descrição de serviços SOAP.

As chamadas aos serviços serão feitas enviando como parâmetro um documento XML a ser processado pelo sistema. Esse documento não fará parte da descrição do serviço (arquivo WSDL), e o formato do XML
correspondente ao serviço está definido neste manual de integração, seção 5.


4.1 Habilitando Login
Para conectar um sistema gerador de RPS com o sistema emissor de NFS-e

Siga os seguintes passos:
1 - acesse a Área do Prestador de Serviços, no portal Janela Única.
2 - clique em Contribuinte e depois em RPS.
3 - clique no botão Alterar Senha.
A senha cadastrada será utilizada tanto na integração ao web Service de teste
quanto no Web Service de Produção. Uma vez cadastrada a nova senha a empresa
estará homologada.
As informações necessárias para acessar o Web Service são o código do usuário e
a senha.

5 PADRÃO DAS MENSAGENS XML

A especificação adotada para as mensagens XML é a recomendação W3C para XML 1.0, disponível em http://www.w3.org/TR/REC-xmle a codificação dos caracteres será em UTF-8.

As chamadas dos Web Services disponibilizados Administrações Tributárias Municipais e os respectivos resultados do processamento são realizadas com utilização de 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 Administrações Tributárias Municipais, 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 informada na área de dados

Área de Dados – estrutura XML variável definida na documentação do Web Service acessado.

Abaixo, o leiaute da Área de Cabeçalho:

#

Nome

Elemento

Pai

Tipo

Ocorrência

Tamanho

Descrição

1

cabeçalho

G

1-1

TAG raiz do cabeçalho da
mensagem.

username

A

1

C

1-1

Login para autenticação

password

A

1

C

1-1

Senha para autenticação

timestamp

A

1

DT

1-1

Timestamp da requisição

6 ESTRUTURA DE DADOS DO WEB SERVICE

Existe um único Web Service com todos os serviços apresentados no item 3.1. O fluxo de comunicação é sempre iniciado pelo sistema do contribuinte com o envio de uma mensagem XML ao Web Service com o
pedido do serviço desejado.

6.1 Modelo Operacional
A forma de processamento das solicitações de serviços no projeto Nota Fiscal de Serviços Eletrônica pode ser síncrona, caso o atendimento da solicitação de serviço seja realizada na mesma conexão ou assíncrona, quando o processamento do serviço solicitado não é atendido na mesma conexão, devido a uma demanda de processamento de grande quantidade de informação. Nessa situação torna-se necessária a realização de mais uma conexão para a obtenção do resultado do processamento.

As solicitações de serviços que exigem processamento intenso serão executadas de forma assíncrona e as demais solicitações de serviços de forma síncrona.

Assim, os serviços da NFS-e serão implementados da seguinte forma:

Serviço

Implementação

Recepção e Processamento de Lote de RPS

Assíncrona

Consulta de Lote de RPS

Síncrona

Consulta de NFS-e

Síncrona

6.1.1 Serviços Síncronos
As solicitações de serviços de implementação síncrona são processadas imediatamente e o resultado do processamento é obtido em uma única conexão.

Abaixo, o fluxo simplificado de funcionamento:

  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.

6.1.2 Serviços Assíncronos
As solicitações de serviços de implementação assíncrona são processadas de forma distribuída por vários processos e o resultado do processamento somente é obtido na segunda conexão.

Abaixo, o fluxo simplificado de funcionamento para 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 recebe a mensagem de solicitação de serviço e a coloca na fila de serviços solicitados;

  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;

  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, utilizando o 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.

7 FORMATOS E PADRÕES UTILIZADOS

Abaixo seguem algumas formatações de dados que devem ser seguidas para geração correta na estrutura dos arquivos.

Formado

Observação

Data (date)

Formato: AAAA-MM-DD
onde:
AAAA = ano com 4 caracteres
MM = mês com 2 caracteres
DD = dia com 2 caracteres

Data/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 caracteres

Valores Decimais (decimal)

Formato: 0.00
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.5

Valores Percentuais (decimal)

Formato 00.00
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% = 62
15% = 15
25,32 = 25.32

Não deve ser inserido caractere não significativo para preencher o tamanho completo do campo, ou seja, zeros antes de número ou espaço em branco após a cadeia de caracteres. A posição do campo é definida na estrutura do documento XML através de TAGs (<tag>conteúdo</tag>).

A regra constante do parágrafo anterior deverá estender-se para os campos para os quais não há indicação de obrigatoriedade e que, no entanto, seu preenchimento torna-se obrigatório seja condicionado à legislação específica ou ao negócio do contribuinte. Nesse caso, deverá constar a TAG com o valor correspondente e, para os demais campos, deverão ser eliminadas as TAGs.

Para reduzir o tamanho final do arquivo XML da NFS-e alguns cuidados de programaçã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", "carriagereturn", "tab", caractere de "espaço" entre as TAGs);
• para quebra de linha na exibição para os campos contendo caracteres Discriminação e Outras informacões, utilizar a sequência “\s\n”.

As TAGs que permitirem valores nulos devem ser omitidas da estrutura XML a ser enviada quando seus valores forem nulos.

7.1 Tipos Simples

A seguir encontra-se a tabela com a lista dos tipos simples que serão utilizados como 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:
C: Caractere;
N: Número;
D: Data ou Data/Hora;
T: Token (não utilizado)
Descrição: descreve informações sobre o campo;
Tam.: tamanho do campo:

  • Quando forem caracteres o tamanho define a quantidade máxima de caracteres que o texto poderá ter;

  • 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;

  • 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 da parte fracionária. A parte fracionária não é obrigatória quando assim definido;

  • Quando for data, não haverá definição de tamanho.

Campo

Tipo

Descrição

Tam.

numeroNfse

N

Número da Nota Fiscal de Serviço Eletrônica, formado
por um número sequencial com 15 posições

15

codigoVerificacao

C

Código de verificação do número da nota

9

outrasInformacoes

C

Informações adicionais ao documento

255

status

N

Código de status da NFS-e e RPS

1

numeroRps

N

Número do RPS

15

serieRps

C

Número de série do RPS

5

codigoServico

C

Código do serviço prestado Item da LC 116/2003

5

tipoRps

N

Código de tipo de RPS
1 – RPS
2 – Nota Fiscal Conjugada (Mista)
3 – Cupom

1

valor

N

Valor monetário. Formato: 0.00 (ponto separando casa
decimal) Ex: 1.234,56 = 1234.56 1.000,00 = 1000.00
1.000,00 = 1000

15,2

cep

C

Número do CEP

8

municipio

N

Código de identificação do município conforme tabela
do IBGE

7

complementoEndereco

C

Complemento de endereço

60

email

C

E-mail

80

endereço

C

Tipo e nome do logradouro (Av., Rua, ...)

125

nomeFantasia

C

Nome fantasia

60

numeroEndereco

C

Número do imóvel

10

pais

C

Código de identificação do município conforme tabela
do BACEN

4

razaoSocial

C

Razão Social do contribuinte

150

telefone

C

Telefone

20

uf

C

Sigla da unidade federativa

2

aliquota

N

Alíquota. Valor percentual.
Formato: 00.00
Ex: 1% = 1
25,5% = 25.5
10% = 10

4,2

numeroLote

N

Número do Lote de RPS

15

cpfCnpj

C

Número de CPF ou CNPJ

14

inscricao

C

Número de inscrição municipal

15

nif

C

Número de Identificação Fiscal

40

discriminação

C

Discriminação do conteúdo da NFS-e

2000

quantidade

N

Quantidade de itens da nfs-e

15,2

detalhe

C

Código de Obra e código ART

15

cnae

N

Código CNAE

7

codigoNbs

C

Código de NBS

9

codTributacao

C

Código de Tributação

20

exigibilidade

N

Código de natureza da operação
1 – Exigível;
2 – Não incidência;
3 – Isenção;
4 – Exportação;
5 – Imunidade;
6 – Exigibilidade Suspensa por Decisão Judicial;
7 – Exigibilidade Suspensa por Processo Administrativo

1

simnao

N

Identificação de Sim/Não
1 – Sim;
2 – Não

1

numProcesso

C

Número do processo judicial ou administrativo de
suspensão da exigibilidade

30

regime

N

Código de identificação do regime especial de tributação
1 – Microempresa municipal
2 – Estimativa
3 – Sociedade de profissionais
4 – Cooperativa
5 – Microempresário Individual (MEI)
6 – Microempresário e Empresa de Pequeno Porte (ME
EPP)

1

responsavelRetencao

N

Identificação do responsável pela retenção do ISS
1 – Tomador
2 – Intermediário

1

tipoFiltroLote

N

Código de tipo de busca de lote
1 – por código
2 – por protocolo

1

tipoFiltroNota

N

Código de tipo de busca de NFS-e
1 – por dia;
2 – por mês;
3 – por período;
4 – por lote;
5 – por número da nota;
6 – por número de RPS

1

tipoLote

N

Código do tipo de lote
1 – Recibo provisório de Serviços

1

mensagemErro

C

Código e mensagem de erro
1 - Recebido
2 - Processando
3 - Processado
4 - Entregue
101 - Login e senha do Web Service não conferem
103 - Senha do operador não confere
105 - Empresa não credenciada para acesso
106 - Prefeitura bloqueada
125 - Empresa não homologada para acesso

151-Lote já registrado
152 - RPS já registrado
153 - Código de cidades não encontrado
154 - Código de tipo de logradouro não encontrado
155 - Código de atividade não encontrado
156 - Empresa sem permissão para emissão de notas
157 - Código do porte da empresa não confere
158 - Código do regime tributário da empresa não confere
159 - A atividade não é de serviços
160 - Alíquota do ISS não confere
161 - Dedução não permitida
162 - Município da prestação de serviço não permitido
163 - Item de serviço inválido
164 - Data de RPS inválida
301 - Lote não encontrado

7.2 Tipos Complexos

A seguir são detalhadas as tabelas de cada tipo composto e seus campos.

A tabela está dividida da seguinte forma:

(1)

(2)

Nome

Tipo

Ocorrência

Descrição

(3)

(4)

(5)

(6)

(7)

(4)

(5)

(6)

(7)

Legenda da tabela:
(1) Nome do tipo complexo;
(2) Descrição do tipo complexo;
(3) Identifica se a sequê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 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.

notaFiscalServicoEletronica

Representa dados de identificação da Nfs-e.

Nome

Tipo

Ocorrência

Descrição

numeroNfse

numeroNfse

1 - 1

codigoVerificacao

codigoVerificacao

1 - 1

dataEmissao

date

1 - 1

numeroNfseSubstituta

numeroNfse

0 - 1

Não utilizado

outrasinformacoes

outrasinformacoes

0 - 1

status

status

1 - 1

1 ou 2

descStatus

string

0 - 1

1 - Normal
2- Cancelada

creditoGerado

creditoGerado

0 - 1

Tabela creditoGerado

complementoPrestador

complementoPrestadorServico

0 - 1

valorNfse

valorNfse

0 - 1

identificacaoOrgaoGerador

identificacaoOrgaoGerador

0 - 1

Tabela identificacaoOrgaoGerador

rps

reciboProvisorioDeServico

0 - 1

Tabela reciboProvisorioDeServico

loteRPS

Representa dados de identificação do Lote.

Nome

Tipo

Ocorrência

Descrição

  • No labels