Página 1 de 9
Mudanças da partilha
Enviado: 09 Dez 2015 15:48
por JoséQuintas
Pelo que andei vendo, isso vai ser mais complicado do que parecia, porque entra no cálculo a alíquota interna da UF de destino.
Hoje minha tela de configurar impostos é esta:
Pelo que entendi, vai precisar de mais dois parâmetros:
- Fundo de Combate à Pobreza (origem ou destino?)
- Alíquota interna da UF destino
Haja parâmetro pra imposto...
Mas... alguém já entendeu como vai ser o cálculo?
Mudanças da partilha
Enviado: 09 Dez 2015 17:24
por JoséQuintas
O ICMS ST já utiliza a alíquota para consumidor final.
Talvez até melhor alterar o nome de ICMS ST para Alíquota UF destino.
É isso mesmo, ou agora é que confundi?
Mudanças da partilha
Enviado: 09 Dez 2015 18:53
por JoséQuintas
O exemplo do manual:
Produtos: 1.000
ICMS 4%:
base de cálculo interestadual: 1041,67
imposto: 41.67
Base de cálculo UF destino: 1.234,57
Alíquota interna destino: 19%
Alíquota s/ FCP: 17%
Adicional FCP: 2%
ICMS Total UF Destino: 209.88
ICMS Dif. Alíquota Destino: 168,21
FCP: 24,69
ICMS Total: 234,57
Alguém consegue explicar?
Por exemplo:
O ICMS vai deixar de ser sobre o valor do produto, e ser acrescido ao produto?
O ICMS de hoje vai sumir e dar lugar ao novo cálculo?
E empresa do simples? deixaram de ser simples e vão pagar imposto?
Isso no manual tá longe de servir como manual.
Mudanças da partilha
Enviado: 09 Dez 2015 20:45
por JoséQuintas
O mais próximo que cheguei do demonstrativo constante no manual.
(Post editado, reeditado, reeditado... )
o fonte, com digitação e cálculo:
Código: Selecionar todos
#include "inkey.ch"
#include "hbclass.ch"
PROCEDURE Main
LOCAL GetList := {}, oValores := ValoresClass():New()
SetMode( 24, 90 )
CLS
DO WHILE .T.
@ 1, 0 SAY "Valor Produto..:" GET oValores:mValorProduto PICTURE "999,999,999.99" VALID oValores:Calculo( GetList )
@ Row() + 2, 0 SAY "ICMS Base......:" GET oValores:mIcmsBase PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row(), Col() + 2 SAY "Aliquota.:" GET oValores:mIcmsAliq PICTURE "999.99" VALID oValores:Calculo( GetList )
@ Row(), Col() + 2 SAY "Valor.:" GET oValores:mIcmsValor PICTURE "999,999,999.99" VALID oValores:Calculo( GetList )
@ Row() + 2, 0 SAY "ICMS UFUF Base.:" GET oValores:mIcmsIBase PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row(), Col() + 2 SAY "Aliquota.:" GET oValores:mIcmsIAliq PICTURE "999.99" VALID oValores:Calculo( GetList )
@ Row(), Col() + 2 SAY "Valor.:" GET oValores:mIcmsIValor PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row() + 2, 0 SAY "ICMS Subst Base:" GET oValores:mSubstBase PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row(), Col() + 2 SAY "Aliq.c/FP:" GET oValores:mSubstAliq PICTURE "999.99" VALID oValores:Calculo( GetList )
@ Row(), Col() + 2 SAY "Valor.:" GET oValores:mSubstValor PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row(), Col() + 2 SAY "IVA.:" GET oValores:mSubstIVA PICTURE "999.999" VALID oValores:Calculo( GetList )
@ Row() + 2, 0 SAY "ICMS Des.I.Base:" GET oValores:mIcmsDestBase PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row(), Col() + 2 SAY "Aliq.s/FP:" GET oValores:mIcmsDestAliq PICTURE "999.99" VALID oValores:Calculo( GetList )
@ Row(), Col() + 2 SAY "Valor.:" GET oValores:mIcmsDestValor PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row() + 2, 0 SAY "FCP Base.......:" GET oValores:mFCPBase PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row(), Col() + 2 SAY "Aliquota.:" GET oValores:mFCPAliq PICTURE "999.99" VALID oValores:Calculo( GetList )
@ Row(), Col() + 2 SAY "Valor.:" GET oValores:mFCPValor PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
@ Row() + 2, 0 SAY "ICMS Partilha..:" GET oValores:mIcmsPartilha PICTURE "999,999,999.99" VALID oValores:Calculo( GetList ) WHEN .F.
READ
IF LastKey() == K_ESC
EXIT
ENDIF
ENDDO
RETURN
CREATE CLASS ValoresClass
VAR mValorProduto INIT 1000
VAR mIcmsBase INIT 0
VAR mIcmsAliq INIT 4
VAR mIcmsValor INIT 0
VAR mIcmsIBase INIT 0
VAR mIcmsIAliq INIT 4
VAR mIcmsIValor INIT 0
VAR mSubstBase INIT 0
VAR mSubstAliq INIT 0
VAR mSubstValor INIT 0
VAR mSubstIVA INIT 23.457
VAR mIcmsDestBase INIT 0
VAR mIcmsDestAliq INIT 17
VAR mIcmsDestValor INIT 0
VAR mFcpBase INIT 0
VAR mFcpAliq INIT 2
VAR mFCPValor INIT 0
VAR mIcmsPartilha INIT 0
METHOD Calculo( GetList )
END CLASS
METHOD Calculo( GetList ) CLASS ValoresClass
LOCAL nCont
::mIcmsBase := ::mValorProduto
::mIcmsValor := Int( ::mValorProduto * ::mIcmsAliq ) / 100
::mIcmsIBase := Round( ::mValorProduto / ( 100 - ::mIcmsIAliq ) * 100, 2 )
::mIcmsIValor := ::mIcmsIBase - ::mValorProduto
::mSubstBase := ::mValorProduto + ( Int( ::mValorProduto * ::mSubstIva ) / 100 )
::mSubstAliq := ::mIcmsDestAliq + ::mFcpAliq
::mSubstValor := Max( 0, Int( ::mSubstBase * ( ::mSubstAliq ) ) / 100 - ::mIcmsValor )
::mIcmsDestBase := ::mSubstBase
::mIcmsDestValor := Int( ::mIcmsDestBase * ( ::mIcmsDestAliq ) ) / 100
::mFcpBase := ::mIcmsDestBase
::mFcpValor := Int( ::mIcmsDestBase * ::mFcpAliq ) / 100
::mIcmsPartilha := ::mIcmsDestValor - ::mIcmsIValor
FOR nCont = 1 TO Len( GetList )
GetList[ nCont ]:Display()
NEXT
RETURN .T.
Mudanças da partilha
Enviado: 09 Dez 2015 21:09
por JoséQuintas
A soma do ICMS + Subst: 40.00 + 194.56 = 234,56
A soma do ICMS Des + FCP: 209.87 + 24,69 = 234,56
E nem precisa dizer: a soma do ICMS.Interestadual + partilha + FCP: 41.67 + 168,20 + 24.69 = 234.56
Lembrando que falta confirmar esses cálculos doidos.
Por enquanto foi uma espécie de chute.
Mudanças da partilha
Enviado: 10 Dez 2015 09:50
por janio
Quintas,
Eram essas duvidas que postei no outro post. Mim indicaram como 'solução' um link para a NT...
#-)
Temos q saber o aliquota do Estado destino. Como?
Outra: "ICMS UFUF : 1.041,67", como vc chegou a esse valor?
Janio
Mudanças da partilha
Enviado: 10 Dez 2015 10:19
por JoséQuintas
Só ver o cálculo no fonte.
É um cálculo ao contrário: Quanto é que, descontando 4%, resulta no valor dos produtos de 1.000,00
BASE - 4% = 1.000,00
1.041, 67 - 4% (41, 67) = 1.000,00
Sobre a alíquota do estado de destino:
Pra poder calcular a substituição tributária, já temos que saber disso.
É o mesmo percentual da substituição tributária.
Como dá pra perceber aí, tudo se resume em calcular o rateio entre as UFs.
O valor total de imposto é o mesmo.
Lembrando novamente: aqui fiz os cálculos pra chegar ao que está no manual do governo.
Postei pra tentar confirmar tudo isso.
No manual só tem valores e nada mais.
Mudanças da partilha
Enviado: 10 Dez 2015 15:35
por Poka
José Quintas,
tudo isso é para 01/01/2016?
Poka
Mudanças da partilha
Enviado: 10 Dez 2015 19:53
por JoséQuintas
O uso do CEST foi adiado pra abril.
Por enquanto nada sobre adiar isso do rateio.
Se for assim, até que não é muita alteração.
O fundo de combate à pobreza é por UF, dá pra deixar fixo no aplicativo.
O percentual de rateio é alterado uma vez por ano, dá pra deixar fixo no aplicativo.
Vai restar somente o cálculo mesmo, e a inclusão disso no XML.
Mudanças da partilha
Enviado: 10 Dez 2015 20:39
por Poka
Obrigado Quintas, vamos por a mão na massa.
Poka
Mudanças da partilha
Enviado: 11 Dez 2015 09:41
por janio
Quintas,
Então vamos por partes... o que temos pra fazer de URGÊNCIA para 01/janeiro eh:
- Fundo de combate a probreza;
- Rateio de ICMS;
Algo mais?
Aí vem as regras: O rateio de ICMS eh para qndo for VENDA para FORA DO ESTADO e para CONSUMIDOR FINAL. Para isso precisamos para fazer todos aqueles calculos, no mínimo, saber a ALIQUOTA DE ICMS do ESTADO DESTINO.
Eu não emito nota com substituição tributária, ainda. Por isso insisto: Como vc faz para saber a aliquota do Estado destino?
Janio
Mudanças da partilha
Enviado: 11 Dez 2015 12:44
por JoséQuintas
Cada UF tem a sua alíquota interna, mas já não sei se algum produto poderia ser diferente..
No meu caso criei a tabela de regras, e o usuário é quem preenche.
Posso até indicar um tipo de preenchimento, mas sempre oriento que é o contador quem vai dar a palavra final.
Então nem acompanho mais isso de perto.
Meu aplicativo tá bem flexível, aceita 999.999 regras diferentes.
Até agora tem atendido.
O que estou pensando aqui é a confusão que o fundo de combate à pobreza pode causar.
Nos cálculos atuais, que estão corretos, o ICMS inclui o FCP.
Na hora que configurar separado ICMS e FCP, pode exigir mexer em todos os cálculos do aplicativo, ou pode confundir o usuário sobre que percentual utilizar no ICMS: com ou sem FCP
Não tinha pensado nisso antes....
José M. C. Quintas
Mudanças da partilha
Enviado: 18 Dez 2015 09:34
por Kapiaba
Bom dia, alguém tem um .xml válido para vermos onde estamos errando? Obg. abs.
Mudanças da partilha
Enviado: 18 Dez 2015 10:33
por JoséQuintas
Na prática nem mexi no aplicativo, e nem pretendo mexer.
Ontem já mudaram de novo com a NT 1.50.
Considerando a data 17/12/2015, feriados até 01/01/2016, e a quantidade de mudanças que já teve, difícil acreditar que vai valer dia primeiro.
Mudanças da partilha
Enviado: 18 Dez 2015 10:50
por Kapiaba
Mister Quintas, pode me dar uma mão aqui?
Obg. abs.