Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Hi, Guest
Log On
Store
Join Us
Products
About SCN
Downloads
Industries
Partnership
Developer Center
Lines of Business
University Alliances
Innovation
Activity
Communications
Actions
Brow se
Version 1
created by Eduardo Rubia on Mar 31, 2015 12:23 AM, last modified by Eduardo Rubia on Apr 1, 2015 11:28 PM
Share
43
Tw eet
Like
Caros,
Uma das integraes mais antigas e menos entendidas do mundo localizado o dos lanamentos contbeis na
MIGO (& afins) relacionados s condies de impostos. Muita gente j desbravou a lgica por trs disso na raa
(leia-se: debug e caderninho), mas muitos ainda penam para entender como ela funciona.
Pensando nisso, desenterrei esse artigo que comecei escrever h um bom tempo para compartilhar por aqui. Vou
fazer uma longa introduo sobre a integrao nativa MM-IM/FI standard, para depois aprofundar na parte de
localizao.
1. O que determina lanamentos contbeis em MM-IM?
Em Inventory Management, os lanamentos contbeis so determinados atravs das value strings associadas ao
tipo de movimento.
A value string basicamente o link entre MM e FI. A value string define quais so os lanamentos contb eis possveis
para uma dada operao logstica (a.k.a. movimento de mercadorias).
Cada lanamento contbil possvel representado por uma transaction key (OBYC). A transaction key o
direcionador que diz qual conta contb il receb er o montante pertinente operao em questo.
Assim, temos o primeiro conceito a ser entendido: tipo de movimento (1) determina value string (2), que determinam
transaction keys (3), que por fim determinam as contas contbeis (4). Assim, a value string apenas um agregador
de transaction keys.
OMJJ -> Update Control
OBYC
http://scn.sap.com/docs/DOC-63018
1/6
6/16/2015
a partir deste ponto do cdigo que so definidos os valores a serem lanados em cada uma das transaction
keys (BSX, WRX, TXO...) - lembrando que cada posting string atua somente nas transaction keys prdefinidas na T156W (a seguir explico).
No possvel criar novos transaction keys via configurao - e tampouco necessrio, j que virtualmente
todos os lanamento contveis possveis j so previstos.
Neste link do SAP Help so descritas e explicadas todas as transaction keys existentes, bem como suas
funes.
No preciso entender todas elas, mas algumas so mais importantes, as quais listo abaixo:
Transaction Key
Utilizao
BSX
Conta de estoque/material
WRX
Conta transitria
PRD
AUM
TXO
* a transaction key TXO utilizada nos processos de STO localizados, com os movimentos 861/862, 833/835 e suas respectivas
devolues/estornos. Ela gerada com a execuo das CATTs de Localizao Brasil, e utilizada nas value strings WA04
(sada de STO) e TXBR (entrada de STO Brasil).
Uma outra maneira de ver as transaction keys associadas a cadas value string olhando diretamente na
tabela T156W. Nesta tabela, podemos ver adicionalmente mais uma informao relevante: o campo chamado
FELDN.
http://scn.sap.com/docs/DOC-63018
2/6
6/16/2015
Este campo representa o nome da varivel correspondente transaction k ey em tempo de execuo. uma
informao importante para ser lembrada durante o debug (ali na MB_CALCULATE_VALUES), pois vamos sempre
monitorar a varivel de interesse de acordo com o lanamento contbil que estivermos analisando.
Exemplo 1: se o valor que est indo para a conta transitria estiver incorreto, vamos monitor a varivel VWERE, pois
ela contm o montante que ser lanado na transaction key WRX
Exemplo 2: se o valor que est indo para o material/estoque estiver incorreto, vamos monitorar a varivel BESTD,
pois ela contm o montante que ser lanado na transaction key BSX.
Dica: Veja tambm e coloque eu seus favoritos este link para dicas de debug relacionadas a valuation em
MM.
3. Melhorando a anlise: prevendo lanamentos
Evidentemente que todas as informaes passadas at aqui no tm nenhuma serventia se o consultor de MM no
souber o qu ele espera da contab ilidade. Tem muito consultor de MM que diz que quem define o que vai para a
contabilidade o FI. Eu discordo. O FI define para qual conta vai um valor, mas o sentido funcional por trs de um
documento contbil - IMHO - estabelecido pelo MM (ou pelo mdulo que dispara a integrao).
Por isso, fundamental que antes de iniciar a anlise, o consultor pegue um papel e uma caneta, desenhe o que
ele espera ver na contabilidade, e a partir de agora passe tambm a incorporar nesse desenho as transaction keys
que ele espera ver valorizadas (e eventualmente tambm as variveis, se precisar de um debug)
Exemplo 1: recebimento de mercadoria
Conta
Valor
TK
Varivel
Valor
TK
Varivel
Trata-se das chaves definidas na transao OBCN, e vinculadas s condies no procedimento de clculo.
Estas chaves definem tanto o aspecto contbil do tipo de imposto (entrada, sada, custo, despesa, etc - tudo
configurado na OBCN), quanto qual a conta contbil que vai receber o montante da condio (configurao
feita na OB40).
OBQ3:
http://scn.sap.com/docs/DOC-63018
3/6
6/16/2015
OBCN:
Esse mapeamento realizado na tabela/view J_1BIM01 e tem por finalidade definir como uma condio de
imposto deve ser lanada em FI para uma certa value string. J sabemos que cada value string contm uma
srie de transaction keys possveis de serem lanadas. A partir do momento em que introduzimos novos
lanamentos relacionados a impostos, devido ao desbalano que isso gerar, preciso dizer como eles
devem figurar na contabilidade, para que o sistema ajuste os valores das transaction keys (BSX, WRX, etc)
conforme necessrio.
J_1BIM01V:
Vamos entender um pouco melhor essa configurao. A parte destacada em amarelo indica o FELDN - ou seja, o
nome da varivel em tempo de execuo (j falamos dele l em cima) - que ser usado para armazenar o montante
referente ao imposto lanado. No caso acima, TINP1 ter o valor do ICM1 para movimentos que utilizem a value
string WE01 (exemplo: 801, 811).
Vocs certamente notaro que no tem um matchcode para selecionar o FELDN. Pois . Isso ocorre porque, como
comentei, o FELDN o nome de uma varivel do programa. Para saber todos os existentes, tem que olhar
diretamente no cdigo. Mas j fiz isso pra vocs, e selecionei os principais (h outros, mas que evitamos utilizar - a
lista completa est na estrutura J_1BIMIFTAX):
FELDN
Utilizao
TOUT0 - TOUT9
Impostos de sada
TINP0 - TINP9
Impostos de entrada
TAX01 - TAX10
DIFAL
http://scn.sap.com/docs/DOC-63018
4/6
6/16/2015
Importante: Considerando que o FELDN uma varivel, fundamental garantir que o mesmo FELDN no
seja utilizado para mais de uma condio ativa no mesmo tax code. Motivo: se isso no for feito, a varivel ir
assumir sempre o valor da ltima condio lida. Consequncia? Erro no documento contbil ou erro de
balano.
J a parte destacada em laranja indica que tipo de partida contbil est sendo criada. Em geral utilizamos "Tax general", ou "Material".
Dica: importante salientar que o Line Item ID influenciado pelo flag "Non Deductible" definido na OBCN. Se for
indicado l que o imposto "no dedutvel", a linha ser automaticamente criada como um lanamento na conta do
material.
5. Quase no fim...
Agora que temos entendidos "o qu", "onde" e "como", j podemos fazer a mgica acontecer..., certo?
....... quase!
Ainda temos que considerar um ltimo e importantssimo ponto, que a parte "hard coded" de tudo isso. Sim.
Assim como a inteligncia para popular os transaction keys para cada posting string fixo (no configurvel), a
inteligncia que ajusta os transaction keys em funo dos impostos tamb m hard coded.
Onde? Em 2 pontos no cdigo:
5.1. FORM j_1b_tx_calculate_tax (FUGR MBGB).
Este form chamado dentro da MB_CALCULATE_VALUES, a partir das subrotinas de cada value string localizada:
TXBR, COBR, WE01, WA01, WA04, WE06. (Quem quiser se aprofundar mais, d um where-used list no form)
A funo deste form agregar as condies de impostos processadas em "categorias" de lanamentos. Cada
categoria de lanamento produz um efeito no resto das transaction keys do value string.
Exemplo: lanamentos com FELDN = TINPx (entradas) so somados, e o total influenciar o valor de BSX (BESTD estoque), WRX (VWERE - transitria) e/ou PRD (PRDIF - diferena de preo).
Por isso,
Dica: fundamental entender como um imposto deve figurar no documento contbil, a fim de entender
como o valor influencia o restante dos lanamentos.
5.2. FM J_1B_IM_TX_CALCULATE_TAX_NEW
Este mdulo de funo chamado de dentro do ponto 5.1. acima. Ele desempenha basicamente as seguintes
funes:
a. loop na xkomv[], para ler as condies de imposto com valor
b. loop na j_1bim01, para direcionar o valor das condies para o FELDN localizado
c. para cada condio de imposto, ajuste dos FELDN standard conforme necessrio
Tecnicamente falando, essencialmente isso. No simples, mas eventualmente, a gente acaba aprendendo. A
dica , se possvel, investir no debug, pois como parte da lgica hard coded fica muito fcil de entender.
Conta
Valor
TK
Varivel
Condio de imposto
Conta de material ............ 1.000,00 + .......... BSX........ BESTD
Conta transitria................1.000,00 - .......... WRX....... VWERE
Crdito de ICMS ............... 136,36 + .......... VS2 ........ TINP1 ......... ICM1
ICMS em trnsito ............. 136,36 - .......... ICC .........TINP3 ......... IC1O
Exemplo 2: sada de transferncia entre centros com reavaliao e recolhimento de ICMS + IPI
Conta
Valor
TK
Varivel
Condio de imposto
Conta de material origem... 1.000,00 - .......... BSX........ BESTD
Conta de material destino... 950,00 +.......... BSX........ BESTU
Ganho/perda com reaval..... 50,00 + .......... AUM....... UMDIF
ICMS a recolher................. 136,00 - ........... MW2....... TOUT1 ......... ICM3
IPI a recolher..................... 85,00 - ........... MW1....... TOUT0 ......... IPI3
Impostos em trnsito.......... 221,00 + .......... TXO ....... TOUTX (hard coded)
7. Exerccio
Quem quiser treinar o assunto, seguem alguns cenrios interessantes para fazer a previso de lanamentos.
Recebimento de mercadoria consignada com ICMS
Recebimento de ativo com DIFAL (dica: nota 844630 j d metade da resposta...)
Estorno de entrada de entrega futura para consumo
http://scn.sap.com/docs/DOC-63018
5/6
6/16/2015
Basicamente isso. Espero que estas informaes possam ser teis para uso no dia a dia.
Abraos,
Eduardo Rubia
583 View s
Share
43
Tw eet
6 Like
7 Comments
Eduardo Hartmann Apr 2, 2015 1:04 PM
Eduardo,
Ficou muito bom, parabns!!, muito bem explicado e bem didtico!
Um Abrao
Artur
Like (1)
Hoje em analises para desenvolvimento, surgiram duvidas que aqui encontrei. Muito obrigado.
Like (2)
Excelente contribuio.
Muito obrigada!!!
Karen Rodrigues
Like (1)
Site Index
Privacy
Contact Us
Terms of Use
http://scn.sap.com/docs/DOC-63018
Copyright
Follow SCN
6/6