Você está na página 1de 29

NFS-e

Manual de Integrao

Verso 1.0
10/07/2008

Pgina 2 de 29
Reviso 1.00

SUMRIO
1 INTRODUO...................................................................................................3
2 CONSIDERAES INICIAIS............................................................................4
2.1 NOTA FISCAL DE SERVIOS ELETRNICA - NFS-E................................................. 4
2.2 RECIBO PROVISRIO DE SERVIO - RPS............................................................. 5
3 ARQUITETURA DE COMUNICAO COM O CONTRIBUINTE.................... 6
3.1 MODELO CONCEITUAL....................................................................................... 6
3.1.1 Recepo e Processamento de Lote de RPS..................................... 6
3.1.2 Consulta de Situao de Lote de RPS................................................ 7
3.1.3 Consulta de NFS-e por RPS................................................................7
3.1.4 Consulta de Lote de RPS.....................................................................8
3.1.5 Consulta de NFS-e...............................................................................8
3.1.6 Cancelamento de NFS-e......................................................................9
3.2 PADRES TCNICOS....................................................................................... 10
3.2.1 Padro de Comunicao....................................................................10
3.2.2 Padro de Certificado Digital............................................................. 10
3.2.3 Padro de Assinatura Digital............................................................. 11
3.2.4 Validao de Assinatura Digital pelo Sistema NFS-e........................12
3.3 PADRO DAS MENSAGENS XML....................................................................... 12
3.3.1 Validao da estrutura das Mensagens XML.................................... 12
3.3.2 Schemas XML (arquivos XSD).......................................................... 13
3.3.3 Verso dos Schemas XML.................................................................13
4 ESTRUTURA DE DADOS DO WEB SERVICE..............................................15
4.1 MODELO OPERACIONAL................................................................................... 15
4.1.1 Servios Sncronos............................................................................ 15
4.1.2 Servios Assncronos.........................................................................16
4.2 FORMATOS E PADRES UTILIZADOS................................................................... 17
4.3 TIPOS SIMPLES............................................................................................. 18
4.4 TIPOS COMPLEXOS........................................................................................ 20
4.5 SERVIOS.................................................................................................... 24
4.5.1 Recepo de Lote de RPS.................................................................25
4.5.2 Consulta de Situao de Lote de RPS.............................................. 25
4.5.3 Consulta de NFS-e por RPS..............................................................26
4.5.4 Consulta de NFS-e.............................................................................26
4.5.5 Consulta de Lote de RPS...................................................................27
4.5.6 Cancelamento NFS-e.........................................................................27
5 ANEXO............................................................................................................29
5.1 TABELA DE ERROS E ALERTAS......................................................................... 29

Pgina 3 de 29
Reviso 1.00

1 INTRODUO
Este manual tem como objetivo apresentar as
especificaes e critrios tcnicos necessrios para
utilizao do Web Service disponibilizado pelas
Secretarias Municipais de Fazenda para as empresas
prestadoras e/ou tomadoras de servios.
Atravs do Web Service as empresas podero integrar
seus prprios sistemas de informaes com o Sistema
de Notas Fiscais de Servio Eletrnicas das
Secretarias Municipais de Fazenda. Desta forma,
consegue-se automatizar o processo de gerao,
consulta e cancelamento de NFS-e.

Pgina 4 de 29
Reviso 1.00

2 CONSIDERAES INICIAIS
O projeto Nota Fiscal de Servios Eletrnica de Servios
est sendo concebido atravs de reunies das reas de
Negcio e Tecnologia da Informao com os
representantes dos municpios integrantes da Cmara
Tcnica da Associao Brasileira de Secretrios e
Dirigentes das Finanas dos Municpios das Capitais
(ABRASF), onde tiveram como principal objetivo a
gerao de um modelo de processo que considerasse as
necessidades e as legislaes de cada municpio.
O projeto tem como objetivo atender ao Protocolo de
Cooperao ENAT n 01/2006 - III ENAT, que instituiu a Nota Fiscal de
Servios Eletrnica NFS-e com vistas ao compartilhamento de informaes
entre os fiscos municipais, estaduais e federal, atravs do desenvolvimento de
uma soluo para a gerao desse documento fiscal eletrnico como
instrumento de controle da arrecadao e fiscalizao do ISS.
Visa o benefcio das administraes tributrias padronizando e melhorando a
qualidade das informaes, racionalizando os custos e gerando maior eficcia,
bem como o aumento da competitividade das empresas brasileiras pela
racionalizao das obrigaes acessrias (reduo do custo-Brasil), em
especial a dispensa da emisso e guarda de documentos em papel.
2.1

NOTA FISCAL DE SERVIOS ELETRNICA - NFS-E


A Nota Fiscal de Servios Eletrnica (NFS-e) um documento de
existncia exclusivamente digital, gerado e armazenado
eletronicamente pela prefeitura ou por outra entidade conveniada,
para documentar as operaes de prestao de servios.

A gerao da NFS-e ser feita, automaticamente, por meio de servios


informatizados, disponibilizados aos contribuintes. Para que sua gerao seja
efetuada, dados que a compem sero informados, analisados, processados,
validados e, se corretos, geraro o documento.
A responsabilidade pelo cumprimento da obrigao acessria de emisso da
NFS-e e pelo correto fornecimento dos dados secretaria, para a gerao da
mesma, do contribuinte.

Pgina 5 de 29
Reviso 1.00

2.2 RECIBO PROVISRIO DE SERVIO - RPS


A NFS-e somente ser gerada atravs dos servios informatizados
disponibilizados pelas Secretarias Municipais de Fazenda. Esse tipo de servio
seguido de alguns riscos inerentes ininterrupta disponibilidade, podendo,
portanto, em alguns momentos tornar-se indisponvel.
Visando manter as atividades dos contribuintes ininterruptas, independente de
os servios informatizados disponibilizados pelas Secretarias Municipais de
Fazenda estarem disponveis, foi criado o Recibo Provisrio de Servios (RPS),
que um documento de posse e responsabilidade do contribuinte, que dever
ser gerado manualmente ou por alguma aplicao local, possuindo uma
numerao seqencial crescente e devendo ser convertido em NFS-e no prazo
estipulado pela legislao tributria municipal.

