Sunteți pe pagina 1din 52

Especificaes lotenfse.

dll
DLL de funes para integrao de sistemas de informao de emis-
sores RPS e o Sistema de Nota Fiscal de Servios Eletrnica(NFS-e)

1. Apresentao
Nota Fiscal de Servios Eletrnica (NFS-e) o documento emitido e armazenado eletroni-
camente em sistema prprio da Prefeitura, com o objetivo de registrar as operaes relati-
vas prestao de servios.

Para os contribuintes que emitem uma grande quantidade de notas, foi criado o Regime
Especial de entrega em lote, no qual o contribuinte pode emitir Registros Provisrios de
Servios(RPS) atravs de seus prprios sistemas e estes em um determinado momento,
sero convertidos em notas fiscais. Para converter estes RPS em NFS-e o
sistema do con- tribuinte deve se conectar ao Web Service da prefeitura e enviar as
informaes de RPS gerados no formato XML, gerando um lote de entrega.

O Recibo Provisrio de Servios (RPS) um documento que dever ser usado por emi-
tentes da NFS-e no eventual impedimento da emisso on-line da Nota. Tambm poder
ser utilizado pelos prestadores sujeitos emisso de grande quantidade de NFS-e (exem-
plo: estacionamentos). Nesse caso, o prestador emitir o RPS para cada transao e provi-
denciar sua converso em NFS-e mediante o envio de lotes (processamento em lote). No
anexo 5 deste manual pode se obter o modelo de RPS a ser seguido.

Para facilitar o processo de integrao foi desenvolvido uma biblioteca de funes para
acessar o Web Service da NFS-e. A lotenfse.dll pode ser utilizada para integrao do siste-
ma de informao dos contribuintes e o sistema WebService do portal da Nota Fiscal de
Servios Eletrnica(NFS-e).

O contribuinte que esta no Regime Especial de entrega em lote deve se credenciar no site
da NFSe para liberar a entrega em lote atravs do Web Service da prefeitura. Foi disponibili-
zado um ambiente de homologao e testes, onde o contribuinte pode realizar testes de en-
trega em lote enquanto esta em processo de integrao. Estes testes simulam o ambiente
de produo, porm os testes realizados neste ambiente no tm validade. Para utilizar o
ambiente de homologao o contribuinte deve se credenciar para este ambiente no site de
homologao. O endereo para acessar o ambiente de produo e homologao esto no
tpico Anexo 7 deste manual.

NFSE - Nota Fiscal de Servios Eletrnica


2
2. Funcionalidades

A seguir esto resumidas os mtodos disponveis na DLL da NFS-e bem como suas fun-
cionalidades:

Envio de Lote de RPS


Neste mtodo, os prestadores de servios atravs de seus sistemas podero enviar lotes
de RPS para que sejam convertidas em NFS-e.

Consulta de Lote
Permite consultar as NFS-e emitidas pelo prestador atravs do nmero de lote informado.
Aps o envio bem sucedido de um Lote de RPS, a DLL retorna diversas informaes,
entre elas o nmero do lote processado, NFS-e geradas neste lote.

Consulta de Notas
Permite a consulta das NFS-e emitidas pelo prestador.

Consulta Seqencial RPS


Permite consultar o nmero do ltimo RPS convertido pelo prestador.

Cancelamento de Notas
Permite o cancelamento das NFS-e emitidas pelo prestador.

Consulta de NFS-e ou RPS


Permite recuperar as informaes de uma NFS-e ou RPS convertido.

3. Funcionamento da Dll

Processo ideal para converso de Lote

3.1. Envio de Lote de RPS

A remessa de RPS se d em 5 etapas descritas abaixo:

1 ETAPA: CRIAO DA REMESSA


2 ETAPA: REGISTRO DOS RPS ( Loop que roda todos os RPS )
3 ETAPA : GRAVA SERVIOS DA RPS.
4 ETAPA : GRAVA DEDUES DA RPS.
FIM DA 2 ETAPA ( FINALIZA LOOP DA SEGUNDA ETAPA)
FIM DA 1 ETAPA
5 ETAPA ENVIO DE LOTE DE RPS
6 ETAPA PEGA ERROS E ALERTAS DA REMESSA
7 ETAPA PEGA OS DADOS DAS NOTAS PROCESSADAS

Tabela de funcionalidade Entrega de Lote de RPS:


ETAPA FUNO DESCRIO
1 CriarLote Cria lote de remessa, com informaes do con-
tribuinte
2 AdicionarRPS Registra os dados dos RPS da Remessa

NFSE - Nota Fiscal de Servios Eletrnica


3
3 AdicionarItemServicoRPS Registra os servios do RPS
4 AdicionarDeducaoRPS Registra as dedues do RPS
5 Enviar Envia o lote para processamento.
6 ObterErroLote Retorna os erros de processamento do lote.
6 ObterAlertaLote Retorna os alertas de processamento do lote
7 ObterNotaRetorno Retorna as notas geradas pelo lote

Especificaes das funes :


Funo: CriarLote
Declarao: function CriarLote( CodCidade: Integer ;
CPFCNPJRemetente: PChar;
RazaoSocialRemetente: PChar ): Integer;

Parmetros de Envio:
CAMPO TIPO CONTEDO OBRIG.
CodCidade N Cdigo da Cidade de Declarao do Contri- S
buinte segundo padro SIAFI
CPFCNPJRemetente A CPF ou CNPJ do Remetente S
RazaoSocialRemetente A Razo social do remetente. S

OBS.: O CPF/CNPJ do Remetente deve ser CNPJ da empresa ou CPF do Responsvel


legal. O certificado digital utilizado para assinar o lote deve estar registrado para
este remet- ente de lote. Se a empresa no possuir certificado digital, pode-se
utilizar o certificado de outra pessoa fsica ou juridica. Para isso deve se vincular o
CPF/CNPJ como sub-usurio no site da NFSe e colocar como remente do lote essa
pessoa.

Funo: AdicionarRPS
Declarao: function AdicionarRPS( InscricaoMunicipalPrestador: PChar ;
RazaoSocialPrestador: PChar ;
TipoRPS : PChar ; SerieRPS:
PChar ; NumeroRPS : Integer
; DataEmissaoRPS : PChar ;
SituacaoRPS : PChar ;
SerieRPSSubstituido: PChar ;
NumeroRPSSubstituido : Integer ;
NumeroNFSeSubstituida : Integer ;
DataEmissaoNFSeSubstituida : PChar ;
SeriePrestacao: PChar ;
InscricaoMunicipalTomador : PChar ;
CPFCNPJTomador : PChar ;
RazaoSocialTomador : PChar ;
TipoLogradouroTomador : PChar ;
LogradouroTomador : PChar ;
NumeroEnderecoTomador : PChar ;
ComplementoTomador : PChar ;

NFSE - Nota Fiscal de Servios Eletrnica


4
TipoBairroTomador: PChar ;
BairroTomador : PChar ;
CidadeTomador : Integer ;
CidadeTomadorDescricao: PChar ;
CEPTomador : PChar ;
EmailTomador : PChar ;
CodigoAtividade: PChar ;
AliquotaAtividade : Double ;
TipoRecolhimento : PChar ;
MunicipioPrestacao : Integer ;
MunicipioPrestacaoDescricao:PChar ;
Operacao : PChar ;
Tributacao : PChar ;
ValorPIS : Double ;
ValorCOFINS : Double ;
ValorINSS : Double ;
ValorIR : Double ;
ValorCSLL : Double ;
AliquotaPIS : Double ;
AliquotaCOFINS : Double ;
AliquotaINSS : Double ;
AliquotaIR : Double ;
AliquotaCSLL : Double ;
DescricaoRPS : PChar ;
DDDPrestador : PChar ;
TelefonePrestador : PChar ;
DDDTomador : PChar ;
TelefoneTomador : PChar ;
MotCancelamento : PChar) : Integer ;
CpfCnpjIntermediario: PChar ) : Integer ;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
InscricaoMunicipalPrestador A 11 Inscrio Municipal do Prestador. S
Verificar regra de
preenchimento do campo no
RazaoSocialPrestador A 120 Anexo
Razo 01.
Social do Prestador S
TipoRPS A 20 Tipo de RPS S
Padro RPS
SerieRPS A 2 Srie do RPS - Padro NF S
NumeroRPS N 12 Nmero do RPS S
DataEmissaoRPS D Data de Emisso do RPS S
No formato DD/MM/YYYY

SituacaoRPS A 1 Situao da RPS S


N-Normal
C-Cancelada
SerieRPSSubstituido A 10 No preencher N
NFSE - Nota Fiscal de Servios Eletrnica
5
NumeroRPSSubstituido N 10 No preencher N
NumeroNFSeSubstituida N 10 No preencher S
DataEmissaoNFSeSubstituida D Preencher com 01/01/1900 S
SeriePrestacao A 5 Srie de Prestao. S
Preencher com : 99- Modelo
nico
InscricaoMunicipalTomador A 11 Inscrio Municipal do Tomador. S
Caso o tomador no for do mu-
nicipio no preencher, caso o to-
mador for do municpio preencher
com a Inscrio Municipal for-
matada Seguindo Anexo 01.
CPFCNPJTomador A 14 CPF ou CNPJ do Tomador S
Ex: 00000000191
RazaoSocialTomador A 120 Razo Social do Tomador S
TipoLogradouroTomador A 10 Tipo de Logradouro do Tomador. S
Campo de Preenchimento Livre.
Verificar exemplo no Anexo 02.
LogradouroTomador A 50 Logradouro do Tomador S
NumeroEnderecoTomador A 9 Numero de Endereo do Toma- S
dor
ComplementoTomador A 30 Complemento do End. do toma-
dor.
TipoBairroTomador A 10 Tipo de Bairro do Tomador. Cam- S
po de preenchimento livre.
Verifi- car exemplo no Anexo 03.
BairroTomador A 50 Bairro do Tomador S
CidadeTomador N 10 Cdigo da Cidade do Tomador S
Padro SIAFI
CidadeTomadorDescricao A 50 Nome da Cidade do Tomador S
CEPTomador A 8 CEP do Tomador S
Ex:37900000
EmailTomador A 60 Email do Tomador. Caso o Toma- S
dor no possua email informar o
valor - Caso queira enviar para
mais de um email colocar ;, Sep-
arando os emails e no final.
Exemplo:nome@bol.com.br;
outro@bol.com.br;
CodigoAtividade A 9 Cdigo da Atividade S
AliquotaAtividade N 6,4 Alquota de ISS da Atividade S
TipoRecolhimento A 1 Tipo de Recolhimento S
A A Recolher
R - Retido na Fonte
MunicipioPrestacao N 10 Cdigo do Municpio de Presta- S
o Padro SIAFI

NFSE - Nota Fiscal de Servios Eletrnica


6
MunicipioPrestacaoDescricao A 30 Municpio de Prestao do Ser- S
vio
Operacao A 1 Operao S
A-Sem Deduo
B-Com Deduo/Materiais
C-Imune/Isenta de ISSQN
D-Devoluo / Simples Remessa
J-Intermediao*
Tributacao A 1 Tributao: S
C - Isenta de ISS
E - No Incidncia no Municpio
F - Imune
K - Exigibilidd Susp.Dec.J/Proc.A
N - No Tributvel
T Tributvel
G - Tributvel Fixo
H - Tributvel S.N.
ValorPIS N 15,2 Valor PIS N
ValorCOFINS N 15,2 Valor COFINS N
ValorINSS N 15,2 Valor do INSS N
ValorIR N 15,2 Valor do IR N
ValorCSLL N 15,2 Valor do CSLL N
AliquotaPIS N 6,4 Alquota PIS N
AliquotaCOFINS N 6,4 Alquota COFINS N
AliquotaINSS N 6,4 Alquota INSS N
AliquotaIR N 6,4 Alquota IR N
AliquotaCSLL N 6,4 Alquota CSLL N
DescricaoRPS A 1500 Descrio/ Dados Complemen- S
tares do RPS
DDDPrestador A 3 DDD do telefone do Prestador N
TelefonePrestador A 8 Telefone do Prestador N
DDDTomador A 3 DDD Telefone do Tomador. N
Quando no souber informar: 00
TelefoneTomador A 8 Telefone do Tomador. N
MotCancelamento A 80 Motivo do Cancelamento N
CpfCnpjIntermediario A 14 CPF/CNPJ Intermedirio N

