Portaria GS/SEMEF nº 16 de 16/02/2012

Norma Municipal - Manaus - AM - Publicado no DOM em 17 fev 2012

Define, conforme detalhamento constante do Anexo I desta Portaria, o layout dos registros para transmissão em lote via site dos Recibos Provisórios de Serviços - RPS emitidos pelos prestadores de serviços.

O Secretário Municipal de Finanças, Planejamento e Tecnologia da Informação no exercício da competência que lhe confere o inciso II, do artigo 128, da Lei Orgânica do Município de Manaus, e

Considerando a necessidade de DEFINIR o layout dos registros do Recibo Provisório de Serviços - RPS e da Nota Fiscal de Serviços Eletrônica- NFS-e.

Resolve:

Art. 1º Definir, conforme detalhamento constante do Anexo I desta Portaria, o layout dos registros para transmissão em lote via site dos Recibos Provisórios de Serviços - RPS emitidos pelos prestadores de serviços, nos termos do que dispõe o Decreto nº 9.139, de 05 de julho de 2007, alterado pelo Decreto nº 1.328, de 09 de novembro de 2011, para fins de substituí-los por Notas Fiscais de Serviços Eletrônicas - NFS-e.

Art. 2º Definir, conforme detalhamento constante do Anexo II desta Portaria, o layout dos registros para transmissão em lote via WebServices dos Recibos Provisórios de Serviços - RPS emitidos pelos prestadores de serviços, nos termos do que dispõe o Decreto nº 9.139, de 05 de julho de 2007, alterado pelo Decreto nº 1.328, de 09 de novembro de 2011, para fins de substituí-los por Notas Fiscais de Serviços Eletrônicas - NFS-e.

Art. 3º Esta Portaria entrará em vigor na data de sua publicação.

Publique-se. Cumpra-se.

Manaus, 16 de fevereiro de 2012

ALFREDO PAES DOS SANTOS

Secretário Municipal de Finanças, Planejamento e Tecnologia da Informação - SEMEF

ANEXO I - IMPORTAÇÃO DE LOTE DE RPS VIA SITE - SCHEMAS

VERSÃO 2.0.2

PADRÃO DAS MENSAGENS XML

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

As chamadas dos Web Services disponibilizados pelas Secretarias Municipais de Fazenda e os respectivos resultados do processamento são realizadas atravé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.

Área do Cabeçalho

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

#
Nome
Elemento
Pai
Tipo
Ocorrência
Tamanho
Descrição
1
cabeçalho
G
 
 
1-1
 
TAG raiz do cabeçalho da mensagem
 
Versão
A
1
N
1-1
4
Versão do leiaute
2
Versão Dados
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 da estrutura XML armazenada na área de dados da mensagem.

A estrutura XML armazenada na área de dados está definida na documentação do Web Service acessado.

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 preenchimento de conteúdo e de obrigatoriedade de cada elemento ou grupo de informação.

A validação da estrutura da mensagem XML é realizada por um analisador sintático (parser) que verifica se a mensagem XML atende as definições e regras de seu respectivo Schema XML.

Qualquer divergência da estrutura da mensagem XML em relação ao seu respectivo Schema XML, provoca um erro de validação do Schema XML. Neste caso o conteúdo da mensagem XML de pedido do serviço não poderá ser processado.

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 preparados para gerar mensagens XML em seus respectivos Schemas XML em vigor.

Schemas XML (arquivos XSD)

O Schema XML (arquivo XSD) correspondente a cada uma das mensagens XML de pedido e de retorno utilizadas pelo Web Service pode ser obtido na internet acessando o Portal do Sistema de Notas Fiscais de Serviço Eletrônicas das Secretarias Municipais de Fazenda.

Versão dos Schemas XML

Toda mudança de layout das mensagens XML do Web Service implica na atualização do seu respectivo Schema XML.

A identificação da versão dos Schemas XML será realizada com o acréscimo do número da versão com dois dígitos no nome do arquivo XSD precedida da literal '_v', como segue:

_v.xsd

Exemplo:

tipos_nfse_v01.xsd

A maioria dos Schemas XML definidos para a utilização do Web Service do Sistema de Notas Fiscais de Serviço Eletrônicas das Secretarias Municipais de Fazenda utilizam as definições de tipos simples ou tipos complexos que estão definidos em outros Schemas XML, nestes casos, a modificação de versão do Schema básico será repercutida no Schema principal.

As modificações de layout das mensagens XML do Web Service podem ser causadas por necessidades técnicas ou em razão da modificação de alguma legislação. As modificações decorrentes de alteração da legislação deverão ser implementadas nos prazos previstos no ato normativo que introduziu a alteração. As modificações de ordem técnica serão divulgadas pelas Secretarias Municipais de Fazenda e poderão ocorrer sempre que se fizerem necessárias.

ESTRUTURA DE DADOS DO WEB SERVICE

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

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 à uma demanda de processamento de grande quantidade de informação. Nesta 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 RIPS
Assincrona
Consulta de Situação de Lote de RIPS
Sincrona
Consulta de NFS-e por RIPS
Sincrona
Consulta de Lote de RIPS
Sincrona
Consulta de NFS-e
Sincrona
Cancelamento de NFS-e
Sincrona

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.

Etapas 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.

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.

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

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.

FORMATOS E PADRÕES UTILIZADOS

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

Formato
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 0.0000
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

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 cadeia de caracteres. A posição do campo é definida na estrutura do documento XML através de TAGs (conteúdo).