Pgina 6 de 29
Reviso 1.00

3 ARQUITETURA DE COMUNICAO COM O CONTRIBUINTE


3.1 MODELO CONCEITUAL
Atravs do Web Service, o Sistema de Notas Fiscais de Servio Eletrnicas
das Secretarias Municipais de Fazenda disponibilizar servios que podero
ser acessados pelos sistemas dos contribuintes. A seguir, esto resumidos os
servios disponveis e suas respectivas funcionalidades bsicas.
3.1.1 Recepo e Processamento de Lote de RPS
Esse servio compreende a recepo do Lote de RPS, a resposta com o
nmero do protocolo gerado para esta transao e o processamento do lote.
Quando efetuada a recepo, o Lote entrar na fila para processamento
posterior onde sero feitas as validaes necessrias e gerao das NFS-e.
Prestador
Secretaria da Fazenda

Aplicao Cliente
b

<XML>
Lote de RPS

a
d
RPS

<XML>
Mensagem

NFS-e
e

Web Services

NFS-e

Fila de Processos

XML de Envio validado pelo arquivo: servico_enviar_lote_rps_envio.xsd


XML de Resposta validado pelo arquivo: servico_enviar_lote_rps_resposta.xsd

Passos para execuo


1. A aplicao acessa o servio de Recepo e Processamento de Lote
de RPS enviando o lote (fluxo b).
2. A requisio recebida pelo servidor do Web Service que grava as
informaes recebidas e gera o nmero de protocolo de recebimento
(fluxo c).
3. O Web Service retorna uma mensagem com o resultado do
processamento do servio (fluxo d).

Pgina 7 de 29
Reviso 1.00

3.1.2 Consulta de Situao de Lote de RPS


Esse servio efetua a consulta da situao de um Lote de RPS j enviado.
Prestador

Secretaria da Fazenda

Aplicao Cliente
2.b
2.a

2.c

<XML>
Identif. do Lote

Consulta

2.e

Web Services

<XML>
Situao do Lote

2.d NFS-e
Processamento
Resultado

XML de Envio validado pelo arquivo: servico_consultar_situacao_lote_rps_envio.xsd


XML de Resposta validado pelo arquivo: servico_consultar_situacao_lote_rps_resposta.xsd

Passos para execuo


1. A aplicao acessa o servio de Consulta de Situao de Lote de RPS
e submete os dados para processamento (fluxo 2.b).
2. A requisio recebida pelo servidor do Web Service, que verifica os
dados preenchidos e identifica o status do lote (fluxox 2.c e 2.d).
3. O Web Service retorna uma mensagem com o resultado do
processamento do servio (fluxo 2.e).
3.1.3 Consulta de NFS-e por RPS
Esse servio efetua a consulta de uma NFS-e a partir do nmero de RPS que a
gerou.
Prestador ou Tomador

Secretaria da Fazenda

Aplicao Cliente
2.b
2.a

<XML>
Identif. do RPS

2.c

Consulta
2.e

<XML>
NFS-e / Mensag.

Web Services

2.d
Processamento
NFS-e / Msg

NFS-e

XML de Envio validado pelo arquivo: servico_consultar_nfse_rps_envio.xsd


XML de Resposta validado pelo arquivo: servico_consultar_nfse_rps_resposta.xsd

Passos para execuo


1. A aplicao acessa o servio de Consulta de NFS-e por RPS e
submete os dados para processamento (fluxo 2.b).

Pgina 8 de 29
Reviso 1.00

2. A requisio recebida pelo servidor do Web Service, que verifica os


dados preenchidos e identifica a NFS-e correspondente (fluxos 2.c e
2.d).
3. O Web Service retorna uma mensagem com o resultado do
processamento do servio (fluxo 2.e).
3.1.4 Consulta de Lote de RPS
Esse servio permite ao contribuinte obter as NFS-e que foram geradas a partir
do Lote de RPS enviado, quando o processamento ocorrer sem problemas; ou
obter a lista de erros e/ou inconsistncias encontradas nos RPS.
Na validao do lote, devem ser retornados todos os erros verificados.
Excepcionalmente, havendo uma excessiva quantidade de erros, poder ser
definido um limitador para a quantidade de erros retornados.
Secretaria da Fazenda

Prestador
Aplicao Cliente

Web Services

<XML>
Identif. do RPS

b
a

Consulta

Processamento

<XML>
Grupo de NFS-e / Msg.

NFS-e

NFS-e / Msg

XML de Envio validado pelo arquivo: servico_consultar_lote_rps_envio.xsd


XML de Resposta validado pelo arquivo: servico_consultar_lote_rps_resposta.xsd

Passos para execuo


1. A aplicao acessa o servio de Consulta de Lote de RPS e submete
os dados para processamento (fluxo b).
2. A requisio recebida pelo servidor do Web Service, que verifica os
dados preenchidos e identifica as NFS-e correspondentes (fluxos c e
d).
3. O Web Service retorna uma mensagem (a estrutura com a lista da NFSe geradas ou as mensagens de erro) com o resultado do processamento
do servio (fluxo e).
3.1.5 Consulta de NFS-e
Esse servio permite a obteno de determinada NFS-e j gerada.
Secretaria da Fazenda

Prestador ou Tomador
Aplicao Cliente
2.b
2.a

2.c

<XML>
Identif. do RPS

Consulta

2.e
<XML>
NFS-e / Mensag.

Web Services

2.d
Processamento
NFS-e
NFS-e / Msg

Pgina 9 de 29
Reviso 1.00