* A operao J-Intermediao utilizada apenas na prefeitura de Campo Grande, nas de-


mais prefeituras no deve ser utilizada. Quando informado o tipo de operao J-Intermedi-
ao deve se informar o CPF/CNPJ do Intermedirio.

Caso o tomador for um consumidor no identificado informar no campo


CPFCNPJTomador o valor 77777777777, no campo RazaoSocialTomador informar
Consumidor e nos cam- pos TipoLogradouroTomador, LogradouroTomador,
TipoBairroTomador, BairroTomador EmailTomador informar o valor - quando no possuir
essa informao. No campo Numero- EnderecoTomador informar valor zero e no campo
CEPTomador informar 00000000. Caso o tomador for estrangeiro informar no campo
NFSE - Nota Fiscal de Servios Eletrnica
7
CidadeTomador o valor 9999 e no

8
campo CidadeTomadorDescricao informar o nome do pas, no campo CepTomador infor-
mar 00000000.
Caso o municpio de prestao for no exterior informar no campo MunicipioPrestacao o
valor 9999 e no campo MunicipioPrestacaoDescricao informar o nome do pas.
Quando a situao do RPS for cancelada, deve se informar o motivo do cancelamento no
campo MotCancelamento.

Funo: AdicionarItemServicoRPS
Declarao: function AdicionarItemServicoRPS( DiscriminacaoServico: PChar ;
Quantidade: Double ;
ValorUnitario: Double ;
Tributavel:PChar ): Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
DiscriminacaoServico A 80 Discriminao do Servio S
Quantidade N 10,4 Quantidade do servio tomado S
ValorUnitario N 15,4 Valor Unitrio S
Tributvel A 1 Tributvel, S Item tributvel N
N No tributvel
Apenas as ativades de CNAE
652020002, 655030002,
661340000 e 869099902. Per-
mitem itens no tributveis,
As demais atividades devem
ser informado o item como
tributvel.

Obs: Cada RPS pode ter no mximo 25 itens.

Funo: AdicionarDeducaoRPS
Declarao: function AdicionarDeducaoRPS ( DeducaoPor: PChar ;
TipoDeducao: PChar ;
CPFCNPJReferencia: PChar ;
NumeroNFReferencia: Integer ;
ValorTotalReferencia: Double ;
PercentualDeduzir: Double ;
ValorDeduzir: Double ): Integer;

CAMPO TIPO TAM. CONTEDO OBRIG.


DeducaoPor A 20 Valores Possveis: S
Percentual
Valor

NFSE - Nota Fiscal de Servios Eletrnica


8
TipoDeducao A 255 Caso a deduo for por Valor os va- S
lores possveis so :
Despesas com Materiais ou
Despesas com Sub-empreitada
Caso a deduo for por Percentual in-
formar o campo com valor vazio.
CPFCNPJReferencia A 14 CPF ou CNPJ do Fornecedor ou Presta- S
dor do Servio.
NumeroNFReferencia N 10 Nmero da Nota Fiscal de Referncia S
ValorTotalReferencia N 15,2 Valor total da Nota Fiscal de Referncia S
PercentualDeduzir N 15,2 Percentual a Deduzir S
ValorDeduzir N 15,2 Valor a ser Deduzido S

Obs: Cada RPS pode ter no mximo 200 registros de dedues.

* Os campos CPFCNPJReferencia, NumeroNFReferencia e ValorTotalReferencia devem


ser preenchidos quando a atividade permite deduo por material e houver deduo pela
compra de matrias, quando no for este caso no preencher estes campos.

Aps criar o lote de remessa e gravar os dados dos RPS a serem enviados o prximo
passo enviar a declarao. Caso tenha ocorrido algum erro na validao dos dados de
envio ser retornado valor false no parmetro Sucesso. O processamento do lote pelo
servidor pote ser sncrono ou assncrono, por padro o processamento esta sendo feito
assncrono. Mais abaixo explicaremos melhor o processamento sncrono e assncrono.

Funo: Enviar
Declarao: function Enviar( pDocAssinatura: PChar;
var pAssincrono : PChar;
var pSucesso : PChar ;
var pNumeroLote: Integer ;
var pQtdNotasProcessadas : Integer ;
var pValorTotalServicos: Double ;
var pValorTotalDeducoes:Double;
var pErros: Integer;
var pAlertas: Integer): Integer ;

NFSE - Nota Fiscal de Servios Eletrnica


9
Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
pDocAssinatura A 14 Informar S caso queira que a DLL real- S
ize a assinatura digital. Caso contrrio de-
ixar vazio. No web service de homologao
no obrigatrio assinar o lote com
certifi- cado digital, com isso pode se
passar um valor vazio para esse campo.
Em produo obrigatrio assinar o lote
com certificado digital. Com isso informe o
valor S para o campo. A DLL ir abrir uma
caixa de dilogo para selecionar o
certificado. Para correto funcionamento
do procedimento de assina- tura
necessrio ter seguido os passos de-
scritos no arquivo Leia-me.txt que vm junto
com os arquivos da DLL.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG
pAssincrono A 1 Tipo de processamento do Servio: S- N
Assincrono
N-Sincrono.
Caso o retorno do processamento seja
Assincrono sera retornado o nmero de
lote e as demais informaes estaro
zeradas. Deve se fazer chamada a fun-
o de Consulta de Lote para obter o re-
sultado o processamento.
pSucesso A 5 Declarao entregue com sucesso N
Valores possveis: true ou false
pNumeroLote N 15 Numero do lote gerado pelo portal da N
NFSe para a remessa.
pQtdNotasProcessadas N 15 Quantidade de notas processadas no N
lote.
pValorTotalServicos N 15,2 Valor total dos servios das notas pro- N
cessadas no lote
pValorTotalDeducoes N 15,2 Valor total dos servios das notas pro- N
cessadas no lote
pErros N 15 Caso tenha ocorrido algum erro no pro- N
cessamento do lote. Ser retornado o
nmero de erros gerados e o lote ser
recusado.
pAlertas N 15 Caso tenha ocorrido algum alerta no N
processamento do lote, ser retornado
o nmero de alertas gerados.

NFSE - Nota Fiscal de Servios Eletrnica


10
Ao chamar o mtodo Enviar ser gerado um XML com as informaes do lote e este ser
enviado ao Web Service e ser retornado um numero de lote gerado. O processamento do
lote pode ser Sincrono ou Assincrono.

Processamento Sincrono :
O resultado do processamento e retornado na mesma conexo, ou seja no momento de
chamada da funo Enviar realizado o processamento do lote e as notas geradas ou erros
so retornados;

Processamento Assincrono :
O lote gravado numa fila de espera para processamento, para obter o
resultado do pro- cessamento necessrio uma segunda conexo ao web service
fazendo chamada a con- sulta de lote.

Caso o parmetro pAssincrono do mtodo Enviar for N-Sincrono e no ocorreram


erros, o campo pQtdNotasProcessadas ir retornar o nmero de notas geradas, caso ocor-
rerem erros o lote ser recusado, o parmetro pQtdNotasProcessadas ir retornar valor
zero e o parmetro erros ir retornar o nmero de erros gerados.

Caso o parmetro pAssincrono retornar S-Assincrono os demais campos todos estaro


com valores zerados, para obter o resultado do processamento necessrio chamar a fun-
o ConsultarLote.

Caso o parmetro pErros da funo enviar retornar um valor diferente de zero deve-se fazer
chamada a funo abaixo para obter os erros do processamento.

Funo: ObterErroLote
Declarao: function ObterErroLote( ErroItem:Integer;
var Codigo: Integer;
var Descricao: PChar;
var InscricaoPrestador : PChar;
var SerieRPS: PChar ;
var NumeroRPS: Integer;
var DataEmissaoRPS:PChar;
var RazaoSocialPrestador: PChar ):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
ErroItem N 15 Posio do erro retornado na remessa. Por exemplo, S
se a remessa retornou dois erros. O ErrosItem de valor
Zero pega o primeiro erro e assim por diante.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
Codigo N 15 Cdigo do erro gerado N
Descrio A 2000 Descrio do erro gerado N
InscricaoPrestador A 11 Inscrio do Prestador do RPS que ger- N
ou o erro
SerieRPS A 10 Srie do RPS que gerou o erro N
NFSE - Nota Fiscal de Servios Eletrnica
1
1
NumeroRPS N 12 Nmero do RPS que gerou o erro N
DataEmissaoRPS D Data Emissao RPS N
Formato : DD/MM/YYYY
RazaoSocialPrestador A 120 Razao Social do Prestador do RPS que N
gerou o erro.

*Obs: Caso tenha ocorrido erros no processamento o lote ser recusado e o contribuinte
deve reenviar o lote com os RPS novamente.

Caso o parmetro pAlertas da funo enviar retornar um valor diferente de zero deve-se
fazer chamada a funo abaixo para obter os alertas do processamento;

Funo: ObterAlertaLote
Declarao: function ObterAlertaLote( AlertaItem:Integer;
var Codigo: Integer;
var Descricao: PChar;
var InscricaoPrestador : PChar;
var SerieRPS: PChar ;
var NumeroRPS: Integer;
var DataEmissaoRPS:PChar;
var RazaoSocialPrestador: PChar ):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
AlertaItem N 15 Posio do alerta retornado na remessa. Por exemplo S
se a remessa retornou dois alertas. O AlertaItem de
valor Zero pega o primeiro alerta e assim por diante.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
Codigo N 15 Cdigo do alerta gerado N
Descrio A 2000 Descrio do alerta gerado N
InscricaoPrestador A 11 Inscrio do Prestador do RPS que ger- N
ou o alerta
SerieRPS A 2 Srie do RPS que gerou o alerta N
NumeroRPS N 12 Nmero do RPS que gerou o alerta N
DataEmissaoRPS D Data Emisso RPS N
Formato: DD/MM/YYYY
RazaoSocialPrestador A 120 Razo Social do Prestador do RPS que N
gerou o alerta.

Caso o parmetro pQtdNotasProcessadas da funo enviar retornar um valor diferente de


zero deve-se fazer chamada a funo abaixo para obter as notas geradas.

Funo: ObterNotaRetorno
Declarao: function ObterNotaRetorno( RetornoItem : Integer ;
var InscricaoPrestador: PChar ;
var NumeroNFe: Integer ;
NFSE - Nota Fiscal de Servios Eletrnica
12
var CodigoVerificacao: PChar ;
var RazaoSocialPrestador: PChar ;
var SerieRPS : PChar ;
var NumeroRPS: Integer ;
var DataEmissaoRPS : PChar ):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
RetornoItem N 15 Posio do Nota retornada no processamento. Por S
exemplo, se a remessa retornou quatro notas. O
RetornoItem de valor Zero pega a primeira nota e
assim por diante.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
InscricaoPrestador A 11 Inscrio do Prestador do RPS N
NumeroNFe N 12 Nmero da Nota Fiscal Gerada N
CodigoVerificacao A 255 Cdigo de Verificao N
RazaoSocialPrestador A 120 Razo social do prestador N
SerieRPS A 2 Srie do RPS N
NumeroRPS N 12 Nmero do RPS N
DataEmissaoRPS D Data de Emisso da RPS N
Formato: DD/MM/YYYY

3.2 Consulta de Lote


Pode se acessar a funo de consulta de lote para consultar informaes sobre determi-
nado lote gerado, ou no caso de retorno Assncrono, como especificado no item 1,
pode se consultar se o lote foi processado e o resultado do processamento.