A regra constante do parágrafo anterior deverá estender-se para os campos onde não há indicação de obrigatoriedade e que, no entanto, seu preenchimento torna-se obrigatório por estar condicionado à legislação específica ou ao negócio do contribuinte. Neste 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", "carriage return", "tab", caractere de "espaço" entre as TAGs).

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

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:

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

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, formado pelo ano com 04 (quatro) dígitos e um número seqüencial com 11 posições - Formato AAAANNNNNNNNNNN.
15
tsCodigoVerificacao
C
Código de verificação do número da nota
9
TsStatusRps
N
Código de status do RPS
1 - Normal
2 - Cancelado
1
TsStatusNfse
N
Código de status da NFS-e
1 - Normal
2 - Cancelado
1
tsNaturezaOperacao
N
Código de natureza da operação
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 administrativo
2
tsRegimeEspecialTributacao
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)
2
TsSimNao
N
Identificação de Sim/Não
1 - Sim
2 - Não
1
TsQuantidadeRps
N
Quantidade de RPS do Lote
4
TsNumeroRps
N
Número do RPS
15
TsSerieRps
C
Número de série do RPS
5
TsTipoRps
N
Código de tipo de RPS
1 - RPS
2 - Nota Fiscal Conjugada (Mista)
3 - Cupom
1
tsOutrasInformacoes
C
Informações adicionais ao documento
255
TsValor
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
tsItemListaServico
C
Código de item da lista de serviço
5
TsCodigoCnae
N
Código CNAE
7
tsCodigoTributacao
C
Código de Tributação
20
TsAliquota
N
Alíquota. Valor percentual.
Formato: 0.0000
Ex: 1% = 0.01
25,5% = 0.255
100% = 1.0000 ou 1
5,4
tsDiscriminacao
C
Discriminação do conteúdo da NFS-e
2000
tsCodigoMunicipioIbge
N
Código de identificação do município conforme tabela do IBGE
7
tsIncricaoMunicipal
C
Número de inscrição municipal
15
tsRazaoSocial
C
Razão Social do contribuinte
115
tsNomeFantasia
C
Nome fantasia
60
TsCnpj
C
Número CNPJ
14
tsEndereco
C
Endereço
125
tsNumeroEndereco
C
Número do endereço
10
tsComplementoEndereco
C
Complemento de endereço
60
tsBairro
C
Bairro
60
tsuf
C
Sigla da unidade federativa
2
tsCep
N
Número do CEP
8
tsEmail
C
E-mail
80
tsTelefone
C
Telefone
11
TsCpf
C
Número de CPF
11
tsIndicacaoCpfCnpj
N
Indicador de uso de CPF ou CNPJ
1 - CPF
2 - CNPJ
3 - Não Informado
1
tsCodigoObra
C
Código de Obra
15
tsArt
C
Código ART
15
tsNumeroLote
N
Número do Lote de RPS
15
TsNumeroProtocolo
C
Número do protocolo de recebimento do RPS
50
tsSituacaoLoteRps
N
Código de situação de lote de RPS
1 - Não Recebido
2 - Não Processado
3 - Processado com Erro
4 - Processado com Sucesso
1
tsCodigoMensagemAlerta
C
Código de mensagem de retorno de serviço.
4
TsDescricaoMensagemAlerta
C
Descrição da mensagem de retorno de serviço.
200
TsCodigoCancelamentoNfse
C
Código de cancelamento com base na tabela de Erros e alertas.
4
tsIdTag
C
Atributo de identificação da tag a ser assinada no documento XML
255

TIPOS COMPLEXOS

A seguir serã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)

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
Numero de CPF ou CNPJ
Nome
Tipo
Ocorrência
Descrição
Choice
Cpf
tsCpf
1-1
Número do Cpf
Cnpj
tsCnpj
1-1
Número do Cnpj

TcEndereço
Representação completa do endereço
Nome
Tipo
Ocorrência
Descrição
Endereco
tsEndereco
0-1
Endereço
Numero
tsNumeroEndereco
0-1
Número do endereço
Complemento
tsComplementoEndereco
0-1
Complemento do Endereço
Bairro
tsBairro
0-1
Nome do bairro
CodigoMunicipio
tsCodigoMunicipioIbge
0-1
Código da cidade
Uf
Tsuf
0-1
Sigla do estado
Cep
tsCep
0-1
CEP da localidade

TcContato
Representa forma de contato com a pessoa (fisica/juridica)
Nome
Tipo
Ocorrência
Descrição
Telefone
tsTelefone
0-1
 
Email
tsEmail
0-1
 

tcIdentificacaoOrgaoGerador
Representa dados para identificação de orgão gerador
Nome
Tipo
Ocorrência
Descrição
CodigoMunicipio
tsCodigoMunicipioIbge
1-1
 
Uf
Tsuf
1-1
 

tcIdentificacaoRps
Dados de identificação do RPS
Nome
Tipo
Ocorrência
Descrição
Numero
tsNumeroRps
1-1
 
Serie
tsSerieRps
1-1
 
Tipo
tsTipoRps
1-1
 

tcIdentificacaoPrestador
Representa dados para identificação do prestador de serviço
Nome
Tipo
Ocorrência
Descrição
Cnpj
tsCnpj
1-1
 
InscricaoMunicipal
tsInscricaoMunicipal
0-1
 
tcIdentificacaoTomador
Representa dados para identificação do tomador de serviço
Nome
Tipo
Ocorrência
Descrição
CpfCnpj
tcCpfCnpj
0-1
 
InscricaoMunicipal
tsInscricaoMunicipal
0-1
 

tcDadosTomador
Representa dados do tomador de serviço
Nome
Tipo
Ocorrência
Descrição
IdentificacaoTomador
TcIdentificacaoTomador
0-1
 
RazaoSocial
TsRazaoSocial
0-1
 
Endereco
TcEndereco
0-1
 
Contato
TcContato
0-1
 

TcIdentificacaoIntermediarioServico
Representa dados para identificação de intermediário do serviço
Nome
Tipo
Ocorrência
Descrição
RazaoSocial
tsRazaoSocial
0-1
 
CpfCnpj
tcCpfCnpj
0-1
 
InscricaoMunicipal
tsInscricaoMunicipal
0-1
 