XML de Envio validado pelo arquivo: servico_consultar_nfse_envio.xsd


XML de Resposta validado pelo arquivo: servico_consultar_nfse_resposta.xsd

Passos para execuo


1. A aplicao acessa o servio de Consulta de NFS-e e submete os
dados para processamento ().
2. A requisio recebida pelo servidor do Web Service, que verifica os
dados preenchidos e identifica as NFS-e correspondentes.
3. O Web Service retorna uma mensagem com o resultado do
processamento do servio.
3.1.6 Cancelamento de NFS-e
Esse servio permite o cancelamento direto de uma NFS-e sem substituio da
mesma por outra.
Prestador

Secretaria da Fazenda

Aplicao Cliente
2.b
2.a

<XML>
Identif. da NFS-e

Cancelamento
2.d

<XML>
Mensagem

2.c
Web Services

Processamento

NFS-e

XML de Envio validado pelo arquivo: servico_cancelar_nfse_envio.xsd


XML de Resposta validado pelo arquivo: servico_cancelar_nfse_resposta.xsd

Passos para execuo


1. A aplicao acessa o servio de Cancelamento de NFS-e e submete
os dados para processamento (fluxo 2.b).
2. A requisio recebida pelo servidor do Web Service, que verifica os
dados preenchidos, identifica a NFS-e correspondente e efetua o seu
cancelamento (fluxo 2.c).
3. O Web Service retorna uma mensagem com o resultado do
processamento do servio (fluxo 2.d).

Pgina 10 de 29
Reviso 1.00

3.2

PADRES TCNICOS

HTTPS
Requisio

Contribuinte

Secretaria Municipal da Fazenda

3.2.1 Padro de Comunicao


O meio fsico de comunicao utilizado entre os sistemas de informao dos
contribuintes e o Sistema de Notas Fiscais de Servio Eletrnicas das
Secretarias Municipais de Fazenda ser a Internet, com o uso do protocolo
SSL, que alm de garantir um duto de comunicao seguro na Internet, permite
a identificao do servidor e do cliente atravs de certificados digitais,
eliminando a necessidade de identificao do usurio atravs de nome ou
cdigo de usurio e senha.
O modelo de comunicao segue o padro de Web Services definido pelo WS-I
Basic Profile.
A troca de mensagens entre o Web Service do Sistema de Notas Fiscais de
Servio Eletrnicas das Secretaria Municipais de Fazenda e o sistema do
contribuinte ser realizada no padro SOAP, com troca de mensagens XML no
padro Style/Enconding: Document/Literal, wrapped. A opo wrapped
representa a chamada aos mtodos disponveis com a passagem de mais de
um parmetro.

SOAP

Requerente
do Servio

Provedor
do Servio

3.2.2 Padro de Certificado Digital


Os certificados digitais utilizados no sistema de Notas Fiscais de Servio
Eletrnicas, das Secretarias Municipais de Fazenda, sero emitidos por
Autoridade Certificadora credenciada pela Infra-estrutura de Chaves Pblicas

10

Pgina 11 de 29
Reviso 1.00

Brasileira ICP-Brasil, dos tipos A1 ou A3, devendo conter o CNPJ da entidade


proprietria no certificado.
Os certificados digitais sero exigidos em 2 (dois) momentos distintos para a
integrao entre o sistema do contribuinte e o Web Service das Secretarias
Municipais de Fazenda:

Assinatura de Mensagens: O certificado digital utilizado para essa


funo dever conter o CNPJ do estabelecimento emissor da NFS-e ou
o CNPJ do estabelecimento matriz. O certificado digital dever ter o uso
da chave previsto para a funo de assinatura digital, respeitando a
Poltica do Certificado.
Transmisso (durante a transmisso das mensagens entre os servidores
do contribuinte e os servios disponibilizados pelas Secretarias
Municipais de Fazenda): O certificado digital utilizado para identificao
do aplicativo do contribuinte dever conter o CNPJ do responsvel pela
transmisso das mensagens, mas no necessita ser o mesmo CNPJ do
estabelecimento emissor da NFS-e, devendo ter a extenso extended
Key Usage com permisso de "Autenticao Cliente".

3.2.3 Padro de Assinatura Digital


As mensagens enviadas aos servios disponibilizados pelas Secretarias
Municipais de Fazenda so documentos eletrnicos elaborados no padro XML
e devem ser assinados digitalmente com um certificado digital que contenha o
CNPJ do estabelecimento matriz ou o CNPJ do estabelecimento emissor da
NFS-e objeto do pedido.
Para garantir minimamente a integridade das informaes prestadas e a
correta formao dos arquivos XML, o contribuinte dever submeter as
mensagens XML para validao pela linguagem de Schema do XML (XSD
XML Schema Definition), disponibilizada pelas Secretarias Municipais de
Fazenda antes de seu envio.
Os elementos abaixo esto presentes dentro do Certificado do contribuinte
tornando desnecessria a sua representao individualizada no arquivo XML.
Portanto, o arquivo XML no deve conter os elementos:
<X509SubjectName>
<X509IssuerSerial>
<X509IssuerName>
<X509SerialNumber>
<X509SKI>

11

Pgina 12 de 29
Reviso 1.00