NFSE - Nota Fiscal de Servios Eletrnica


1
3
Caso o lote tenha sido processado o parmetro sucesso ir retornar true, no caso de pro-
cessamento Assncrono caso o lote no tenha sido processado ainda, ir retornar o valor
false e no alertas ir trazer um alerta. Ao consultar os alertas com a funo ObterAlerta-
Lote, ir retornar o cdigo 203 LOTE NO PROCESSADO AINDA.

Funo para consultar o Retorno de Processamento de Lote:

Funo: ConsultarLote
Declarao: function ConsultarLote( CodCidade: Integer ;
CPFCNPJRemetente: PChar ;
NumeroLote: Integer ;
var Sucesso: PChar;
var DataEnvioLote: PChar;
var QtdNotasProcessadas: Integer;
var TempoProcessamento: PChar;
var ValorTotalServicos: Double;
var ValotTotalDeducoes: Double ;
var Alertas: Integer;
var Erros: Integer):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
CodCidade N 10 Codigo da Cidade de Declarao padro S
SIAFI.
CPFCNPJRemetente A 14 CPF ou CNPJ Remetente S
NumeroLote N 10 Nmero do Lote a ser consultado S

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
Sucesso A 5 true Consulta realizada com sucesso N
false Erro na consulta
DataEnvioLote D Data de Envio do Lote N
Formato DD/MM/YYYY
QtdNotasProcessadas N 10 Quantidade de Notas Processadas no N
Lote
TempoProcessamento N 10 Tempo total de processamento N
ValorTotalServicos N 15,2 Valor Total dos Servios N
ValorTotalDeducoes N 15,2 Valor total das Dedues N
Alertas N 10 Quantidade de alertas ocorridos N
Erros N 10 Quantidade de erros ocorridos N

Caso o parmetro QtdNotasProcessadas retornar um valor diferente de zero, deve se ex-


ecutar o mtodo abaixo para obter os dados das notas do lote.

NFSE - Nota Fiscal de Servios Eletrnica


14
Funo para obter as notas retornadas pelo mtodo ConsultarLote:

Funo: ObterNotaDoConsultarLote
Declarao: function ObterNotaDoConsultarLote( NrItem:Integer;
var InscricaoPrestador: PChar;
var NumeroNFe: Integer ;
var CodigoVerificacao:PChar ;
var SerieRPS:PChar ;
var NumeroRPS: Integer;
var DataEmissaoRPS: PChar ;
var RazaoSocialPrestador: PChar ;
var TipoRecolhimento: PChar ;
var ValorDeduzir :Double;
var ValorTotal : Double;
var Aliquota : Double ):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
NrItem N 10 Posico da Nota retornada na consulta de lote. Por ex- S
emplo se a consulta retornou quatro notas. O NrItem de
valor Zero pega a primeira nota.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
InscricaoPrestador A 11 Inscrio Municipal do Contribuinte N
NumeroNFe N 12 Numero da Nota Fiscal de Servios N
CodigoVerificacao A 255 Cdigo de Verificao N
SerieRPS A 2 Serie do RPS N
Padro NF Nota Fiscal de Servios
NumeroRPS N 12 Nmero do RPS N
DataEmissaoRPS D Data de Emisso do RPS N
Formato: DD/MM/YYYY
RazaoSocialPrestador A 120 Razo Social do Contribuinte N
TipoRecolhimento A 1 Tipo de Recolhimento N
A A Recolher
R - Retido na Fonte
ValorDeduzir N 15,2 Valor a Deduzir N
ValorTotal N 15,2 Valor total N
Aliquota N 15,2 Alquota N
3.3 Consulta de Notas

A consulta de notas retornar as notas convertidas a partir de RPS enviados em lotes no


perodo passado na consulta.

O Web service pode retornar apenas uma quantidade limitada de notas de no maximo 100
notas por requizio. Com isso necessrio realizar mais de uma consulta para obter as
notas de determinado periodo. Por exemplo se o web service retorna no maximo 100 notas
no periodo a ser consultado existem mais de 100 notas, na primeira consulta deve-se
passar a nota inicial como zendo a numero 0, assim o web service ira retornar as notas do
periodo onde o nmero da nota for maior ou igual a 0(zero), sendo retornado at 100 notas
no mximo, ento pega-se o nmero da ltima nota retornada acrescentando mais 1(um) e
reliza novamente a consulta, o web service ir retornar as prximas 100 notas a partir desta.
A consulta deve ser repetida at que o retorno da quantidade de notas seja igual a zero.
Indicando que j foram retornados todos as notas do perido.

Funo: ConsultarNotasConvertidas
Declarao: function ConsultarNotasConvertidas( pDocAssinatura : PChar;
CodCidade: Integer ;
CPFCNPJRemetente: PChar ;
InscricaoMunicipalPrestador: PChar ;
DataInicio: PChar;
DataTermino: PChar;
NotaInicial: Integer;
var QtdNotas, Erros : Integer ):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
CodCidade N 10 Cdigo da Cidade de Declarao S
padro SIAFI.
CPFCNPJRemetente A 14 CPF ou CNPJ Remetente S
InscricaoMunicipalPrestador A 11 Inscrio Municipal do Prestador S
DataInicio D Data inicial do perodo a ser consul- S
tado
Formato: DD/MM/YYYY
DataTermino Data Final do perodo a ser consul- S
tado.
Formato: DD/MM/YYYY.
NotaInicial N 10 Informe o nmero da primeira nota, S
sero retornados as notas onde o
numero seja maior ou igual ao valor
informado neste campo.

NFSE - Nota Fiscal de Servios Eletrnica


16
Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
QtdNotas N 10 Quantidade de notas retornadas pela consulta N
Erros N 10 Quantidade de erros ocoridos na consulta. Caso ten- S
ho retornado um valor diferente de zero deve se fazer
chamada a funo ObterErroConsultarNota para ob-
ter os erros de retorno.

Caso o campo QtdNotas retornar valor diferente de zero deve se fazer chamadas na funo
abaixo para obter os dados de cada nota.

Funo: ObterNotaDoConsultarNotas
Declarao: function ObterNotaDoConsultarNotas( PosNotaConsulta:Integer;
var NumeroNota: Integer;
var DataProcessamento: PChar ;
var NumeroLote : Integer ;
var CodigoVerificacao : PChar ;
var Assinatura : PChar ;
var InscricaoMunicipalPrestador: PChar ;
var RazaoSocialPrestador: PChar ;
var TipoRPS: PChar ;
var SerieRPS : PChar ;
var NumeroRPS : Integer ;
var DataEmissaoRPS : PChar ;
var SituacaoRPS : PChar ;
var SerieRPSSubstituido :PChar ;
var NumeroRPSSubstituido : Integer ;
var NumeroNFSeSubstituida :Integer ;
var DataEmissaoNFSeSubstituida : PChar ;
var SeriePrestacao :PChar ;
var InscricaoMunicipalTomador : PChar ;
var CPFCNPJTomador : PChar ;
var RazaoSocialTomador :PChar ;
var TipoLogradouroTomador :PChar ;
var LogradouroTomador :PChar;
var NumeroEnderecoTomador :PChar ;
var ComplementoEnderecoTomador :PChar ;
var TipoBairroTomador: PChar ;
var BairroTomador: PChar ;
var CidadeTomador:PChar ;
var CidadeTomadorDescricao: PChar ;
var CEPTomador:PChar ; var
EmailTomador:PChar ; var
CodigoAtividade: PChar ;
var AliquotaAtividade: Double ;
var TipoRecolhimento :PChar ;
var MunicipioPrestacao: Integer ;
var MunicipioPrestacaoDescricao: PChar ;
var Operacao: PChar ;
var Tributacao: PChar ;
NFSE - Nota Fiscal de Servios Eletrnica
17
var ValorPIS : Double ;
var ValorCOFINS:Double ;
var ValorINSS : Double ;
var ValorIR : Double ;
var ValorCSLL : Double ;
var AliquotaPIS : Double ;
var AliquotaCOFINS : Double;
var AliquotaINSS : Double ;
var AliquotaIR : Double ;
var AliquotaCSLL : Double ;
var DescricaoRPS : PChar ;
var DDDPrestador : PChar ;
var TelefonePrestador : PChar ;
var DDDTomador : PChar ;
var TelefoneTomador : PChar ;
var MotCancelamento : PChar ;
var CpfCnpjIntermediario : PChar ;
var Deducoes : Integer ;
var Itens : Integer ):Integer

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
PosNo - N 15 Posio na lista de nota obtidas com a funo Consul- S
t aCon - tarNotas. Por exemplo se retornou 5 notas, deve-se
sulta fazer um loop de 0 a 4 passando a posio.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
NumeroNota N 12 Nmero da Nota N
DataProcessamento D Data de Processamento N
NumeroLote N 12 Nmero do Lote N
CodigoVerificacao A 255 Cdigo de Verificao N
Assinatura A 255 Assinatura N
InscricaoMunicipal- A 11 Inscrio Municipal do Prestador N
Prestador
RazaoSocialPrestador A 120 Razo Social do Prestador N
TipoRPS A 20 Tipo do RPS N
SerieRPS A 2 Srie do RPS N
NumeroRPS N 12 Nmero do RPS N
DataEmissaoRPS D Data de Emisso do RPS N
No formato DD/MM/YYYY
SituacaoRPS A 1 Situao da RPS N
N-Normal
C-Cancelada

SerieRPSSubstituido A 12 Srie do RPS Substituto N

NFSE - Nota Fiscal de Servios Eletrnica


18
NumeroRPSSubstituido N 10 Nmero do RPS Substituto N
NumeroNFSeSubsti- N 12 Nmero da NFS-e Substituda N
tuida
DataEmissaoNFS- D Data de Emisso da NFS-e Substituda N
eSubstituida
SeriePrestacao A 5 Srie de Prestao N
99-Modelo nico
InscricaoMunicipalTo- A 11 Inscrio Municipal do Tomador. N
mador
CPFCNPJTomador A 14 CPF ou CNPJ do Tomador N
RazaoSocialTomador A 120 Razo Social do Tomador N
TipoLogradouroToma- A 10 Tipo de Logradouro do Tomador. N
dor
LogradouroTomador A 50 Logradouro do Tomador N
NumeroEnderecoTo- A 9 Numero de Endereo do Tomador N
mador
ComplementoEndere- A 30 Complemento End. Tomador N
coTomador
TipoBairroTomador A 10 Tipo de Bairro do Tomador N
BairroTomador A 50 Bairro do Tomador N
CidadeTomador N 10 Cdigo da Cidade do Tomador seguin- N
do cdigo padro SIAFI
CidadeTomadorDescri- A 30 Nome da Cidade do Tomador N
cao
CEPTomador N 8 CEP do Tomador N
Ex:37900000
EmailTomador A 60 Email do Tomador N
CodigoAtividade N 9 Cdigo da Atividade N
AliquotaAtividade N 6,4 Alquota de ISS da Atividade N
TipoRecolhimento A 1 Tipo de Recolhimento N
A A Recolher
R - Retido na Fonte
MunicipioPrestacao N 10 Cdigo do Municpio de Prestao N
seguindo cdigo padro SIAFI
MunicipioPrestacaoDe- A 30 Municpio de Prestao do Servio N
scricao
Operacao A 1 Operao N
A-Sem Deduo
B-Com Deduo/Materiais
C-Imune/Isenta de ISSQN
D-Devoluo / Simples Remessa
J-Intermediao*

NFSE - Nota Fiscal de Servios Eletrnica