TcValores
Representa um conjunto de valores que compõe o documento fiscal
Nome
Tipo
Ocorrência
Descrição
ValorServicos
tsValor
1-1
 
ValorDeducoes
tsValor
0-1
 
ValorPis
tsValor
0-1
 
ValorCofins
tsValor
0-1
 
ValorInss
tsValor
0-1
 
ValorIr
tsValor
0-1
 
ValorCsll
tsValor
0-1
 
IssRetido
tsSimNao
1-1
 
ValorIss
tsValor
0-1
 
OutrasRetencoes
tsValor
0-1
 
BaseCalculo
tsValor
0-1
(Valor dos serviços - Valor das deduções - descontos incondicionados)
Aliquota
tsAliquota
0-1
 
ValorLiquidoNfse
tsValor
0-1
(ValorServicos - ValorPIS - ValorCOFINS - ValorINSS - ValorIR - ValorCSLL - OutrasRetençoes - ValorISSRetido - DescontoIncondicionado - DescontoCondicionado) icionado)
ValorIssRetido
tsValor
0-1
 
DescontoCondicionado
tsValor
0-1
 
DescontoIncondicionado
tsValor
0-1
 

TcDadosServico
Representa dados que compoe o servigo prestado
Nome
Tipo
Ocorrência
Descrição
Valores
tcValores
1-1
 
Item ListaServico
tsItemListaServico
1-1
 
CodigoCnae
tsCodigoCnae
0-1
 
CodigoTributacaoMunicipio
tsCodigoTributacao
0-1
 
Discriminacao
tsDiscriminacao
1-1
 
CodigoMunicipio
tsCodigoMunicipioIbge
1-1
 

tcDadosConstrucaoCivil
Representa dados para identificação de construção civil
Nome
Tipo
Ocorrência
Descrição
CodigoObra
tsCodigoObra
1-1
 
Art
tsArt
1-1
 

tcDadosPrestador
Representa dados do prestador do serviço
Nome
Tipo
Ocorrência
Descrição
IdentificacaoPrestador
tcIdentificacaoPrestador
1-1
 
RazaoSocial
tsRazaoSocial
1-1
 
NomeFantasia
tsNomeFantasia
0-1
 
Endereco
tcEndereco
1-1
 
Contato
tcContato
0-1
 

TcInfRps
Representa dados informativos do Recibo Provisório de Serviço (RPS)
nome
Tipo
Ocorrencia
Descrição
Id
tsIdTag
 
Identificador da TAG a ser assinada
IdentificacaoRps
TcIdentificacaoRps
1-1
 
DataEmissao
Datetime
1-1
 
NaturezaOperacao
TsNaturezaOperacao
1-1
 
RegimeEspecialTributacao
TsRegimeEspecialTributacao
0-1
 
OptanteSimplesNacional
TsSimNao
1-1
 
IncentivadorCultural
TsSimNao
1-1
 
Status
TsStatusRps
1-1
 
RpsSubstituido
TcIdentificacaoRps
0-1
 
Servico
TcDadosServico
1-1
 
Prestador
TcIdentificacaoPrestador
1-1
 
Tomador
TcDadosTomador
1-1
 
IntermediarioServico
tcIdentificacaoIntermediarioSer vico
0-1
 
ConstrucaoCivil
TcDadosContrucaoCivil
0-1
 

TcRps
Representa a estrutura do Recibo Provisório de Serviço (RPS) assinada
Nome
Tipo
Ocorrência
Descrição
InfRps
tcInfRps
1-1
 
Signature
dsig:Signature
0-1
 

tcIdentificacaoNfse
Representa dados que identificam uma Nota Fiscal de Serviços Eletrônica
Nome
Tipo
Ocorrência
Descrição
Numero
tsNumeroNfse
1-1
 
Cnpj
tsCnpj
1-1
 
InscricaoMunicipal
tsI nscricaoMunicipal
0-1
 
CodigoMunicipio
tsCodigoMunicipioIbge
 
 

TcInfNfse
Representa os dados informativos da Nota Fiscal de Serviços Eletrônica
Nome
Tipo
Ocorrência
Descrição
Id
tsIdTag
 
Identificador da TAG a ser assinada
Numero
tsNumeroNfse
1-1
 
CodigoVerificacao
tsCodigoVerificacao
1-1
 
DataEmissao
Datetime
1-1
 
IdentificacaoRps
tcIdentificacaoRps
0-1
 
DataEmissaoRps
Date
0-1
 
NaturezaOperacao
tsNaturezaOperacao
1-1
 
RegimeEspecialTributacao
tsRegimeEspecialTributacao
0-1
 
OptanteSimplesNacional
TsSimNao
1-1
 
IncetivadorCultural
TsSimNao
1-1
 
Competencia
Date
1-1
 
NfseSubstituida
tsNumeroNfse
0-1
 
OutrasInformacoes
tsOutrasInformacoes
0-1
 
Servico
tcDadosServico
1-1
 
ValorCredito
TsValor
0-1
 
PrestadorServico
tcDadosPrestador
1-1
 
TomadorServico
tcDadosTomador
1-1
 
IntermediarioServico
tcIdentificacaoIntermediarioServico
0-1
 
OrgaoGerador
tcIdentificacaoOrgaoGerador
1-1
 
ConstrucaoCivil
tcDadosContrucaoCivil
0-1
 

TcNfse
Representa a estrutura da Nota Fiscal de Serviços Eletrônica assinada
Nome
Tipo
Ocorrência
Descrição
InfNfse
tcInfNfse
1-1
 
Signature
Dsig:Signature
1-2
 

tcInfPedidoCancelamento
Representa a estrutura de dados do pedido de cancelamento enviado pelo prestador ao cancelar uma Nota Fiscal de Serviços Eletrônica.
Nome
Tipo
Ocorrência
Observação
Id
tsIdTag
 
Identificador da TAG a ser assinada
IdentificacaoNfse
tcIdentificacaoNfse
1-1
 