Deve-se evitar o uso das TAGs abaixo, pois as informaes sero obtidas a
partir do Certificado do emitente:
<KeyValue>
<RSAKeyValue>
<Modulus>
<Exponent>
3.2.4 Validao de Assinatura Digital pelo Sistema NFS-e
Para a validao da assinatura digital, seguem as regras que sero adotadas
pelas Secretarias Municipais de Fazenda:
1. Extrair a chave pblica do certificado;
2. Verificar o prazo de validade do certificado utilizado;
3. Montar e validar a cadeia de confiana dos certificados validando
tambm a LCR (Lista de Certificados Revogados) de cada certificado da
cadeia;
4. Validar o uso da chave utilizada (Assinatura Digital) de tal forma a
aceitar certificados somente do tipo A (no sero aceitos certificados do
tipo S);
5. Garantir que o certificado utilizado de um usurio final e no de uma
Autoridade Certificadora;
6. Adotar as regras definidas pelo RFC 3280 para LCRs e cadeia de
confiana;
7. Validar a integridade de todas as LCR utilizadas pelo sistema;
8. Prazo de validade de cada LCR utilizada (verificar data inicial e final).
A forma de conferncia da LCR fica a critrio de cada Secretaria Municipal de
Fazenda, podendo ser feita de 2 (duas) maneiras: On-line ou Download
peridico. As assinaturas digitais das mensagens sero verificadas
considerando o horrio fornecido pelo Observatrio Nacional.
3.3 PADRO DAS MENSAGENS XML
A especificao adotada para as mensagens XML a recomendao W3C
para XML 1.0, disponvel em www.w3.org/TR/REC-xml e a codificao dos
caracteres ser em UTF-8.
3.3.1 Validao da estrutura das Mensagens XML
Para garantir minimamente a integridade das informaes
prestadas e a correta formao das mensagens XML, o
contribuinte dever submeter cada uma das mensagens XML
de pedido de servio para validao pelo seu respectivo
12

Pgina 13 de 29
Reviso 1.00

