Ir para conteúdo
  • Cadastre-se

dev botao

TipoTributacaoRPS


dant
Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

Prezados boa tarde,

Estou precisando de ajuda neste campo do Aquivo.ini: TipoTributacaoRPS

Preciso saber os valores e as descrições deste campo.

Encontrei neste link: https://acbr.sourceforge.io/ACBrLib/Particularidades1.html mas não coincide com os seguintes valores :

['T','F', 'A', 'B', 'M', 'N', 'X', 'V', 'P'],
[ttTribnoMun, ttTribforaMun, ttTribnoMunIsento, ttTribforaMunIsento, ttTribnoMunImune, ttTribforaMunImune, ttTribnoMunSuspensa, ttTribforaMunSuspensa, ttExpServicos]);

(Preciso saber tambem a descricao de cada ENUM acima) (Não sei se esses valores acima tem haver com o campo TipoTributaçãoRPS)

Não encontrei nada em relação ao preenchimento deste campo nas documentações.

Segue link da documentação:
https://acbr.sourceforge.io/ACBrLib/ModeloNFSeINI-ProvedoresLayoutAB.html

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia!

Por favor, qual é a cidade que está tentando realizar a emissão?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @dant,

Checando o código fonte do componente, mas precisamente a unit ACBrNFSeXProviderBase temos a definição de duas funções que se utilizam esses enumeradores.

function TACBrNFSeXProvider.TipoTributacaoRPSToStr(const t: TTipoTributacaoRPS): string;
begin
  Result := EnumeradoToStr(t,
                           ['T', 'F', 'A', 'B', 'M', 'N', 'X', 'V', 'P'],
                           [ttTribnoMun, ttTribforaMun,
                            ttTribnoMunIsento, ttTribforaMunIsento,
                            ttTribnoMunImune, ttTribforaMunImune,
                            ttTribnoMunSuspensa, ttTribforaMunSuspensa,
                            ttExpServicos]);
end;

function TACBrNFSeXProvider.StrToTipoTributacaoRPS(out ok: Boolean;
  const s: string): TTipoTributacaoRPS;
begin
  Result := StrToEnumerado(ok, s,
                           ['T', 'F', 'A', 'B', 'M', 'N', 'X', 'V', 'P'],
                           [ttTribnoMun, ttTribforaMun,
                            ttTribnoMunIsento, ttTribforaMunIsento,
                            ttTribnoMunImune, ttTribforaMunImune,
                            ttTribnoMunSuspensa, ttTribforaMunSuspensa,
                            ttExpServicos]);
end;

A sequencia das Letras é a mesma dos enumerados, portanto T = ttTribnoMun e assim por diante.

O que significa cada enumerador, bom procuramos dar um nome ao enumerador que seja o mais próximo possível do venha a ser.

ttTribnoMun = Tributado no Municipio
ttTribforaMun = Tributado fora do Municipio
ttTribnoMunIsento = Tributado no Municipio - Isento
ttTribforaMunIsento = Tributado fora do Municipio - Isento
ttTribnoMunImune = Tributado no Municipio - Imune
ttTribforaMunImune = Tributado fora do Municipio - Imune
ttTribnoMunSuspensa = Tributado no Municipio - Suspensa
ttTribforaMunSuspensa = Tributado fora do Municipio - Suspensa
ttExpServicos = Exportação Serviço

Acima eu lhe passei uma analise do código do componente, mas o que você utiliza (componente, ACBrLib ou o Monitor)?

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde @Italo Giurizzato Junior

Eu uso ACBrLib (DLL)

Tenho outra dúvida em relação NFSe.

Qual seria a diferença desses campos? TipoTributacaoRPS NaturezaOperacao

Eu vi que os dados são semelhantes. Nesse caso o cliente terá que informar os dois campos ao emitir a nota?

Verifiquei tambem que esses enumeradores não seguem o padrão do valor ser sempre inteiros. Tem enum por exemplo: TipoTributaçãoRPS é letras, e o Natureza da Operação é números.

Seria bom que seguisse o padrão de numeros. Porque fica mais fácil de mapear no banco de dados. Incluise em diversas linguagens o enum tem que ser inteiro o valor, como por exemplo C#.

Cidade que estou testando é a de Recife @Diego Foliene

Editado por dant
Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde @dant,

O tipo de enumerados TipoTributacaoRPS conforme já te mostrei acima foi criado para atender alguns provedores que não seguem o layout da ABRASF.

E alguns desses provedores o valor do enumerado é uma letra e outros é um numero.

Já o tipo de enumerados TnfseNaturezaOperacao foi criado para atender os provedores que seguem o layout da ABRASF, mas veja como são as coisas, se você pegar o manual da versão 1 do layout da ABRASF que é o layout utilizado pela cidade de Recife, os valores sã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 

Conforme consta no manual.

Mas tem provedor que achou muito pouco ou não gostou dos valores de 1 até 6 e veja como ficou a definição desse tipo:

  TnfseNaturezaOperacao = (no0, no1, no2, no3, no4, no5, no6, no7, no8, no9,
                           no10, no11, no12, no13, no14, no15, no17, no18,
                           no50, no51, no52, no53, no54, no55, no56, no57, no58, no59,
                           no60, no61, no62, no63, no64, no65, no66, no67, no68, no69,
                           no70, no71, no72, no78, no79,
                           no81,
                           no91,
                           no101, no102, no103, no104, no105, no106, no107, no108, no109,
                           no110, no111, no112, no113, no114, no115, no116, no117, no118,
                           no121,
                           no200, no201,
                           no300, no301,
                           no400,
                           no501, no511, no512, no515, no521, no522,
                           no539, no541, no549, no551,
                           no601, no611, no612, no613, no615, no616, no621, no622,
                           no701, no711, no712,
                           no901, no902, no911, no912, no921, no931, no951, no952, no971,
                           no981, no991,
                           noNenhum);

Como você pode ver uma verdadeira aberração.

Eu não vejo a hora de que todas as cidades resolvam migrar para o Padrão Nacional, assim acaba com essa palhaçada.

Por fim, não tem muita diferença entre esses dois tipos.

Na NFS-e você tem que dançar conforme a musica que o provedor toca.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.