19
Tributacao A 1 Tributao: N
C - Isenta de ISS
E - No Incidncia no Municpio
F - Imune
K - Exigibilidd Susp.Dec.J/Proc.A
N - No Tributvel
T Tributvel
G - Tributvel Fixo
H - Tributvel S.N.
ValorPIS N 15,2 Valor PIS N
ValorCOFINS N 15,2 Valor COFINS N
ValorINSS N 15,2 Valor do INSS N
ValorIR N 15,2 Valor do IR N
ValorCSLL N 15,2 Valor do CSLL N
AliquotaPIS N 6,4 Alquota PIS N
AliquotaCOFINS N 6,4 Alquota COFINS N
AliquotaINSS N 6,4 Alquota INSS N
AliquotaIR N 6,4 Alquota IR N
AliquotaCSLL N 6,4 Alquota CSLL N
DescricaoRPS A 1500 Descrio/ Dados Complementares do N
RPS
DDDPrestador A 3 DDD do telefone do Prestador N
TelefonePrestador A 8 Telefone do Prestador N
DDDTomador A 3 DDD Telefone do Tomador N
TelefoneTomador A 8 Telefone do Tomador N
MotCancelamento A 80 Motivo do Cancelamento N
CpfCnpjIntermediario A 14 CPF/CNPJ Intermedirio N
Deducoes N 10 Quantidade de Dedues N
Itens N 10 Quantidade de Itens N

Caso na funo anterior o parmetro Deducoes retornar um valor diferente de zero, deve-
se fazer chamada a funo abaixo para obter os itens de deduo da nota.

Funo: ObterDecucaoNota
Declarao: function ObterDecucaoNota( PosNotaConsulta: Integer ;
PosDeducaoNotaConsulta: Integer ;
var DeducaoPor :PChar ;
var TipoDeducao: PChar ;
var CPFCNPJReferencia: PChar ;
var NumeroNFReferencia: Integer ;
var ValorTotalReferencia : Double ;
var PercentualDeduzir: Double ;
var ValorDeduzir: Double): Integer;

NFSE - Nota Fiscal de Servios Eletrnica


20
Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
PosNotaConsulta N 10 Deve ter o mesmo valor do par- S
metro PosNotaConsulta passado
na ObterNotaDoConsultarNotas
PosDeducaoNotaConsulta N 10 Item de deduo, por exemplo se
retornou 5 itens. Deve-se fazer um
loop de 0 a 4 passando a posio.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
DeducaoPor A 20 Valores Possveis: S
Percentual
Valor
TipoDeducao A 255 Caso a deduo for por Valor os S
valores possveis so :
Despesas com Materiais ou
Despesas com Sub-empreitada
Caso a deduo for por Percen-
tual informar o campo com valor
vazio.
CPFCNPJReferencia A 14 CPF ou CNPJ do Fornecedor ou N
Prestador do Servio.
NumeroNFReferencia N 10 Nmero da Nota Fiscal de Refern- N
cia
ValorTotalReferencia N 15,2 Valor total da Nota Fiscal de Refer- N
ncia
PercentualDeduzir N 15,2 Percentual a Deduzir S
ValorDeduzir N 15,2 Valor a ser Deduzido S

Caso na funo ObterNotaDoConsultarNotas o parmetro Itens retornar um valor diferente


de zero, deve-se fazer chamada a funo abaixo para obter os itens de servio da nota.

Funo: ObterItemServicoNota
Declarao: function ObterItemServicoNota( PosNotaConsulta: Integer ;
PosItemNotaConsulta: Integer ;
var DiscriminacaoServico: PChar ;
var Quantidade: Double ;
var ValorUnitario: Double ;
var ValorTotal: Double): Integer;
var Tributavel:PChar): Integer;

NFSE - Nota Fiscal de Servios Eletrnica


21
Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
PosNotaConsulta N 10 Deve ter o mesmo valor do par- S
metro PosNotaConsulta passado
na ObterNotaDoConsultarNotas
PosItemNotaConsulta N 10 Item, por exemplo se a consulta de
notas retornou 5 itens de servio.
Deve-se fazer um loop de 0 a 4 pas-
sando a posio.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
DiscriminacaoServico A 80 Discriminao do Servio S
Quantidade N 10,4 Quantidade do servio tomado S
ValorUnitario N 15,4 Valor Unitrio S
ValorTotal N 15,2 Valor total do servio S
Tributvel A 1 Tributvel S- Item Tributvel , N- S
NoTributvel.

Caso o parmetro pErros da funo ConsultarNotasConvertidas retornar um valor dife-


rente de zero, deve-se fazer chamada a funes abaixo para obter os erros ocorridos. Por
exemplo, se o parmetro pErros retornou valor 5 deve se fazer um loop de 0 a 4 fazendo
chamada a funo ObterErroConsultarNota, passando a posio do erro.

Funo: function ObterErroConsultarNota( RetornoItem : Integer ;


var pCodigo: Integer ;
var pDescricao: PChar ) :Integer ;
Parmetros de envio:

CAMPO TIPO TAM. CONTEDO OBRIG.


RetornoItem N 10 Posio do erro retornada na funo S
ObterErroConsultarNota. Por exemplo
se o parmetro pErros retornou o valor
2. A posio 0 retorna os dados do pri-
meiro erro e assim por diante
Parmetros de retorno:

CAMPO TIPO TAM. CONTEDO OBRIG.


pCodigo N 10 Cdigo do Erro N
pDescricao A 2000 Descrio do Erro N

NFSE - Nota Fiscal de Servios Eletrnica


22
3.4. Consulta de NFSe ou RPS
Para consultar uma Nota Fiscal ou RPS, deve ser um enviado uma requisio de con-
sulta NFSe, para isso deve-se gerar um lote de consulta atravs das funes a seguir. Um
lote de consulta de NFS-e pode conter vrias notas ou RPS a serem consultados, desde
que estas sejam do mesmo prestador.
A implementao da consulta de NFSe deve seguir o seguinte procedimento :
Primeiro fazemos chamada a funo CriarLoteConsultaNFSe, essa funo cria o ca-
bealho do lote com as informaes do remetente. Em seguinda fazemos um loop adi-
cionando os RPS ou NFS-e a ser consultados. Para adicionar um RPS a ser consultado
fazemos chamada a funo AdicionarRPSConsultaNFSeRPS, para adicionar uma NFS-
-e deve-se fazer chamada a funo AdicionarNFSeConsultaNFSeRPS, e por fim
deve-se fazer chamada a funo EnviarConsultaNFSeRPS para enviar o lote de
consulta. Essa funo retorna um parmetro indicando a quantidade de notas retornadas
com sucesso. Os erros e alertas ocorridos sero retornados no parmetro pErros e
pAlertas.
O procedimento de consulta de NFSe pede que o lote seja assinado com o
certifica- do digital do contribuinte, no ambiente de homologao no necessrio assinar
o lote. A funo EnviarConsultaNFSeRPS possui um parmetro pDocAssinatura onde se
passado o valor S a funo ir assinar o lote com certificado digital selecionado
pelo contribuinte.
Definies das funes de consulta de NFS-e ou RPS :
Funo: CriarLoteConsultaNFSeRPS
Declarao: function CriarLoteConsultaNFSeRPS( CodCidade: Integer ;
CPFCNPJRemetente: PChar;
RazaoSocialRemetente: PChar ): Integer ;
Parmetros de envio:

CAMPO TIPO TAM. CONTEDO OBRIG.


CodCidade N 10 Cdigo da cidade da declarao pa- S
dro SIAFI.
CPFCNPJReme- A 14 CPF /CNPJ do remetente autorizado a s
tente transmitir
RazaoSocialReme- A 120 Razo social do remetente do lote s
tente
A funo abaixo adiciona os RPS a serem consultados no lote.

NFSE - Nota Fiscal de Servios Eletrnica


23
Funo: AdicionarRPSConsultaNFSeRPS
Declarao: function AdicionarRPSConsultaNFSeRPS(InscricaoMunicipalPrestador:
PChar ;
NumeroRPS : Integer ;
SeriePrestacao: Pchar ) : Integer ;
Parmetros de envio:

CAMPO TIPO TAM. CONTEDO OBRIG.


InscricaoMu- N 11 Inscrio Municipal do Prestador formatado S
nicipalPres- seguindo anexo 03 deste manual
tador
NumeroRPS N 10 Nmero do RPS a ser consultado s
SeriePresta- A 5 Srie de Prestao. s
cao
Preencher com : 99- Modelo
nico
A funo abaixo adiciona as notas a serem consultados no lote.
Funo: AdicionarNFSeConsultaNFSeRPS
Declarao: function AdicionarNFSeConsultaNFSeRPS(InscricaoMunicipalPrestador:
PChar ;
NumeroNota : Integer ;
CodigoVerificacao : PChar ) : Integer ;

Parmetros de envio:

CAMPO TIPO TAM. CONTEDO OBRIG.


InscricaoMu- N 11 Inscrio Municipal do Prestador formatado S
nicipalPres- seguindo anexo 03 deste manual
tador
NumeroNota N 10
Nmero da nota a ser consultada S
CodigoVerifi- A 5
Cdigo de verificao da nota. Quando S
cacao retor- nado as notas pelo mtodo
ConsultarLote um dos campos de retorno das
notas o cdigo
de verificao.
OBS.: Existe um limite mximo de 50 notas ou RPS na consulta.
A funo abaixo gera o lote de consulta a partir das informaes passadas nas funes
anteriores e envia para o web service. Em seguida o web service ir processar o lote no
mesmo instante e retornar o resultado da consulta.

NFSE - Nota Fiscal de Servios Eletrnica


24
Funo: EnviarConsultaNFSeRPS
Declarao: EnviarConsultaNFSeRPS( pDocAssinatura : PChar ;
var pSucesso : PChar ;
var pQtdNotasConsultaNFSe : Integer ;
var pErros: Integer;
var pAlertas: Integer): Integer ;

Parmetros de envio:

CAMPO TIPO TAM. CONTEDO OBRIG.


pDocAssina- A 1 Informar S caso queira assinar a consulta S
tura com certificado digital. Caso contrrio
deixar vazio.

Parmetros de retorno:

CAMPO TIPO TAM. CONTEDO OBRIG.


PSucesso A 5 Valor true indica que a consulta foi realizada N
com sucesso.
PQtdNotas- N 10 Retorna a quantidade de notas consultadas N
ConsultaNFSe com sucesso. Para obter os dados de cada
nota consultada deve-se fazer chamada a fun-
o ObterNotaRetornoNFSeRPS
PErros N 10 Quantidade de erros que ocorreram na consul- N
ta. Para obter os dados de cada erro deve se
fazer chamada a funo ObterErroLoteConsul-
taNFSeRPS
pAlertas N 10 Quantidade de alertas que ocorreram na con- N
sulta. Para obter os dados de cada alerta deve
se fazer chamada a funo ObterAlertaLote-
ConsultaNFSeRPS

Caso o parmetro pQtdNotasConsultaNFSe da funo EnviarConsultaNFSeRPS retornar


um valor maior que zero deve-se fazer chamada a funo abaixo para obter os dados das
notas consultadas. Por exemplo caso a funo tenha retornado 5 notas consultadas.
Deve-se fazer um loop de 0 a 4 fazendo chamanda a funo ObterNotaRetornoConsul-
taNFSeRPS, passando a posio no parmetro RetornoItem.

NFSE - Nota Fiscal de Servios Eletrnica