arquivo XSD (XML Schema Definition, definio 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 contedo de uma mensagem XML, descrevendo os
seus atributos, elementos e a sua organizao, alm de estabelecer regras de
preenchimento de contedo e de obrigatoriedade de cada elemento ou grupo
de informao.
A validao da estrutura da mensagem XML realizada por um analisador
sinttico (parser) que verifica se a mensagem XML atende as definies e
regras de seu respectivo Schema XML.
Qualquer divergncia da estrutura da mensagem XML em relao ao seu
respectivo Schema XML, provoca um erro de validao do Schema XML. Neste
caso o contedo da mensagem XML de pedido do servio no poder ser
processado.
A primeira condio para que a mensagem XML seja validada com sucesso
que ela seja submetida ao Schema XML correto.
Assim, os sistemas de informao dos contribuintes devem estar preparados
para gerar mensagens XML em seus respectivos Schemas XML em vigor.
3.3.2 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 Servio Eletrnicas
das Secretarias Municipais de Fazenda.
3.3.3 Verso dos Schemas XML
Toda mudana de layout das mensagens XML do Web Service implica na
atualizao do seu respectivo Schema XML.
A identificao da verso dos Schemas XML ser realizada com o acrscimo
do nmero da verso com dois dgitos no nome do arquivo XSD precedida da
literal _v, como segue:
<Nome do Arquivo>_v<Nmero da Verso>.xsd
Exemplo:
EnvioLoteRps_v01.xsd
13

Pgina 14 de 29
Reviso 1.00

A maioria dos Schemas XML definidos para a utilizao do Web Service do


Sistema de Notas Fiscais de Servio Eletrnicas das Secretarias Municipais de
Fazenda utilizam as definies de tipos simples ou tipos complexos que esto
definidos em outros Schemas XML, nestes casos, a modificao de verso do
Schema bsico ser repercutida no Schema principal.
As modificaes de layout das mensagens XML do Web Service podem ser
causadas por necessidades tcnicas ou em razo da modificao de alguma
legislao. As modificaes decorrentes de alterao da legislao devero ser
implementadas nos prazos previstos no ato normativo que introduziu a
alterao. As modificaes de ordem tcnica sero divulgadas pelas
Secretarias Municipais de Fazenda e podero ocorrer sempre que se fizerem
necessrias.

14

Pgina 15 de 29
Reviso 1.00

4 ESTRUTURA DE DADOS DO WEB SERVICE


Existir um nico Web Service com todos os servios apresentados no item
3.1. O fluxo de comunicao sempre iniciado pelo sistema do contribuinte
atravs do envio de uma mensagem XML ao Web Service com o pedido do
servio desejado.
4.1 MODELO OPERACIONAL
A forma de processamento das solicitaes de servios no projeto Nota Fiscal
de Servios Eletrnica pode ser sncrona, caso o atendimento da solicitao de
servio seja realizada na mesma conexo ou assncrona, quando o
processamento do servio solicitado no atendido na mesma conexo,
devido uma demanda de processamento de grande quantidade de
informao. Nesta situao torna-se necessria a realizao de mais uma
conexo para a obteno do resultado do processamento.
As solicitaes de servios que exigem processamento intenso sero
executadas de forma assncrona e as demais solicitaes de servios de forma
sncrona.
Assim, os servios da NFS-e sero implementados da seguinte forma:
Servio
Recepo e Processamento de Lote de RPS
Consulta de Situao de Lote de RPS
Consulta de NFS-e por RPS
Consulta de Lote de RPS
Consulta de NFS-e
Cancelamento de NFS-e

Implementao
Assncrona
Sncrona
Sncrona
Sncrona
Sncrona
Sncrona

4.1.1 Servios Sncronos


As solicitaes de servios de implementao sncrona so processadas
imediatamente e o resultado do processamento obtido em uma nica
conexo.
Abaixo, o fluxo simplificado de funcionamento:
Secretaria da Fazenda
Prestador

<XML>
Solicitao

Web Services

Processamento
<XML>
Resultado

15

Pgina 16 de 29
Reviso 1.00

Etapas do processo ideal:


1. O aplicativo do contribuinte inicia a conexo enviando uma mensagem
de solicitao de servio para o Web Service;
2. O Web Service recebe a mensagem de solicitao de servio e
encaminha ao aplicativo da NFS-e que ir processar o servio solicitado;
3. O aplicativo da NFS-e recebe a mensagem de solicitao de servios 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 no exista outra mensagem, encerra a conexo.
4.1.2 Servios Assncronos
As solicitaes de servios de implementao assncrona so processadas de
forma distribuda por vrios processos e o resultado do processamento
somente obtido na segunda conexo.
Abaixo, o fluxo simplificado de funcionamento:
Secretaria da Fazenda

Prestador
<XML>
Solicitao

Web Service
<XML>
Resultado

Fila de Processos

Etapas do processo ideal:


Solicitao e processamento:
1. O aplicativo do contribuinte inicia a conexo enviando uma mensagem
de solicitao de servio para o Web Service de recepo de solicitao
de servios;
2. O Web Service de recepo de solicitao de servios recebe a
mensagem de solicitao de servio e a coloca na fila de servios
solicitados, acrescentando o CNPJ do transmissor obtido do certificado
digital do transmissor;

16

Pgina 17 de 29
Reviso 1.00

3. O Web Service de recepo de solicitao de servios retorna o


protocolo da solicitao de servio e a data e hora de gravao na fila de
servios solicitados ao aplicativo do contribuinte;
4. O aplicativo do contribuinte recebe o protocolo;
5. Na estrutura interna do aplicativo de NFS-e a solicitao de servios
retirada da fila de servios solicitados pelo aplicativo da NFS-e em
momento especfico, definido pela equipe tcnica da NFS-e;
6. O servio solicitado processado pelo aplicativo da NFS-e e o resultado
do processamento colocado na fila de servios processados;
Obteno do resultado do servio:
7. O aplicativo do contribuinte, atravs do protocolo recebido, envia uma
consulta ao servio que retornar o resultado do processamento daquele
protocolo, iniciando uma conexo com o Web Service;
8. O Web Service recebe a mensagem de consulta e localiza o resultado
de processamento da solicitao de servio;
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 no exista outra mensagem, encerra a conexo.
4.2 FORMATOS E PADRES UTILIZADOS
Abaixo segue algumas formataes de dados que devem ser seguidas para
gerao correta na estrutura dos arquivos.
Formato

Observao

Data (date)

Formato: AAAA-MM-DD
onde:
AAAA = ano com 4 caracteres
MM = ms com 2 caracteres
DD = dia com 2 caracteres
Formato AAAA-MM-DDTHH:mm:ss
onde:
AAAA = ano com 4 caracteres
MM = ms com 2 caracteres
DD = dia com 2 caracteres
T = caractere de formatao que deve existir separando a data da hora
HH = hora com 2 caracteres
mm: minuto com 2 caracteres
ss: segundo com 2 caracteres
Formato: 0.00
No deve ser utilizado separador de milhar. O ponto (.) deve ser utilizado
para separar a parte inteira da fracionria.
Exemplo:
48.562,25 = 48562.25
1,00 = 1.00 ou 1
0,50 = 0.50 ou 0.5
Formato 0.0000
O formato em percentual presume o valor percentual em sua forma
fracionria, contendo 5 dgitos. O ponto (.) separa a parte inteira da

Data/Hora (datetime)

Valores Decimais
(decimal)

Valores Percentuais
(decimal)

17

Pgina 18 de 29
Reviso 1.00

fracionria.
Exemplo:
62% = 0.62
150% = 1.5
25,32 = 0.2532

No deve ser inserido caractere no significativo para preencher o tamanho


completo do campo, ou seja, zeros antes de nmero ou espao em branco
aps cadeia de caracteres. A posio do campo definida na estrutura do
documento XML atravs de TAGs (<tag>contedo</tag>).
A regra constante do pargrafo anterior dever estender-se para os campos
onde no h indicao de obrigatoriedade e que, no entanto, seu
preenchimento torna-se obrigatrio por estar condicionado legislao
especfica ou ao negcio do contribuinte. Neste caso, dever constar a TAG
com o valor correspondente e, para os demais campos, devero ser eliminadas
as TAGs.
Para reduzir o tamanho final do arquivo XML da NFS-e alguns cuidados de
programao devero ser assumidos:

no incluir "zeros no significativos" para campos numricos;


no incluir "espaos" no incio ou no final de campos numricos e
alfanumricos;
no incluir comentrios no arquivo XML;
no incluir anotao e documentao no arquivo XML (TAG annotation e
TAG documentation);
no incluir caracteres de formatao no arquivo XML ("line-feed",
"carriage return", "tab", caractere de "espao" entre as TAGs).

As TAGs que permitirem valores nulos devem ser omitidas da estrutura XML a
ser enviada.
4.3 TIPOS SIMPLES
A seguir encontra-se a tabela com a lista dos tipos simples que sero 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:
o C: Caractere;
o N: Nmero;
o D: Data ou Data/Hora;
Descrio: descreve informaes sobre o campo;
Tam.: tamanho do campo:

18

Pgina 19 de 29
Reviso 1.00

o Quando for caracteres o tamanho define a quantidade mxima de


caracteres que o texto poder ter;
o Quando for numrico o tamanho pode ser representado das
seguintes formas
Nmero inteiro, que define o total de dgitos existente no
nmero. Exemplo: 15 significa que o nmero poder ter,
no mximo, 15 dgitos;
Nmero fracionrio, que define o total de dgitos e quantos
deles sero designados para a parte fracionria. Exemplo:
15,2 significa que o nmero poder ter, no mximo, 15
dgitos sendo 2 deles a identificao da parte fracionria. A
parte fracionria no obrigatria quando assim definido;
o Quando for data, no haver definio de tamanho.
Campo

Tipo

TsNumeroNfse
tsCodigoVerificacao
TsCompetencia

N
C
N

TsStatusRps

TsStatusNfse

tsNaturezaOperacao

tsRegimeEspecialTributacao

TsSimNao

TsQuantidadeRps
TsNumeroRps
TsSerieRps
TsTipoRps

N
N
C
N

tsOutrasInformacoes
TsValor

C
N

Descrio
Nmero da Nota Fiscal de Servio Eletrnica
Cdigo de verificao do nmero da nota
Perodo de competncia.
Formato: AAAAMM
Cdigo de status do RPS
1 Normal
2 Cancelado
Cdigo de status da NFS-e
1 Normal
2 Cancelado
Cdigo de natureza da operao
1 Tributao no municpio
2 - Tributao fora do municpio
3 - Iseno
4 - Imune
5 Exigibilidade suspensa por deciso judicial
6 Exigibilidade suspensa por procedimento
administrativo
Cdigo de identificao do regime especial de
tributao
1 Microempresa municipal
2 - Estimativa
3 Sociedade de profissionais
4 Cooperativa
Identificao de Sim/No
1 - Sim
2 No
Quantidade de RPS do Lote
Nmero do RPS
Nmero de srie do RPS
Cdigo de tipo de RPS
1 - RPS
2 Nota Fiscal Conjugada (Mista)
3 Cupom
Informaes adicionais ao documento.
Valor monetrio.
Formato: 0.00 (ponto separando casa decimal)
Ex: 1.234,56 = 1234.56
1.000,00 = 1000.00
1.000,00 = 1000

Tam.
15
9
6
1

1
2

4
15
5
1

255
15,2

19

Pgina 20 de 29
Reviso 1.00

tsItemListaServico
TsCodigoCnae
tsCodigoTributacao
TsAliquota

C
N
C
N

tsDiscriminacao
tsCodigoMunicipioIbge

C
N

tsIncricaoMunicipal
tsRazaoSocial
tsNomeFantasia
TsCnpj
tsEndereco
tsNumeroEndereco
tsComplementoEndereco
tsBairro
tsUf
tsCep
tsEmail
tsTelefone
TsCpf
tsIndicacaoCpfCnpj

C
C
C
C
C
C
C
C
C
N
C
C
C
N

tsCodigoObra
tsArt
tsNumeroLote
tsNumeroProtocolo
tsSituacaoLoteRps

C
C
N
N
N

tsCodigoMensagemAlerta
TsDescricaoMensagemAlerta
TsMotivoCancelamentoNfse

C
C
C

Cdigo de item da lista de servio


Cdigo CNAE
Cdigo de Tributao
Alquota. Valor percentual.
Formato: 0.0000
Ex: 1% = 0.01
25,5% = 0.255
100% = 1.0000 ou 1
Discriminao do contedo da NFS-e
Cdigo de identificao do municpio conforme
tabela do IBGE
Nmero de inscrio municipal
Razo Social do contribuinte
Nome fantasia
Nmero CNPJ
Endereo
Nmero do endereo
Complemento de endereo
Bairro
Sigla da unidade federativa
Nmero do CEP
E-mail
Telefone
Nmero de CPF
Indicador de uso de CPF ou CNPJ
1 CPF
2 CNPJ
3 No Informado
Cdigo de Obra
Cdigo ART
Nmero do Lote de RPS
Nmero do protocolo de recebimento do RPS
Cdigo de situao de lote de RPS
1 No Recebido
2 No Processado
3 Processado com Erro
4 Processado com Sucesso
Cdigo de mensagem de retorno de servio.
Descrio da mensagem de retorno de servio.
Motivo do cancelamento da NFS-e

4
7
20
5,4

2000
7
15
115
60
14
125
10
60
60
2
8
80
11
11
1

15
15
15
15
1

4
200
200

4.4 TIPOS COMPLEXOS


A seguir sero detalhadas as tabelas de cada tipo composto e seus campos. A
tabela est dividida da seguinte forma:
(1)
(2)
Nome
(3)

1.
2.
3.
4.
5.

Tipo
(4)
(4)

(5)
(5)

Ocorrncia Descrio
(6)
(6)

(7)
(7)

Nome do tipo complexo;


Descrio do tipo complexo;
Identifica se a seqncia 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;
20

Pgina 21 de 29
Reviso 1.00

6. Quantas vezes o campo se repete na estrutura de dados:


a. Formato: z-y onde x a quantidade mnima e y a quantidade
mxima. Se a quantidade mxima for indefinida, ser utilizado N
no lugar do y;
7. Descrio do campo.
TcCpfCnpj
Nmero de CPF ou CNPJ
Nome
Cpf
Choice
Cnpj

Tipo
tsCpf
tsCnpj

Ocorrncia Descrio
1-1
Nmero do Cpf
1-1
Nmero do Cnpj

TcEndereco
Representao completa do endereo
Nome
Tipo
Ocorrncia Descrio
Endereco
tsEndereco
0-1
Endereo
Numero
tsNumeroEndereco
0-1
Nmero do endereo
Complemento
tsComplementoEndereco
0-1
Complemento do Endereo
Bairro
tsBairro
0-1
Nome do bairro
Cidade
tsCodigoMunicipioIbge
0-1
Cdigo da cidade
Estado
tsUf
0-1
Sigla do estado
Cep
tsCep
0-1
CEP da localidade

TcContato
Representa forma de contato com a pessoa (fsica/jurdica)
Nome
Tipo
Ocorrncia Descrio
Telefone
tsTelefone
0-1
Email
tsEmail
0-1

tcIdentificacaoOrgaoGerador
Representa dados para identificao de rgo gerador
Nome
Tipo
Ocorrncia Descrio
CodigoMunicipio
tsCodigoMunicipioIbge
1-1
Uf
tsUf
1-1

tcIdentificacaoRps
Dados de identificao do RPS
Nome
Numero
Serie
Tipo

Tipo
tsNumeroRps
tsSerieRps
tsTipoRps

Ocorrncia Descrio
1-1
1-1
1-1

tcIdentificacaoPrestador
Representa dados para identificao do prestador de servio
Nome
Tipo
Ocorrncia Descrio
Cnpj
tsCnpj
1-1
InscricaoMunicipal
tsInscricaoMunicipal
0-1

tcIdentificacaoTomador
Representa dados para identificao do tomador de servio
Nome
Tipo
Ocorrncia Descrio
CpfCnpj
tcCpfCnpj
0-1
InscricaoMunicipal
tsInscricaoMunicipal
0-1

21

Pgina 22 de 29
Reviso 1.00

tcDadosTomador
Representa dados do tomador de servio
Nome
Tipo
Ocorrncia Descrio
IdentificacaoTomador
TcIdentificacaoTomador
0-1
RazaoSocial
TsRazaoSocial
0-1
Endereco
TcEndereco
0-1
Contato
TcContato
0-1

TcIdentificacaoIntermediarioServico
Representa dados para identificao de intermedirio do servio
Nome
Tipo
Ocorrncia Descrio
RazaoSocial
tsRazaoSocial
1-1
Cnpj
tsCnpj
1-1
InscricaoMunicipal
tsInscricaoMunicipal
0-1

TcValores
Representa um conjunto de valores que compe o documento fiscal
Nome
Tipo
Ocorrncia Descrio
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 servios - Valor das
dedues - descontos
incondicionados)
Aliquota
tsAliquota
0-1
ValorLiquidoNfse
tsValor
0-1
(ValorServicos - ValorPIS ValorCOFINS - ValorINSS ValorIR - ValorCSLL OutrasRetenoes ValorISSRetido DescontoIncondicionado DescontoCondicionado)
ValorIssRetido
tsValor
0-1
DescontoCondicionado
tsValor
0-1
DescontoIncondicionado
tsValor
0-1