CodigoCancelamento
tsCodigoCancelamentoNfse
1-1
 

TcPedidoCancelamento
Representa a estrutura de Pedido de Cancelamento da Nota Fiscal de Serviços Eletrônica assinada
Nome
Tipo
Ocorrência
Descrição
InfPedidoCancelamento
tcInfPedidoCancelamento
1-1
 
Signature
Dsig:Signature
0-1
 

tcInfConfirmacaoCancelamento
Representa a estrutura de dados da confirmação de cancelamento Nota Fiscal de Serviços Eletrônica feito pelo Fisco Municipal.
Nome
Tipo
Ocorrência
Observação
Sucesso
boolean
1-1
 
DataHora
datetime
1-1
 

TcConfirmacaoCancelamento
Representa a estrutura de Confirmação de Cancelamento da Nota Fiscal de Serviços Eletrônica assinada
Nome
Tipo
Ocorrência
Descrição
Id
tsIdTag
 
Identificador da TAG a ser assinada
Pedido
TcPedidoCancelamento
1-1
 
InfConfirmacaoCancelamento
tcInfConfirmacaoCancelamento
1-1
 

TcCancelamentoNfse
Representa a estrutura completa (pedido + confirmação) de cancelamento de NFS-e.
Nome
Tipo
Ocorrência
Descrição
Confirmacao
TcConfirmacaoCancelamento
1-1
 
Signature
Dsig:Signature
1-1
 

TcInfSubstituicaoNfse
Representa os dados de registro de substituição de NFS-e.
Nome
Tipo
Ocorrência
Descrição
Id
tsIdTag
 
Identificador da TAG a ser assinada
NfseSubstituidora
tsNumeroNfse
1-1
 

TcSubstituicaoNfse
Representa a estrutura de substituição de NFS-e.
Nome
Tipo
Ocorrência
Descrição
SubstituicaoNfse
tcInfSubstituicaoNfse
1-1
 
Signature
dsig:Signature
1-2
 

TcCompNfse
Representa a estrutura de compartilhamento de dados de uma NFS-e.
Nome
Tipo
Ocorrência
Descrição
Nfse
tcNfse
1-1
 
NfseCancelamento
tcCancelamentoNfse
0-1
 
NfseSubstituicao
tcSubstituicaoNfse
0-1
 

tcMensagemRetorno
Representa a estrutura de mensagem de retorno de serviço.
Nome
Tipo
Ocorrência
Descrição
Codigo
TsCodigoMensagemAlerta
1-1
 
Mensagem
tsDescricaoMensagemAlerta
1-1
 
Correcao
tsDescricaoMensagemAlerta
0-1
 

ListaMensagemRetorno
Representa a estrutura de mensagem de retorno de serviço.
Nome
Tipo
Ocorrência
Descrição
MensagemRetorno
tcMensagemRetorno
1-N
 

tcMensagemRetornoLote
Representa a estrutura de mensagem de retorno de serviço.
Nome
Tipo
Ocorrência
Descrição
IdentificacaoRps
TcIdentificacaoRps
1-1
 
Codigo
TsCodigoMensagemAlerta
1-1
 
Mensagem
tsDescricaoMensagemAlerta
1-1
 

tcLoteRps
Nome
Tipo
Ocorrência
Observação
Id
tsIdTag
 
Identificador da TAG a ser assinada
NumeroLote
TsNumeroLote
1-1
 
Cnpj
TsCnpj
1-1
 
InscricaoMunicipal
TsInscricaoMunicipal
1-1
 
QuantidadeRps
TsQuantidadeRps
1-1
 
ListaRps
 
1-1
 
Rps
TcRps
1-N
 

SERVIÇOS

A seguir estão os serviços disponíveis, conforme descritos no item 2.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 2.2.1.

As tabelas que detalham cada XML Schema estão divididas da seguinte forma:

#
Nome
Tipo
Pai
Ocorrência
Observação
(2)
(3)
(4)
(5)
(6)
(7)
 
 
 
 
(8)
(9)
 
 
 
 
 
 
 
 
 
 
 
 

1. Número identificador do campo, quando este contiver subitens;

2. Nome do campo;

3. Nome do tipo do campo que pode ser tipo primitivo, simples ou complexo;

4. Indica quem é o campo pai, para definição da hierarquia;

5. 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";

6. Descreve alguma observação pertinente;

7. Formato de grupo, utilizado para definição de uma escolha (ver próximo item);

8. Identifica os campos ou grupos que farão parte de uma escolha (Choice).

Recepção de Lote de RPS

Esse serviço será executado, inicialmente, através da chamada ao método RecepcionarLoteRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
EnviarLoteRpsEnvio
 
 
1-1
 
 
LoteRps
TcLoteRps
1
1-1
 
 
Signature
dsig:Signature
1
0-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
EnviarLoteRpsResposta
 
 
1-1
 
 
NumeroLote
tsNumeroLote
1
1-1
Choice
 
DataRecebimento
Datetime
1
 
 
 
Protocolo
tsNumeroProtocolo
1
 
 
2
ListaMensagemRetorno
ListaMensagemRetorno
1
1-1
 

O lote será processado posteriormente, sendo o seu resultado disponibilizado para consulta.

Consulta de Situação de Lote de RPS

Esse serviço será executado através da chamada ao método ConsultarSituacaoLoteRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarSituacaoLoteRpsEnvio
 
 
1-1
 
 
Prestador
TcIdentificacaoPrestador
1
1-1
 
 
Protocolo
TsNumeroProtocolo
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarSituacaoLoteRpsResposta
 
 
1-1
 
 
NumeroLote
tsNumeroLote
1
1-1
Choice
 
SituaGao
tsSituacaoLoteRps
1
 
 
2
ListaMensagemRetorno
ListaMensagemRetorno
1
1-1
 

Consulta de NFS-e por RPS

