Página 1 de 3

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 16 Mai 2010 02:44
por rochinha
Amiguinhos,

Eis uma tabela completa de aliquotas de ICMS para todos os estados do pais.

Cada registro equivale a ORIGEM;
Cada coluna equivale a DESTINO;

Para saber qual a aliquota correspondente entre uma origem e um destino bastará cruzar as coordenadas de cada estado envolvido, exemplo:

Uma venda tendo origem em SP e como destino SP usará a aliquota de 18 % nas operações.

Código: Selecionar todos

XX;AC;AL;AM;AP;BA;CE;DF;ES;GO;MA;MT;MS;MG;PA;PB;PR;PE;PI;RN;RS;RJ;RO;RR;SC;SP;SE;TO
AC;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
AL;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
AM;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
AP;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
BA;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
CE;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
DF;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
ES;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
GO;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
MA;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
MT;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
MS;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12
MG; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;18; 7; 7;12; 7; 7; 7;12;12; 7; 7;12;12; 7; 7
PA;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12;12
PB;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12;12;12
PR; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;12; 7; 7;18; 7; 7; 7;12;12; 7; 7;12;12; 7; 7
PE;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12;12
PI;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12;12
RN;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12;12;12;12
RS; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;12; 7; 7;12; 7; 7; 7;17;12; 7; 7;12;12; 7; 7
RJ; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;12; 7; 7;12; 7; 7; 7;12;19; 7; 7;12;12; 7; 7
RO;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12;12
RR;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12;12;12;12
SC; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;12; 7; 7;12; 7; 7; 7;12;12; 7; 7;17;12; 7; 7
SP; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7; 7;12; 7; 7;12; 7; 7; 7;12;12; 7; 7;12;18; 7; 7
SE;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17;12
TO;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;12;17
Fonte: http://www.fiscontex.com.br/legislacao/ ... naicms.htm

Re: TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 18 Mar 2011 22:22
por ANDRIL
Legal essa tabela, mesmo não entendendo muito bem como utilizar o calculo de aliquotas (quem sabe um dia...), mais criei uma funcao que faz o cruzamento e talvez sirva para os colegas.

Exemplo:
cls
uforigem:=ufdestino:=space(2)

do while .t.

@01,01 say "UF origem.:" get uforigem pict"@!" valid !empty(uforigem)
@02,01 say "UF destino:" get ufdestino pict"@!" valid !empty(ufdestino)
@03,01 say "Aliquota..:"
read
if lastkey()=27
return
endif

@03,14 say retaliqinterna(uforigem,ufdestino)
enddo
Segue o fonte em anexo.
Abraços

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 11:37
por Itamar M. Lins Jr.
Olá!
Essa tabela foi atualizada em 2021.

Saudações,
Itamar M. Lins Jr.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 14:24
por JoséQuintas
Agora em SP tem até imposto diferente se a venda for pra empresa do simples.

Nunca foi tão complicado emitir uma simples nota.

E agora inventaram até imposto com validade, validade por 24 meses.

O barato é lôco.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 14:34
por Itamar M. Lins Jr.
Olá!
E agora inventaram até imposto com validade, validade por 24 meses.
Tenha certeza que ai tem mãos de grandes lobistas da informática... Procure saber quais são as maiores empresas de softwares do Brasil e vc começa a entender pq ainda tem SAT e outras tranqueiras sem necessidade em algumas UFs deste país.

Quem tem seu programinha do ano de 1900 que se vire para atualizar.
A mesma coisa foi o KIT de primeiros socorros e esses pardais que multa acima de 40Km...

Saudações,
Itamar M. Lins Jr.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 14:38
por Itamar M. Lins Jr.
Olá!
Outra coisa, vc precisa colocar essa tabela lá no github da sefazclass.
Agora mesmo um cliente meu precisou tirar um NFe(BA) para a UF destino "ES" e precisei dessa tabela.

Saudações,
Itamar M. Lins Jr.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 14:50
por JoséQuintas
Itamar M. Lins Jr. escreveu:Outra coisa, vc precisa colocar essa tabela lá no github da sefazclass.
Agora mesmo um cliente meu precisou tirar um NFe(BA) para a UF destino "ES" e precisei dessa tabela.
O problema é encontrar uma tabela atualizada.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 14:52
por JoséQuintas
E o barato é doido.

