cancel
Showing results for 
Search instead for 
Did you mean: 

wrong calculation in miro for additional vat in guj

digvijay_rai
Participant
0 Kudos

HI FRIENDS ,

I HAVE A SERIOUS ISSUE

Recently Additonal Vat was introduced in gujarat.

Additional vat is calculated on, total value of the amount.

A new condition type for additional vat is created.

We have the following scenario

Total PO Value Rs. 10000

Vat: 4% - Rs. 400

Additonal Vat 1% - Rs. 100

Total PO Value: Rs. 10500

In normal circumstances the entries will be as follows:

When MIGO is done:

Stock A/c Dr 10000

GR/IR 10000

When MIRO is done:

Vendor A/c 10500

GR/IR: 10000

Vat: 400

Add Vat 100

This scenario is running correctly in normal circumstances. However when the excise is included in rate we get the following entries

PO: Rate: Rs. 10000 (Excise of Rs. 200 includes in rate)

Vat: Rs. 400

Additional Vat Rs 100

Total PO Value: 10500

When MIGO is done: - here we tick the mrp indicator

Stock A/c dr. 9800

GR/IR 9800

When J1iex is done

Cenvat input 200

to cenvat clearing 200

When MIRO is done

Vendor: Rs. 10500

GR/IR: 9800

Cenvat clearing 200

Vat: Rs. 400

Additional Vat: Rs. 98 ( Should be Rs. 100)

Scenario is working perfectly if there is no excise or excise is extra, problem only comes when excise is including in the rate.

We had raised an OSS with SAP. They have given us an user Exit ' J_1I17_USEREXIT_PROCESS_TKOMV'

how to work with this erxit they told us to redetrmine the additional vat here & its to be called after the fn mod : j_1i4_tax_conditions .they r the part of the class cl_im_india_tax_conditions

KINDLY ANY BODY HELP ME WITH DETAILED STEPS

thanks in advance

REGARDS

digvijay rai

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

kindly check the sample code below

FUNCTION J_1I7_USEREXIT_PROCESS_TKOMV.

*"----


""Local Interface:

*" IMPORTING

*" REFERENCE(XKOMK) TYPE KOMK OPTIONAL

*" REFERENCE(XKOMP) TYPE KOMP OPTIONAL

*" TABLES

*" XKOMV STRUCTURE KOMV OPTIONAL

*"----


*{ INSERT S6DK934919 1

IF SY-TCODE = 'MIRO'.

IF XKOMV[] IS NOT INITIAL.

IF XKOMK-BUKRS = 'MG01'.

DATA: V_KBETR TYPE KOMV-KBETR,

V_BASB TYPE KOMV-KWERT,

V_JMOP TYPE KOMV-KWERT,

V_JEC1 TYPE KOMV-KWERT,

V_JMIP TYPE KOMV-KWERT,

V_JEC2 TYPE KOMV-KWERT,

V_JSEP TYPE KOMV-KWERT,

V_JSEI TYPE KOMV-KWERT,

V_JAOP TYPE KOMV-KWERT,

V_TOTAL TYPE KOMV-KWERT,

V_FINAL TYPE KONV-KWERT.

DATA :W_TABIX TYPE SY-TABIX.

READ TABLE XKOMV WITH KEY KSCHL = 'YVRD'.

IF SY-SUBRC = 0.

V_KBETR = XKOMV-KBETR.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'BASB'.

IF SY-SUBRC = 0.

V_BASB = XKOMV-KWERT.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'JMOP'.

IF SY-SUBRC = 0.

V_JMOP = XKOMV-KWERT.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'JMIP'.

IF SY-SUBRC = 0.

V_JMIP = XKOMV-KWERT.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'JEC2'.

IF SY-SUBRC = 0.

V_JEC2 = XKOMV-KWERT.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'JSEP'.

IF SY-SUBRC = 0.

V_JSEP = XKOMV-KWERT.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'JSEI'.

IF SY-SUBRC = 0.

V_JSEI = XKOMV-KWERT.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'JEC1'.

IF SY-SUBRC = 0.

V_JEC1 = XKOMV-KWERT.

ENDIF.

READ TABLE XKOMV WITH KEY KSCHL = 'JAOP'.

IF SY-SUBRC = 0.

V_JAOP = XKOMV-KWERT.

ENDIF.

V_TOTAL = V_BASB + V_JMOP + V_JEC1 + V_JSEI + V_JSEP + V_JEC2 + V_JMIP + V_JAOP.

V_FINAL = ( V_TOTAL * V_KBETR ) / 1000.

READ TABLE XKOMV WITH KEY KSCHL = 'YVRD'.

W_TABIX = SY-TABIX.

IF SY-SUBRC = 0.

XKOMV-KWERT = V_FINAL.

MODIFY XKOMV INDEX W_TABIX.

ENDIF.

CLEAR: V_KBETR,V_BASB,V_JMOP,V_JEC1,V_JSEI,V_JSEP,V_JEC2,V_JMIP,V_FINAL,V_JAOP.

ENDIF.

ENDIF.

ENDIF.

*} INSERT

ENDFUNCTION.

plz manipulate as per ur requirement

Regards

Ronak/ Sandeep

digvijay_rai
Participant
0 Kudos

Hi ronak

i am heartly very thankful to you for your detailed reply

i have added your code in that function module but still calculation is wrong

can you suggest me if there is any more thing is to do ? the addtional vat calculation is still on the basis of ( base value - modvat) .

regards

digvijay rai