Clipper On Line • Ver Tópico - TABELAS: Aliquotas ICMS de origem e destino completa

TABELAS: Aliquotas ICMS de origem e destino completa

Poste aqui Tabelas sobre Legislação Fiscal e Tributária.

Moderador: Moderadores

 

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor Itamar M. Lins Jr. » 08 Abr 2021 17:26

Olá!
Oxi!!! tá incompleta, tem que ser da forma como está.
27x27
Ai no seu exemplo não tem nem a metade das possibilidades, ainda mais SP que sai para todas as UFs.
Depois entendi o seu exemplo, então coloca o ** para as demais UFs
Vc só colocou as diferenças, quando for igual é ** mas como a pessoa vai saber ?
Precisa colocar UF origem e UF destino, não tem como evitar, no caso do Cadastro de clientes vai colocar ** para UF destino ?

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor JoséQuintas » 08 Abr 2021 17:44

Tá certo.

nPos := hb_ASCan( aList, { | e | ( e[ 1 ] == cUF1 .OR. e[ 1 ] == "**" ) .AND. ( e[ 2 ] == cUF2 .OR. e[ 2 ] == "**" ) } )


Se existir na lista, por exemplo SP/SP, pega esse 18%.
Se não existir na lista, mas origem é SP, pega SP/** que é 7%.
Se não existir em nenhum, pega **/** que é 12%

Por exemplo: AC/SP, não tem item pra ele, também não tem AC/**, então pega **/** 12% que é a genérica.
Isso eliminou quase tudo, porque quase tudo é 12%.

Inclusive... nem precisaria do IF, porque SEMPRE vai encontrar.
É que na primeira versão iniciei alíquota com 12%, e não tinha a **/**.
Depois coloquei na lista **/** pra lista conter todas.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor JoséQuintas » 08 Abr 2021 18:05

Ou... vamos no passo a passo...