Esse serviço será executado através da chamada ao método ConsultarNfsePorRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseRpsEnvio
 
 
 
 
 
IdentificacaoRps
tcIdentificacaoRps
1
1-1
 
 
Prestador
tcIdentificacaoPrestador
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseRpsResposta
 
 
 
 
 
CompNfse
tcCompNfse
1
1-1
Choice
2
ListaMensagemRetorno
ListaMensagemRetorno
1
1-1
 

Consulta de NFS-e

Esse serviço será executado através da chamada ao método ConsultarNfse, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseEnvio
 
 
1-1
 
 
Prestador
tcIdentificacaoPrestador
1
1-1
 
 
NumeroNfse
tsNumeroNfse
1
0-1
 
2
PeriodoEmissao
 
1
0-1
 
 
DataInicial
date
2
1-1
 
 
DataFinal
date
2
1-1
 
 
Tomador
tcIdentificacaoTomador
1
0-1
 
 
IntermediarioServico
TcIdentificacaoIntermediarioServico
1
0-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseResposta
 
 
1-1
 
2
ListaNfse
 
1
1-1
0-N
Choice
 
CompNfse
tcCompNfse
2
 
 
3
ListaMensagemRetorno
ListaMensagemRetorno
1
1-1
 

Consulta de Lote de RPS

Esse serviço será executado através da chamada ao método ConsultarLoteRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarLoteRpsEnvio
 
 
1-1
 
 
Prestador
TcIdentificacaoPrestador
1
1-1
 
 
Protocolo
TsNumeroProtocolo
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarLoteRpsResposta
 
 
1-1
 
2
ListaNfse
 
1
1-1
Choice
 
CompNfse
tcCompNfse
2
1-N
 
3
ListaMensagemRetorno
ListaMensagemRetorno
1
1-1
 

Cancelamento NFS-e Esse serviço será executado através da chamada ao método CancelarNfse, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
CancelarNfseEnvio
 
 
1-1
 
 
Pedido
TcPedidoCancelamento
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

#
Nome
Tipo
Pai
Ocorrência
Observação
1
CancelarNfseResposta
 
 
 
 
 
Cancelamento
TcCancelamentoNfse
1
1-1
Choice
2
ListaMensagemRetorno
ListaMensagemRetorno
1
1-1
 

ANEXO II - IMPORTAÇÃO DE LOTE DE RPS VIA WEBSERVICES - SCHEMAS - VERSÃO 3.0.0

PADRÃO DAS MENSAGENS XML

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

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 preenchimento de conteúdo e de obrigatoriedade de cada elemento ou grupo de informação.

A validação da estrutura da mensagem XML é realizada por um analisador sintático (parser) que verifica se a mensagem XML atende as definições e regras de seu respectivo Schema XML.

Qualquer divergência da estrutura da mensagem XML em relação ao seu respectivo Schema XML, provoca um erro de validação do Schema XML. Neste caso o conteúdo da mensagem XML de pedido do serviço não poderá ser processado.

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 preparados para gerar mensagens XML em seus respectivos Schemas XML em vigor.

Schemas XML (arquivos XSD)

O Schema XML (arquivo XSD) correspondente a cada uma das mensagens XML de pedido e de retorno utilizadas pelo Web Service pode ser obtido na internet acessando o Portal do Sistema de Notas Fiscais de Serviço Eletrônicas das Secretarias Municipais de Fazenda.

Versão dos Schemas XML

Toda mudança de layout das mensagens XML do Web Service implica na atualização do seu respectivo Schema XML.

A identificação da versão dos Schemas XML será realizada com o acréscimo do número da versão com dois dígitos no nome do arquivo XSD precedida da literal '_v', como segue:

_v.xsd

Exemplo:

E nvioLoteRps_v01.xsd

A maioria dos Schemas XML definidos para a utilização do Web Service do Sistema de Notas Fiscais de Serviço Eletrônicas das Secretarias Municipais de Fazenda utilizam as definições de tipos simples ou tipos complexos que estão definidos em outros Schemas XML, nestes casos, a modificação de versão do Schema básico será repercutida no Schema principal.

As modificações de layout das mensagens XML do Web Service podem ser causadas por necessidades técnicas ou em razão da modificação de alguma legislação. As modificações decorrentes de alteração da legislação deverão ser implementadas nos prazos previstos no ato normativo que introduziu a alteração. As modificações de ordem técnica serão divulgadas pelas Secretarias Municipais de Fazenda e poderão ocorrer sempre que se fizerem necessárias.

ESTRUTURA DE DADOS DO WEB SERVICE

Existirá 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 através do envio de uma mensagem XML ao Web Service com o pedido do serviço desejado.

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 à uma demanda de processamento de grande quantidade de informação. Nesta 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 Situação de Lote de RPS
Síncrona
Consulta de NFS-e por RPS
Síncrona
Consulta de Lote de RPS
Síncrona
Consulta de NFS-e
Síncrona
Cancelamento de NFS-e
Síncrona

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:

Etapas do processo ideal:

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.

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:

Etapas do processo ideal: 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 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;

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

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;

10. O aplicativo do contribuinte recebe a mensagem de resultado do processamento e, caso não exista outra mensagem, encerra a conexão.

FORMATOS E PADRÕES UTILIZADOS

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

Formato
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 0.0000
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

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 cadeia de caracteres. A posição do campo é definida na estrutura do documento XML através de TAGs (conteúdo).

A regra constante do parágrafo anterior deverá estender-se para os campos onde não há indicação de obrigatoriedade e que, no entanto, seu preenchimento torna-se obrigatório por estar condicionado à legislação específica ou ao negócio do contribuinte. Neste 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", "carriage return", "tab", caractere de "espaço" entre as TAGs).

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

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:

do tipo simples;

Tipo: tipo primitivo de dados utilizados pelo campo:

C: Caractere;

N: Número;

D: Data ou Data/Hora;