25
Funo: ObterNotaRetornoNFSeRPS
Declarao: function ObterNotaRetornoNFSeRPS( RetornoItem : Integer ;
var pNumeroNota : Integer ;
var pDataProcessamento: PChar ;
var pNumeroLote : Integer ;
var pCodigoVerificacao : PChar ;
var pAssinatura : PChar ;
var pInscricaoMunicipalPrestador: PChar ;
var pRazaoSocialPrestador: PChar ;
var pTipoRPS: PChar ;
var pSerieRPS : PChar ;
var pNumeroRPS : Integer ;
var pDataEmissaoRPS : PChar ;
var pSituacaoRPS : PChar ;
var pSerieRPSSubstituido :PChar ;
var pNumeroRPSSubstituido : Integer ;
var pNumeroNFSeSubstituida :Integer ;
var pDataEmissaoNFSeSubstituida : PChar ;
var pSeriePrestacao :PChar ;
var pInscricaoMunicipalTomador : PChar ;
var pCPFCNPJTomador : PChar ;
var pRazaoSocialTomador :PChar ;
var pTipoLogradouroTomador :PChar ;
var pLogradouroTomador :PChar;
var pNumeroEnderecoTomador :PChar ;
var pComplementoEnderecoTomador :PChar ;
var pTipoBairroTomador: PChar ;
var pBairroTomador: PChar ;
var pCidadeTomador:PChar ;
var pCidadeTomadorDescricao: PChar ;
var pCEPTomador:PChar ; var
pEmailTomador:PChar ; var
pCodigoAtividade: PChar ;
var pAliquotaAtividade: Double ;
var pTipoRecolhimento :PChar ;
var pMunicipioPrestacao: Integer ;
var pMunicipioPrestacaoDescricao: PChar ;
var pOperacao: PChar ;
var pTributacao: PChar ;
var pValorPIS : Double ;
var pValorCOFINS:Double ;
var pValorINSS : Double ;
var pValorIR : Double ;
var pValorCSLL : Double ;
var pAliquotaPIS : Double ;
var pAliquotaCOFINS : Double;
NFSE - Nota Fiscal de Servios Eletrnica
26
var pAliquotaINSS : Double ;
var pAliquotaIR : Double ;
var pAliquotaCSLL : Double ;
var pDescricaoRPS : PChar ;
var pDDDPrestador : PChar ;
var pTelefonePrestador : PChar ;
var pDDDTomador : PChar ;
var pTelefoneTomador : PChar ;
var pMotCancelamento : PChar ;
var pCpfCnpjIntermediario: PChar;
var pDeducoes : Integer ;
var pItens : Integer ) :Integer ;
Parmetros de envio:

CAMPO TIPO TAM. CONTEDO OBRIG.


RetornoItem N 10 Posio da nota retornada na funo EnviarCon- S
sultaNFSeRPS. Por exemplo se o parmetro
pQtdNotasConsultaNFSe retornou o valor 2. A
posio 0 retorna os dados da primeira nota, a
posio 1 retorna da segunda.

Parmetros de retorno:

CAMPO TIPO TAM. CONTEDO OBRIG.


pNumeroNota N 12 Nmero da Nota N
pDataProcessamento D Data de Processamento N
pNumeroLote N 12 Nmero do Lote N
pCodigoVerificacao A 255 Cdigo de Verificao N
pAssinatura A 255 Assinatura N
A 11 Inscrio Municipal do Presta- N
pInscricaoMunicipalPrestador
dor
pRazaoSocialPrestador A 120 Razo Social do Prestador N
pTipoRPS A 20 Tipo do RPS N
pSerieRPS A 2 Srie do RPS N
pNumeroRPS N 12 Nmero do RPS N
D Data de Emisso. N
pDataEmissaoRPS
Formato DD/MM/YYYY
A 1 Situao do RPS N
pSituacaoRPS N-Normal
C-Cancelada
pSerieRPSSubstituido A 12 Srie do RPS Substituto N
pNumeroRPSSubstituido N 10 Nmero do RPS Substituto N
pNumeroNFSeSubstitui- N 12 Nmero da NFS-e Substitu- N
da da
pDataEmissaoNFSe- D Data de Emisso da NFS-e N
Substituida Substituda
NFSE - Nota Fiscal de Servios Eletrnica
27
A 5 Srie de Prestao N
SeriePrestacao
99-Modelo nico
pInscricaoMunicipalToma- A 11 Inscrio Municipal do Toma- N
dor dor.
pCPFCNPJTomador A 14 CPF ou CNPJ do Tomador N
pRazaoSocialTomador A 120 Razo Social do Tomador N
A 10 Tipo de Logradouro do Toma- N
pTipoLogradouroTomador
dor.
pLogradouroTomador A 50 Logradouro do Tomador N
NumeroEnderecoToma- A 9 Numero de Endereo do To- N
dor mador
pComplementoEndere- A 30 Complemento End. Tomador N
coTomador
pTipoBairroTomador A 10 Tipo de Bairro do Tomador N
pBairroTomador A 50 Bairro do Tomador N
N 10 Cdigo da Cidade do Toma- N
pCidadeTomador dor seguindo cdigo padro
SIAFI
pCidadeTomadorDescri- A 30 Nome da Cidade do Tomador N
cao
N 8 CEP do Tomador N
CEPTomador Ex:37900000
pEmailTomador A 60 Email do Tomador N
pCodigoAtividade N 9 CNAE da Atividade N
pAliquotaAtividade N 6,4 Alquota de ISS da Atividade N
A 1 Tipo de Recolhimento N
pTipoRecolhimento A A Recolher
R - Retido na Fonte
N 10 Cdigo do Municpio de N
pMunicipioPrestacao Prestao seguindo c-
digo padro SIAFI

pMunicipioPrestacaoDes- A 30 Municpio de Prestao do N


cricao Servio
A 1 Operao N
A-Sem Deduo
B-Com Deduo/Materiais
C-Imune/Isenta de ISSQN
pOperacao
D-Devoluo / Simples Re-
messa
J-Intermediao*

NFSE - Nota Fiscal de Servios Eletrnica


28
Tributao:
C - Isenta de ISS
E - No Incidncia no Munic-
pio
F - Imune
pTributacao A 1 K - Exigibilidd Susp. N
Dec.J/Proc.A
N - No Tributvel
T Tributvel
G - Tributvel Fixo
H - Tributvel S.N.
pValorPIS N 15,2 Valor PIS N
pValorCOFINS N 15,2 Valor COFINS N
pValorINSS N 15,2 Valor do INSS N
pValorIR N 15,2 Valor do IR N
pValorCSLL N 15,2 Valor do CSLL N
pAliquotaPIS N 6,4 Alquota PIS N
pAliquotaCOFINS N 6,4 Alquota COFINS N
pAliquotaINSS N 6,4 Alquota INSS N
pAliquotaIR N 6,4 Alquota IR N
pAliquotaCSLL N 6,4 Alquota CSLL N
A 1500 Descrio/ Dados Comple- N
pDescricaoRPS mentares do RPS
A 3 DDD do telefone do Presta- N
pDDDPrestador dor
pTelefonePrestador A 8 Telefone do Prestador N

pDDDTomador DDD do telefone do Tomador N

pTelefoneTomador N 3 Telefone do Tomador N

pMotCancelamento A 80 Motivo cancelamento N

pCpfCnpjIntermediario A 14 CPF/CNPJ Intermedirio. N


N 10 Quantidade de itens de dedu- N
pDeducoes es
N 10 Quantidade de itens de servi- N
pItens os

Caso o parmetro pDeducoes retornar um valor diferente de zero, deve- se fazer


chamada a funo abaixo para obter os itens de deduo da nota.

NFSE - Nota Fiscal de Servios Eletrnica


29
Funo: ObterDecucaoNFSeRPS
Declarao: ObterDecucaoNFSeRPS( PosNotaConsulta: Integer ;
PosDeducaoNotaConsulta: Integer ;
var pDeducaoPor :PChar;
var pTipoDeducao: PChar;
var pCPFCNPJReferencia: PChar;
var pNumeroNFReferencia: Integer ;
var pValorTotalReferencia : Double ;
var pPercentualDeduzir: Double ;
var pValorDeduzir: Double): Integer;

Parmetros de envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
Deve ter o mesmo valor do
PosNotaConsulta N 10 par- metro PosNotaConsulta S
passado na funo anterior
Item, por exemplo se a consul-
ta de notas retornou 5 itens
PosDeducaoNota-
N 10 de servio. Deve-se fazer um S
Consulta
loop de 0 a 4 pas- sando a po-
sio.
Parmetros de retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
Valores Possveis:
pDeducaoPor A 20 Percentual N
Valor
Caso a deduo for por Valor os valo-
res possveis so :

pTipoDeducao A 255 Despesas com Materiais ou Despesas N


com Sub-empreitada Caso a deduo
for por Percen- tual informar o campo
com valor vazio.
pCPFCNPJRefe- CPF ou CNPJ do Fornecedor ou
N 14 N
rencia Prestador do Servio.
pNumeroNFRefe-
N 10 Nmero da Nota Fiscal de Referncia N
rencia
pValorTotalRefe-
N 15,2 Valor da Nota Fiscal de Referncia N
rencia
pPercentualDeduzir N 15,2 Percentual de Deduo N
pValorDeduzir N 15,2 Valor da Deduo N

Caso na funo ObterNotaRetornoConsultaNFSeRPS o parmetro Itens retornar um


valor diferente de zero, deve-se fazer chamada a funo abaixo para obter os
itens de servio da nota.

NFSE - Nota Fiscal de Servios Eletrnica


30
Funo: ObterItemServicoNFSeRPS
Declarao: ObterItemServicoNFSeRPS( PosNotaConsulta: Integer ;
PosItemNotaConsulta: Integer ;
var pDiscriminacaoServico: PChar;
var pQuantidade: Double ;
var pValorUnitario: Double ;
var pValorTotal: Double;
var pTributavel: PChar): Integer;

Parmetros de envio:

CAMPO TIPO TAM. CONTEDO OBRIG.


Deve ter o mesmo valor do parme-
PosNotaConsulta N 10 tro PosNotaConsulta passado na S
funo anterior
Item, por exemplo se a consulta de
PosItemNotaCon- notas retornou 5 itens de servio.
N 10 S
sulta Deve-se fazer um loop de 0 a 4 pas-
sando a posio.

Parmetros de retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
pDiscriminacaoSer-
A 80 Discriminao do Servio N
vico
pQuantidade N 10,4 Quantidade N
pValorUnitario N 10,4 Valor Unitario N
pValorTotal N 10,2 Valor Total N
S Item tributvel
pTributavel A 1 N
N Item no tributavel
Caso na funo EnviarConsultaNFSeRPS o parmetro pErros retornar um valor dife-
rente de zero, deve-se fazer chamada a funo abaixo para obter os erros retor-
nados.

NFSE - Nota Fiscal de Servios Eletrnica


31
Funo: ObterErroConsultaNFSeRPS
Declarao: function ObterErroConsultaNFSeRPS( ErroItem:Integer;
var pCodigo: Integer;
var pDescricao: PChar ):Integer;

Parmetros de envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
Posio do erro retornada na fun-
o EnviarConsultaNFSeRPS. Por
exemplo se o parmetro
ErroItem N 10 S
pErros retornou o valor 2. A posi-
o 0 retorna os dados do primeiro
erro e assim por diante.

Parmetros de retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
pCodigo N 10 Cdigo do Erro N
pDescricao A 2000 Descrio do Erro N

Funo: ObterAlertaConsultaNFSeRPS
Declarao: ObterAlertaConsultaNFSeRPS( AlertaItem:Integer;
var pCodigo: Integer;
var pDescricao: PChar):Integer

Parmetros de envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
AlertaItem N 10 Posio do alerta retornado na funo EnviarConsul- S
taNFSeRPS. Por exemplo se o parmetro
pAlertas retornou o valor 2. A posio 0 retorna os da-
dos do primeiro erro e assim por diante.

Parmetros de retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
pCodigo N 10 Cdigo do Alerta N
pDescricao A 2000 Descrio do Alerta N

NFSE - Nota Fiscal de Servios Eletrnica


32
3.5 Consulta Sequencial RPS

O mtodo de consulta seqencial retorna nmero do ltimo convertido em nota. utilizado


para controle de numerao de RPS,
o servio deve ser acessado sempre que necessrio obter o nmero do ltimo RPS
processado. No necessrio acessar o servio em cada converso de lote.
Funo: ConsultarSequencial
function ConsultarSequencial( CodCidade: Integer ;
CPFCNPJRemetente: PChar ;
InscricaoMunicipalPrestador: PChar ;
SeriePrestacao: PChar;
var NroUltimoRps : Integer ):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
CodCidade N 10 Cdigo da Cidade de Declarao S
padro SIAF.
CPFCNPJRemetente A 14 CPF ou CNPJ Remetente S
InscricaoMunicipalPrestador A 11 Inscrio Municipal do Prestador S
SeriePrestacao A 5 Srie de Prestao. Preencher
com: 99 - Modelo nico

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG.
NroUltimoRps N 10 Nmero do ltimo RPS convertido N