https://www.econform.com.br/aliquota-in ... rasileiros
Vejamos um exemplo de cálculo de ICMS: suponhamos que o produto X em Minas Gerais custe R$ 100. A alíquota sobre esse produto é de 18%. Ou seja, 100 reais vezes 18% resulta em R$118 reais. Em outras palavras, o produto X custará R$118 reais em Minas Gerais.
100 reais vezes 18% dá 118
E esse é o valor do produto?

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 15:21
por Itamar M. Lins Jr.
Olá!
Bem... Não é minha área mas acredito que o estado de destino fica com o ICMS do estado de origem. Deve haver algum repasse entre eles.
Tem a tal DIFAL e mais um tal de vFCPUFDest(fundo de combate a pobreza ) lá no destino etc... Nem quero entender isso, loucura total.

Saudações,
Itamar M. Lins Jr.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 15:28
por Itamar M. Lins Jr.
Olá!
Pela tabela, eu entendi o seguinte:
Na Bahia é 18% mas se a mercadoria vai para o ES a Bahia paga 12% para ele...
Já RJ, MG, RS, SP só paga 7% em sua maioria para UF de destino.
Deixa o Jairo ver essa conversa para lançar mais luzes nisso rsrsrsrsrsrs.

Saudações,
Itamar M. Lins Jr.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 16:04
por Itamar M. Lins Jr.
Olá!
Ta ai o Include, TabelaOrigemDestinoICMS.ch

Código: Selecionar todos

//Tabela de Origem e Destino do ICMS
# define aTab_OD_ICMS  { ;
{"  ","AC","AL","AM","AP","BA","CE","DF","ES","GO","MA","MT","MS","MG","PA","PB","PR","PE","PI","RN","RS","RJ","RO","RR","SC","SP","SE","TO"} ,;
{"AC", 17, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"AL", 12, 17, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"AM", 12, 12, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"AP", 12, 12, 12, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"BA", 12, 12, 12, 12, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"CE", 12, 12, 12, 12, 12, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"DF", 12, 12, 12, 12, 12, 12, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"ES", 12, 12, 12, 12, 12, 12, 12, 17, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"GO", 12, 12, 12, 12, 12, 12, 12, 12, 17, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"MA", 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"MT", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 17, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"MS", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 17, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"MG",  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 18,  7,  7, 12,  7,  7,  7, 12, 12,    7,  7, 12, 12,  7,  7} ,;
{"PA", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 17, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"PB", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"PR",  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 12,  7,  7, 18,  7,  7,  7, 12, 12,    7,  7, 12, 12,  7,  7} ,;
{"PE", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 12, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"PI", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 12, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"RN", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 18, 12, 12,   12, 12, 12, 12, 12, 12} ,;
{"RS",  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 12,  7,  7, 12,  7,  7,  7, 18, 12,    7,  7, 12, 12,  7,  7} ,;
{"RJ",  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 12,  7,  7, 12,  7,  7,  7, 12, 18,    7,  7, 12, 12,  7,  7} ,;
{"RO", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 17.5, 12, 12, 12, 12, 12} ,;
{"RR", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 17, 12, 12, 12, 12} ,;
{"SC",  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 12,  7,  7, 12,  7,  7,  7, 12, 12,    7,  7, 17, 12,  7,  7} ,;
{"SP",  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7, 12,  7,  7, 12,  7,  7,  7, 12, 12,    7,  7, 12, 18,  7,  7} ,;
{"SE", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 18, 12} ,;
{"TO", 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,   12, 12, 12, 12, 12, 18}}
Saudações,
Itamar M. Lins Jr.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 16:48
por JoséQuintas
Fiz diferente.
icms.png
icms.png (5.09 KiB) Exibido 6843 vezes

Código: Selecionar todos

REQUEST HB_CODEPAGE_PTISO

FUNCTION Main()

   SetMode( 25, 80 )
   CLS
   ? AliquotaICMS( "SP", "SP" )
   ? AliquotaICMS( "SP", "GO" )
   ? AliquotaICMS( "PR", "GO" )
   ? AliquotaICMS( "GO", "GO" )
   Inkey(0)

   RETURN Nil