Descrição: descreve informações sobre o campo;

Tam.: tamanho do campo:

Quando for 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 identificação 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.
TsNumeroNfse
N
Número da Nota Fiscal de Serviço Eletrônica
15
tsCodigoVerificacao
C
Código de verificação do número da nota
9
TsCompetencia
N
Período de competência. Formato: AAAAMM
6
TsStatusRps
N
Código de status do RPS
1 - Normal
2 - Cancelado
1
TsStatusNfse
N
Código de status da NFS-e
1 - Normal
2 - Cancelado
1
tsNaturezaOperacao
N
Código de natureza da operação
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 administrativo
2
tsRegimeEspecialTributacao
N
Código de identificação do regime especial de tributação
1 - Microempresa municipal
2 - Estimativa
3 - Sociedade de profissionais
4 - Cooperativa
2
TsSimNao
N
Identificação de Sim/Não
1 - Sim
2 - Não
1
TsQuantidadeRps
N
Quantidade de RPS do Lote
4
TsNumeroRps
N
Número do RPS
15
TsSerieRps
C
Número de série do RPS
5
TsTipoRps
N
Código de tipo de RPS
1 - RPS
2 - Nota Fiscal Conjugada (Mista)
3 - Cupom
1
tsOutrasInformacoes
C
Informações adicionais ao documento.
255
TsValor
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
tsItemListaServico
C
Código de item da lista de serviço
4
TsCodigoCnae
N
Código CNAE
7
tsCodigoTributacao
C
Código de Tributação
20
TsAliquota
N
Alíquota. Valor percentual. Formato: 0.0000
Ex: 1% = 0.01
25,5% = 0.255
100% = 1.0000 ou 1
5,4
tsDiscriminacao
C
Discriminação do conteúdo da NFS-e
2000
tsCodigoMunicipioIbge
N
Código de identificação do município conforme tabela do IBGE
7
tsIncricaoMunicipal
C
Número de inscrição municipal
15
tsRazaoSocial
C
Razão Social do contribuinte
115
tsNomeFantasia
C
Nome fantasia
60
TsCnpj
C
Número CNPJ
4
tsEndereco
C
Endereço
125
tsNumeroEndereco
C
Número do endereço
10
tsComplementoEndereco
C
Complemento de endereço
60
tsBairro
C
Bairro
60
tsUf
C
Sigla da unidade federativa
2
tsCep
N
Número do CEP
8
tsEmail
C
E-mail
80
tsTelefone
C
Telefone
11
TsCpf
C
Número de CPF
11
tsIndicacaoCpfCnpj
N
Indicador de uso de CPF ou CNPJ
1 - CPF
2 - CNPJ
3 - Não Informado
1
tsCodigoObra
C
Código de Obra
15
tsArt
C
Código ART
15
tsNumeroLote
N
Número do Lote de RPS
15
tsNumeroProtocolo
N
Número do protocolo de recebimento do RPS
15
tsSituacaoLoteRps
N
Código de situação de lote de RPS
1 - Não Recebido
2 - Não Processado
3 - Processado com Erro
4 - Processado com Sucesso
1
tsCodigoMensagemAlerta
C
Código de mensagem de retorno de serviço.
4
TsDescricaoMensagemAlerta
C
Descrição da mensagem de retorno de serviço.
200
TsMotivoCancelamentoNfse
C
Motivo do cancelamento da NFS-e
200

TIPOS COMPLEXOS

A seguir serã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)

Nome do tipo complexo;

Descrição do tipo complexo;

Identifica se a seqüência de campos fará parte de uma escolha (Choice);

Nome do campo que faz parte do tipo complexo;

Tipo do campo, que pode ser de um tipo simples ou complexo;

Quantas vezes o campo se repete na estrutura de dados:

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

Descrição do campo.

TcCpfCnpj
Número de CPF ou CNPJ
Nome
Tipo
Ocorrência
Descrição
Choice
Cpf
tsCpf
1-1
Número do Cpf
 
Cnpj
tsCnpj
1-1
Número do Cnpj

TcEndereco
Representação completa do endereço
Nome
Tipo
Ocorrência
Descrição
Endereco
tsEndereco
0-1
Endereço
Numero
tsNumeroEndereco
0-1
Número do endereço
Complemento
tsComplementoEndereco
0-1
Complemento do Endereço
Bairro
tsBairro
0-1
Nome do bairro
Cidade
tsCodigoMunicipioIbge
0-1
Código da cidade
Estado
tsUf
0-1
Sigla do estado
Cep
tsCep
0-1
CEP da localidade

TcContato
Representa forma de contato com a pessoa (física/jurídica)
Nome
Tipo
Ocorrência
Descrição
Telefone
tsTelefone
0-1
 
Email
tsEmail
0-1
 

tcIdentificacaoOrgaoGerador
Representa dados para identificação de órgão gerador
Nome
Tipo
Ocorrência
Descrição
CodigoMunicipio
tsCodigoMunicipioIbge
1-1
 
Uf
tsUf
1-1
 

tcIdentificacaoRps
Dados de identificação do RPS
Nome
Tipo
Ocorrência
Descrição
Numero
tsNumeroRps
1-1
 
Serie
tsSerieRps
1-1
 
Tipo
tsTipoRps
1-1
 

tcIdentificacaoPrestador
Representa dados para identificação do prestador de serviço
Nome
Tipo
Ocorrência
Descrição
Cnpj
tsCnpj
1-1
 
InscricaoMunicipal
tsInscricaoMunicipal
0-1
 

tcIdentificacaoTomador
Representa dados para identificação do tomador de serviço
Nome
Tipo
Ocorrência
Descrição
CpfCnpj tcCpfCnpj 0-1
 
 
 
InscricaoMunicipal
tsInscricaoMunicipal
0-1
 

tcDadosTomador
Representa dados do tomador de serviço
Nome
Tipo
Ocorrência
Descrição
IdentificacaoTomador
TcIdentificacaoTomador
0-1
 
