9. Gerar Lote de RPS [18-03-12]
9.3. RPS DSF
9.2. RPS ABRASF v2.0 [18-03-12]
« Anterior
9.4. RPS PMSP [28-01-15]
Próximo »

9.3. RPS DSF

Gerar Lote de RPS padrão DSF

Assinatura

string geraLoteRPSDSF(string LoteRPSTXT, string nroLote, string CNPJRemetente, string RazaoSocialRemetente, string nomeCertificado, string cMunicipio, out int resultado, out string msgResultado, out string erros, string licenca);

Descrição:

Funcionalidade para gerar um lote de RPS do padrão DSF a partir de um TXT, é a forma mais simples e rápida de gerar um Lote de RPS.

Esta funcionalidade:

Preenchimento do nomeCertificado

informar o Nome do titular (campo Assunto) do certificado digital a ser utlizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"

Parâmetros:

nome tipo fluxo descrição
loteRPSTXT string entrada informar a string com o TXT gerado de acordo com o leiaute da string TXT de entrada da DLL desta página, existem exemplos de arquivos TXT no pasta ..\NFSe_Util\ExemploXML do demo.
nroLote string entrada informar a string com o número do lote.
Este número é mero controle interno do usuário, pois a prefeitura atribui um outro número de lote.
CNPJRemetente string entrada informar o CNPJ do Remetente
RazaoSocialRemetente string entrada informar a Razão Social do Remetente
nomeCertificado string entrada informar o Nome do titular (campo Assunto) do certificado digital a ser utlizado na conexão SSL. Ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS"
cMunicipio string entrada informar o código do IBGE do Município para o qual será enviado o lote de RPS.
Obs: Verifique se a funcionalidade é compatível com o seu munícipio, esta funcionalidade é compatível apenas para municípios atendidos pelos provedores DSF.
resultado inteiro saída retorna o resultado da chamada da funcionalidade
msgResultado string saída retorna a literal do resultado da chamada da DLL
erros string saída retorna a lista de erros ocorridos na conversão
licenca string entrada informar a chave da licença de uso, deixar em branco para uso em ambiente de homologação

Leiaute da string TXT de entrada:


Orientação de preenchimento

  • padrão do string de entrada - o string TXT é composto dos seguinte tipos de registros:

    • RPS - registro do RPS, um registro por RPS;
    • Item - registro de item de serviço, até 25 itens por RPS;
    • Deducao - registro de dedução, até 200 deduções por RPS.
  • quantidade máxima de RPS por Lote - cada registro de 2459 caracteres representa um RPS, assim, a quantidade máxima de RPS permitidos é 50 registros de RPS, mas nem todos os municípios aceitam mais de 50 RPS por lote, também pode existir o limite no tamanho da mensagem (Ex. 500Kb), assim verifique os limites na documentação técnica do respectivo município.

  • preenchimento dos campos - Os registros são posicionais e os campos tem tamanho fixo que devem ser preenchidos da seguinte forma:

    • C - campo caractere, preechimento da esquerda para a direita, acrescentar brancos até completar o tamanho do campo;
    • D - campo data, com o seguinte formato: AAAA-MM-DDTHH:MM:SS;
    • N - campo numérico, prenchimento da direita para a esquerda, acrescentar zeros à esquerda até completar o tamanho do campo. Os campos de valores devem ser informados sem o ponto decimal, respeitando a quantidade de casas decimais previstas: 2 para valor e 4 para alíquota.
  • preenchimento de campos ou grupos opcionais - nem todos os RPS têm os grupos e/ou campos destacados na cor verde, quando não existir a informação o campo deve ser preenchido com:

    • zeros, quando o campo for numérico;
    • brancos, quando o campo for caractere
  • diferença de leiaute dos RPS de cada município - não existe um padrão nacional de RPS, assim podem existir pequenas diferenças nos RPS de cada município ou provedor, sendo necessário consultar a documentação técnica disponibilizada pela prefeitura para fazer o correto preenchimento dos campos.

Solicitamos que entre em contato sempre que identificar alguma informação incorreta ou equívocada.