TcDadosServico
Representa dados que compe o servio prestado
Nome
Tipo
Ocorrncia Descrio
Valores
tcValores
1-1
ItemListaServico
tsItemListaServico
1-1
CodigoCnae
tsCodigoCnae
0-1
CodigoTributacaoMunicipio
tsCodigoTributacao
0-1
Discriminacao
tsDiscriminacao
1-1
MunicipioPrestacaoServico
tsCodigoMunicipioIbge
1-1

tcDadosConstrucaoCivil
Representa dados para identificao de construo civil
Nome
Tipo
CodigoObra
tsCodigoObra

Ocorrncia Descrio
1-1

22

Pgina 23 de 29
Reviso 1.00

Art

tsArt

1-1

tcDadosPrestador
Representa dados do prestador do servio
Nome
Tipo
Ocorrncia Descrio
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 Provisrio de Servio (RPS)
Nome
Tipo
Ocorrncia Descrio
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 Servios Eletrnica
Nome
Tipo
Ocorrncia Descrio
Numero
tsNumeroNfse
1-1
CodigoVerificacao
tsCodigoVerificacao
1-1

TcNfseSemCancelamento
Representa a estrutura da Nota Fiscal de Servios Eletrnica
Nome
Tipo
Ocorrncia Descrio
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