RazaoSocial
TsRazaoSocial
0-1
 
Endereco
TcEndereco
0-1
 
Contato
TcContato
0-1
 

TcIdentificacaoIntermediarioServico

Representa dados para identificação de intermediário do serviço

Nome Tipo Ocorrência Descrição

RazaoSocial tsRazaoSocial 1-1

Cnpj tsCnpj 1-1

InscricaoMunicipal tsInscricaoMunicipal 0-1

TcValores
Representa um conjunto de valores que compõe o documento fiscal
Nome
Tipo
Ocorrência
Descrição
ValorServicos
tsValor
1-1
 
ValorDeducoes
tsValor
0-1
 
ValorPis
tsValor
0-1
 
ValorCofins
tsValor
0-1
 
ValorInss
tsValor
0-1
 
ValorIr
tsValor
0-1
 
ValorCsll
tsValor
0-1
 
IssRetido
tsSimNao
1-1
 
ValorIss
tsValor
0-1
 
OutrasRetencoes
tsValor
0-1
 
BaseCalculo
tsValor
1-1
(Valor dos serviços - Valor das deduções -descontos incondicionados)
Aliquota
tsAliquota
0-1
 
ValorLiquidoNfse
tsValor
0-1
(ValorServicos - ValorPIS - ValorCOFINS - ValorINSS - ValorIR - ValorCSLL - OutrasRetençoes - ValorISSRetido - DescontoIncondicionado - DescontoCond icionado)
ValorIssRetido
tsValor
0-1
 
DescontoCondicionado
tsValor
0-1
 
DescontoIncondicionado
tsValor
0-1
 

TcDadosServico
Representa dados que compõe o serviço prestado
Nome
Tipo
Ocorrência
Descrição
Valores
tcValores
1-1
 
Item ListaServico
tsItemListaServico
1-1
 
CodigoCnae
tsCodigoCnae
0-1
 
CodigoTributacaoMunicipio
tsCodigoTributacao
0-1
 
Discriminacao
tsDiscriminacao
1-1
 
MunicipioPrestacaoServico
tsCodigoMunicipioIbge
1-1
 

tcDadosConstrucaoCivil
Representa dados para identificação de construção civil
Nome
Tipo
Ocorrência
Descrição
CodigoObra
tsCodigoObra
1-1
 
Art
tsArt
1-1
 

tcDadosPrestador
Representa dados do prestador do serviço
Nome
Tipo
Ocorrência
Descrição
IdentificacaoPrestador
tcIdentificacaoPrestador
1-1
 
RazaoSocial
tsRazaoSocial
1-1
 
NomeFantasia
tsNomeFantasia
0-1
 
Endereco
tcEndereco
1-1
 
Contato
tcContato
0-1
 

TcRps
Representa a estrutura de Recibo Provisório de Serviço (RPS)
Nome
Tipo
Ocorrência
Descrição
IdentificacaoRps
TcIdentificacaoRps
1-1
 
DataEmissao
Datetime
1-1
 
NaturezaOperacao
TsNaturezaOperacao
1-1
 
RegimeEspecialTributacao
TsRegimeEspecialTributacao
0-1
 
OptanteSimplesNacional
TsSimNao
1-1
 
IncentivadorCultural
TsSimNao
1-1
 
Status
TsStatusRps
1-1
 
RpsSubstituido
TcIdentificacaoRps
0-1
 
Servico
TcDadosServico
1-1
 
Prestador
TcIdentificacaoPrestador
1-1
 
Tomador
TcDadosTomador
1-1
 
IntermediarioServico
tcIdentificacaoIntermediarioServico
0-1
 
ConstrucaoCivil
TcDadosContrucaoCivil
0-1
 

tcIdentificacaoNfse
Representa dados que identificam uma Nota Fiscal de Serviços Eletrônica
Nome
Tipo
Ocorrência
Descrição
Numero
tsNumeroNfse
1-1
 
CodigoVerificacao
tsCodigoVerificacao
1-1
 

TcNfseSemCancelamento
Representa a estrutura da Nota Fiscal de Serviços Eletrônica
Nome
Tipo
Ocorrência
Descrição
IdentificacaoNfse
tcIdentificacaoNfse
1-1
 
DataEmissao
Datetime
1-1
 
IdentificacaoRps
tcIdentificacaoRps
0-1
 
DataEmissaoRps
Date
0-1
 
NaturezaOperacao
tsNaturezaOperacao
1-1
 
RegimeEspecialTributacao
tsRegimeEspecialTributacao
0-1
 
OptanteSimplesNacional
TsSimNao
1-1
 
IncetivadorCultural
TsSimNao
1-1
 
Competencia
tsCompetencia
1-1
 
NfseSubstituida
tcIdentificacaoNfse
0-1
 
OutrasInformacoes
tsOutrasInformacoes
0-1
 
Servico
tcDadosServico
1-1
 
ValorCredito
TsValor
0-1
 
PrestadorServico
tcDadosPrestador
1-1
 
TomadorServico
tcDadosTomador
1-1
 
IntermediarioServico
tcIdentificacaoIntermediarioServico
0-1
 
OrgaoGerador
tcIdentificacaoOrgaoGerador
1-1
 
ConstrucaoCivil
tcDadosContrucaoCivil
0-1
 

TcNfseSemCancelamento
Representa a estrutura de cancelamento de NFS-e.
Nome
Tipo
Ocorrência
Descrição
Data
DateTime
1-1
 
Motivo
TsMotivoCancelamentoNfse
1-1
 

TcNfse
Representa a estrutura de NFS-e incluindo a estrutura de cancelamento da mesma, quando existente.
Nome
Tipo
Ocorrência
Descrição
Nfse
TcNfseSemCancelamento
1-1
 
Cancelamento
TcCancelamentoNfse
0-1
 