IMPORTANTE: A DLL somente oferece a funcionalidade para converter os dados informados no TXT para o XML do RPS, os esclarecimentos de como cada campo do RPS deve ser preenchido e quais seriam os valores válidos devem ser obtidos na documentação da prefeitura.

Falha na Assinatura

O certificado digital é responsável pela falha na assinatura, as principais causas são:

  • Uso de Certificado Digital sem chave privada - é comum o desenvolvedoer receber o arquivo de certificado digital de seu cliente sem a chave privada, este tipo de arquivo tem extensão cer, se este for o caso solicite o arquivo novamente e peça para exportar a chave privada. o arquivo gerado deve ter a extensão pfx e será protegido por senha.

  • Certificado Digital do tipo A3 ausente - o certificado digital do tipo A3 pode estar com mal contato ou ausente, tente reconectar o dispositivo e verifique o status do certificado digital no aplicativo de administração do certificado digital.

  • Certificado Digital do tipo A1 da CEF

    Download do Manual da CAIXA

    Existe um "macete" para utilizar o certificado digital da CAIXA:

    O problema deste certificado é que apesar de ser um certificado digital A1, ele age como se fosse um certificado digital A3 e utiliza o CSP próprio (cefcert.dll que fica na pasta csp da aplicação da caixa), que não tem suporte para o tipo de assinatura do projeto (só funciona para autenticação).

    Assim, é necessário fazer com que o certificado utilize o CSP do Windows.

    Os passos são:

    1. instalar o certificado digital conforme orientação da CEF;
    2. verificar o funcionamento do certificado e que o certificado consta da lista de certificados no Internet Explorer;
    3. exportar o certificado digital pelo Internet Explorer;
    4. desinstalar o aplicativo da CAIXA;
    5. verificar se a DLL não ficou na pasta da aplicação da CAIXA;
    6. importar o certificado digital exportado no item 3.

    Os passos acima funcionam para windows XP e vista, mas não existe garantia de funcionamento para o windows 7, assim se o equipamento tiver windows 7, tente fazer o processo em um equipamento que tenha windows XP, o certificado gerado no item 3 deve funcionar no windows 7.

  • Reinstale o Certificado Digital - se não for nenhum dos casos acima, tente reinstalar o certificado digital novamente.

Leiaute do registro tipo RPS


