SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
10.5. GeraLoteRPS
Gerar Lote de RPS
Assinatura
string geraLoteRPS(string LoteRPSTXT, string nroLote, string nomeCertificado, string cMunicipio, out int resultado, out string
msgResultado, out string erros, string licenca);
Descrição:
Funcionalidade para gerar um lote de RPS a partir de um TXT, é a forma mais simples e rápida de gerar um Lote de RPS.
Esta funcionalidade:
gera o XML do RPS a partir do TXT;
assina o XML do RPS se necessário;
forma o lote de RPS;
assina o lote de RPS.
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_UtilExemploXML do demo.
nroLote string entrada
informar a string com o número do lote
O número do lote não pode ser reutilizado na cidades atendidas pela Betha
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, a funcionalidade não é
compatível com: São Paulo/SP e municípios atendidos pelos provedores DSF e Equiplano
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 pode ter até 100 registro RPS de tamanho fixo de 3053 caracteres separados
por CR/LF.
quantidade máxima de RPS por Lote - cada registro de 3053 caracteres representa um RPS, assim, a quantidade
máxima de RPS permitidos é 100 registros de RPS, mas nem todos os municípios aceitam mais de 50 RPS por lote, também
Guia de Uso da NFSe_Util v1.5a
Guia de Uso » Funcionalidades » GeraLoteRPS
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
1 de 12 27/06/2012 17:30
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 preechido 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 existem 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:
instalar o certificado digital conforme orientação da CEF;1.
verificar o funcionamento do certificado e que o certificado consta da lista de certificados no Internet Explorer;2.
exportar o certificado digital pelo Internet Explorer;3.
desinstalar o aplicativo da CAIXA;4.
verificar se a DLL não ficou na pasta da aplicação da CAIXA;5.
importar o certificado digital exportado no item 3.6.
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.
Campo tipo tam.
posição
inicial
posição
final
observação
IdentificacaoRps
Numero N 15 1 15
Serie C 5 16 20
deve ser numérico para
Belo Horizonte/MG e os
municípios usuários do
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
2 de 12 27/06/2012 17:30
Campo tipo tam.
posição
inicial
posição
final
observação
ISS.NET
Tipo C 1 21 21
informar o código de tipo
de RPS:
1 - RPS
2 - Nota Fiscal Conjugada
(Mista)
3 - Cupom
DataEmissao D 19 22 40
informar no formato:
AAAA-MM-DDTHH:MM:SS
NaturezaOperacao C 1 41 41
informar o código de
natureza da operação:
1 - Tributação no município
2 - Tributação fora do
município
3 - Isenção
4 - Imune
5 - Exigibilidade suspensa
por decisão judicial
6 - Exigibilidade suspensa
por procedimento
administrativo
Obs.:informar os seguintes
códigos para municípios
com provedor Pública:
1 - ISS próprio
2 - ISS retido por tomador
do município
3 - ISS retido por tomador
de fora do município
4 - Isento/Imune
5 - ISS próprio pago para
outro município
6 - Simples Nacional
(pagamento na DAS)
7 - Simples Nacional
(imposto retido)
8 - ISS Fixo (sociedade
uniprofissional)
9 - Estimativa Fiscal
A - Escritório Contábil
(Simples Nacional)
informar os seguintes
códigos para municípios
com provedor Thema:
1- Imposto devido em São
Leopoldo, com obrigação
de retenção na fonte
2 - Imposto devido em São
Leopoldo, sem obrigação
de retenção na fonte
3 - Não tributável
4 - Imposto recolhido pelo
regime único de
arrecadação Simples
Nacional
5 - Imposto devido em São
Leopoldo, com obrigação
de retenção na fonte
6 - Imposto devido em São
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
3 de 12 27/06/2012 17:30
Campo tipo tam.
posição
inicial
posição
final
observação
Leopoldo, sem obrigação de
retenção na fonte
7 - Imposto devido fora de
São Leopoldo, com
obrigação de retenção na
fonte
8 - Imposto devido fora de
São Leopoldo, sem
obrigação de retenção na
fonte
9 - Não tributável
A - Imposto recolhido pelo
regime único de
arrecadação Simples
Nacional
B - Não tributável.
RegimeEspecialTributacao C 1 42 42
informar o código de
identificação do regime
especial de tributação:
1 - Microempresa municipal
2 - Estimativa
3 - Sociedade de
profissionais
4 - Cooperativa
5 – MEI – Simples Nacional
6 – ME EPP – Simples
Nacional
informar branco para omitir
o campo
OptanteSimplesNacional C 1 43 43
informar: 1 - Sim ou 2 -
Não
IncentivoCultural C 1 44 44
informar: 1 - Sim ou 2 -
Não
Status C 1 45 45
informar o código de status
do RPS:
1 - Normal
2 - Cancelado
RpsSubstituido
Numero C 15 46 60
informar brancos nas
posições 46 a 66 para
omitir o grupo
RpsSubstituído
Serie C 5 61 65
deve ser numérico para
municípios usuários do
ISS.NET
Tipo C 1 66 66
informar o Código de tipo
de RPS:
1 - RPS
2 - Nota Fiscal Conjugada
(Mista)
3 - Cupom
Servico Valores
ValorServicos N 15,2 67 81
ValorDeducoes N 15,2 82 96
ValorPis N 15,2 97 111
ValorCofins N 15,2 112 126
ValorInss N 15,2 127 141
ValorIR N 15,2 142 156
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
4 de 12 27/06/2012 17:30
Campo tipo tam.
posição
inicial
posição
final
observação
ValorCsll N 15,2 157 171
IssRetido N 1 172 172
informar: 1 - Sim ou 2 -
Não
ValorIss N 15,2 173 187
ValorIssRetido N 15,2 188 202
OutrasRetencoes N 15,2 203 217
BaseCalculo N 15,2 218 232
(+) Valor dos serviços
(-) Valor das deduções
(-) Descontos
incondicionados
Aliquota N 5,4 233 237
FAQ - preenchimento da
Aliquota
ValorLiquidoNfse N 15,2 238 252
(+) ValorServicos
(-) ValorPIS
(-) ValorCOFINS
(-) ValorINSS
(-) ValorIR
(-) ValorCSLL
(-) OutrasRetençoes
(-) ValorISSRetido
(-) DescontoIncondicionado
(-) DescontoCondicionado
Este campo deve ser
informado apesar de
constar como opcional.
DescontoIncondicionado N 15,2 253 267
DescontoCondicionado N 15,2 268 282
ItemListaServico C 5 283 287
Tabela de código de
Serviços
Em alguns municípios o
campo deve ser informado
sem ponto, com 4 dígitos
ajustado à esquerda com
um branco no final
Informar com 4 posições
no RPS do
ISS.NET(posições de 283 a
286)
FAQ - preenchimento do
ItemListaServico
CodigoCnae C 7 288 294
Pesquisa CNAE
Informar com 8 posições
no RPS do ISS.NET
(posições de 287 a 294).
Preencha o campo com
zeros se desejar omitir a
tag.
CodigoTributacaoMunicipio C 20 295 314
A tag
CodigoTributacaoMunicipio
- Codigo de Tributação do
Município é um código
"proprietário" de cada
município, não existe
qualquer padrão, assim é
necessário contatar o
município para identificar
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
5 de 12 27/06/2012 17:30
Campo tipo tam.
posição
inicial
posição
final
observação
qual é a codificação
utilizada.
Algumas prefeituras
adotam o codificação da
lista de serviço da LC
116/03 ampliada, como é o
caso do prefeitura
municipal do Rio de
Janeiro/RJ.
A prefeitura de Belo
Horizonte/MG passou a
adotar o CTISS - Código de
Tributação do ISSQN a
partir de 01/04/2012.
As prefeituras que adotam
o padrão GINFES utilizam
os códigos utilizados no
GISS, este é um detalhe
importante, verifique se já
existia algum sistema ou
padrão de prestação de
informação na prefeitura,
pois as chances de
utilizarem a mesma
codificação anterior é
enorme.
Belo Horizonte - o CTISS
deve ser utilizado em
substituição a CNAE-BH a
partir de 01/04/2012.
Rio de Janeiro - tabela de
serviços.
CIDADES GINFES -
Consultar a lista de
Atividades da GISS Online
1. Seleciona seu Estado e a
Cidade;
2. Selecione a Lista de
atividades.
Informar com o seguinte
formato "14.03.00 /
00140300" em Ribeirão
Preto/SP
FAQ preenchimento do
CodigoTributacaoMunicipio
Discriminacao C 2000 315 2314
A DLL substituí a sequência
|| por CR/LF na montagem
do XML, mas cabe observar
que a informação de CR/LF
para formatar o texto nem
sempre é permitida.
A Prefeitura de BH/MG
substituí o | por CR/LF.
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
6 de 12 27/06/2012 17:30
Campo tipo tam.
posição
inicial
posição
final
observação
CodigoMunicipio C 7 2315 2321
Informar o código do
município de prestação do
serviço.
Este campo chama-se
MunicipioPrestador no RPS
do ISS.NET e deve ser
informado com 999 para
uso no ambiente de
homologação do ISS.NET
Prestador
Cnpj C 14 2322 2335
InscricaoMunicipal C 15 2336 2350
Tomador
IdentificacaoTomador
CpfCnpj
Cpf C 11 2351 2361
Cnpj C 14 2362 2375
InscricaoMunicipal C 15 2376 2390
RazaoSocial C 115 2391 2505
Endereco
Endereco C 125 2506 2630
Numero C 10 2631 2640
Complemento C 60 2641 2700
Bairro C 60 2701 2760
CodigoMunicipio C 7 2761 2767
Este campo chama-se
Cidade no RPS do ISS.NET
UF C 2 2768 2769
Este campo chama-se
Estado no RPS do ISS.NET
Cep C 8 2770 2777
Contato
Telefone C 11 2778 2788
Email C 80 2789 2868
ItermediarioServico
RazaoSocial C 115 2869 2983
informar brancos nas
posições 2869 a 3023 para
omitir o grupo
IntermediarioServico
CpfCnpj
Cpf C 11 2984 2994
Cnpj C 14 2995 3008
InscricaoMunicipal C 15 3009 3023
ConstrucaoCivil
CodigoObra C 15 3024 3038
informar brancos nas
posições 3024 a 3053 para
omitir o grupo
ConstrucaoCivil
Art C 15 3039 3053
Diagrama de RPS padrão:
ATENÇÃO
Podem existir pequenas diferenças no leiaute de cada município, assim utilize o diagrama abaixo como mero material de apoio,
procure consultar a documentação técnica do município para ter o diagrama correto.
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
7 de 12 27/06/2012 17:30
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
8 de 12 27/06/2012 17:30
Exemplo de Criação do TXT
Delphi
procedure TForm1.Button4Click(Sender: TObject);
var
NumeroRPS: currency;
SerieRPS, TipoRPS:string;
DataEmissao:TDateTime;
VServico, Aliquota: currency;
TXT: widestring;
begin
//
// inicializa valores
//
NumeroRPS := 1234;
SerieRPS := 'A';
TipoRPS := '1';
//
DataEmissao := now();
//
VServico := 120.25;
Aliquota := 0.02;
//
// Monta linha de RPS
//------------------------------------------------------------
// Exemplo para formatar CARACTER
//
// Format('%-5s',[SerieRPS]);
//
// signficados de %-5s:
// - ---> ajustar o texto a esquerda
// 5 ---> tamanho final da string
//
// signficados de %-2000s:
// - ---> ajustar o texto a esquerda
// 2000 ---> tamanho final da string
//
//------------------------------------------------------------
// Exemplo para formatar VALOR
//
// FormatCurr('000000000000', NumeroRPS);
//
// Mascara deve ter a quantidade de zeros previsto para campo
//
// IMPORTANTE: necessário "eliminar os decimais" dos valores
// multiplique o valor por 100 nos campos de valor
// multiplique o valor por 10000 nos campos de aliquota
//
//------------------------------------------------------------
// Exemplo para formatar DATA
//
// FormatDateTime('yyyy-mm-dd',DataEmissao)+'T'+FormatDateTime('hh:nn:ss',DataEmissao)
//
//------------------------------------------------------------
// Concatenar RPS:
//
// Arquivo := Arquivo + #13+#10+ TXT;
//
TXT :='';
TXT := TXT + FormatCurr('000000000000', NumeroRPS);
TXT := TXT + Format('%-5s',[SerieRPS]);
TXT := TXT + Format('%-1s',[TipoRPS]);
TXT := TXT + FormatDateTime('yyyy-mm-dd',DataEmissao)+'T'+FormatDateTime('hh:nn:ss',DataEmissao);
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
9 de 12 27/06/2012 17:30
TXT := TXT + FormatCurr('000000000000', VServico * 100);
TXT := TXT + FormatCurr('00000', Aliquota * 10000);
ShowMessage(TXT);
end;
VB 6.0
Private Sub Command1_Click()
Dim NumeroRPS As Double
Dim SerieRPS As String
Dim TipoRPS As String
Dim DataEmissao As Date
Dim Vservico As Double
Dim Aliquota As Double
Dim TXT As String
'
' inicializa valores
'
NumeroRPS = 1234
SerieRPS = "A"
TipoRPS = "1"
'
DataEmissao = Now()
'
Vservico = 120.25
Aliquota = 0.0215
'
' Monta linha de RPS
'------------------------------------------------------------
' Exemplo para formatar CARACTERE
'
' Left(SerieRPS + Space(5), 5)
'
' onde 5 e tamanha maximo do campo desejado
'
'------------------------------------------------------------
' Exemplo para formatar VALOR
'
' Format(NumeroRPS, "000000000000" )
'
' Mascara deve ter a quantidade de zeros previsto para campo
'
' IMPORTANTE: necessário "eliminar os decimais" dos valores
' multiplique o valor por 100 nos campos de valor
' multiplique o valor por 10000 nos campos de aliquota
'
'------------------------------------------------------------
' Exemplo para formatar DATA
'
' Format(DataEmissao, "yyyy-mm-dd") + "T" + Format(DataEmissao, "hh:mm:ss")
'
'------------------------------------------------------------
' Concatenar RPS:
'
' Arquivo = Arquivo + chr(13)+ chr(10)+ TXT
'
TXT = ""
TXT = TXT + Format(NumeroRPS, "000000000000")
TXT = TXT + Left(SerieRPS + Space(5), 5)
TXT = TXT + Left(TipoRPS + Space(1), 1)
TXT = TXT + Format(DataEmissao, "yyyy-mm-dd") + "T" + Format(DataEmissao, "hh:mm:ss")
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
10 de 12 27/06/2012 17:30
TXT = TXT + Format(Vservico * 100, "000000000000")
TXT = TXT + Format(Aliquota * 10000, "00000")
MsgBox TXT
End Sub
Visual FoxPro
Local NumeroRPS as Double
Local SerieRPS as String
Local TipoRPS as String
Local DataEmissao as DateTime
Local Vservico as Double
Local Aliquota as Short
Local TXT as String
&&
&& inicializa valores
&&
NumeroRPS = 1234
SerieRPS = "A"
TipoRPS = "1"
&&
DataEmissao = DATETIME()
&&
Vservico = 120.25
Aliquota = 0.0215
&&
&& Monta linha de RPS
&&------------------------------------------------------------
&& Exemplo para formatar CARACTERE
&&
&& Left(SerieRPS + Space(5), 5)
&&
&& onde 5 e tamanha maximo do campo desejado
&&
&&------------------------------------------------------------
&& Exemplo para formatar VALOR
&&
&& TXT + TRANSFORM(Vservico * 100, "@L 999999999999")
&&
&& Mascara deve ter a quantidade de zeros previsto para campo
&&
&& IMPORTANTE: necessário "eliminar os decimais" dos valores
&& multiplique o valor por 100 nos campos de valor
&& multiplique o valor por 10000 nos campos de aliquota
&&
&&------------------------------------------------------------
&& Exemplo para formatar DATA
&&
&& TRANSFORM(TTOC(DataEmissao,1),"@R 9999-99-99T99:99:99")
&&
&&------------------------------------------------------------
&& Concatenar RPS:
&&
&& Arquivo = Arquivo + chr(13)+ chr(10)+ TXT
&&
TXT = ""
TXT = TXT + TRANSFORM(NumeroRPS, "@L 999999999999")
TXT = TXT + Left(SerieRPS + Space(5), 5)
TXT = TXT + Left(TipoRPS + Space(1), 1)
TXT = TXT + TRANSFORM(TTOC(DataEmissao,1),"@R 9999-99-99T99:99:99")
TXT = TXT + TRANSFORM(Vservico * 100, "@L 999999999999")
TXT = TXT + TRANSFORM(Aliquota * 10000, "@L 99999")
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
11 de 12 27/06/2012 17:30
? TXT
Retorno:
O resultado da chamada do geraLoteRPS é 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: [valor recebido pela DLL] DLL -
5803
Erro: O parâmetro nroLote contém um valor fora do intervalo válido (1-999999999999999): [valor
recebido pela DLL]
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: [lista de erros] 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: [mensagem do Windows 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: [cMunicipio], contate o
suporte (www.flexdocs.com.br/suporte) para outras informações
DLL -
5811 Erro: Falha na assinatura do lote DLL -
Histórico de atualização:
2010-10-18 - 1.0e - Versão beta preliminar.
2011-01-08 - 1.0i
2011-10-22 - 1.4a - Acrésicmo de código exemplo de geração do TXT do lote RPS
Copyright © FlexDocs Documentos Eletrônicos - 2008-2012 - Todos os direitos reservados
Generated by TypeFriendly 0.1.3 by Invenzzia
GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html
12 de 12 27/06/2012 17:30

Mais conteúdo relacionado

Destaque

O que há de novo no Windows Phone
O que há de novo no Windows PhoneO que há de novo no Windows Phone
O que há de novo no Windows PhoneMarlon Luz
 
Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...
Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...
Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...Victor Peña
 
Agendas 2.3 y 4
Agendas  2.3 y 4Agendas  2.3 y 4
Agendas 2.3 y 4PaolaBarco
 
Archivo de Excel
Archivo de ExcelArchivo de Excel
Archivo de Exceltatyroa94
 
Presentación evolucionismo nuevo
Presentación evolucionismo nuevoPresentación evolucionismo nuevo
Presentación evolucionismo nuevomarimil3
 
Lecture. Discipline Hospitality and services industry
Lecture. Discipline Hospitality and services industryLecture. Discipline Hospitality and services industry
Lecture. Discipline Hospitality and services industryNatalia Smagina (Morozova)
 
Alibaba.and.myanmar.import.2014
Alibaba.and.myanmar.import.2014Alibaba.and.myanmar.import.2014
Alibaba.and.myanmar.import.2014Zaw Aung
 
Uma Vida de Rendição
Uma Vida de RendiçãoUma Vida de Rendição
Uma Vida de RendiçãoEgmon Pereira
 
Jadwal pelajaran semester_1_20142015.xlsx
Jadwal pelajaran semester_1_20142015.xlsxJadwal pelajaran semester_1_20142015.xlsx
Jadwal pelajaran semester_1_20142015.xlsxSunardi nardi
 
Power point aplicacion interactiva-uch
Power point aplicacion interactiva-uchPower point aplicacion interactiva-uch
Power point aplicacion interactiva-uchelvirita2013
 

Destaque (20)

Questão 01
Questão 01Questão 01
Questão 01
 
O que há de novo no Windows Phone
O que há de novo no Windows PhoneO que há de novo no Windows Phone
O que há de novo no Windows Phone
 
Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...
Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...
Programa superior talenthia barcelona, Formación de Habilidades en Barcelona ...
 
Book ridrog kotokatha (1st volume)
Book ridrog kotokatha (1st volume)Book ridrog kotokatha (1st volume)
Book ridrog kotokatha (1st volume)
 
Agendas 2.3 y 4
Agendas  2.3 y 4Agendas  2.3 y 4
Agendas 2.3 y 4
 
Archivo de Excel
Archivo de ExcelArchivo de Excel
Archivo de Excel
 
Bab 7 gnu linu x server
Bab 7 gnu linu x serverBab 7 gnu linu x server
Bab 7 gnu linu x server
 
Presentación evolucionismo nuevo
Presentación evolucionismo nuevoPresentación evolucionismo nuevo
Presentación evolucionismo nuevo
 
Lecture. Discipline Hospitality and services industry
Lecture. Discipline Hospitality and services industryLecture. Discipline Hospitality and services industry
Lecture. Discipline Hospitality and services industry
 
Alibaba.and.myanmar.import.2014
Alibaba.and.myanmar.import.2014Alibaba.and.myanmar.import.2014
Alibaba.and.myanmar.import.2014
 
Uma Vida de Rendição
Uma Vida de RendiçãoUma Vida de Rendição
Uma Vida de Rendição
 
Jadwal pelajaran semester_1_20142015.xlsx
Jadwal pelajaran semester_1_20142015.xlsxJadwal pelajaran semester_1_20142015.xlsx
Jadwal pelajaran semester_1_20142015.xlsx
 
Power point aplicacion interactiva-uch
Power point aplicacion interactiva-uchPower point aplicacion interactiva-uch
Power point aplicacion interactiva-uch
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Química – estado sólido 01 – 2014
Química – estado sólido 01 – 2014Química – estado sólido 01 – 2014
Química – estado sólido 01 – 2014
 
Diseño del taller
Diseño del tallerDiseño del taller
Diseño del taller
 
Acta del ple celebrat el 12 de juny de 2014
Acta del ple celebrat el 12 de juny de 2014Acta del ple celebrat el 12 de juny de 2014
Acta del ple celebrat el 12 de juny de 2014
 
Kritterium sumer
Kritterium sumerKritterium sumer
Kritterium sumer
 
iHealth聚餐
 iHealth聚餐 iHealth聚餐
iHealth聚餐
 
Matemática – equação exponencial 02 2014
Matemática – equação exponencial 02   2014Matemática – equação exponencial 02   2014
Matemática – equação exponencial 02 2014
 

Semelhante a Gera loterps flexdocs

(5) Padronizacao de cadastro e abreviatura de campos
(5) Padronizacao de cadastro e abreviatura de campos(5) Padronizacao de cadastro e abreviatura de campos
(5) Padronizacao de cadastro e abreviatura de camposPortal KeyConsultas-web
 
NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...
NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...
NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...Christophe Trevisani
 
Nf se layout_rps_sao paulo_versao_3.4
Nf se layout_rps_sao paulo_versao_3.4Nf se layout_rps_sao paulo_versao_3.4
Nf se layout_rps_sao paulo_versao_3.4Welington1510
 
(2) Saneamento de Cadastros de Clientes e Fornecedores: o processo
(2) Saneamento de Cadastros de Clientes e Fornecedores: o processo(2) Saneamento de Cadastros de Clientes e Fornecedores: o processo
(2) Saneamento de Cadastros de Clientes e Fornecedores: o processoPortal KeyConsultas-web
 
Codificando e-magazine11
Codificando e-magazine11Codificando e-magazine11
Codificando e-magazine11Marcos Paulo
 
Emissor nfce nfc e nota fiscal consumidor eletronica Simpler
Emissor nfce nfc e nota fiscal consumidor eletronica SimplerEmissor nfce nfc e nota fiscal consumidor eletronica Simpler
Emissor nfce nfc e nota fiscal consumidor eletronica SimplerMichael Belmonte
 
Apresentação_NFCepack
Apresentação_NFCepackApresentação_NFCepack
Apresentação_NFCepackInventti
 
Orientação de preenchimento da nf e - versão 2.02
Orientação de preenchimento da nf e - versão 2.02Orientação de preenchimento da nf e - versão 2.02
Orientação de preenchimento da nf e - versão 2.02vantagemzero
 
(6b) Projeto para integrar ERP ou CRM ao webservice de consultas
(6b) Projeto para integrar ERP ou CRM ao webservice de consultas(6b) Projeto para integrar ERP ou CRM ao webservice de consultas
(6b) Projeto para integrar ERP ou CRM ao webservice de consultasPortal KeyConsultas-web
 
Treinamento tef modula
Treinamento tef modulaTreinamento tef modula
Treinamento tef modulaMarcelo Silva
 
Nota técnica Nfe 2012 001
Nota técnica Nfe 2012 001Nota técnica Nfe 2012 001
Nota técnica Nfe 2012 001Gelivaldo Filho
 

Semelhante a Gera loterps flexdocs (20)

Padronização de cadastros e abreviações em campos de dados
Padronização de cadastros e abreviações em campos de dadosPadronização de cadastros e abreviações em campos de dados
Padronização de cadastros e abreviações em campos de dados
 
(5) Padronizacao de cadastro e abreviatura de campos
(5) Padronizacao de cadastro e abreviatura de campos(5) Padronizacao de cadastro e abreviatura de campos
(5) Padronizacao de cadastro e abreviatura de campos
 
NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...
NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...
NFS-e: 7 Pontos Cruciais que Você Precisa Saber Para Implementar a Nota Fisca...
 
Nf se layout_rps_sao paulo_versao_3.4
Nf se layout_rps_sao paulo_versao_3.4Nf se layout_rps_sao paulo_versao_3.4
Nf se layout_rps_sao paulo_versao_3.4
 
(2) Saneamento de Cadastros de Clientes e Fornecedores: o processo
(2) Saneamento de Cadastros de Clientes e Fornecedores: o processo(2) Saneamento de Cadastros de Clientes e Fornecedores: o processo
(2) Saneamento de Cadastros de Clientes e Fornecedores: o processo
 
Saneamento de Cadastro de Clientes e Fornecedores (KeyConsultas-web)
Saneamento de Cadastro de Clientes e Fornecedores (KeyConsultas-web)Saneamento de Cadastro de Clientes e Fornecedores (KeyConsultas-web)
Saneamento de Cadastro de Clientes e Fornecedores (KeyConsultas-web)
 
Codificando e-magazine11
Codificando e-magazine11Codificando e-magazine11
Codificando e-magazine11
 
Emissor nfce nfc e nota fiscal consumidor eletronica Simpler
Emissor nfce nfc e nota fiscal consumidor eletronica SimplerEmissor nfce nfc e nota fiscal consumidor eletronica Simpler
Emissor nfce nfc e nota fiscal consumidor eletronica Simpler
 
Contribuição conapra 006 cnap
Contribuição conapra 006   cnapContribuição conapra 006   cnap
Contribuição conapra 006 cnap
 
Apresentação_NFCepack
Apresentação_NFCepackApresentação_NFCepack
Apresentação_NFCepack
 
Orientação de preenchimento da nf e - versão 2.02
Orientação de preenchimento da nf e - versão 2.02Orientação de preenchimento da nf e - versão 2.02
Orientação de preenchimento da nf e - versão 2.02
 
(6b) Projeto para integrar ERP ou CRM ao webservice de consultas
(6b) Projeto para integrar ERP ou CRM ao webservice de consultas(6b) Projeto para integrar ERP ou CRM ao webservice de consultas
(6b) Projeto para integrar ERP ou CRM ao webservice de consultas
 
Treinamento tef modula
Treinamento tef modulaTreinamento tef modula
Treinamento tef modula
 
Sintegra: Guia Pratico da SEFAZ Goias.
Sintegra: Guia Pratico da SEFAZ Goias. Sintegra: Guia Pratico da SEFAZ Goias.
Sintegra: Guia Pratico da SEFAZ Goias.
 
Sintegra grf cbt
Sintegra grf cbtSintegra grf cbt
Sintegra grf cbt
 
Cadastrar fornecedor-fk01
Cadastrar fornecedor-fk01Cadastrar fornecedor-fk01
Cadastrar fornecedor-fk01
 
Nota técnica Nfe 2012 001
Nota técnica Nfe 2012 001Nota técnica Nfe 2012 001
Nota técnica Nfe 2012 001
 
Oobj CT-e - Conhecimento de Transporte Eletrônico
Oobj CT-e - Conhecimento de Transporte EletrônicoOobj CT-e - Conhecimento de Transporte Eletrônico
Oobj CT-e - Conhecimento de Transporte Eletrônico
 
Oobj CT-e
Oobj CT-eOobj CT-e
Oobj CT-e
 
Cartilha DIMEP D-SAT
Cartilha DIMEP D-SATCartilha DIMEP D-SAT
Cartilha DIMEP D-SAT
 

Mais de Gelivaldo Filho (20)

Nt2013
Nt2013Nt2013
Nt2013
 
Nt2013.006 v1.00 resol_13_fci
Nt2013.006 v1.00 resol_13_fciNt2013.006 v1.00 resol_13_fci
Nt2013.006 v1.00 resol_13_fci
 
Nt2013.005 v1.00a
Nt2013.005 v1.00aNt2013.005 v1.00a
Nt2013.005 v1.00a
 
Nt2013.004 v1.00 resol_13
Nt2013.004 v1.00 resol_13Nt2013.004 v1.00 resol_13
Nt2013.004 v1.00 resol_13
 
Nt2013.003 v1.00a lei_transparencia
Nt2013.003 v1.00a lei_transparenciaNt2013.003 v1.00a lei_transparencia
Nt2013.003 v1.00a lei_transparencia
 
Nt2013.001 manifestacao combustivel
Nt2013.001 manifestacao combustivelNt2013.001 manifestacao combustivel
Nt2013.001 manifestacao combustivel
 
Nt2013.005 v1.01 verso_nacional_2013
Nt2013.005 v1.01 verso_nacional_2013Nt2013.005 v1.01 verso_nacional_2013
Nt2013.005 v1.01 verso_nacional_2013
 
Nota técnica Nfe 2012 005c
Nota técnica Nfe 2012 005cNota técnica Nfe 2012 005c
Nota técnica Nfe 2012 005c
 
Nota técnica Nfe 2012 004
Nota técnica Nfe 2012 004Nota técnica Nfe 2012 004
Nota técnica Nfe 2012 004
 
Nota técnica Nfe 2012 003d
Nota técnica Nfe 2012 003dNota técnica Nfe 2012 003d
Nota técnica Nfe 2012 003d
 
Nota técnica Nfe 2012
Nota técnica Nfe 2012 Nota técnica Nfe 2012
Nota técnica Nfe 2012
 
Guia pratico da_efd_versao_2_0_2
Guia pratico da_efd_versao_2_0_2Guia pratico da_efd_versao_2_0_2
Guia pratico da_efd_versao_2_0_2
 
Bloco h
Bloco hBloco h
Bloco h
 
Bloco c
Bloco cBloco c
Bloco c
 
Bloco 9
Bloco 9Bloco 9
Bloco 9
 
Bloco 0
Bloco 0Bloco 0
Bloco 0
 
Arquivo mfd
Arquivo mfdArquivo mfd
Arquivo mfd
 
9º registro 90
9º registro 909º registro 90
9º registro 90
 
8º registro 75
8º registro 758º registro 75
8º registro 75
 
7º registro 60 r
7º registro 60 r7º registro 60 r
7º registro 60 r
 

Gera loterps flexdocs

  • 1. 10.5. GeraLoteRPS Gerar Lote de RPS Assinatura string geraLoteRPS(string LoteRPSTXT, string nroLote, string nomeCertificado, string cMunicipio, out int resultado, out string msgResultado, out string erros, string licenca); Descrição: Funcionalidade para gerar um lote de RPS a partir de um TXT, é a forma mais simples e rápida de gerar um Lote de RPS. Esta funcionalidade: gera o XML do RPS a partir do TXT; assina o XML do RPS se necessário; forma o lote de RPS; assina o lote de RPS. 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_UtilExemploXML do demo. nroLote string entrada informar a string com o número do lote O número do lote não pode ser reutilizado na cidades atendidas pela Betha 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, a funcionalidade não é compatível com: São Paulo/SP e municípios atendidos pelos provedores DSF e Equiplano 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 pode ter até 100 registro RPS de tamanho fixo de 3053 caracteres separados por CR/LF. quantidade máxima de RPS por Lote - cada registro de 3053 caracteres representa um RPS, assim, a quantidade máxima de RPS permitidos é 100 registros de RPS, mas nem todos os municípios aceitam mais de 50 RPS por lote, também Guia de Uso da NFSe_Util v1.5a Guia de Uso » Funcionalidades » GeraLoteRPS GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 1 de 12 27/06/2012 17:30
  • 2. 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 preechido 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 existem 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: instalar o certificado digital conforme orientação da CEF;1. verificar o funcionamento do certificado e que o certificado consta da lista de certificados no Internet Explorer;2. exportar o certificado digital pelo Internet Explorer;3. desinstalar o aplicativo da CAIXA;4. verificar se a DLL não ficou na pasta da aplicação da CAIXA;5. importar o certificado digital exportado no item 3.6. 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. Campo tipo tam. posição inicial posição final observação IdentificacaoRps Numero N 15 1 15 Serie C 5 16 20 deve ser numérico para Belo Horizonte/MG e os municípios usuários do GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 2 de 12 27/06/2012 17:30
  • 3. Campo tipo tam. posição inicial posição final observação ISS.NET Tipo C 1 21 21 informar o código de tipo de RPS: 1 - RPS 2 - Nota Fiscal Conjugada (Mista) 3 - Cupom DataEmissao D 19 22 40 informar no formato: AAAA-MM-DDTHH:MM:SS NaturezaOperacao C 1 41 41 informar o código de natureza da operação: 1 - Tributação no município 2 - Tributação fora do município 3 - Isenção 4 - Imune 5 - Exigibilidade suspensa por decisão judicial 6 - Exigibilidade suspensa por procedimento administrativo Obs.:informar os seguintes códigos para municípios com provedor Pública: 1 - ISS próprio 2 - ISS retido por tomador do município 3 - ISS retido por tomador de fora do município 4 - Isento/Imune 5 - ISS próprio pago para outro município 6 - Simples Nacional (pagamento na DAS) 7 - Simples Nacional (imposto retido) 8 - ISS Fixo (sociedade uniprofissional) 9 - Estimativa Fiscal A - Escritório Contábil (Simples Nacional) informar os seguintes códigos para municípios com provedor Thema: 1- Imposto devido em São Leopoldo, com obrigação de retenção na fonte 2 - Imposto devido em São Leopoldo, sem obrigação de retenção na fonte 3 - Não tributável 4 - Imposto recolhido pelo regime único de arrecadação Simples Nacional 5 - Imposto devido em São Leopoldo, com obrigação de retenção na fonte 6 - Imposto devido em São GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 3 de 12 27/06/2012 17:30
  • 4. Campo tipo tam. posição inicial posição final observação Leopoldo, sem obrigação de retenção na fonte 7 - Imposto devido fora de São Leopoldo, com obrigação de retenção na fonte 8 - Imposto devido fora de São Leopoldo, sem obrigação de retenção na fonte 9 - Não tributável A - Imposto recolhido pelo regime único de arrecadação Simples Nacional B - Não tributável. RegimeEspecialTributacao C 1 42 42 informar o código de identificação do regime especial de tributação: 1 - Microempresa municipal 2 - Estimativa 3 - Sociedade de profissionais 4 - Cooperativa 5 – MEI – Simples Nacional 6 – ME EPP – Simples Nacional informar branco para omitir o campo OptanteSimplesNacional C 1 43 43 informar: 1 - Sim ou 2 - Não IncentivoCultural C 1 44 44 informar: 1 - Sim ou 2 - Não Status C 1 45 45 informar o código de status do RPS: 1 - Normal 2 - Cancelado RpsSubstituido Numero C 15 46 60 informar brancos nas posições 46 a 66 para omitir o grupo RpsSubstituído Serie C 5 61 65 deve ser numérico para municípios usuários do ISS.NET Tipo C 1 66 66 informar o Código de tipo de RPS: 1 - RPS 2 - Nota Fiscal Conjugada (Mista) 3 - Cupom Servico Valores ValorServicos N 15,2 67 81 ValorDeducoes N 15,2 82 96 ValorPis N 15,2 97 111 ValorCofins N 15,2 112 126 ValorInss N 15,2 127 141 ValorIR N 15,2 142 156 GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 4 de 12 27/06/2012 17:30
  • 5. Campo tipo tam. posição inicial posição final observação ValorCsll N 15,2 157 171 IssRetido N 1 172 172 informar: 1 - Sim ou 2 - Não ValorIss N 15,2 173 187 ValorIssRetido N 15,2 188 202 OutrasRetencoes N 15,2 203 217 BaseCalculo N 15,2 218 232 (+) Valor dos serviços (-) Valor das deduções (-) Descontos incondicionados Aliquota N 5,4 233 237 FAQ - preenchimento da Aliquota ValorLiquidoNfse N 15,2 238 252 (+) ValorServicos (-) ValorPIS (-) ValorCOFINS (-) ValorINSS (-) ValorIR (-) ValorCSLL (-) OutrasRetençoes (-) ValorISSRetido (-) DescontoIncondicionado (-) DescontoCondicionado Este campo deve ser informado apesar de constar como opcional. DescontoIncondicionado N 15,2 253 267 DescontoCondicionado N 15,2 268 282 ItemListaServico C 5 283 287 Tabela de código de Serviços Em alguns municípios o campo deve ser informado sem ponto, com 4 dígitos ajustado à esquerda com um branco no final Informar com 4 posições no RPS do ISS.NET(posições de 283 a 286) FAQ - preenchimento do ItemListaServico CodigoCnae C 7 288 294 Pesquisa CNAE Informar com 8 posições no RPS do ISS.NET (posições de 287 a 294). Preencha o campo com zeros se desejar omitir a tag. CodigoTributacaoMunicipio C 20 295 314 A tag CodigoTributacaoMunicipio - Codigo de Tributação do Município é um código "proprietário" de cada município, não existe qualquer padrão, assim é necessário contatar o município para identificar GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 5 de 12 27/06/2012 17:30
  • 6. Campo tipo tam. posição inicial posição final observação qual é a codificação utilizada. Algumas prefeituras adotam o codificação da lista de serviço da LC 116/03 ampliada, como é o caso do prefeitura municipal do Rio de Janeiro/RJ. A prefeitura de Belo Horizonte/MG passou a adotar o CTISS - Código de Tributação do ISSQN a partir de 01/04/2012. As prefeituras que adotam o padrão GINFES utilizam os códigos utilizados no GISS, este é um detalhe importante, verifique se já existia algum sistema ou padrão de prestação de informação na prefeitura, pois as chances de utilizarem a mesma codificação anterior é enorme. Belo Horizonte - o CTISS deve ser utilizado em substituição a CNAE-BH a partir de 01/04/2012. Rio de Janeiro - tabela de serviços. CIDADES GINFES - Consultar a lista de Atividades da GISS Online 1. Seleciona seu Estado e a Cidade; 2. Selecione a Lista de atividades. Informar com o seguinte formato "14.03.00 / 00140300" em Ribeirão Preto/SP FAQ preenchimento do CodigoTributacaoMunicipio Discriminacao C 2000 315 2314 A DLL substituí a sequência || por CR/LF na montagem do XML, mas cabe observar que a informação de CR/LF para formatar o texto nem sempre é permitida. A Prefeitura de BH/MG substituí o | por CR/LF. GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 6 de 12 27/06/2012 17:30
  • 7. Campo tipo tam. posição inicial posição final observação CodigoMunicipio C 7 2315 2321 Informar o código do município de prestação do serviço. Este campo chama-se MunicipioPrestador no RPS do ISS.NET e deve ser informado com 999 para uso no ambiente de homologação do ISS.NET Prestador Cnpj C 14 2322 2335 InscricaoMunicipal C 15 2336 2350 Tomador IdentificacaoTomador CpfCnpj Cpf C 11 2351 2361 Cnpj C 14 2362 2375 InscricaoMunicipal C 15 2376 2390 RazaoSocial C 115 2391 2505 Endereco Endereco C 125 2506 2630 Numero C 10 2631 2640 Complemento C 60 2641 2700 Bairro C 60 2701 2760 CodigoMunicipio C 7 2761 2767 Este campo chama-se Cidade no RPS do ISS.NET UF C 2 2768 2769 Este campo chama-se Estado no RPS do ISS.NET Cep C 8 2770 2777 Contato Telefone C 11 2778 2788 Email C 80 2789 2868 ItermediarioServico RazaoSocial C 115 2869 2983 informar brancos nas posições 2869 a 3023 para omitir o grupo IntermediarioServico CpfCnpj Cpf C 11 2984 2994 Cnpj C 14 2995 3008 InscricaoMunicipal C 15 3009 3023 ConstrucaoCivil CodigoObra C 15 3024 3038 informar brancos nas posições 3024 a 3053 para omitir o grupo ConstrucaoCivil Art C 15 3039 3053 Diagrama de RPS padrão: ATENÇÃO Podem existir pequenas diferenças no leiaute de cada município, assim utilize o diagrama abaixo como mero material de apoio, procure consultar a documentação técnica do município para ter o diagrama correto. GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 7 de 12 27/06/2012 17:30
  • 8. GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 8 de 12 27/06/2012 17:30
  • 9. Exemplo de Criação do TXT Delphi procedure TForm1.Button4Click(Sender: TObject); var NumeroRPS: currency; SerieRPS, TipoRPS:string; DataEmissao:TDateTime; VServico, Aliquota: currency; TXT: widestring; begin // // inicializa valores // NumeroRPS := 1234; SerieRPS := 'A'; TipoRPS := '1'; // DataEmissao := now(); // VServico := 120.25; Aliquota := 0.02; // // Monta linha de RPS //------------------------------------------------------------ // Exemplo para formatar CARACTER // // Format('%-5s',[SerieRPS]); // // signficados de %-5s: // - ---> ajustar o texto a esquerda // 5 ---> tamanho final da string // // signficados de %-2000s: // - ---> ajustar o texto a esquerda // 2000 ---> tamanho final da string // //------------------------------------------------------------ // Exemplo para formatar VALOR // // FormatCurr('000000000000', NumeroRPS); // // Mascara deve ter a quantidade de zeros previsto para campo // // IMPORTANTE: necessário "eliminar os decimais" dos valores // multiplique o valor por 100 nos campos de valor // multiplique o valor por 10000 nos campos de aliquota // //------------------------------------------------------------ // Exemplo para formatar DATA // // FormatDateTime('yyyy-mm-dd',DataEmissao)+'T'+FormatDateTime('hh:nn:ss',DataEmissao) // //------------------------------------------------------------ // Concatenar RPS: // // Arquivo := Arquivo + #13+#10+ TXT; // TXT :=''; TXT := TXT + FormatCurr('000000000000', NumeroRPS); TXT := TXT + Format('%-5s',[SerieRPS]); TXT := TXT + Format('%-1s',[TipoRPS]); TXT := TXT + FormatDateTime('yyyy-mm-dd',DataEmissao)+'T'+FormatDateTime('hh:nn:ss',DataEmissao); GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 9 de 12 27/06/2012 17:30
  • 10. TXT := TXT + FormatCurr('000000000000', VServico * 100); TXT := TXT + FormatCurr('00000', Aliquota * 10000); ShowMessage(TXT); end; VB 6.0 Private Sub Command1_Click() Dim NumeroRPS As Double Dim SerieRPS As String Dim TipoRPS As String Dim DataEmissao As Date Dim Vservico As Double Dim Aliquota As Double Dim TXT As String ' ' inicializa valores ' NumeroRPS = 1234 SerieRPS = "A" TipoRPS = "1" ' DataEmissao = Now() ' Vservico = 120.25 Aliquota = 0.0215 ' ' Monta linha de RPS '------------------------------------------------------------ ' Exemplo para formatar CARACTERE ' ' Left(SerieRPS + Space(5), 5) ' ' onde 5 e tamanha maximo do campo desejado ' '------------------------------------------------------------ ' Exemplo para formatar VALOR ' ' Format(NumeroRPS, "000000000000" ) ' ' Mascara deve ter a quantidade de zeros previsto para campo ' ' IMPORTANTE: necessário "eliminar os decimais" dos valores ' multiplique o valor por 100 nos campos de valor ' multiplique o valor por 10000 nos campos de aliquota ' '------------------------------------------------------------ ' Exemplo para formatar DATA ' ' Format(DataEmissao, "yyyy-mm-dd") + "T" + Format(DataEmissao, "hh:mm:ss") ' '------------------------------------------------------------ ' Concatenar RPS: ' ' Arquivo = Arquivo + chr(13)+ chr(10)+ TXT ' TXT = "" TXT = TXT + Format(NumeroRPS, "000000000000") TXT = TXT + Left(SerieRPS + Space(5), 5) TXT = TXT + Left(TipoRPS + Space(1), 1) TXT = TXT + Format(DataEmissao, "yyyy-mm-dd") + "T" + Format(DataEmissao, "hh:mm:ss") GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 10 de 12 27/06/2012 17:30
  • 11. TXT = TXT + Format(Vservico * 100, "000000000000") TXT = TXT + Format(Aliquota * 10000, "00000") MsgBox TXT End Sub Visual FoxPro Local NumeroRPS as Double Local SerieRPS as String Local TipoRPS as String Local DataEmissao as DateTime Local Vservico as Double Local Aliquota as Short Local TXT as String && && inicializa valores && NumeroRPS = 1234 SerieRPS = "A" TipoRPS = "1" && DataEmissao = DATETIME() && Vservico = 120.25 Aliquota = 0.0215 && && Monta linha de RPS &&------------------------------------------------------------ && Exemplo para formatar CARACTERE && && Left(SerieRPS + Space(5), 5) && && onde 5 e tamanha maximo do campo desejado && &&------------------------------------------------------------ && Exemplo para formatar VALOR && && TXT + TRANSFORM(Vservico * 100, "@L 999999999999") && && Mascara deve ter a quantidade de zeros previsto para campo && && IMPORTANTE: necessário "eliminar os decimais" dos valores && multiplique o valor por 100 nos campos de valor && multiplique o valor por 10000 nos campos de aliquota && &&------------------------------------------------------------ && Exemplo para formatar DATA && && TRANSFORM(TTOC(DataEmissao,1),"@R 9999-99-99T99:99:99") && &&------------------------------------------------------------ && Concatenar RPS: && && Arquivo = Arquivo + chr(13)+ chr(10)+ TXT && TXT = "" TXT = TXT + TRANSFORM(NumeroRPS, "@L 999999999999") TXT = TXT + Left(SerieRPS + Space(5), 5) TXT = TXT + Left(TipoRPS + Space(1), 1) TXT = TXT + TRANSFORM(TTOC(DataEmissao,1),"@R 9999-99-99T99:99:99") TXT = TXT + TRANSFORM(Vservico * 100, "@L 999999999999") TXT = TXT + TRANSFORM(Aliquota * 10000, "@L 99999") GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 11 de 12 27/06/2012 17:30
  • 12. ? TXT Retorno: O resultado da chamada do geraLoteRPS é 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: [valor recebido pela DLL] DLL - 5803 Erro: O parâmetro nroLote contém um valor fora do intervalo válido (1-999999999999999): [valor recebido pela DLL] 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: [lista de erros] 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: [mensagem do Windows 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: [cMunicipio], contate o suporte (www.flexdocs.com.br/suporte) para outras informações DLL - 5811 Erro: Falha na assinatura do lote DLL - Histórico de atualização: 2010-10-18 - 1.0e - Versão beta preliminar. 2011-01-08 - 1.0i 2011-10-22 - 1.4a - Acrésicmo de código exemplo de geração do TXT do lote RPS Copyright © FlexDocs Documentos Eletrônicos - 2008-2012 - Todos os direitos reservados Generated by TypeFriendly 0.1.3 by Invenzzia GeraLoteRPS - Guia de Uso da NFSe_Util http://flexdocs.com.br/guiaNFSe/funcao.RPS.html 12 de 12 27/06/2012 17:30