3.5 Cancelamento de Nota Fiscal

Para cancelar um Nota Fiscal deve ser um enviado uma requisio de cancelamento, para
isso deve-se gerar um lote de cancelamento atravz de funes especficas
da DLL. A seguir iremos descrever essas funes. Um lote de cancelamento de NFS-e
pode conter vrias notas a serem canceladas, desde que estas sejam do mesmo
prestador. As notas que ainda no foram emitidas Guias de Recolhimento sero
canceladas. O cancelamento de nota fiscal um processo sincrono, ou seja
obtm-se o retorno do processo na mesma conexo com o web service.

A implementao de cancelamento de notas deve seguir o seguinte procedimento : Pri-


meiro fazemos chamada a funo CriarLoteCancelamento, essa funo cria o cabealho
do lote com as informaes do remetente. Em seguinda fazemos um loop com chamadas a
funo AdicionarNotaCancelamento para adicionar as notas a serem canceladas no lote, e
por fim deve-se fazer chamada a funo EnviarCancelamento para enviar o lote
de cancel- amento. Essa funo retorna um parmetro indicando as quantidade de notas
canceladas com sucesso. Caso alguma das notas do lote de cancelamento j tenha sido
cancelado, j tenha gerado guia de recolhimento ou tenha outro tipo de empedimento no
cancelamento, sero geradas criticas no cancelamento e a nota no ser cancelada.
Porm o empedi- mento no cancelamento de uma nota do lote no impede que as outras
notas do lote sejam canceladas.

O procedimento de cancelamento de nota fiscal exige que o lote seja assinado


NFSE - Nota Fiscal de Servios Eletrnica
33
com o certi-

NFSE - Nota Fiscal de Servios Eletrnica


34
ficado digital do contribuinte, no ambiente de homologao no necessrio
assinar o lote. A funo EnviarCancelamento possui um parmetro pDocAssinatura onde
se passado o valor S a funo ir assinar o lote com certificado digital selecionado
pelo contribuinte.

Definies das funes de cancelamento de nota


fiscal :

Funo: CriarLoteCancelamento
Declarao: function CriarLoteCancelamento( CodCidade: Integer ;
CPFCNPJRemetente: PChar;
RazaoSocialRemetente: PChar ): Integer

Parmetros de
Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
CodCidade N 10 Cdigo da cidade da declarao padro SIAFI. S
CPFCNPJRemetente A 14 CPF /CNPJ do remetente autorizado a transmitir S
RazaoSocialRemetente A 120 Razo social do remetente do lote S

Funo: AdicionarNotaCancelamento
Declarao: function AdicionarNotaCancelamento(InscricaoMunicipalPrestador: PChar ;
NumeroNota : Integer ;
CodigoVerificacao : PChar;
MotivoCancelamento : PChar ) : Integer ;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
InscricaoMunicipalPrest N 11 Inscrio Municipal do Prestador S
a- dor formata- do seguindo anexo 03 deste
NumeroNota N 12 manual da nota a ser cancelada
Nmero S
CodigoVerificacao A 255 Cdigo de verificao da nota. S
MotivoCancelamento A 80 Motivo do cancelamento S

Obs: Deve-se tomar cuidado para no confundir nmero da nota fiscal com o nmero
do RPS, o nmero da nota fiscal pode ser diferente do nmero do RPS do qual ela
originou.

A funo abaixo gera o lote de cancelo a partir das informaes passadas nas funes ante-
riores e envia para o web service. Em seguida o web service ir processor o lote e retornar
o resultado do processamento.

NFSE - Nota Fiscal de Servios Eletrnica


35
Funo: EnviarCancelamento
Declarao: function EnviarCancelamento( pDocAssinatura : PChar ;
var pSucesso : PChar ;
var pQtdNotasCanceladas : Integer ;
var pErros: Integer;
var pAlertas: Integer): Integer ;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
pDocAssinatura A 14 Informar S caso queira que a DLL realize S
a assinatura digital. Caso contrrio deixar
vazio.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG
pSucesso A 5 Declarao entregue com sucesso N
Valores possveis: true ou false
pQtdNotasCanceladas N 15 Retorna a quantidade de notas cancel- N
adas com sucesso. Para obter os dados
de cada nota cancelada deve-se fazer
chamada a funo
ObterNotaRetornoCancelamento
pErros N 15 Quantidade de erros que ocorreram N
no cancelamento. Para obter os dados
de cada erro deve se fazer chamada a
funo ObterErroLoteCancelamento
pAlertas N 15 Quantidade de alertas que ocorreram N
no cancelamento. Para obter os dados
de cada erro deve se fazer chamada a
funo ObterAlertaLoteCancelamento

Caso o parmetro pQtdNotasCanceladas da funo EnviarCancelamento retornar um valor


maior que zero deve-se fazer chamada a funo abaixo para obter os dados das notas can-
celadas no lote. Por exemplo caso a funo tenha retornado 5 notas canceladas. Deve-se
fazer um loop de 0 a 4 fazendo chamanda a funo ObterNotaRetornoCancelamento, pas-
sando a posio no parmetro RetornoItem.

Funo: ObterNotaRetornoCancelamento
Declarao: function ObterNotaRetornoCancelamento( RetornoItem : Integer ;
var pInscricaoPrestador: PChar ;
var pNumeroNota: Integer ;
var pCodigoVerificacao: PChar ) :Integer ;

NFSE - Nota Fiscal de Servios Eletrnica


36
Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
RetornoItem N 10 Posio da nota retornada na funo S
EnviarCancelamento. Por exemplo se
o parmetro pQtdNotasCanceladas re-
tornou o valor 2. A posio 0 retorna os
dados da primeira nota, a posio 1 re-
torna da segunda.

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG
pInscricaoPrestador A 11 Inscrio municipal do prestador N
pNumeroNota N 12 Nmero da nota cancelada N
pCodigoVerificacao A 255 Cdigo de verificao da NFS-e N
pAlertas N 15 Quantidade de alertas que ocorreram N
no cancelamento. Para obter os dados
de cada erro deve se fazer chamada a
funo ObterAlertaLoteCancelamento

Caso o parmetro pErros ou pAlertas da funo EnviarCancelamento retornar diferente de


zero, deve-se fazer chamada s funes abaixo para obter os dados os erros ocorridos. Por
exemplo se o parmetro pErros retornou valor 5 deve se fazer um loop de 0 a 4 fazendo
chamada a funo ObterErroLoteCancelamento, passando a posio do erro.

Funo: ObterErroLoteCancelamento
Declarao: function ObterErroLoteCancelamento( ErroItem:Integer;
var pCodigo: Integer;
var pDescricao: PChar;
var pInscricaoPrestador : PChar;
var pNumeroNFe: Integer;
var pCodigoVerificacao: PChar ):Integer;

Parmetros de
Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
ErroItem N 10 Posio do erro retornada na funo S
En- viarCancelamento. Por exemplo se
o par- metro pErros retornou o valor
2. A posio
0 retorna os dados do primeiro erro e
as- sim por diante
Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG
pCodigo A 11 Cdigo N
pDescricao A 2000 Descrio N
pInscricaoPrestador A 11 Inscrio Municipal do Prestador N
pNumeroNFe N 12 Nmero da NFS-e N

NFSE - Nota Fiscal de Servios Eletrnica


37
pCodigoVerificacao A 255 Cdigo de verificao da NFS-e N

NFSE - Nota Fiscal de Servios Eletrnica


38
Funo: ObterAlertaLoteCancelamento
Declarao: function ObterAlertaLoteCancelamento( AlertaItem:Integer;
var pCodigo: Integer;
var pDescricao: PChar;
var pInscricaoPrestador : PChar;
var pNumeroNFe: Integer;
var pCodigoVerificacao: PChar ):Integer;

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
AlertaItem N 10 Posio do alerta retornada na funo S
En- viarCancelamento. Por exemplo se
o par- metro pAlertas retornou o
valor 2. A posi- o 0 retorna os dados
do primeiro alerta e assim por diante

Parmetros de Retorno:
CAMPO TIPO TAM. CONTEDO OBRIG
pCodigo A 11 Cdigo N
pDescricao A 2000 Descrio N
pInscricaoPrestador A 11 Inscrio Municipal do Prestador N
pNumeroNFe N 12 Nmero da NFS-e N
pCodigoVerificacao A 255 Cdigo de verificao da NFS-e N

NFSE - Nota Fiscal de Servios Eletrnica


39
4. Configurao e
Utilizao

4.1.Procedimento de
Configurao

O procedimento de configurao da lotenfse.dll encontra-se disponvel no


arquivo
Leia-me.txt, junto com os arquivos da dll

4.2.Chamadas dos Mtodos

Antes de iniciar as chamadas aos mtodos da dll deve-se primeiramente


configurar a URL de acesso ao servio do Web Service. Para isso deve se fazer chamada
ao mtodo setURL presente na DLL antes de qualquer outra chamada. Verifique
exemplos no Anexo 07.

4.3.Atualizao de Verso

Quando houver uma nova verso da lotenfse.dll disponvel ao consultar o lote de envio ser
retornado o alerta 1406 - Versao da DLL de conversao de RPS desatualizada. Baixe a ul-
tima versao no site da NFSe.

Baixe o arquivo lotenfse.zip e descompacte, faa uma copia da verso da lotenfse.dll que
esta sendo utilizada e substitua pela nova verso.
Dentro do arquivo lotenfse.zip encontra-se o arquivo Atualizacao.txt com as orientaes
sobre as mudanas ocorridas nas verses disponibilizadas. Podem ocorrer mudanas na
assinatura das funes de uma verso para outra. Com isso antes de disponibilizar uma
nova verso deve-se verificar as mudanas ocorridas e implement-las no
sistema.

5 - ANEXOS

01 -Definies para formatao do campo Inscrio Municipais do Prestador.

CIDADE TAMANHO DO CAMPO EXEMPLO


So Luiz 11 00061994000

Obs : Preencher sempre com zeros a esquerda para completar o tamanho do campo.

NFSE - Nota Fiscal de Servios Eletrnica


40
ANEXO 02 TIPOS DE LOGRADOURO

Avenida
Rua
Rodovia
Ruela
Rio
Stio
Sup Quadra
Travessa
Vale
Via
Viaduto
Viela
Vila
Vargem

ANEXO 03 TIPOS DE BAIRROS

Bairro
Bosque
Chcara
Conjunto
Desmembramento
Distrito
Favela
Fazenda
Gleba
Horto
Jardim
Loteamento
Ncleo
Parque
Residencial
Stio
Tropical
Vila
Zona

NFSE - Nota Fiscal de Servios Eletrnica


41
ANEXO 04 ERROS INTERNOS DA DLL

As funes da DLL retornam um valor inteiro, caso este valor seja diferente de zero indica
que houve um erro interno da DLL. Abaixo segue uma lista de erros possveis:

Erro Descrio do Erro


