cancel
Showing results for 
Search instead for 
Did you mean: 

Condition type

Former Member
0 Kudos

Dear SAPiens,

I need to create a condition type which i put in PO condition then its value should migrate to TAX procedure.I had define this condition type to PO schema and TAX procedure as well.

The requirement is to calculate VAT amount only for this condition value thats why i can not add this value to basic price.

For example:

base price is 1000

condition value is 100

ED on base value is 100

now VAT calculation will be on 1000100100.

How to achieve this Please let me know.

Regards,

Umu

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

I think you are asking about the E1 transaction (Purchase from a dealer) where the excise duty can not be calculated on percentage of the material price.

If this is the case you can use the condition type JEXC IN Manual Excise which is already available in SAP.

Here you can enter the condition value (BED) in amount and which will be replaced against the JMOP condition type in the tax procedure.

Hope this will solve the issue.

Thanks.

BijayKumarBarik
Active Contributor
0 Kudos

Hi,

When you create PO, you will see NET price in the PO which in the form of Base price from which tax will be calculating--- where we do maintained for base price (BASB) with 362 routine in the tax procedure (OBYZ)

Lets say example:u2026.

Steps:

100

---

---

590u2026u2026u2026u2026u2026u2026u2026.Base Price+ED

600u2026u2026u2026u2026u2026

610u2026u2026u2026.

620 u2026u2026VAT cond.typeu2026u2026 from 590

630 Base PriceEDVATu2026.from 590 to 620u2026u2026u2026u2026u2026u2026..use routine 4(CalTy)

Regards,

Biju K

Former Member
0 Kudos

This will work if in the main pricing procedure the value of condition type you want to add is updated with subtotal 4

In the tax procedure on Base Price select routine 362 in the ciolumn alternative formula for condition base value.

So if Base price is 1000

Other condition to be added is also 100.

The base value for calculation will be 1000+ 100=1100

However with this the issue is even the excise will be calculated on 1100 where as i understand the requirement of Umesh is excise to be calculated on 1000 and VAT on 1100+ ecise duty.

You have two options for this.

Option- 1

Make a copy of 362 routine and put a logic of KSCHL= JVRN por JVRD (as per VAT condition type define and applicable)

If KSCHL= JVRN or JVRD

zwrbtr = zwrbtr + i_kzwi4.

Option 2

Make copy of basb condition type say zasb. Add routine in this condition type. For calculating VAT refer base value to this condition type.

The entire process works fine here with on ly one issue that is if you click on the tax tab of invoice and check net price it will be double. this does not affect the process but the value there gets updated for BASB+ zASB ( new condition type created)

Regards

Sangeeta

Former Member
0 Kudos

Hi Sangeeta,

Thanks for your reply.

I want to know that how the condition value will migrate from PO schema to TAX procedure.

What changes should i do for that.

Regards,

Umu

Former Member
0 Kudos

Hi,

Please maintain the condition type of your tax code in the condition which you are using in PO.In T code M/06 in tab RefConType,So it will flow in through your tax procedure.

Thanks & Regards

Lokesh

Former Member
0 Kudos

In the PO schema you will put in the pricing procedure the conditon value that you want to flow in taxinn subtotal as 4. Check the pricing procedure its the 11th column. This will update value in table EKPO and field KZWI4.

Now in the Tax procedure check routine 362. Column 14th you will put 362 as explained above. If you check this routine there is a code as below ( where in the statement zwrbtr = zwrbtr + i_kzwi4 , transfers the value that is kzwi4 is transfering the value )

FORM FRM_KOND_BASIS_362.
*Application country specific
*This alternate base value is to be attached to BASB. This routine
*fetches KZWI6 captured in the pricing procedure.
  data: xt007a like t007a,
        j_1iwrkcus type j_1iwrkcus,
        i_kzwi6 like ekpo-kzwi6,
        i_kzwi4 like ekpo-kzwi4,
              i_kzwi7 like ekpo-kzwi4,
*     y_index like sy_tabix,
        z_index like komp-kposn.
  data: l_cvdexcg like j_1iindcus-j_1icvdexcg.
  if komp-kposn lt '999999'.
    CALL FUNCTION 'J_1I4_GET_KWERT'
      IMPORTING
        KWERT     = i_kzwi6
        alt_kwert = i_kzwi4.


    if zwrbtr = 0.
      i_kzwi6 = 0.
    endif.
  endif.
  if sy-cprog = 'SAPLMR1M' or sy-cprog = 'SAPMM08R' or sy-cprog = 'RMMR1MRS' or SY-CPROG = 'SAPMHTTP' or SY-CPROG = 'SAPMSSY1' .
    if j_1iwrkcus-j_1iwerks is initial.
      select single * from j_1iwrkcus into j_1iwrkcus where
                           j_1iwerks = komp-werks.
    endif.

    CALL FUNCTION 'J_1I4_GET_KWERT'
      IMPORTING
        KWERT        = i_kzwi6
        alt_kwert    = i_kzwi4
        ALT_BNKAN_FW = i_kzwi7.

    if zwrbtr ne 0.
      zwrbtr = zwrbtr - i_kzwi7.
    endif.

  endif.

  select single * from t007a into xt007a
                             where kalsm = komk-kalsm
                               and mwskz = komp-mwskz.
  if xt007a-mwart = 'V'.
    if not zwrbtr is initial.
*      if komk-hwaer <> komk-waerk.
if not komk-hwaer is initial.
  if not komk-waerk is initial.
  if komk-hwaer <> komk-waerk.
        select single j_1icvdexcg into l_cvdexcg from j_1iindcus
                                   where j_1ibukrs = komk-bukrs.

        if sy-subrc = 0.
          CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
            EXPORTING
              date             = sy-datlo
              foreign_amount   = i_kzwi4
              foreign_currency = komk-waerk
              local_currency   = komk-hwaer
              type_of_rate     = l_cvdexcg
            IMPORTING
              local_amount     = i_kzwi4.

          CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
            EXPORTING
              date             = sy-datlo
              foreign_amount   = i_kzwi6
              foreign_currency = komk-waerk
              local_currency   = komk-hwaer
              type_of_rate     = l_cvdexcg
            IMPORTING
              local_amount     = i_kzwi6.
*        endif.
*      endif.
        endif.
   endif.
endif.
endif.

      zwrbtr = zwrbtr - i_kzwi6.
      zwrbtr = zwrbtr + i_kzwi4.
    endif.
  endif.

So the changes u need to do is

1. In pricing procedure column 11 condition type from which you want the value to flow update subtotal as 4.

2. In the tax procedure maintain routine 362 in column 14 that is alternate base condition type as explained above in my reply or

alternatively make copy of 362 and make changes as explained above in my reply ( two options)

Regards

Sangeeta

Edited by: Sangeeta Khurana on Jun 10, 2011 3:50 PM

Former Member
0 Kudos

Hi Sangeeta,

Will u please let me know in detail for OPTION 2.I had create ZASB assigned it to tax procedure and in procedure caltype 4 and base type 362 is maintained.

Please guide.

It will help me a lot. Waiting for reply.

Regards,

Umu

Former Member
0 Kudos

You have two conditions i guess now. One BASB and other ZASB.

So for VAT call ZASB.

Say your VAT condition is step number 60 and ZASB is say step 32

So you can do following

Step No Conditon Type Descriptiobn From

55: Base Value for VAt 32

56 Excise Total ..... ...... ( as applicable )

57 Total for VAT 55 56

60 JVRN 57

I hope this helps. Its normal pricing procedure now. If you are comfortable conceptually with pricing procedure you should be able to do it now.

Regrds

Sangeeta