TcCancelamentoNfse

23

Pgina 24 de 29
Reviso 1.00

Representa a estrutura de cancelamento de NFS-e.


Nome
Tipo
Data
DateTime
Motivo
TsMotivoCancelamentoNfse

Ocorrncia Descrio
1-1
1-1

TcNfse
Representa a estrutura de NFS-e incluindo a estrutura de cancelamento da mesma, quando existente.
Nome
Tipo
Ocorrncia Descrio
Nfse
TcNfseSemCancelamento
1-1
Cancelamento
TcCancelamentoNfse
0-1

tcMensagemRetorno
Representa a estrutura de mensagem de retorno de servio.
Nome
Tipo
Codigo
TsCodigoMensagemAlerta
Mensagem
tsDescricaoMensagemAlert
a
Correcao
tsDescricaoMensagemAlert
a

Ocorrncia Descrio
1-1
1-1
0-1

tcMensagemRetornoLote
Representa a estrutura de mensagem de retorno de servio.
Nome
Tipo
IdentificacaoRps
TcIdentificacaoRps
Codigo
TsCodigoMensagemAlerta
Mensagem
tsDescricaoMensagemAlert
a

Ocorrncia Descrio
1-1
1-1
1-1

4.5 SERVIOS
A seguir esto os servios disponveis, conforme descritos no item 3.1, no
WebService e seus XML Schema. O XML Schema define a estrutura e
formatao do arquivo XML que conter os dados a serem trafegados.
As tabelas que detalham cada XML Schema esto divididas da seguinte forma:
(1)
#
(2)

Nome

Tipo
(3)

(4)

Pai
(5)

Ocorrncia
(6)
(8)

Observao
(7)
(9)

1.
2.
3.
4.

Nome do arquivo XSD;


Nmero identificador do campo, quando este contiver subitens;
Nome do campo;
Nome do tipo do campo que pode ser tipo primitivo, simples ou
complexo;
5. Indica quem o campo pai, para definio da hierarquia;
6. Quantas vezes o campo se repete na estrutura de dados:

24

Pgina 25 de 29
Reviso 1.00

a. Formato: z-y onde x a quantidade mnima e y a quantidade


mxima. Se a quantidade mxima for indefinida, ser utilizado N
no lugar do y;
7. Descreve alguma observao pertinente;
8. Formato de grupo, utilizado para definio de uma escolha (ver prximo
item);
9. Identifica os campos ou grupos que faro parte de uma escolha
(Choice).
4.5.1 Recepo de Lote de RPS
Esse servio ser executado, inicialmente, atravs da chamada ao mtodo
RecepcionarLoteRps, passando a mensagem XML como parmetro com a
estrutura definida na tabela que segue.
servico_enviar_lote_rps_envio.xsd
#
1

Nome
EnviarLoteRpsEnvio
NumeroLote
Cnpj
InscricaoMunicipal
QuantidadeRps
ListaRps
Rps

Tipo
TsNumeroLote
TsCnpj
TsInscricaoMunicipal
TsQuantidadeRps
TcRps

Pai
1
1
1
1
1
2

Ocorrncia
1-1
1-1
1-1
1-1
1-1
1-1
1-N