Campo tipo tam. posição
inicial
posição
final
observação
Tipo C 1 1 1 Identificação do Registro "R"
InscricaoMunicipalPrestador C 11 2 12 Inscrição Municipal do Prestador. Verificar regra de preenchmento do campo .
RazaoSocialPrestador C 120 13 132 Razão Social do Prestador
TipoRPS C 20 133 152 Tipo de RPS Padrão "RPS"
SerieRPS C 2 153 154 Série do RPS - Padrão "NF"
NumeroRPS N 12 155 166 Número do RPS
DataEmissaoRPS D 19 167 185 Data de Emissão do RPS No formato AAAA-MM-DDTHH:MM:SS
SituacaoRPS C 1 186 186 Situação da RPS "N"-Normal "C"-Cancelada
SerieRPSSubstituido C 10 187 196 deixar em branco
NumeroRPSSubstituido N 10 197 206 preencher com zeros
NumeroNFSeSubstituida N 10 207 216 preencher com zeros
DataEmissaoNFSeSubstituida D 10 217 226 Preencher com "1900-01-01"
SeriePrestacao N 2 227 228 Número do equipamento emissor do RPS ou série de prestação. Caso não utilize a série, preencha o campo com o valor ‘99’ que indica modelo único. Caso queira utilizar o campo série para indicar o número do equipamento emissor do RPS deve-se solicitar liberação da prefeitura.
InscricaoMunicipalTomador C 11 229 239 Inscrição Municipal do Tomador. Caso o tomador não for do municipio não preencher, caso o tomador for do município preencher com a Inscrição Municipal formatada de acordo com o padrão de Formato das Inscrições Municipais que existe no final desta tabela.
CPFCNPJTomador C 14 240 253 CPF ou CNPJ do Tomador Ex: "00000000191" (CNPJ) ou "0001112233 " (CPF)
RazaoSocialTomador C 120 254 373 Razão Social do Tomador
DocTomadorEstrangeiro C 20 374 393 Documento de Identificação do Tomador Estrangeiro. Caso o tomador não for estrangeiro ou não possuir a documento deixar o campo vazio
TipoLogradouroTomador C 10 394 403 Tipo de Logradouro do Tomador. Campo de Preenchimento Livre. Exemplo:
Avenida
Rua
Rodovia
Ruela
Rio
Sítio
Sup Quadra
Travessa
Vale
Via
Viaduto
Viela
Vila
Vargem
LogradouroTomador C 50 404 453 Logradouro do Tomador
NumeroEnderecoTomador C 9 454 462 Numero de Endereço do Tomador
ComplementoTomador C 30 463 492 Complemento do End. do tomador
TipoBairroTomador C 10 493 502 Tipo de Bairro do Tomador. Campo de preenchimento livre. Exemplo:
Bairro
Bosque
Chácara
Conjunto
Desmembramento
Distrito
Favela
Fazenda
Gleba
Horto
Jardim
Loteamento
Núcleo
Parque
Residencial
Sítio
Tropical
Vila
Zona.
BairroTomador C 50 503 552 Bairro do Tomador
CidadeTomador C 10 553 562 Código da Cidade do Tomador - Padrão SIAF
CidadeTomadorDescricao C 50 563 612 Nome da Cidade do Tomador
CEPTomador C 8 613 620 CEP do Tomador Ex:"37900000"
EmailTomador C 60 621 680 Email do Tomador. Caso o Tomador não possua email informar o valor "-" Caso queira enviar para mais de um email colocar ";", Separando os emails e no final. Exemplo:nome@bol.com.br; outro@bol.com.br;
CodigoAtividade C 9 681 689 Código da Atividade
AliquotaAtividade N 6,4 690 695 Alíquota de ISS da Atividade
TipoRecolhimento C 1 696 696 Tipo de Recolhimento "A" - A Recolher "R" - Retido na Fonte
MunicipioPrestacao C 10 697 706 Código do Município de Prestação - Padrão SIAFI, informar ajustado à esquerda.
MunicipioPrestacaoDescricao C 30 707 736 Município de Prestação do Serviço
Operacao C 1 737 737 Operação:
A-Sem Dedução
B-Com Dedução/Materiais
C-Imune/Isenta de ISSQN
D-Devolução / Simples Remessa
J-Intermediação*
Tributacao C 1 738 738 Tributação:
C - Isenta de ISS
E - Não Incidência no Município
F - Imune
K - Exigibilidd Susp.Dec.J/Proc.A
N - Não Tributável
T - Tributável
G - Tributável Fixo
H - Tributável S.N.
M - Micro Empreendedor Individual (MEI).
ValorPIS N 15,2 739 753 Valor PIS
ValorCOFINS N 15,2 754 768 Valor COFINS
ValorINSS N 15,2 769 783 Valor do INSS
ValorIR N 15,2 784 798 Valor do IR
ValorCSLL N 15,2 799 813 Valor do CSLL
AliquotaPIS N 6,4 814 819 Alíquota PIS
AliquotaCOFINS N 6,4 820 825 Alíquota COFINS
AliquotaINSS N 6,4 826 831 Alíquota INSS
AliquotaIR N 6,4 832 837 Alíquota IR
AliquotaCSLL N 6,4 838 843 Alíquota CSLL
DescricaoRPS C 1500 844 2343 Descrição/ Dados Complemetares do RPS
DDDPrestador C 3 2344 2346 DDD do telefone do Prestador
TelefonePrestador C 8 2347 2354 Telefone do Prestador
DDDTomador C 3 2355 2357 DDD Telefone do Tomador.
Quando não souber informar: 00
TelefoneTomador C 8 2358 2365 Telefone do Tomador.
MotCancelamento C 80 2366 2445 Motivo do Cancelamento
CpfCnpjIntermediario C 14 2446 2459 CPF/CNPJ Intermediário


Padrão de formatação das Inscrições Municipais

