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 Provisórios de Serviços(RPS) através de seus próprios sistemas e estes em um determinado momento, serão convertidos em notas fiscais. Para converter estes RPS em NFS-e o sistema do contribuinte deve se conectar ao Web Service da prefeitura e enviar as informações de RPS gerados no formato XML, gerando um lote de entrega.
>Integração de Sistemas via DLL Para facilitar o processo de integração foi desenvolvido uma biblioteca de funções para acessar o Web Service da NFS-e. A lotenfse.dll pode ser utilizada para integração do sistema de informação dos contribuintes e o sistema WebService do portal da Nota Fiscal de Serviços Eletrônica(NFS-e).
ATENÇÃO: Contribuintes com atividades de Cartório vinculadas ao Item 21.01 da Lista de Serviços, conforme Lei Municipal Nº 12.392 de 20 de Outubro de 2005 deverão desenvolver o software de integração por meio do "Manual de Utilização do Web Service" disponível no endereço https://nfse.campinas.sp.gov.br/NotaFiscal/cpqPDF/WebService.pdf. Não poderão utilizar a integração disponível por DLL descrita no "Manual de Envio de Arquivo (Envio de Lotes de RPS)".
A Prefeitura Municipal de Campinas informa que não mais atualizará a lotenfse.dll e não disponibilizará nova DLL para fazer integração dos sistemas. Quem optar por esse método não poderá utilizar versões mais recentes do Windows e não poderá ter as atualizações mais recentes. Arquivos da DLL: http://nfse.campinas.sp.gov.br/NotaFiscal/cpqPDF/exemplos/lotenfse.zip.
>Integração de Sistemas via Web Service Através do Web Service as empresas poderão integrar seus próprios sistemas de informações com o Sistema de NFS-e para automatizar o processo de emissão, consulta e processamento. Através do serviço, o Sistema de NFS-e disponibiliza uma série de funcionalidades que poderão ser acessadas pelos sistemas dos contribuintes. A seguir, estão resumidas as interfaces disponíveis e suas respectivas funcionalidades básicas.Este pacote é entregue ao Web Service que o analisa e aciona a Aplicação usada para implementar o serviço, e devolve outro pacote XML como resposta.
1- Onde posso obter suporte?
O contribuinte pode entrar em contato com o atendimento presencial na prefeitura. Ou então acessando o Grupo de Discussão Sobre Nota Fiscal de Serviços Eletrônica.
Página inicial do grupo: https://br.groups.yahoo.com/group/nfse
E-mail do grupo: nfse@yahoogrupos.com.br
2 - Qual é o limite de dados que pode ser enviado em um lote RPS?
Deve ser enviado um lote com no máximo 500 KB, o que proporciona em média 180 RPS.
3- Como é concedida a data de uma NFSe de um RPS convertido?
Todo RPS enviado obtém a data de emissão do RPS e o sistema capta automaticamente esta data é insere na NFSe, com isso a nota fiscal é gerada com a data herdada da emissão do RPS.
4- É possível realizar a entrega de um lote RPS com apenas 1 RPS em seu conteúdo?
Sim é possível, porém foge ao conceito de entrega em lote, tendo em vista que iria ocasionar uma demora na conversão total dos RPS de uma empresa, ou seja, é vantagem para a empresa enviar todos os seus RPS ao término de seu expediente do que realizar entregas constantes durante o dia.
5- Como é gerado o número da NFSe?
O número da NFSe é gerado de acordo com a última nota fiscal gerada, ou seja, seqüencial e iniciando – se do número 1. Vale ressaltar que não necessariamente os números de RPS e da NFSe são os mesmos, pois a empresa pode ter cadastrado notas online anterior ao início da conversão em lote.
6- Qual é o número do primeiro RPS a ser enviado em um lote de RPS?
O primeiro número de RPS a ser enviado deve ser o número 1.
7- Qual o número máximo do campo de itens de serviço e itens de dedução por RPS ?
É possível enviar até 25 itens de serviço e 200 itens de para dedução em mapa.
8- Quanto tempo demora o processamento de um lote ?
Não existe um tempo fixo, pode ser em até 24 horas. Atualmente esta em 30 segundos normalmente.
9- Tenho um certificado e-CNPJ que utilizo para NFe Nacional posso usar o mesmo para NFS-e?
Sim. Desde que este certificado seja emitido por Autoridade Certificadora credenciada pela Autoridade Certificadora Raiz da ICP-Brasil.
10- Foi enviado um lote no servidor de produção e estou obtendo a seguinte crítica :
1428 - Certificado Digital utilizado na assinatura do lote deve ser o mesmo do remetente do lote.
O XML foi assinado com um certificado diferente do CNPJ do Remetente.
11- Se uma nota é cancelada no site, tem como consulta ela via Web Service?
Através do método ConsultarNota, pode se obter todos os dados de notas convertidas em determinado período.
12-Entreguei um lote com o RPS de 1 ao 10 depois do 11 ao 20, o primeiro lote gerou críticas, o segundo lote será convertido?
Não, pois irá apresentar crítica de RPS fora de seqüência.
13- Como pode ser realizado o envio de lotes com RPS com tomadores de serviço que não desejam ser identificados?
Deve ser informado no campo relativo a CPF / CNPJ do tomador o valor 77777777777 com a inscrição municipal do tomador zerada (0000000).
14- Qual a TAG a ser assinada no lote RPS?
Deve ser realizado a assinatura, pela TAG <lote> </lote>, para isto deve ser informado um ID na TAG lote, como no exemplo a seguir:
<Lote Id="lote:1ABCDZ">
<Reference URI="#lote:1ABCDZ">
15- Como realizar atualização da DLL?
Sempre que for enviado um lote de RPS e o usuário possuir uma versão anterior a DLL vigente será exibida uma mensagem alertando que existe uma nova versão.
16- O que deve ser realizado quando é apresentada a mensagem: Erro inesperado: Não foi possível conectar-se a internet (serviço de envio de RPS)?
Deve ser realizada a verificação da conectividade de internet em sua máquina, e para fins de testes de disponibilidade de serviço, captar a URL de envio e inserir no navegador e verificar se é exibida a mensagem de THERE IS A WEB SERVICE HERE.
17- Como deve ser realizado o processo de cancelamento de um RPS?
Deverá ser enviado um RPS com o Status de Cancelamento e com o campo relativo ao motivo de cancelamento preenchido. Para maiores esclarecimentos visualize o manual de Webservice ou de Especificações DLL.
18-Como deve ser realizado o processo de cancelamento de uma nota via RPS?
O processo de cancelamento de uma NFSe se dá através do envio de um lote de cancelamento, que é diferente do lote normal, pois possui apenas as informações necessárias ao cancelamento, como a IM do Prestador, número da Nota e o motivo de cancelamento. Esse lote de cancelamento deve ser enviado através do método Cancelar do Web Service. Para maiores esclarecimentos visualize o manual de Web Service ou da DLL.
19- Como realizar a importação de NFSe em sistema próprio do empresário?
No sistema NFSe é possível realizar o processo de exportação de notas fiscais eletrônicas no formato XML ou XLS que possibilita ao usuário importar em seu sistema.
20- Como realizar Retorno da Função Consultar Notas?
A função consultar de Notas retorna no máximo 100 notas por requisição, ou seja, se no período entre a data inicial e final da reaquisição tiver mais de 100 notas devem ser feitas mais de uma requisição de consulta. Sendo a primeira requisição passando a nota inicial como sendo a de número zero, nas demais requisições deve-se chamar o consultar notas passando na requisição no campo nota inicial o número da última nota retornado na consulta anterior. Assim o web service irá consultar as notas do período onde o número da nota for maior ou igual a essa nota inicial.
21- Ao consultar o lote apenas obtenho a informação de lote não processado ainda?
Quando ao consultar o lote obtém como retorno a informação de lote não processado ainda, isso indica que você deve aguardar um tempo e voltar a consultar o lote novamente para obter o resultado. Não indica ainda se houveram erros ou se o lote foi convertido. Essa informação é apenas um alerta.
22- É necessário gravar o xml gerado do lote?
Não é necessário, o xml é gravado no sistema da prefeitura, porém caso o contribuinte também queira armazenar essas informações fica a seu critério.
23- Caracteres de Acentuação e Caracteres Especiais?
A codificação do xml de envio em lote é no padrão internacional UTF-8, esse padrão não permite utilização de caracteres especificos de acentuação da língua portuguesa ou caracteres especiais como Exemplo: °,™ ,² ,³ e etc. Os caracteres de acentuação e caracteres especiais devem ser removidos ou substituídos por seus equivalentes sem acentuação.Os caracteres especiais podem ocasionar problemas na verificação da assinatura digital, como o primeiro procedimento de verificação do xml é verificar se a assinatura esta válida. Caso o xml seja inválido o web service não consegue verificar a assinatura e apresenta informação de assinatura inválida.
24- Como Configurar a URL do web service da NFSe na DLL?
Antes de fazer chamada a qualquer função da DLL a primeira função a ser chamada é a setURL passando o endereço do web service a ser utilizado. Deve-se tomar cuidado para não apontar um endereço inválido de web service.
25- Como proceder se não tenho os campos que são definidos como obrigatórios. Por exemplo email, endereço etc?
No manual esta informando os tipos de informação padrão que podem ser utilizadas caso não possua. Por exemplo, determinados campos podem ser utilizado o valor padrão "-" para indicar que não possui a informação. Porém é indicado que seja providenciado que seu sistema passe a gravar essas informações tidas como obrigatórias na NFSe.
26- A DLL esta apresentando estouro de memória ao fazer chamada aos métodos o que pode estar ocasionando?
a. A DLL nfseutil.dll foi implementada em Delphi de maneira a possibilitar a sua utilização em qualquer linguagem de programação, com isso foram utilizados apenas tipos primitivos( Integer,Double e PChar) do Delphi na assinatura das funções. O desenvolvedor ao fazer uso das funções da DLL deve estar atendo ao tipo desses parâmetros utilizados. Caso a linguagem utilizada for Delphi não deve ser utilizado o tipo String e sim o PChar nos parâmetros de referencia ás funções da DLL.Em C# nas funções onde são passados parâmetros do tipo String o correto é passar StringBuilder quando for parâmetros de retorno passados por referência e quando for parâmetros de envio devem ser passados ponteiros do tipo IntPtr e após o uso desses ponteiros deve ser liberada a memória usando Marshal.FreeHGlobal (ponteiro).
b. Nos exemplos de utilização da DLL estão a forma correta de fazer referencia ás funções da DLL. Referências erradas passando tipos de parâmetros errados podem ocasionar em erros de acesso a memória.
c. Outro erro comum de acesso a memória ocorre quando a assinatura da função implementado esta com uma quantidade de parâmetros diferente da função original da DLL, por exemplo, a função tem 4 parâmetros na DLL e no código o programador esta colocando a função com uma assinatura e referência com apenas 3 campos. Deve ser observado com atenção à forma que esta nos exemplos e no manual.
27- Ao executar o procedimento de registro da DLL descrito no arquivo Leia-me.txt ocorre o seguinte erro :
C:\>regasm NFSe_Util.dll /tlb:NFSe_Util.tlb
Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.1433
Copyright (C) Microsoft Corporation 1998-2004. All rights reserved. Types registered successfully.
RegAsm : error RA0000 : An error occurred while saving the exported type library: Acesso negado.
(Exceção de HRESULT: 0x80070005 (E_ACCESSDENIED))
O erro acima ocorre porque depois de registrar a DLL o .Net Framework gera uma arquivo com informações do registro NFSE_UTIL.tlb e se o usuário não tem permissão para gerar este arquivo ou o arquivo encontra-se como somente leitura é exibida a mensagem de Acesso negado descrita acima. Porém o registro da DLL NFSE_UTIL.dll já foi realizado, o retorno "Types registered successfully" indica isso. O erro acima pode ser desconsiderado e não causa nenhuma implicação. Caso o usuário queira resolver bastar conceder permissões para gravação do arquivo.
ATENÇÃO: Contribuintes com atividades de Cartório vinculadas ao Item 21.01 da Lista de Serviços, conforme Lei Municipal Nº 12.392 de 20 de Outubro de 2005 deverão desenvolver o software de integração por meio do "Manual de Utilização do Web Service" disponível no endereço http://nfse.campinas.sp.gov.br/NotaFiscal/cpqPDF/WebService.pdf. Não poderão utilizar a integração disponível por DLL descrita no "Manual de Envio de Arquivo (Envio de Lotes de RPS)".
Manual de Utilização do Web Service Neste manual encontram-se instruções para a integração de sistemas de informação de emissores de RPS e o Sistema de Nota Fiscal de Serviços Eletrônica (NFS-e) baseado no serviço WebService do portal da NFS-e.
Grupo de Discussão Sobre Nota Fiscal de Serviços Eletrônica
Página inicial do grupo: https://br.groups.yahoo.com/group/nfse
E-mail do grupo: nfse@yahoogrupos.com.br Esse grupo tem o intuito de centralizar os contribuintes que utilizam o Regime Especial de envio de RPS em Lote para que realizem discussões sobre o assunto.