Observao

Em resposta a chamada do servio ser devolvida a estrutura definida na


tabela a seguir.
servico_enviar_lote_rps_resposta.xsd
#
1

Nome
EnviarLoteRpsResposta
NumeroLote
DataRecebimento
Protocolo
MensagemRetorno

Tipo
tsNumeroLote
datetime
tsNumeroProtocolo
tcMensagemRetorno

Pai
1
1
1
1

Ocorrncia
1-1

Observao

1-1

Choice

1-1

O lote ser processado posteriormente, sendo o seu resultado disponibilizado


para consulta.
4.5.2 Consulta de Situao de Lote de RPS
Esse servio ser executado atravs da chamada ao mtodo
ConsultarSituacaoLoteRps, passando a mensagem XML como parmetro
com a estrutura definida na tabela que segue.
servico_consultar_situacao_lote_rps_envio.xsd
#
1

Nome
ConsultarSituacaoLoteRpsEn
vio
Prestador

Tipo

TcIdentificacaoPrestador

Pai

Ocorrncia
1-1

1-1

Observao

25

Pgina 26 de 29
Reviso 1.00

Protocolo

TsNumeroProtocolo

1-1

Em resposta a chamada do servio ser devolvida a estrutura definida na


tabela a seguir.
servico_consultar_situacao_lote_rps_resposta.xsd
#
1

Nome
ConsultarSituacaoLoteRpsRe
sposta
NumeroLote
Situao
MensagemRetorno

Tipo

tsNumeroLote
tsSituacaoLoteRps
tcMensagemRetorno

Pai

1
1
1

Ocorrncia
1-1
1-1

Observao

Choice

1-1

4.5.3 Consulta de NFS-e por RPS


Esse servio ser executado atravs da chamada ao mtodo
ConsultarNfsePorRps, passando a mensagem XML como parmetro com a
estrutura definida na tabela que segue.
servico_consultar_nfse_rps_envio.xsd
#
1

Nome
ConsultarNfseRpsEnvio
IdentificacaoRps
Prestador

Tipo
tcIdentificacaoRps
tcIdentificacaoPrestador

Pai

Ocorrncia

1
1

1-1
1-1

Observao

Em resposta a chamada do servio ser devolvida a estrutura definida na


tabela a seguir.
servico_consultar_nfse_rps_resposta.xsd
#
1

Nome
ConsultarNfseRpsResposta
Nfse
MensagemRetorno

Tipo
tcNfse
tcMensagemRetorno

Pai

Ocorrncia

1
1

1-1
1-1

Observao
Choice

4.5.4 Consulta de NFS-e


Esse servio ser executado atravs da chamada ao mtodo ConsultarNfse,
passando a mensagem XML como parmetro com a estrutura definida na
tabela que segue.
servico_consultar_nfse_envio.xsd
#
1

Nome
ConsultarNfseEnvio
Prestador
NumeroNfse
PeriodoEmissao
DataInicial
DataFinal
Tomador
IntermediarioServico

Tipo
tcIdentificacaoPrestador
tsNumeroNfse
date
date
tcIdentificacaoTomador
TcIdentificacaoIntermediar
ioServico

Pai
1
1
1
2
2
1
1

Ocorrncia
1-1
1-1
0-1
0-1
1-1
1-1
0-1
0-1

Observao

26

Pgina 27 de 29
Reviso 1.00

Em resposta a chamada do servio ser devolvida a estrutura definida na


tabela a seguir.
servico_consultar_nfse_resposta.xsd
#
1
2

Nome
ConsultarNfseResposta
ListaNfse
Nfse
MensagemRetorno

Tipo

tcNfse
tcMensagemRetorno

Pai
1
2
1

Ocorrncia
1-1
1-1
0-N
1-1

Observao

Choice

4.5.5 Consulta de Lote de RPS


Esse servio ser executado atravs da chamada ao mtodo
ConsultarLoteRps, passando a mensagem XML como parmetro com a
estrutura definida na tabela que segue.
servico_consultar_lote_rps_envio.xsd
#
1

Nome
ConsultarLoteRpsEnvio
Prestador
Protocolo

Tipo
TcIdentificacaoPrestador
TsNumeroProtocolo

Pai
1
1

Ocorrncia
1-1
1-1
1-1

Observao

Em resposta a chamada do servio ser devolvida a estrutura definida na


tabela a seguir.
servico_consultar_lote_rps_resposta.xsd
#
1
2
3

Nome
ConsultarLoteRpsResposta
ListaNfse
Nfse
ListaMensagemRetorno
MensagemRetorno

Tipo

tcNfse
TcMensagemRetornoLote

Pai
1
2
1
3

Ocorrncia
1-1
1-1
1-N
1-1
1-N

Observao

Choice

4.5.6 Cancelamento NFS-e


Esse servio ser executado atravs da chamada ao mtodo CancelarNfse,
passando a mensagem XML como parmetro com a estrutura definida na
tabela que segue.
servico_cancelar_nfse_envio.xsd
#
1

Nome
CancelarNfseEnvio
Prestador
NumeroNfse

Tipo
TcIdentificacaoPrestador
tsNumeroNfse

Pai
1
1

Ocorrncia
1-1
1-1
1-1

Observao

Em resposta a chamada do servio ser devolvida a estrutura definida na


tabela a seguir.
servico_cancelar_nfse_resposta.xsd

27

Pgina 28 de 29
Reviso 1.00

#
1

Nome
CancelarNfseResposta
Sucesso
DataHora
MensagemRetorno

Tipo
boolean
datetime
tcMensagemRetorno

Pai

Ocorrncia

1
1
1

1-1
1-1
0-1

Observao

28

Pgina 29 de 29
Reviso 1.00

5 ANEXO
5.1

TABELA DE ERROS E ALERTAS

Planilha do Microsoft
Excel

29

Você também pode gostar