FUNCTION AliquotaICMS( cUF1, cUF2 )

   LOCAL nPos, nAliquota := 0
   LOCAL aList := { ;
      { "AC", "AC", 12 }, ;
      { "AL", "AL", 18 }, ;
      { "AM", "AM", 18 }, ;
      { "AP", "AP", 18 }, ;
      { "BA", "BA", 18 }, ;
      { "CE", "CE", 18 }, ;
      { "DF", "DF", 18 }, ;
      { "ES", "ES", 17 }, ;
      { "GO", "GO", 17 }, ;
      { "MA", "MA", 18 }, ;
      { "MG", "MG", 18 }, ;
      { "MG", "PR", 12 }, ;
      { "MG", "RJ", 12 }, ;
      { "MG", "RS", 12 }, ;
      { "MG", "SC", 12 }, ;
      { "MG", "SP", 12 }, ;
      { "MG", "**", 7 }, ;
      { "MT", "MT", 17 }, ;
      { "MS", "MS", 17 }, ;
      { "PA", "PA", 17 }, ;
      { "PB", "PB", 18 }, ;
      { "PE", "PE", 18 }, ;
      { "PI", "PI", 18 }, ;
      { "PR", "PR", 18 }, ;
      { "RJ", "RJ", 12 }, ;
      { "RJ", "RS", 12 }, ;
      { "SC", "SC", 12 }, ;
      { "SC", "SP", 12 }, ;
      { "SC", "**", 7 }, ;
      { "RJ", "RJ", 20 }, ;
      { "RJ", "MG", 12 }, ;
      { "RJ", "PR", 12 }, ;
      { "RJ", "RS", 12 }, ;
      { "RJ", "SC", 12 }, ;
      { "RJ", "SP", 12 }, ;
      { "RJ", "**", 7 }, ;
      { "RN", "RN", 18 }, ;
      { "RO", "RO", 17.5 }, ;
      { "RR", "RR", 17 }, ;
      { "RS", "RS", 18 }, ;
      { "RS", "MG", 12 }, ;
      { "RS", "PR", 12 }, ;
      { "RS", "MS", 12 }, ;
      { "RS", "SC", 12 }, ;
      { "RS", "SP", 12 }, ;
      { "RS", "**", 7 }, ;
      { "SC", "SC", 17 }, ;
      { "SC", "MG", 12 }, ;
      { "SC", "PR", 12 }, ;
      { "SC", "MS", 12 }, ;
      { "SC", "PB", 12 }, ;
      { "SC", "RS", 12 }, ;
      { "SC", "SP", 12 }, ;
      { "SC", "**", 7 }, ;
      { "SP", "SP", 18 }, ;
      { "SP", "MG", 12 }, ;
      { "SP", "PR", 12 }, ;
      { "SP", "RJ", 12 }, ;
      { "SP", "RS", 12 }, ;
      { "SP", "SC", 12 }, ;
      { "SP", "**", 7 }, ;
      { "SE", "SE", 18 }, ;
      { "TO", "TO", 18 }, ;
      { "**", "**", 12 } }

   Altd()
   nPos := hb_ASCan( aList, { | e | ( e[ 1 ] == cUF1 .OR. e[ 1 ] == "**" ) .AND. ( e[ 2 ] == cUF2 .OR. e[ 2 ] == "**" ) } )
   IF nPos != 0
      nAliquota := aList[ nPos, 3 ]
   ENDIF

   RETURN nAliquota
Defaults: UF/** para a UF, e **/** pra geral

Precisou atribuir 12% em alguns casos, por exemplo SP a exceção vai ser 7%, enquanto a exceção geral é 12%.

SP/SP pega de SP/SP 18
SP/GO pega de SP/** 7
XX/XX pega de **/** 12

Se não colocasse SP/MG nessa lista, iria pegar SP/** 7 e não o default de 12.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 16:54
por JoséQuintas
aliquota+interna.jpg
Usei esta tabela como referência

Como dá pra ver na tabela, interna é diferente, e a maioria é 12%.
Então **/** atende a maioria, e precisa a interna detalhada.

Em certas UFs, a maioria é 7%, foi onde coloquei UF/** com 7%
Mas nessas, tem as exceções com 12%, foi onde coloquei uma a uma a de 12% pra não entrar UF/** 7%

Poderia fazer a lista com todas as exceções a 12%, mas a lista seria maior.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 17:02
por JoséQuintas
Aproveitando.....
O legal de declarar variáveis no lugar certo é....

Código: Selecionar todos

   nPos := hb_ASCan( aList, { | e | ( e[ 1 ] == cUF1 .OR. e[ 1 ] == "**" ) .AND. ( e[ 2 ] == cUF2 .OR. e[ 2 ] == "**" ) } )
   IF nPos != 0
      nAliquota := aList[ nPos, 3 ]
   ENDIF

   RETURN nAliquota
O fonte se resumiu a isso, o resto é declaração de variável.
E se colocar em #include... nem aparece no fonte.

TABELAS: Aliquotas ICMS de origem e destino completa

Enviado: 08 Abr 2021 17:13
por JoséQuintas
Já pensei em usar tabelas em JSON e deixar como RESOURCE ao invés de #include.
Mas mexer no JSON manualmente pode ser complicado.

Por exemplo, uso aqui:

Código: Selecionar todos

STATIC FUNCTION JasonList()

#pragma __binarystreaminclude "resource/remote.json"   | RETURN %s
É a tabela de códigos para meu controle remoto.