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:
A aplicação acessa o serviço de “Recepção e Processamento de Lote de RPS” enviando o lote de RPS (fluxo “b”).
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”).
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:
A aplicação acessa o serviço de “Consulta de NFS-e” e submete os dados para processamento.
A requisição é recebida pelo servidor do Web Service, que verifica os dados preenchidos e identifica a(s) NFS-e(s) correspondente (s).
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 | |||
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:
O aplicativo do contribuinte inicia a conexão enviando uma mensagem de solicitação de serviço para o Web Service;
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;
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;
O Web Service recebe a mensagem de resultado do processamento e o encaminha ao aplicativo do contribuinte;
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:
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;
O Web Service de recepção recebe a mensagem de solicitação de serviço e a coloca na fila de serviços solicitados;
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;
O aplicativo do contribuinte recebe o protocolo;
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;
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: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;
O Web Service recebe a mensagem de consulta e localiza o resultado de processamento da solicitação de serviço;
O Web Service devolve o resultado do processamento ao aplicativo contribuinte;
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 |
Data/Hora (datetime) | Formato AAAA-MM-DDTHH:mm:ss |
Valores Decimais (decimal) | Formato: 0.00 |
Valores Percentuais (decimal) | Formato 00.00 |
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 | 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 |
valor | N | Valor monetário. Formato: 0.00 (ponto separando casa | 15,2 |
cep | C | Número do CEP | 8 |
municipio | N | Código de identificação do município conforme tabela | 7 |
complementoEndereco | C | Complemento de endereço | 60 |
C | 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 | 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. | 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 |
simnao | N | Identificação de Sim/Não | 1 |
numProcesso | C | Número do processo judicial ou administrativo de | 30 |
regime | N | Código de identificação do regime especial de tributação | 1 |
responsavelRetencao | N | Identificação do responsável pela retenção do ISS | 1 |
tipoFiltroLote | N | Código de tipo de busca de lote | 1 |
tipoFiltroNota | N | Código de tipo de busca de NFS-e | 1 |
tipoLote | N | Código do tipo de lote | 1 |
mensagemErro | C | Código e mensagem de erro |
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 | |
| (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 |
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 |
tipoLote | tipoLote | 1 - 1 | 1 - Recibo provisório de |
ildentLote | numeroLote | 1 - 1 | Não pode ser repetido |
recibosProvisoriosDeServico | recibosProvisoriosDeServico | 1 - N | Tabela |
resultado | int | 1 - 1 | Número do resultado |
status | int | 1 - 1 | Código do status |
descStatus | string | 1 - 1 | Descrição do status |
codErro | int | 1 - 1 | Código do erro |
informacoesErro | string | 0 - 1 | Informações sobre o |
reciboProvisorioDeServico | |||
---|---|---|---|
Representa dados do Recibo Provisório de Serviço (RPS). | |||
Nome | Tipo | Ocorrência | Descrição |
dataEmissaoRps | date | 1 - 1 | |
identificacao TomadorServico | recibosProvisoriosDeServico | 0 - 1 | Tabela |
itens | item | 0- N | Tabelaitem |
numeroRps | numeroRps | 1 - 1 | Não pode ser |
numeroRpsSubstituto | numeroRps | 0 - 1 | Não utilizado |
prestadorServico | prestadorServico | 0 - 1 | Tabela |
serieRps | serieRps | 1 - 1 | Não utilizado |
tipoRps | tipoRps | 1 - 1 | 1 - Recibo provisório de |
tipoRpsSubstítuto | tipoRpsSubstítuto | 0 - 1 | Não utilizado |
serieRpsSubstítuto | serieRpsSubstítuto | 0 - 1 | Não utilizado |
statusRps | status | 1 - 1 | 1 - Normal |
detaheContrucaoCivil | detaheContrucaoCivil | 0 - 1 | Tabela detalheContucaoCivil |
identificacaointermediarioServico | identificacaointermediarioServico | 0 - 1 | Tabela IdentficacaointermediarioServico |
identicficacaoPrestacaoServico | identicficacaoPrestacaoServico | 1 - 1 | Tabela identicficacaoPrestacaoServico |
creditoGerado | |||
---|---|---|---|
Valor do crédito gerado. | |||
Nome | Tipo | Ocorrência | Descrição |
valorCredito | valor | 0 - 1 | Não utilizado |
complementoPrestadorServico | |||
---|---|---|---|
Representa dados do complemento de endereço do prestador do serviço | |||
Nome | Tipo | Ocorrência | Descrição |
bairro | bairro | 0 - 1 | |
cep | cep | 1 - 1 | |
cidade | municipio | 1 - 1 | De acordo com a tabela do IBGE, utilizamos os 7 dígitos |
complementoEndereco | complementoEndereco | 0 - 1 | |
0 - 1 | |||
nomeFantasia | nomeFantasia | 0 - 1 | |
numeroEndereco | numeroEndereco | 1 - 1 | |
pais | pais | 0 - 1 | Tabela do BACEN |
razaoSocial | razaoSocial | 1 - 1 | |
telefone | telefone | 0 - 1 | |
uf | uf | 1 - 1 |
valorNfse | |||
---|---|---|---|
Representa dados do valor da Nota Fiscal de Serviço eletrônica. | |||
Nome | Tipo | Ocorrência | Descrição |
aliquotaServicos | aliquota | 0 - 1 | De acordo com o Código |
baseCalculo | valor | 0 - 1 | De acordo com o Código |
valorIss | valor | 0 - 1 | |
valorLiquidoNfse | valor | 0 - 1 |
identificacaoOrgaoGerador | |||
---|---|---|---|
Representa dados de identificações do órgão gerador. | |||
Nome | Tipo | Ocorrência | Descrição |
codigoMunicipioGerador | municipio | 1 - 1 | De acordo com a tabela do IBGE, utilizamos os 7 dígitos |
ufMunicipioGerador | uf | 1 - 1 |
identificacaoTomadorServico | |||
---|---|---|---|
Representa dados de identificações do tomador do serviço. | |||
Nome | Tipo | Ocorrência | Descrição |
bairro | bairro | 0 - 1 | |
cep | cep | 0 - 1 | |
cidade | municipio | 0 - 1 | De acordo com a tabela do IBGE, utilizando os 7 dígitos |
complementoEndereco | complementoEndereco | 0 - 1 | |
cpfCnpj | cpfCnpj | 0 - 1 | |
0 - 1 | |||
endereco | endereco | 0 - 1 | |
inscricaoMunicipal | inscricao | 0 - 1 | |
nifTomador | nif | 0 - 1 | |
numeroEndereco | numeroEndereco | 0 - 1 | |
pais | pais | 0 - 1 | |
razaoSocial | razaoSocial | 0 - 1 | |
telefone | telefone | 0 - 1 | |
uf | uf | 0 - 1 |
Item | |||
---|---|---|---|
Representa dados do item do RPS. | |||
Nome | Tipo | Ocorrência | Descrição |
descricao | discriminacao | 0 - 1 | |
quantidade | quantidade | 0 - 1 | |
total | quantidade | 0 - 1 | |
valorUnitario | quantidade | 0 - 1 |
prestadorServico | |||
---|---|---|---|
Representa dados do item do RPS. | |||
Nome | Tipo | Ocorrência | Descrição |
cpfCnpj | cpfCnpj | 1 - 1 | |
inscricaoMunicipal | inscricao | 0 - 1 |
detalheConstrucaoCivil | |||
---|---|---|---|
Representa dados do detalhe da construção civil. | |||
Nome | Tipo | Ocorrência | Descrição |
art | detalhe | 0 - 1 | |
codigoObra | 0 - 1 |
identificacaoIntermediarioServico | |||
---|---|---|---|
Representa dados de identificação do intermediário do serviço. | |||
Nome | Tipo | Ocorrência | Descrição |
cidadeIntermediario | municipio | 0 - 1 | De acordo com a tabela do IBGE, utilizando os 7 dígitos |
cpfCnpj | cpfCnpj | 0 - 1 | |
inscricaoMunicipal | inscricao | 0 - 1 | |
razaoSocial | razaoSocial | 0 - 1 |
identificacaoPrestadorServico | |||
---|---|---|---|
Representa dados de identificação da prestação do serviço. | |||
Nome | Tipo | Ocorrência | Descrição |
codigoCnae | cnae | 1 - 1 | |
aliquota | aliquota | 0 - 1 | De acordo com o Código |
codigoNbs | codigoNbs | 0 - 1 | |
codigoTributacaoMunicipio | codTrbutacao | 0 - 1 | De acordo com o Código |
competencia | date | 1 - 1 | |
descontoCondicionado | valor | 0 - 1 | Não utilizado |
descontoIncondicionado | valor | 0 - 1 | Não utilizado |
discriminacao | discriminacao | 1 - 1 | |
exigibilidadeIss | exigibilidade | 1 - 1 | 1 - Exigível |
incentivoFiscal | simnao | 1 - 1 | 1 - sim |
issRetido | simnao | 1 - 1 | 1 - sim |
itemListaServico | codigoServico | 1 - 1 | De acordo coma tabela da lista de serviços anexa à Lei Complementar nº 116,de 31 de julho de 2003 |
municipioIncidencia | municipio | 0 - 1 | De acordo com a tabela do IBGE, utilizando os 7 dígitos |
municipioPrestacaoServico | municipio | 1 - 1 | De acordo com a tabela do IBGE, utilizando os 7 dígitos |
numeroProcesso | numProcesso | 0 - 1 | |
optanteSimpesNacional | simnao | 1 - 1 | 1 - sim |
outrasRetencoes | valor | 0 - 1 | |
paisPrestacaoServico | pais | 0 - 1 | Tabela BACEN |
regimeEspecialTributacao | regime | 0 - 1 | Não utilizado |
responsavelRetencao | responsavelRetencao | 0 - 1 | Não utilizado |
valorConfins | valor | 0 - 1 | |
valorCsll | valor | 0 - 1 | |
valorDeducoes | valor | 0 - 1 | |
valorInss | valor | 0 - 1 | |
valorIr | valor | 0 - 1 | |
valorIss | valor | 0 - 1 | |
valorPis | valor | 0 - 1 | |
valorServico | valor | 1 - 1 | |
valorTotalributos | valor | 0 - 1 |
(1) | ||||
---|---|---|---|---|
(2) | ||||
Nome | Tipo | Ocorrência | Descrição | |
| (4) | (5) | (6) | (7) |
(4) | (5) | (6) | (7) |
8 SERVIÇOS
A seguir estão os serviços relacionados disponíveis, conforme descritos no item 3.1, no WebService e seus XML Schema. O XML Schema define a estrutura e formatação do arquivo XML que conterá os dados a serem trafegados. Esses documentos serão enviados de forma textual (como uma string) como
parâmetros do serviço oferecido pelo Web Service, como descrito em 4. As tabelas que detalham cada XML Schema estão divididas da seguinte forma:
(1) | ||||
---|---|---|---|---|
(2) | ||||
Nome | Tipo | Ocorrência | Descrição | |
| (4) | (5) | (6) | (7) |
(4) | (5) | (6) | (7) |
Legenda da tabela:
(1) Elemento
(2) Número identificador do campo, quando este contiver subitens;
(3) Nome do campo;
(4) Nome do tipo do campo que pode ser do tipo primitivo, simples ou complexo;
(5) Indica qual é o campo pai, para definição da hierarquia;
(6) Quantas vezes o campo se repete na estrutura de dados: 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).
8.1 Recepção e Processamento de Lote de RPS (Gerar NFS-e)
Esse serviço será executado, pelo o método gerarNfse, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.
gerarNfse | ||||
---|---|---|---|---|
# | Nome | Tipo | Ocorrência | Observação |
1 | gerarNfse | 1 - 1 | ||
loteRPServico | loteRps | 1 - 1 |
Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.
gerarNfseReponse | ||||
---|---|---|---|---|
# | Nome | Tipo | Ocorrência | Observação |
1 | gerarNfseResponse | 1 - 1 | ||
protocolo | int | 1 - 1 |
| |
mensagemErro | string | 0 - 1 |
O lote será processado posteriormente, gerando a nota fiscal em caso de conformidade e sendo o seu resultado disponibilizado para consulta (tanto o lote quanto as notas).
8.2 Consulta de Lote de RPS
Esse serviço será executado pelo método buscarLote, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.
buscarLote | ||||
---|---|---|---|---|
# | Nome | Tipo | Ocorrência | Observação |
1 | buscarLote | 1 - 1 | ||
tipoFiltroLote | tipoFiltroLote | 1 - 1 | ||
filtroLote | int | 1 - 1 |
Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.
buscarLoteResponse | ||||
---|---|---|---|---|
# | Nome | Tipo | Ocorrência | Observação |
1 | buscarLoteResponse | 1 - 1 | ||
lote | loteRps | 0 - 1 | choice | |
mensagemErro | string | 0 - 1 |
8.3 Consulta de NFS-e
buscarNfse | ||||
---|---|---|---|---|
# | Nome | Tipo | Ocorrência | Observação |
1 | buscarNfse | 1 - 1 | ||
tipoFiltroNota | tipoFiltroNota | 1 - 1 | ||
filtroNota | string | 1 - 1 | Filtro a utilizar |
Esse serviço será executado pelo método buscarNfse, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue. Em resposta.
buscarNfseResponse | ||||
---|---|---|---|---|
# | Nome | Tipo | Ocorrência | Observação |
1 | buscarNotaResponse | 1 - 1 | ||
nfs-e | notaFiscalServicoEletronica | 0 - N | choice | |
mensagemErro | string | 0 - 1 |
a chamada do serviço será devolvida a estrutura definida na tabela a seguir.