**/** - significa qualquer origem e qualquer destino, vai atender tudo que não estiver definido, 12%, isso já resolve quase toda tabela.

Agora vamos às exceções

SP/SP - UF pra ela mesma vai resolver a interna.

O que sobra?
UFs onde a maioria é 7%

UF/** - qualquer destino dessa UF, não definido, vai ser 7%

O que sobra agora?
Sobra aonde tem 12% mas a UF geral da alíquota é 7%
Não vai entrar o geral 12% porque SP/** não tem exceções, é tudo que sai de SP com 7%.

Então... nas UFs de 7%, é só definir aonde usa 12%, umas 4/5 UFs em cada uma.

de 27 X 27 = 729 tabelas = reduziu pra umas 40 ou 50.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor JoséQuintas » 08 Abr 2021 18:19

aliquota+interna2.jpg


Dê outra olhada na tabela.
A maioria é 12%.
Tem só 6 UFs que usam 7% na maioria.
Só precisei tratar o interno e as 6 UFs. Isso eliminou 21 UFs de tratamento, 21 X 27 = mais de 500 eliminadas.

Agora nessas UFs, olhe que a maioria é 7%, então só precisei tratar as exceções que são poucas, 5 exceções em cada ao invés de 27 UFs em cada.
22 tabelas eliminadas em cada uma das 6 = 21 x 6 = mais de 120 eliminadas.

aliquota+interna3.jpg
aliquota+interna3.jpg (9.53 KiB) Visualizado 1231 vezes


Pois é... reduziu mesmo.
E o hb_ASCan() comparando com UF ou ** já pega a primeira que aparecer, ou a UF ou **

Só passar as duas siglas de UF e pronto.

Só não sei se acrescento EX, pra exterior/importação/exportação.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor JoséQuintas » 08 Abr 2021 18:35

Isso pode ser interessante na configuração de outros impostos, apesar que não uso.

** representa qualquer destino ou qualquer origem

Equivalentes (ou quase)

Em SQL
SELECT * FROM TABELAICMS WHERE ( ORIGEM = "SP" OR ORIGEM = "**" ) AND ( DESTINO = "SP" OR DESTINO = "**" ) LIMIT 1


Em DBF
LOCATE FOR ( ORIGEM = "SP" .OR. ORIGEM = "**" ) .AND. ( DESTINO = "SP" .OR. DESTINO = "**" )


Lembrando que a ordem vai fazer muita diferença, talvez precise algo mais nesses comandos SQL e DBF, pra não analisar fora de ordem.
Talvez substituir ** por ZZ, pra ficar no fim.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor JoséQuintas » 08 Abr 2021 18:43

Aproveitando novamente....

Sim, dá pra deixar tudo isso num array, e nem gravar no SQL.

Mas pense bem....

Deixando numa tabela, e criando uma rotina de cadastro pra ela...
NUNCA mais vai precisar mexer com DBASE ou HEIDISQL pra isso, pode deixar por conta de um usuário.

É assim que costumo fazer.
Não importa se é pra usar uma vez por ano, crie lá a rotina de cadastro, e pare de deixar tudo na dependência de você, ou de ferramentas externas ao aplicativo.
Muitos usuários Clipper/Harbour acostumam a usar ferramentas externas, e acabam criando trabalho extra pra si mesmo.

O cliente quer alterar? entra lá na rotina e altera, pronto, não precisei acessar remoto nem nada.

Os #include da Sefazclass são mais pra criar um cadastro default, e não pra uso contínuo.
Pode ser usado, mas....
Se estiver de férias, é só falar pra entrarem no cadastro, e não precisa alterar fonte, recompilar, instalar, etc.
E depois de avisar, é só continuar de férias.... rs (nem sei o que é isso)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor Itamar M. Lins Jr. » 08 Abr 2021 19:33

Olá!
O problema agora é entender como é o calculo dos campos.
    <ICMS>
            <ICMS00>
                <orig>4</orig>
                <CST>00</CST>
                <modBC>3</modBC>
                <vBC>1000.00</vBC>
                <pICMS>7.00</pICMS>
                <vICMS>70.00</vICMS>
            </ICMS00>
        </ICMS>
...
        <ICMSUFDest>
            <vBCUFDest>1000.00</vBCUFDest>
            <pFCPUFDest>2.00</pFCPUFDest>
            <pICMSUFDest>17.00</pICMSUFDest>
            <pICMSInter>12.00</pICMSInter>
            <pICMSInterPart>40.00</pICMSInterPart>
            <vFCPUFDest>20.00</vFCPUFDest>
            <vICMSUFDest>20.00</vICMSUFDest>
            <vICMSUFRemet>30.00</vICMSUFRemet>
        </ICMSUFDest>


Esse campo pICMSUFDest é a aliquota da UF no caso para achar uso nAliquotaDestino := AliquotaICMS( "BA", "ES" ) ?

Depois a tal DIFAL...
Meio complicado, e mais o imposto do FCP destino... eu heinn...

Olhei no manual e esse tal pICMSInter só pode ser 7% ou 12%

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor Fernando queiroz » 08 Abr 2021 21:52

Itamar M. Lins Jr. escreveu:Olá!
O problema agora é entender como é o calculo dos campos.
    <ICMS>
            <ICMS00>
                <orig>4</orig>
                <CST>00</CST>
                <modBC>3</modBC>
                <vBC>1000.00</vBC>
                <pICMS>7.00</pICMS>
                <vICMS>70.00</vICMS>
            </ICMS00>
        </ICMS>
...
        <ICMSUFDest>
            <vBCUFDest>1000.00</vBCUFDest>
            <pFCPUFDest>2.00</pFCPUFDest>
            <pICMSUFDest>17.00</pICMSUFDest>
            <pICMSInter>12.00</pICMSInter>
            <pICMSInterPart>40.00</pICMSInterPart>
            <vFCPUFDest>20.00</vFCPUFDest>
            <vICMSUFDest>20.00</vICMSUFDest>
            <vICMSUFRemet>30.00</vICMSUFRemet>
        </ICMSUFDest>


Esse campo pICMSUFDest é a aliquota da UF no caso para achar uso nAliquotaDestino := AliquotaICMS( "BA", "ES" ) ?

Depois a tal DIFAL...
Meio complicado, e mais o imposto do FCP destino... eu heinn...

Olhei no manual e esse tal pICMSInter só pode ser 7% ou 12%

Saudações,
Itamar M. Lins Jr.


da uma olhada aqui
https://facil123.com.br/blog/difal-diferencial-de-aliquota-icms/
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor Fernando queiroz » 08 Abr 2021 21:56

cUF   UF   Nome UF   Aliq_1   Aliq_2   Aliq_3   .   Observação
12   AC   ACRE   Fixo:0.00            UF não possui FCP
27   AL   ALAGOAS   Fixo:1.00   Fixo:2.00         UF com até 3 Alíquotas possíveis
16   AP   AMAPA   Fixo:0.00            UF não possi FCP
13   AM   AMAZONAS   Fixo:2.00   Fixo:1.90         UF com até 2 Alíquotas possíveis (2018)
29   BA   BAHIA   Fixo:2.00            Alíquota única de 2.00
23   CE   CEARA   Fixo:0.00            UF não aplica
53   DF   DISTRITO FEDERAL   Fixo:2.00            Alíquota única de 2.00
32   ES   ESPIRITO SANTO   Fixo:2.00            Alíquota única de 2.00
52   GO   GOIAS   Max:2.00            Alíquota máxima de 2.00 (default)
21   MA   MARANHÃO   Fixo:2.00            Alíquota única de 2.00
51   MT   MATO GROSSO   Max:2.00            Alíquota máxima de 2.00 (default)
50   MS   MATO GROSSO DO SUL   Fixo:2.00            Alíquota única de 2.00
31   MG   MINAS GERAIS   Fixo:2.00            Alíquota única de 2.00
15   PA   PARA   Fixo:0.00            UF não possi FCP
25   PB   PARAIBA   Fixo:2.00            Alíquota única de 2.00
41   PR   PARANA   Fixo:2.00            Alíquota única de 2.00
26   PE   PERNAMBUCO   Fixo:2.00            Alíquota única de 2.00
22   PI   PIAUI   Fixo:1.00   Fixo:2.00         UF com até 3 Alíquotas possíveis
33   RJ   RIO DE JANEIRO   Max:4.00            UF com alíquota máxima de 4.00
24   RN   RIO GRANDE DO NORTE   Fixo:2.00            Alíquota única de 2.00
43   RS   RIO GRANDE DO SUL   Fixo:2.00            Alíquota única de 2.00
11   RO   RONDONIA   Fixo:2.00            Alíquota única de 2.00
14   RR   RORAIMA   Max:2.00            Alíquota máxima de 2.00 (default)
42   SC   SANTA CATARINA   Fixo:0.00            UF não possi FCP
35   SP   SAO PAULO   Fixo:2.00            Alíquota única de 2.00
28   SE   SERGIPE   Fixo:2.00            Alíquota única de 2.00
17   TO   TOCANTINS   Fixo:2.00            Alíquota única de 2.00


tabela de FCP atualizada 2021
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor Fernando queiroz » 08 Abr 2021 22:19

****************************************************************
FUNCTION AliquotaFCP( cUF )
****************************************************************
LOCAL nPos, nAliquota := 0
LOCAL aList := { ;
      { 12, "AC", 0.00, 0.00, 0.00 }, ;
      { 27, "AL", 1.00, 2.00, 0.00 }, ;
      { 16, "AP", 0.00, 0.00, 0.00 }, ;
      { 13, "AM", 2.00, 1.90, 0.00 }, ;
      { 29, "BA", 2.00, 0.00, 0.00 }, ;
      { 23, "CE", 0.00, 0.00, 0.00 }, ;
      { 53, "DF", 2.00, 0.00, 0.00 }, ;
      { 32, "ES", 2.00, 0.00, 0.00 }, ;
      { 52, "GO", 2.00, 0.00, 0.00 }, ;
      { 21, "MA", 2.00, 0.00, 0.00 }, ;
      { 16, "MT", 2.00, 0.00, 0.00 }, ;
      { 50, "MS", 2.00, 0.00, 0.00 }, ;
      { 31, "MG", 2.00, 0.00, 0.00 }, ;
      { 15, "PA", 0.00, 0.00, 0.00 }, ;
      { 25, "PB", 2.00, 0.00, 0.00 }, ;
      { 41, "PR", 2.00, 0.00, 0.00 }, ;
      { 26, "PE", 2.00, 0.00, 0.00 }, ;
      { 22, "PI", 1.00, 2.00, 0.00 }, ;
      { 33, "RJ", 4.00, 0.00, 0.00 }, ;
      { 24, "RN", 2.00, 0.00, 0.00 }, ;
      { 43, "RS", 2.00, 0.00, 0.00 }, ;
      { 11, "RO", 2.00, 0.00, 0.00 }, ;
      { 14, "RR", 2.00, 0.00, 0.00 }, ;
      { 42, "SC", 0.00, 0.00, 0.00 }, ;
      { 35, "SP", 2.00, 0.00, 0.00 }, ;
      { 28, "SE", 2.00, 0.00, 0.00 }, ;
      { 17, "TO", 2.00, 0.00, 0.00 } }

      nPos := hb_ASCan( aList, { | e | e[ 2 ] == cUF } )
      IF nPos != 0
         nAliquota := aList[ nPos, 3 ]
      ENDIF

RETURN nAliquota


funcao para FCP baseada na do Quintas
HARBOUR 3.2, HWGUI 2.23 B3, SEFAZCLASS, PDFClass, ADO + MariaDB/MySQL, RMChart
Fernando queiroz
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 737
Data de registro: 12 Nov 2014 23:41
Cidade/Estado: Porto Alegre/RS
Curtiu: 12 vezes
Mens.Curtidas: 58 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor rochinha » 09 Abr 2021 01:07

Amiguinhos,

A ultima vez que revisei foi em 24/04/2020. Mas uso até hoje. Pegar em siglas.zip

Estarei dando uma nova verificada e se precisar atualizo o link.

O campo UF contém a origem e as colunas são o destino. Posicionando-se no registro da UF e localizando a coluna destino se obtem o ICMS para calculo.

EX-É EXterior
SN-É Simples Nacional
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor rochinha » 09 Abr 2021 03:40

Amiguinhos,

Em minhas pesquisas pela internet cheguei a encontrar uma página que me deu a idéia da composição destes impostos.

Em São Paulo o percentual de 12% continua a ser 12%, mas recebe um complemento de 1,3% de onde obtemos 13,3%, este complemento é o novo DIFAL que deverá ser incorporado aos cálculos. Pela que na segunda vez que entrei na página ele pediu senha e cadastro. Acho que tinha um bug que permitia o acesso somente uma vez.

O link é este http://www.econeteditora.com.br/agenda/aliquotas_icms_mapa_ind.asp e quem conseguir entrar direto e ver o conteúdo e a tabela, salve a página antes de perer o acesso. Ela tem informações importantes.

Para tirar dúvidas consegui pegar o estado de São Paulo. SP.PDF
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor Itamar M. Lins Jr. » 09 Abr 2021 09:32

Olá!
Acredito que consegui, entender o emaranhado.
Fiz aqui, e só Deus sabe quando irei testar pra valer.
Os links que o Fernando Queiroz passou foram fundamentais...
Um dos problemas foram as siglas INTER, INTRA,... Tabela FCP.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor JoséQuintas » 09 Abr 2021 11:16

O ICMS acrescido é uma espécie de substituição tributária.

Na venda SP/BA a alíquota é X
Na venda BA/BA a alíquota é Y

O imposto que inventaram é a diferença entre X e Y.

Traduzindo:
Está pagando o imposto como se estivesse vendendo dentro da BA
Apenas desconta a parte de SP.

Com isso, precisa saber da legislação de todas as UFs.
Se não for consumidor final, não tem o cálculo, mas se a empresa destino não pagar, você é quem paga.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

TABELAS: Aliquotas ICMS de origem e destino completa

Mensagempor Itamar M. Lins Jr. » 09 Abr 2021 11:51

Olá!
Se não for consumidor final, não tem o cálculo,
Tem se for "Não contribuinte" (Igrejas/Empreiteiras)

CFOP 6108 - Venda de mercadoria adquirida ou recebida de terceiros, destinada a não contribuinte

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Anterior Próximo



Retornar para Tabelas e Referências de Legislação

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro