Você está na página 1de 6

6/16/2015

Integrao MM-IM/FI com procediment... | SCN


Getting Started New sletters

Hi, Guest

Log On

Store

Search the Community

Join Us

Products

Services & Support

About SCN

Downloads

Industries

Training & Education

Partnership

Developer Center

Lines of Business

University Alliances

Events & Webinars

Innovation

Integrao MM-IM/FI com procedimento de


clculo (TAXBRJ/TAXBRA)

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

Integrao MM-IM/FI com procediment... | SCN

2. Um pouco mais sobre value string e transaction keys.


As value strings existentes so definidas pela SAP. Elas so cdigos internos, no configurveis e no se
deve/recomenda criar strings custom - mas sim buscar uma que se adapte ao movimento de mercadorias que
estiver sendo criado (no caso se movimentos Z).
Para cada value string h uma rotina de mesmo nome no cdigo, que em tempo de execuo chamada para
desencadear a lgica pr-definida e popular as variveis de cada uma das transaction keys (mais sobre isso a
seguir). Existem tambm posting strings especficas de algumas industry solutions (IS-OIL, por exemplo).
Toda a lgica acima ocorre debaixo do function group MBGB - mais especificamente no mdulo de funo
MB_CALCULATE_VALUES. Este FM o orquestrador da integrao IM/FI, e dentro dele vamos encontrar as
chamadas para as rotinas das value strings. Aqui est encapsulada a "inteligncia" da integrao IM/FI:
Exemplo: chamada da value string WE01

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

Conta de diferenas de preo

AUM

Ganhos/perdas com transferncias de estoque

TXO

Tansitria de impostos para STO (exclusiva para localizao)*

* 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

Integrao MM-IM/FI com procediment... | SCN

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

Conta de material ............ 1.000,00 + .......... BSX........ BESTD


Conta transitria................1.000,00 - .......... WRX....... VWERE
Exemplo 2: sada de transferncia entre centros com reavaliao
Conta

Valor

TK

Varivel

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
4. Integrao com TAXBRA/TAXBRJ
Ok, e os impostos? Os lanamentos de impostos em IM so determinados por 3 coisas:
4.1. Valores das condies de imposto calculadas ("o qu")
Os valores das condies de imposto aqui sero calculados caso um tax code seja informado na movimentao de
mercadorias (nenhuma novidade). Em tempo de execuo, so as linhas da tabela interna xkomv[], que

populada pela funo PRICING antes da funo de integrao IM/FI.


4.2. Chave de lanamento de imposto ("onde")

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

Integrao MM-IM/FI com procediment... | SCN

OBCN:

4.3. Mapeamento de condies de impostos para value string ("como")

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

Integrao MM-IM/FI com procediment... | SCN

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.

6. Melhorando a anlise II: prevendo lanamentos incluindo impostos


Vamos usar os mesmos exemplos anteriores, mas considerando agora cenrios localizados que requerem
lanamentos de impostos na movimentao de mercadoria:
Exemplo 1: recebimento de mercadoria no processo de entrega futura com ICMS

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

Podem mandar nos comentrios que eu respondo.


------------------------------------

http://scn.sap.com/docs/DOC-63018

5/6

6/16/2015

Integrao MM-IM/FI com procediment... | SCN

Basicamente isso. Espero que estas informaes possam ser teis para uso no dia a dia.
Abraos,
Eduardo Rubia

583 View s

Average User Rating


(7 ratings)

Share

43

Tw eet

6 Like

7 Comments
Eduardo Hartmann Apr 2, 2015 1:04 PM

timo material, t gostando do esplio do LF vir pra c rsrsrs


Valeu Rubia
Abs,
Eduardo Hartmann
Like (2)

Rodrigo Alves Santos Apr 2, 2015 1:52 PM

Fez a Bblia heim Rubia! Parabns!


Like (1)

Artur Paulino da Silva Cardoso Apr 2, 2015 2:31 PM

Eduardo,
Ficou muito bom, parabns!!, muito bem explicado e bem didtico!
Um Abrao
Artur
Like (1)

Marssel Vilaa Apr 2, 2015 3:12 PM

Documentao excelente. Determinao de contas sempre complexo.


Abrao
Like (1)

Eduardo Chagas Apr 3, 2015 5:32 AM

Excelente Rubia! Obrigado por compartilhar!!!


Like (2)

Henrique Machado Jun 14, 2015 4:00 AM

Impagvel, valeu muito!

Hoje em analises para desenvolvimento, surgiram duvidas que aqui encontrei. Muito obrigado.
Like (2)

Karen Rodrigues Jun 16, 2015 2:24 AM

Excelente contribuio.
Muito obrigada!!!
Karen Rodrigues
Like (1)

Site Index
Privacy

Contact Us
Terms of Use

http://scn.sap.com/docs/DOC-63018

SAP Help Portal


Legal Disclosure

Copyright

Follow SCN

6/6