01 Erro inesperado, ocorre quando a uma exceo durante a execuo,
quando chama-se a funo ObterErroInterno pode-se obter a mensa-
gem retornada.
02 Erro na validao XSD. Este erro retornado pelo web service. O
XML gerado pela DLL no esta de acordo com o requerido pelo web
service. Na mensagem de retorno da funo ObterErroInterno pode
se saber em qual campo ocorreu o problema. Pode ser que houve
uma mudana no web service a verso da sua DLL no esta de acor-
do, talvez seja necessrio atualiza a DLL.
03 Remessa j criada. J foi chamada a funo CriarLote e esta fazendo
chamada a esta funo novamente.
04 Remessa no criada. Deve se fazer chamada a funo CriarLote an-
tes de chamar as demais funes.
05 RPS no criado. Esta tentando chamar a funo AdicionarItemRPS
ou AdicionarDeducaoRPS antes de chamar a funo AdicionarRPS.
06 Retorno no gerado ainda. Esta tentando chamar a funo ObterNo-
taRetorno sem ter enviado o lote;
07 Item do RPS no criado, o RPS deve ter itens de servios. Foi
chamada a funo AdicionarRPS porm no foi feito chamada a fun-
o AdicionarItemRPS, com isso o RPS ficou sem itens de
08 servios;
No foi chamado a consulta de lote
09 No foi chamado a consulta de nota
10 Ao Cancelada
11 No h nenhum certificado instalado. Instale um certificado
digital
vlido para processar remessa
Para se obter a descrio do erro ocorrido deve-se fazer chamada a funo abaixo :

Funo: ObterErroInterno
Declarao: function ObterErroInterno(CodErro: Integer ): PChar

Parmetros de Envio:
CAMPO TIPO TAM. CONTEDO OBRIG.
CodErro N 10 Cdigo do erro S

Parmetros de Envio:
A funo ir retornar a descrio do erro ocorrido.

Caso no momento de enviar um lote com assinatura digital esteja ocorrendo o seguinte erro
: Erro ao Enviar Declarao. Descrio: Erro inesperado: Erro na certificao digital.
Classe
no registrada, ClassID:{25567DA7-17E9-46D5-BFA8-8AE4CC7DA6E1}
NFSE - Nota Fiscal de Servios Eletrnica
42
Este erro ocorre quando as DLLs necessrias para assinar o XML com o
certificado digital no esto registradas ou no esto na mesma pasta que o
executvel(.exe) da apliao. Verifique o procedimento descrito no arquivo Leia-me.txt
que entra-se junto aos demais ar- quivos da lotenfse.dll.

ANEXO 5

ANEXO 06 Erros retornados pelo Webservice

Erros de
Retorno
Abaixo seguem as mensagens de erro de processamento que podem ser retornadas
pelo servio.

COD DESCRICAO PROCEDIMENTO


104 A Data Inicial de emisso das Notas Data Inicial no cabealho do lote deve ser
Fiscais enviadas no pode ser inferior a superior a 01/06/2006.
106 01/06/2006.
A Data Final de emisso das Notas A Data Final no cabealho do lote deve ser
Fiscais en- viadas no pode ser inferior supe- rior 01/06/2006.
107 a 01/06/2006.
A Data Final de emisso das Notas A Data Final no cabealho deve ser igual a
Fiscais enviadas no pode ser data do ltimo RPS contido no lote e esta
Superior a Data At- ual. data no pode ser superior a data atual.
108 A Data Final de emisso das Notas Verifique a Data Final no cabealho do lote.
Fiscais enviadas devera ser superior a
207 Data
Data Inicial.
de Emisso do RPS no est A data inicial do cabealho do lote deve ser
com- preendia entre data incio da igual a data do primeiro RPS contido no lote e
emisso do lote e data fim da emisso a data final do cabealho do lote deve ser
do lote conforme especificado no igual a data do ltimo RPS do lote.
209 cabecalho
O cdigo do doservio
lote. prestado no Verifique a tributao para a atividade
permite reteno de ISS. informada no RPS.
215 RPS em duplicidade na mensagem XML No so permitidos RPS com numerao
en- viada. duplica- do no lote. A numerao de RPS
deve ser seguen- cial, em ordem
218 RPS j processado. O RPS no ascendente e sem duplicidade.
O RPS enviado no lote j foi convertido em
poder ser enviado novamente. nota em outro lote enviado anteriormente.
219 O campo Inscrio Municipal do Deve-se passar um valor vazio para o campo
tomador somente dever ser In- scrio Municipal do Tomador quando o
preenchido para toma- dores tomador no for do municpio
220 estabelecidos
CPF/CNPJ no municipio.
do Tomador possui mais de O tomador do municpio e possui mais de
uma inscrio municipal, sendo uma inscrio municipal, deve-se informar a
obrigatrio o preenchimento do campo inscrio municipal do tomador.
Inscrio Munic- ipal do Tomador.
301 O tomador de servios informado O prestador e o tomador do servio no
o prprio prestador. pode ser os mesmos. Verifique esta
302 CNPJ do Tomador de Servios invlido informao
Informe um no RPS.
CNPJ do tomador vlido.
(digi- tos verificadores no conferem).

NFSE - Nota Fiscal de Servios Eletrnica


43
303 O Valor dos servios dever ser A soma dos valores dos itens de servio do
superior a RPS
304 R$ 0,00das
O Valor (zero).
dedues dever ser devem
A soma ser maiores
do valor dasque zero. do RPS
dedues
inferior ao valor dos servios. devem ser menores que a soma dos
valores de itens de servio
305 O Valor das dedues dever ser A soma dos itens de dedues do RPS
superior ou igual a R$ 0,00 (zero). deve ser maior ou igual a zero.
306 Cdigo da Atividade do RPS inexistente. O cdigo da atividade informada no RPS no
foi encontrada ou no esta vinculada ao
contribuinte. Verifique junto a prefeitura qual o
cdigo CNAE correto para sua atividade de
prestao. Verifique quais so as atividades
308 Cdigo da Atividade do RPS no vinculadas ao prestador
Foram informados itens de deduo no
permite deduo na base de clculo. RPS porm a atividade no permite
deduo na base de clculo.
309 Cdigo da Atividade do RPS no Foi informada uma alquota de ISS para
permite tributao fora do municipio. uma atividade que no permite
tributao fora do municpio.
310 Cdigo da Atividade no permitida A atividade informada no esta vinculado
para o ao prestador. Verfique o CNAE correto da
Prestador. atividade junto a prefeitura.
311 Alquota ISS informada no RPS difere Verifique o valor correto da alquota de ISS
do valor da alquota para a atividade para esta atividade de prestao junto a
informa- da prefeitura.
312 A data da emisso do RPS no foi Verifique a data de emisso do RPS.
preenchi- da corretamente.
313 A data da emisso do RPS no No podem ser emitidos RPS com data futura.
poder ser superior a data de hoje.
314 A data da emisso do RPS no Verifique a data de emisso do RPS
poder ser inferior a 01/06/2006.
315 Nmero do RPS no informado. Informe o nmero do RPS
317 Campo Endereo no preenchido Para tomador pessoa jurdica
(ob- rigatrio para tomador com obrigatrio o preenchimento do
318 CNPJ).
Campo Cidade/UF no preenchido endereo. obrigatrio o preenchimento da cidade
(ob- rigatrio para tomador com do to- mador para pessoa jurdica
320 CNPJ).
Inscrio Municipal do Tomador de Verifique a inscrio municipal do tomador do
Ser- vios consta como cancelada. RPS
321 Apenas Notas com tributao no Verfique o correto preenchimento para o
municipio ou fora do municipio podem campo
sofrer reten- o de ISS. Alquota de ISS do RPS
322 O campo discriminao dos servios Nos itens de servio do RPS devem ser
no foi preenchido. preenchi- dos a discriminao dos mesmos.
324 A tributao do Rps no confere com a Verifique a alquota de ISS do RPS.
trib- utao do Prestador.
325 Operao de tributao permitida A Operao 'G' permitida apenas para
apenas para servio de construo. servios de contruo. Verifique a Operao
correta de acordo com o servio contido no
326 Operao de tributao no condiz RPS.
Verifique a Operao de acordo com o Regime
com o cdigo do regime de tributao. de
NFSE - Nota Fiscal de Servios Eletrnica Tributao do Prestador.
42
327 Municipio do Prestador invlido. Verifique o cdigo SIAFI para o municpio
do prestador
328 Municipio do Tomador invlido. Verifique o cdigo SIAFI para o municpio do
to- mador
329 Nota Fiscal para ser substituida no
lo- calizada. Verifique o nmero e a
data de emisso.
330 Nota Fiscal no pode ser substituida
pois j foi cancelada ou substituida
331 anteriormente.
Nota Fiscal para ser substituida
encontra-se em uma guia Emitida ou
332 Paga.Fiscal no pode ser substituida
Nota
pois os tomadores so diferentes.
333 Cidade do Exterior no informada. Quando o tomador for do exterior deve
ser in- formar o codigo da cidade do
tomador como
'0009999' e na descrio da cidade deve se
334 Nmero do Rps no est presente no infor- mar
Solicite o pais
junto de origem.
a prefeitura uma Autorizao de
con- trole de AIDF. Im- presso de Documento Fiscal(AIDF) para
emisso de RPS, o nmero do RPS deve estar
entre a nume- rao inicial e final desde
335 Nmero do RPS deve ser controle.
O nmero do primeiro RPS do lote deve ser
subsequnte ao anterior enviado. sub- sequente nmero do ltimo RPS
convertido em nota. Os nmeros dos
demais RPS do lote devem estar
336 subsequentes
Alquota no coincide com as possveis Verifique a este.
a alquota de ISS correta para o RPS
na
337 Faixa do invlida
Alquota Simples para
Nacional.
tributao Isenta, Verifique a alquota de ISS correta para o RPS
Imune ou Natureza de Operao com
al- quota zero.
338 Tomador pessoa fsica com tipo de Deve-se informar o Tipo de Recolhimento A
recolhi- mento invlido. Tipo de Recol- her para tomador pessoa fsica.
Recolhimento deve ser A Recolher.
339 Motivo do cancelamento do RPS no A situao do RPS esta marcada como
infor- mado. CANCEL- ADA porm no foi informado o
motivo do cancel- amento.
340 A alquota deve estar entre 2,00 a Verifique o correto preenchimento para o
5,00 ou alquota igual a zero. campo
341 Alquota invlida para contribuinte Alquota
Verifique de ISS preenchimento para o
o correto
en- quadrado como campo alquota de ISS
Microempreendedor Individual -
342 MEI.
Alquota invlida para contribuinte en- Verifique o correto preenchimento para o
quadrado como Simples Nacional campo alquota de ISS
Estima- tiva.
1002 Verso do Schema XML incorreto. Verifique a verso do XML informada no
cabe- alho do lote.

NFSE - Nota Fiscal de Servios Eletrnica


43
1050 Rejeio: Assinatura Digital Invlida. A assinatura difital do lote esta invlida,
Veri- fique se o certificado digital verifique se o certificado digital utilizado na
utilizado na as- sinatura est vlido. assinatura esta vlido. Se no existem
caracteres especiais nos dados que no
esto no padro UTF-8 e esto invalidando o
1051 Rejeio: Certificado Assinatura Data XML.Verifique se o certificado digital utilizado na
Vali- dade. as- sinatura do lote esta vlido
1052 Rejeio: Assinatura Digital sem CNPJ. Verifique se o certificado digital utilizado na
as- sinatura do lote esta vlido
1053 Rejeio: Assinatura Digital - Erro na Verifique se o certificado digital utilizado na
Cadeia de Certificao. as- sinatura do lote esta vlido
1054 Rejeio: Assinatura Digital difere do Verifique se o certificado digital utilizado na
pa- dro ICP-Brasil. as- sinatura do lote esta vlido
1056 Rejeio: Assinatura - Digest difere do Verifique se o certificado digital utilizado na
cal- culado. as- sinatura do lote esta vlido
1057 Rejeio: Assinatura difere do Verifique se o certificado digital utilizado na
calculado. as- sinatura do lote esta vlido
1100 O campo discriminao dos servios Nos itens de servio do RPS deve-se
no foi preenchido. preencher a discriminao do servio
1101 Tamanho da mensagem XML Reduza o nmero de RPS enviados no lote
ultrapassou o limite mximo permitido de forma a no ultrapassar o limite.
de 500 kbytes. Recomendamos que cada lote tenha no
mximo 100 RPS para no ultrapassar o
limite de 500Kb e no demandar muito
1102 Mensagem XML de pedido do servio tempo para um
Foi enviado processamento.
contedo vazio
sem contedo.
1103 O CPF/CNPJ do Remetente no possui O CPF/CNPJ do Remetente indicado no
per- misso para o servio solicitado. cabealho do lote no o responsvel legal
do prestador e no esta vinculado como sub
usurio autorizado pelo mesmo. Verifique se
esta credenciado no ambiente utilizado. Se
estiver utilizando o ambi- ente de produo
deve estar credenciado para este ambiente,
ou se estiver utilizando o ambiente de
homologao deve estar credenciado para
este ambiente. O CPF/CNPJ do remetende
do lote deve ser o mesmo indicado como
responsvel legal no momento do
credenciamento, ou caso seja outro deve
1105 Lote no encontrado. estar vinculado
Verifique como sub
se o nmero usurio
do lote esta autorizado
correto.
1106 NF-e no encontrada. pelo prestador.
Verifique corretamente o nmero da Nota.
1107 O CPF/CNPJ da assinatura da
mensagem XML no corresponde
ao CPF/CNPJ do Prestador de
1108 Servios.
O CPF/CNPJ vinculado a inscrio do Verique a Inscrio Municipal correta do
toma- dor no corresponde ao tomador ou seu CNPJ.
CPF/CNPJ informa- do no campo
1109 CPF/CNPJ Tomador.
CPF/CNPJ invlido. Verifique se o CPF/CNPJ esto corretos