tcMensagemRetorno
Representa a estrutura de mensagem de retorno de serviço.
Nome
Tipo
Ocorrência
Descrição
Codigo
TsCodigoMensagemAlerta
1-1
 
Mensagem
tsDescricaoMensagemAlerta
1-1
 
Correcao
tsDescricaoMensagemAlerta
0-1
 

tcMensagemRetornoLote
Representa a estrutura de mensagem de retorno de serviço.
Nome
Tipo
Ocorrência
Descrição
IdentificacaoRps
TcIdentificacaoRps
1-1
 
Codigo
TsCodigoMensagemAlerta
1-1
 
Mensagem
tsDescricaoMensagemAlerta
1-1
 

SERVIÇOS

A seguir estão os serviços 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.

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)
 
 
 
 
 
 
 
 
 
 
 
 

Nome do arquivo XSD;

Número identificador do campo, quando este contiver subitens;

Nome do campo;

Nome do tipo do campo que pode ser tipo primitivo, simples ou complexo;

Indica quem é o campo pai, para definição da hierarquia;

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

Descreve alguma observação pertinente;

Formato de grupo, utilizado para definição de uma escolha (ver próximo item);

Identifica os campos ou grupos que farão parte de uma escolha (Choice).

Recepção de Lote de RPS

Esse serviço será executado, inicialmente, através da chamada ao método RecepcionarLoteRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

servico_enviar_lote_rps_envio.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
EnviarLoteRpsEnvio
 
 
1-1
 
 
NumeroLote
TsNumeroLote
1
1-1
 
 
Cnpj
TsCnpj
1
1-1
 
 
InscricaoMunicipal
TsInscricaoMunicipal
1
1-1
 
 
QuantidadeRps
TsQuantidadeRps
1
1-1
 
2
ListaRps
 
1
1-1
 
 
Rps
TcRps
2
1-N
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

servico_envia r_lote_rps_resposta.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
EnviarLoteRpsResposta
 
 
1-1
 
 
NumeroLote
tsNumeroLote
1
1-1
Choice
 
DataRecebimento
datetime
1
 
 
 
Protocolo
tsNumeroProtocolo
1
 
 
 
MensagemRetorno
tcMensagemRetorno
1
1-1
 

O lote será processado posteriormente, sendo o seu resultado disponibilizado para consulta.

Consulta de Situação de Lote de RPS

Esse serviço será executado através da chamada ao método ConsultarSituacaoLoteRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

servico_consultar_situacao_lote_rps_envio.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarSituacaoLoteRpsEnvio
 
 
1-1
 
 
Prestador
TcIdentificacaoPrestador
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

servico_consultar_situacao_lote_rps_resposta.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarSituacaoLoteRpsResposta
 
 
1-1
 
 
NumeroLote
tsNumeroLote
1
1-1
Choice
 
Situação
tsSituacaoLoteRps
1
 
 
 
MensagemRetorno tcMensagemRetorno
1
1-1
 
 

Consulta de NFS-e por RPS

Esse serviço será executado através da chamada ao método ConsultarNfsePorRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

servico_consu lta r_nfse_rps_envio.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseRpsEnvio
 
 
 
 
 
IdentificacaoRps
tcIdentificacao Rps
1
1-1
 
 
Prestador
tcIdentificacao Prestador
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

servico_consultar_nfse_rps_resposta.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseRpsResposta
 
 
 
 
 
Nfse
tcNfse
1
1-1
Choice
 
MensagemRetorno
tcMensagemRetorno
1
1-1
 

Consulta de NFS-e

Esse serviço será executado através da chamada ao método ConsultarNfse, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

servico_consultar_nfse_envio.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseEnvio
 
 
1-1
 
 
Prestador
tcIdentificacao Prestador
1
1-1
 
 
NumeroNfse
tsNumeroNfse
1
0-1
 
2
PeriodoEmissao
 
1
0-1
 
 
DataInicial
date
2
1-1
 
 
DataFinal
date
2
1-1
 
 
Tomador
tcIdentificacaoTomador
1
0-1
 
 
IntermediarioServico
TcIdentificacaoIntermediarioServico
1
0-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

servico_consultar_nfse_resposta.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarNfseResposta
 
 
1-1
 
2
ListaNfse
 
1
1-1
0-N
Choice
 
Nfse
tcNfse
2
 
 
 
MensagemRetorno
tcMensagemRetorno
1
1-1
 

Consulta de Lote de RPS

Esse serviço será executado através da chamada ao método ConsultarLoteRps, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

servico_consultar_lote_rps_envio.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarLoteRpsEnvio
 
 
1-1
 
 
Prestador
TcIdentificacaoPrestador
1
1-1
 
 
Protocolo
TsNumeroProtocolo
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

servico_consultar_lote_rps_resposta.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
ConsultarLoteRpsResposta
 
 
1-1
 
2
ListaNfse
 
1
1-1
Choice
 
Nfse
tcNfse
2
1-N
 
3
ListaMensagemRetorno
 
1
1-1
 
 
MensagemRetorno
TcMensagemRetornoLote
3
1-N
 

Cancelamento NFS-e

Esse serviço será executado através da chamada ao método CancelarNfse, passando a mensagem XML como parâmetro com a estrutura definida na tabela que segue.

servicocancelar_nfse_envio.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
CancelarNfseEnvio
 
 
1-1
 
 
Prestador
TcIdentificacaoPrestador
1
1-1
 
 
NumeroNfse
tsNumeroNfse
1
1-1
 

Em resposta a chamada do serviço será devolvida a estrutura definida na tabela a seguir.

servico_cancelar_nfse_resposta.xsd
#
Nome
Tipo
Pai
Ocorrência
Observação
1
CancelarNfseResposta
 
 
 
 
 
Sucesso
boolean
1
1-1
 
 
DataHora
datetime
1
1-1
 
 
MensagemRetorno
tcMensagemRetorno
1
0-1