CIDADE TAMANHO DO CAMPO EXEMPLO
Teresina 07 0000736
Belém 07 0044252
Campinas 09 000000108
Campo Grande 11 00002738007
Uberlândia 08 07444300
Nova Iguaçu 06 000451
São Luis 11 00061994000
Sorocaba 09 000097371


Leiaute do registro tipo Item de RPS


Campo tipo tam. posição
inicial
posição
final
observação
Tipo C 1 1 1 Identificação do Registro "I"
DiscriminacaoServico C 80 2 81 Discriminação do Serviço
Quantidade N 10 82 91 Quantidade do serviço tomado
ValorUnitario N 15,2 92 106 Valor Unitário
ValorTotal N 15,2 107 121 Valor Total
Tributavel C 1 122 122 "S" Item Tributavel, "N" Item Não tributável.
Verifique as atividades que podem ser informadas como não tributáveis no município http://www.dsfnet.com.br/nfse_lote/Anexo8.xls.


Leiaute do registro tipo Dedução de RPS


Campo tipo tam. posição
inicial
posição
final
observação
Tipo C 1 1 1 Identificação do Registro "D"
DeducaoPor C 20 2 21 Valores Possíveis:
"Percentual"
"Valor"
TipoDeducao C 255 22 276 Caso a dedução for por "Valor" os valores possíveis são : "Despesas com Materiais" ou "Despesas com Subempreitada"
Caso a dedução for por "Percentual" informar o campo com valor vazio.
CPFCNPJReferencia C 14 277 290 CPF ou CNPJ do Fornecedor ou Prestador do Serviço.
NumeroNFReferencia N 10 291 300 Número da Nota Fiscal de Referência
ValorTotalReferencia N 15,2 301 315 Valor total da Nota Fiscal de Referência
PercentualDeduzir N 15,2 316 330 Percentual a Deduzir
ValorDeduzir N 15,2 331 345 Valor a ser Deduzido


Retorno:

O resultado da chamada do geraLoteRPSDSF é o XML de lote de RPS.

O parâmetro resultado retorna um código numérico com os seguintes significados:

código Mensagem origem regra
5800 Lote de RPS gerado com sucesso! DLL -
5801 Erro: O parâmetro LoteRPSTXT sem conteúdo DLL -
5802 Erro: O parâmetro nroLote não contém um valor numérico: [{0:0}] DLL -
5803 Erro: O parâmetro nroLote contém um valor fora do intervalo válido (1-999999999999999): [{0:0}] DLL -
5804 Erro: O parâmetro nomeCertificado sem conteúdo DLL -
5805 Erro: O parâmetro LoteRPSTXT com conteúdo inválido, veja os erros: [{0:0}] DLL -
5806 Erro: O parâmetro LoteRPSTXT informado com erro de preenchimento, analise o log de erros DLL -
5807 Erro: Erro inesperado no tratamento da leitura do LoteRPSTXT: [{0:0}] DLL -
5808 Erro: A quantidade de RPS existente no lote: [{0:0}] fora do intervadlo válido (1-50) DLL -
5809 Erro: O parâmetro LoteRPSTXT informado com erro de preenchimento, analise o log de erros DLL -
5810 Erro: A DLL ainda não foi customizada para gerar o LoteRPS para o Município: [{0:0}], contate o suporte (www.flexdocs.com.br/suporte) para outras informações DLL -
5811 Erro: Falha na assinatura do lote DLL -
5812 Erro: O parâmetro CNPJRemetente sem conteúdo DLL -
5813 Erro: O parâmetro CNPJRemetente conteúdo inválido: [{0:0}] DLL -
5814 Erro: O parâmetro RazaoSocialRemetente sem conteúdo DLL -
5815 Erro: Utilize a funcionalidade geraRPSTXT DLL -
5816 Erro: Utilize a funcionalidade geraRPSTXTDSF DLL -
5817 Erro: Utilize a funcionalidade geraRPSTXTSP DLL -


Histórico de atualização:

9.3. RPS DSF
9. Gerar Lote de RPS [18-03-12]
« Anterior
9.2. RPS ABRASF v2.0 [18-03-12]
Próximo »
9.4. RPS PMSP [28-01-15]