NFSE - Nota Fiscal de Servios Eletrnica


44
1201 Somente permitido o envio de RPS No lote de envio no so permitidos
emiti- dos por um nico Prestador de RPS de prestadores diferentes.
Servios (mesma inscrio municipal).
1202 Prestador de Servios no A inscrio municipal do prestador no foi
encontrado no encon- trada no cadastro da prefeitura.
Cadastro Municipal (CCM). Verifique se foi re- alizado o credenciamento
no ambiente utilizado. Se esta utilizando o
ambiente de homologao deve se realizar o
credenciamento neste ambiente, que segue
o mesmo processo de credenciamento do
ambiente de produo. Caso esteja utilizando
o ambiente de produo o contribuinte deve
estar credenciado no ambiente de produo.
Caso ja tenha feito o credenciamento
verifique se a in- scrio municipal do
1203 Total de RPS do cabealho do Lote no prestador
Verifique o esta
total sendo
de RPSinfor- mada
do cabealho do lote
con- fere com o enviado (total de RPS corretamente no RPS.
enviados no lote).
1204 Valor Total de Servios indicado no Verifique o valor dos servios do RPS deve
cabe- alho do lote no confere com o ser igual ao valor indicado no cabealho
soma dos valores de servios do RPS. do lote.
1205 Valor Total de Deduo no confere O valor total das dedues no cabealho
com o enviado (somatrio do valor das do lote esta diferente da soma das
dedues presentes no lote). dedues dos RPS contidos no lote.
1206 Assinatura do RPS incorreta. Cdigo O campo Assinatura do RPS no esta correto
Hash gerado para o campo veri- fique a regra de preenchimento deste
assinatura do RPS est invlido. campo no manual.
1207 Prestador de Servios no Verifique a situao junto a prefeitura
autorizado a emitir NFS-e.
1303 Somente permitido o cancelamento No lote de cancelamento de NFSe
de NFS-e emitidas por um nico permitido apenas notas do mesmo
Prestador de Servios (mesma prestador.
1304 inscrio municipal).
Erro ao cancelar NFS-e. Erro interno a cancelar a NFSe contacte o
1305 Assinatura de cancelamento da NFS- suporte.
e in- correta.
1306 A NFS-e no pode ser cancelada pois
est vinculada a uma guia de
1401 pagamento.
Somente permitido consultar NFS-E
emi- tidas por um nico Prestador de
Servios (mesma inscrio municipal).
1402 O CPF/CNPJ da assinatura da
mensagem XML no tem acesso ao
Tomador de Ser- vios informado.
1403 As datas informadas compreendem
um perodo maior que o permitido. O
perodo no pode abranger mais que
1404 31 dias.
A Inscrio Municipal do Prestador de Verifique se o prestador esta credenciado
Ser- vios no consta na base de correta- mente.
dados.

NFSE - Nota Fiscal de Servios Eletrnica


45
1405 Assinatura Digital Invlida Verifique se o lote foi assinado
corretamente e com um certificado digital
vlido. Verifique se
no existem caracteres especiais que esto
invli- dando o XML assinado. O padro de
codificao utilizado o UTF-8 caracteres
1406 Municpio do tomador no encontrado. fora desse
Informe padro podem
corretamente invalidardo
o municipio o XML.
tomador. Verifique se o cdigo SIAFI da
cidade do tomador esta correto.
1407 Municpio de prestao no Verifique o municpio de prestao. Verifique
encontrado. se o cdigo SIAFI da cidade de prestao
1408 Municpio do prestador no esta correto.
1409 encontrado.
Cdigo de cidade no encontrado. Verifique se o cdigo SIAFI da cidade esta
1410 No possivel substituir NFSe correto.
1411 Dados da NFSe a ser substituda
esto incompletos.
1412 Email do tomador invlido Foi informado um email invlido para o
1413 Valor informado para o valor do PIS tomador
no est vlido ou no confere com a
alquota informada.
1414 Tipo de Deduo no encontrado ou Verifique nos itens de deduo do RPS
inv- lido. quais so os tipos de deduo validos. No
manual esto descritos os tipos vlidos.
1415 Campo Deduo Por dos A atividade informada no RPS no
registros de deduo do RPS permitido o tipo de deduo lanada nos
diferente do tipo de deduo itens de deduo.
1416 permitida na atividade.
Valor informado para COFINS no est
vlido ou no confere com a aliquota
infor- mada.
1417 Valor informado para INSS no est
vlido ou no confere com a aliquota
1418 informada.
Valor informado para IR no est vlido
ou no confere com a aliquota
1419 informada.
Valor informado para CSLL no est
vlido ou no confere com a aliquota
1420 informada.
Campo Deduo Por dos registros de Nos itens de deduo do RPS verifique o
deduo do RPS com valor no campo Deduo Por , deve ser informado
encontra- do ou invlido. se a deduo for por Percentual ou por
1421 Atividade no aceita Deduo Por Valor Valor.
Nas deduo do RPS no permitido
deduo por Valor. A atividade informada no
permitite esse tipo de deduo.
1422 Atividade no aceita Deduo Por Nas deduo do RPS no permitido
Percen- tual. deduo por Percentual. A atividade
informada no permitite esse tipo de
1423 Existem RPS j convertidos com deduo.
A numerao do RPS deve ser maior que a
numera- o superior e data de nume- rao do ltimo RPS convertido
emisso inferior ao RPS enviado para
converso.

NFSE - Nota Fiscal de Servios Eletrnica


46
1424 Existem RPS j convertidos com A data de emisso do RPS deve ser maior
numera- o inferior e data de que a data do ltimo RPS convertido.
emisso superior ao RPS enviado
1425 para
Mtodoconverso.
de Envio Invlido. Adicione a
tag MetodoEnvio com valor "WS" ao
cabealho do XML aps o campo
Versao ou atualize a verso da sua DLL
de converso de RPS no site da
1426 prefeitura.
Verso da DLL de converso de RPS
de- satualizada. Baixe o instalador
da ltima verso no site da
1427 prefeitura.
Verso da DMS desatualizada.
1428 Certificado Digital utilizado na Verfique se o Certificado Digital esta
assinatura do lote deve ser o mesmo registrado para o remetente do lote.
do remetente do lote. CPF/CNPJ do
Certificado diferente do remetente.
1429 Certificado
Erro internoInvlido.
ao tentar gravar lote. Entre
em contato com suporte atravz do
site da
1430 NFSe.
Contribuinte no credenciado. Faa o Caso esteja utilizando o ambiente de
cre- denciamento no site da NFSe. produo deve se acessar o site da NFSe e
realizar o pro- cesso de credenciamento.
Caso esteja utilizando o ambiente de
homologao deve se acessar o site de
homologao e realizar o mesmo processo
1431 Alquota invlida para contribuintes de credenciamento para produo.
en- quadrados no regime de
tributao com alquota zero. A
alquota de ISS no pode ser
1432 diferente de zero.
Valor do servio difere do valor Verifique se no existe algum erro de
unitrio multiplicado pela quantidade arrendonda- mento que esta provocando
1433 informada.
Contribuinte no credenciado para o esse erro.
O contribuinte de estar credenciado para
m- todo de integrao com a NFSe emitir nota pelo regime especial. O
utilizado. contribuinte esta credenciado porm
habilitado para emitir nota ap- enas pelo site
da NFSe. Verifique com a prefeitura solicitando
1434 Razao Social do Tomador no a liberao para emiss por lote.
1435 informado
Operao no permitida; Verifique o correto preenchimento do Campo
Operao do RPS
1436 Atividade com deduo tipo
Intermedia- o, deve se informar o
valor da deduo igual ao valor da
1437 nota de deduo.
Atividade com deduo tipo
Intermedia- o. Deve se informar as
dedues por intermediao nos
itens de deduo do RPS.
1438 Para o tipo de Operao
Intermediao, deve-se informar o
CPF/CNPJ do Inter- medirio.

NFSE - Nota Fiscal de Servios Eletrnica


47
1439 CPF/CNPJ do Intermedirio Invlido.
1440 Tipo de Recolhimento invlido. O Tipo
de recolhimento deve ser A- A
Recolher para local de incidencia do
imposto no mu- nicpio e tomador
no sendo substituto tributrio.
1441 Tipo de Recolhimento invlido. O Tipo
de recolhimento deve ser R- Retido
para local de incidencia do imposto no
municpio e tomador substituto
1442 tributrio.
A atividade no aceita itens de servio Nos itens de servio do RPS o campo
no tributvel Tributvel deve estar com o valor S Item
tributvel. Pois a atividade no aceita itens
1443 O valor total das dedues do RPS no tributveis.
Verifique o percentual mximo sobre o valor
no pode ultrapassar o limite total da nota permitido para esta atividade.
mximo de deduo permitido
1444 para a cidade.
Tributacao invalida para contribuinte Para contribuintes enquadrados como MEI os
enquadrado como ti- pos de tributacao possiveis sao : ( C - Isenta
Microempreendedor Individual - MEI. de ISS, F - Imune, K - Exigibilidade , M -
Tributacao MEI, N
1445 A operacao informada nao permite - Nao Tributavel )
inter- mediacao. Quando informado um
interme- diario deve-se informar no
campo opera- cao o tipo J-
1446 Intermediacao.
Valor do item do RPS no valido. O valor unitario e quantidade do Item do
RPS de- vem ter um valor maior que zero.

Alertas Retornados
CDIGO DESCRIO
203 Lote no processado ainda
211 A inscrio municipal do tomador no foi encontrada na
base de dados de CMM.
214 Cidade/UF informada no foi encontrada na base de da-
dos.
216 RPS j foi convertido individualmente em NF-E atravs do
site e no ser processado novamente.
217 RPS reenviado. A NFS-E referente ao RPS foi cancelada
e uma nova NFS-e foi emitida.
221 O CNPJ informado possui inscrio municipal dentro do
municpio, porem foi informado endereo fora do mu-
nicpio.
1301 NFSe j cancelada.
1302 NFSe em duplicidade na mensagem XML enviada.
1304 NFSe no localizada na base de dados para cancelamen-
to.
1405 No existe nenhuma inscrio municipal vinculada ao
CPF/CNPJ informado.
NFSE - Nota Fiscal de Servios Eletrnica
48
1406 Versao da DLL de conversao de RPS desatualizada. Baixe
a ultima versao no site da NFSe.
1407 NFSe nao localizada na base de dados
1408 RPS nao localizado na base de dados
1409 Lote no assinado.

NFSE - Nota Fiscal de Servios Eletrnica

Av. Guaxenduba, 1455 Bairro de Ftima CEP 65060-360.

S-ar putea să vă placă și