Page 1 of 97
Table of Contents
Introduction Functional Design ................................................................................................................................ 3
Scope and references ............................................................................................................................................ 3
Functional Requirements....................................................................................................................................... 5
Understanding for India GST .............................................................................................................................. 5
Steps for GST India Implementations. ................................................................................................................ 6
Step 5 This SAP Note is prerequisite for SAP Note 2153807 to apply DDIC change. ..................................... 20
Step 6 Tax code update programs for PO / SLA and contracts. .................................................................... 20
Step 7 PO and Invoice Display / Cancel Issue .............................................................................................. 35
Step 4 : Tax Calculation based on Vendor region and Vendor GST Classification. ............................................... 84
Step 5 : Line item wise Tax calculation for sales invoices................................................................................... 90
Step 6 : GST India - Stock Transafer Scenarios. ................................................................................................. 90
Page 2 of 97
Introduction
Functional Design
Scope and references
Scope / Reference
The Constitution (One Hundred and Twenty Second Amendment) Bill, 2014, or the Goods and Service Tax
(GST) bill in India has been passed by the lower and upper house of the Parliament on August 03, 2016.
At present,
As you must be aware that the Government of India is planning to roll out GST from 1st of July, 2017 as
per the latest update. Currently based on the Draft GST Law, SAP has started releasing solution notes for
DDIC changes, Screen Changes, Master Data and Transactional data.
The next steps:
Legislations for CGST, SGST, and IGST acts
Final details of the law need to be published
The model GST law is currently available for public consumption and we are expecting the details of the
law to be available soon, along with the details of GSTN. SAP has started releasing solution design based
on the Model GST law. However, Once the final GST law is available, SAP will keep informed regarding the
details of the final solution.
This contains information about the legal change of The Goods and Service Tax for India
This information is based on legislation and regulations which is subject to change at any time by the
respective authorities and are therefore not binding. The information will be updated if necessary.
Prerequisites
As the GST Bill is passed, SAP is currently working on the solution/ proposals part of it. Once the solution
is ready, it will be available on the service market place. Now till the solution is rolled out to the
customers, the only below pre-requisites needs to be followed by them as mentioned.
1. Customers are recommended to be at minimum support pack levels as per note 1175384
(Component is SAP_APPL) to obtain further support for legal changes in India Logistics and
Indirect Taxes.
2. It is mandatory for all the customers to have TAXINN as tax procedure not TAXINJ, as GST will be
based on TAXINN. Customers who are still using TAXINJ they would have to migrate to TAXINN.
Page 3 of 97
Note: Please note that Tax Migration from TAXINJ to TAXINN Solution has been delivered by SAP as a
CONSULTING SOLUTION. Kindly check/plan with your consulting teams accordingly. Refer to all the notes
mentioned in <See Also>.
Refer to the below link for SAP's readiness on GST.
https://launchpad.support.sap.com/#/legalchangenotification/detail/GSCBIN-348
SAP will keep updating this Note as soon as SAP have any relevant information about GST.
Refer to below notes for Tax Migration Activties.
1. 2252781 - FAQ on Tax procedure migration from TAXINJ to TAXINN
2. 2014164 - TAXINJ to TAXINN Migration
3. 2167294 - Prerequisite Note for SAP Note 2153807
4. 2153807 - Improvements in Tax code update programs for Purchase Order/Scheduling
Agreement 2161911 - Purchase order display and Invoice display/cancel issue
Assumptions
References
Legal change is currently not yet published. However, a model law is available in the following link.
http://www.cbec.gov.in/htdocs-cbec/deptt_offcr/model-gst-law.pdf
Page 4 of 97
Functional Requirements
The high level things you would probably need to do for a customer:
1. Ensure a condition based tax procedure is used. SAP's proposed roadmap is for TAXINN.
2. The Govt has said that the Outgoing invoice will be validated by GST Network, so the same would
probably be an interface to GST Network, something like a Golden tax in China
3. The GST in india will be a dual structure tax regime, so you will need to set up the requisite
condition types in your tax procedure and in your sales schema.
4. If we are not on TAXINN, you will need to migrate to TAXINN given as per roadmap by SAP.
5. Every GST No will be at state level, so configuration change will be required for the same to be
set up as Business Place in SAP.
6. We will have to be on the required SP Level as per the details which will be provided by SAP.
7. There will be some amount of overlap for VAT and GST Regime expected, so we need to plan for
a transition time for the tax applicability and how to migrate the open documents from VAT to
GST. Of course, this will also depend on legal guidance on GST from the Govt and it is still under
works.
8. The GST will have three components: CGST, SGST and IGST. The transaction within a state will
attract CGST+SGST. The transaction between two states will have IGST. For Imports into India,
Custom Duty+IGST will be applicable.
9. Every state will have a unique GST Registeration No and that will be the basis for taking the GST
credit.
10. All other indirect taxation like Excise, Service Tax, Entry Tax, Octroi etc will be subsumed by GST
11. There are eight returns which are proposed as part of GST right from GSTR -1 uptill GSTR-8. GSTR
-1 will contain details of Sales from Commercial Invoices and GSTR -2 will contain details from
Purchases made. GSTR-3 will provide details for monthly credit or liability.
12. There are still lot of open points from a functional perspective where Supplier and seller are
listed in State A and State B, but the goods are supplied in State C, so how the credit mechanism
will work. Additionally, certain products like Petroleum Products are outside the scope of GST, so
how to track such goods in GST returns. Additionally, there is no clarity on the details of invoices
if they can be sent from SAP to GSTN Network through an automated utility. Some of the states
are also contemplating removal of SGST component for certain industries which in my view
negates the purpose of one tax and brings back the same old tax structure with a new name, but
again these are nitti griti we will have to wait and see.
Page 5 of 97
Steps for GST India Implementations.
Below are the attached OSS note which we need to implement in the System with the below specific
steps.
Page 6 of 97
Step 2 : Validation of existing Tax procedure is TAXINN or TAXINJ
to validate use the below checks to verify whether the tax procedure used for Country India in your
system is TAXINJ or TAXINN.
1) Check in the transaction code OBQ3 whether the field "Condition formula for alternative
calculation type" has been maintained for the excise condition types or not. If the same has been
maintained for the excise conditions, then the tax procedure used in the system is TAXINJ as it
uses alternative formula that determines a condition. Where as in the TAXINN conditions are
determined using condition records maintained via transaction code FV11. Similarly you can check
on the SD pricing procedure as well, there should be no formula used for the excise relevant
conditions.
2) Check that the condition value/rate which is getting fetched in the PO should be from J1ID (Excise
Mater / FTXP for TAXINJ whereas for TAXINN it should be directly from the condition records
maintained via transaction code FV11.
3) Procedure is TAXINJ, if the standard access sequence MWST (or copy of the same) which contains
only one standard condition table A003 for condition access has been assigned to the excise
condition types. For TAXINN, excise condition types must be having the standard access sequence
JTAX (or copy of the same) which contains multiple standard condition for condition accesses. You
can verify the access sequence and condition table in the transaction code OBQ2.
4) In case of condition based technique i.e. usage of the TAXINN procedure, company code and tax
code for purchasing documents should be maintained in the table J_1ICONDTAX.
5) For TAXINN procedure all the excise/VAT/CST/service condition types should have been classified
in the table J_1IEXCDEFN with the unique condition names.
6) There should be no condition type UTXJ in the TAXINN set of SD pricing procedure, as this is only
used in case of TAXINJ for the base and rate determination for condition types.
To follow the migration process step by step process mention as below with the help of consulting.
Business Context
Customers who have implemented Country Version India (CIN) in the initial stages are using a formula-
based tax procedure named 'TAXINJ' which was the initial tax procedure released for India. In TAXINJ, tax
codes are used to derive tax rates. Due to multiple Excise duty, Service tax, VAT and CST rates and many
variations/exemptions in central/state taxes, TAXINJ customers need to use many tax codes in MM and
SD, and customers are running out of tax codes as they have reached the maximum limit of tax codes (2
digits possible). Many tax codes create problems for users, as they need to keep track of several tax codes
at master data level as well as transaction level.
Page 7 of 97
There is another tax procedure, TAXINN, which is based on the pricing condition techniques. In TAXINN,
tax codes do not play a vital role in rate determination, where other logistics entities such as plant,
material, chapter id, vendor, customer, regions and so on are used for tax rate derivation. A seamless
migration from TAXINJ to TAXINN was not possible and customers need to foreclose open purchase
orders in TAXINJ, and start with a new line item in TAXINN tax codes which is a difficult approach,
considering the volume of documents.
Solution Overview
Tax procedure migration covers CIN-relevant MM and SD processes in SAP which have taxes and tax code
implications. With this solution, SAP would like to propose a feasible migration from TAXINJ to TAXINN.
The proposed solution will have an impact on processes such as procurement, sales, job work, stock
transfers, returns, excise duty posting transactions, in logistics and financials for goods and services. Non-
taxable scenarios would continue without any impact in TAXINN set up also
The solution is supported for the SAP_APPL software component and valid for release ECC 6.0 and above
via consulting
Process Descriptions & Solution Proposal
1) Procurement Process
Goods and Services procurement process in India has tax implications. Goods procurement in India is
levied excise duties which are goods movement tax, and service receipts in India are levied service tax
which is at the time of invoice. There are state-specific sales taxes such as VAT and CST which are
calculated on top of the excise duty for goods. All taxes are defined in tax procedures and migration has
an impact on the procure-to-pay process.
Tax code triggers a taxable scenario in procurement transactions. A tax code is entered at the time of a
purchase order and/or an accounts payable invoice (vendor invoice) and is associated with a tax
procedure. Based on the tax configuration, relevant taxes are calculated in the procurement transactions.
Major tax relevant procurement processes in India are the following
1. Domestic procurement
2. Imports procurement
3. Dealers procurement
4. Job work receipt
5. Stock transfer receipt
6. Debit and credit memos
7. Service receipt
8. Vendor returns
Page 8 of 97
The documents involved which have a tax impact for the above process are the following:
1. Purchase order/contract
2. Goods receipt
3. Incoming excise/challan postings
4. Invoice verification
5. Direct accounts payable (A/P) FI transactions with taxes
Proposed Solution
Following steps need to be carried out in the customers' test/sandbox system (that contains a copy of the
production configuration/data) Configure TAXINN procedure as per customers' business scenario along
with OB40 settings and relevant CIN settings. If you use COPA or custom specific reports depend on
condition types, use TAXINJ procedure's condition types itself in TAXINN also, so that customer's mapping
to COPA valuation fields and customs reports impacts can be reduced. If you are using existing condition
types, you need to change the access sequence for the condition types, based on your business
requirement (e.g. MWST to JTAX).
Page 9 of 97
In transaction OBBG, change the tax procedure from TAXINJ to TAXINN for country IN.
Create TAXINN tax codes as per the customers' requirement for TAXINN procedures in FTXP
Page 10 of 97
Verify/change input and output tax codes for Indian company codes level in SPRO as shown in the
screenshot below, in case customers use different zero tax codes in TAXINN. Otherwise, incorrect tax
codes will be posted in excise relevant accounting (PART2). This can affect the customers COPA and other
accounting reports which work based on tax codes.
Page 11 of 97
Map the TAXINJ and TAXINN tax codes for table J_1ITCJCMAP via transaction code 'J1ITCMAP' (For more
information, refer to SAP Note 827268). Leave the jurisdiction codes blank. This tax code mapping is used
by the transactions J1IMGPO and J1IMGCN while updating open purchase orders and contracts.
Execute transaction J1IMGPO and Extract open purchase orders/scheduling agreements. This step helps
reduce downtime as the open purchase orders and scheduling agreements are downloaded into
intermediate SAP tables
Page 12 of 97
Execute the transaction J1IMGCN and extract contracts to the intermediate SAP tables. The steps (6&7)
can be performed before cut over time
Update TAXINN tax codes at PO, scheduling agreement, service order, STO (if tax code used) lines by
executing the transaction J1IMGPO. This will help avoid foreclosing purchase order items
Page 13 of 97
In the same way, use transaction code J1IMGCN to update tax codes for contracts from the intermediate
tables. This will help avoid foreclosing contract items. The steps (8&9) need to be performed in the cut
over time
The above programs take care of basic master data validation by considering only open PO items. It also
handles basic tax relevant errors, updates the table J_1ITCJCUPDATE to keep log of processed documents,
avoids PO items which are already updated with the program, application error logs and basic exceptions
handling.
Tax calculation in Direct A/P FI transactions are managed with tax codes only
Note :
Do not delete TAXINJ set up from the system (J1ID, tax codes) as system needs the same for displaying
TAXINJ PO lines and A/P invoice reversals(MM side).
Page 14 of 97
Sales Process
Order to cash process in India has tax implications. Sale of goods in India is levied excise duty which is a
goods movement tax and service provision in India is levied service taxes which are at the time of invoice.
All taxes are defined in pricing procedures but unlike procurement, tax code has a minimal role on the SD
side. There are state-specific sales taxes such as VAT and CST which are calculated on top of the excise
duty for goods.
A tax code is required in condition record of tax condition types'. So in general, excise duties condition
records do not have tax codes as they are discount/surcharge in nature, whereas VAT/CST condition types
require a tax code.
1. Domestic sales
5. Service provision
6. Customer Returns
The documents involved which have a tax impact for the above process are the following
1. Sales order
2. Goods issues/deliveries
3. Outgoing excise/challan postings
4. Customer invoices
5. Direct A/R FI transactions with taxes
Proposed Solution
Page 15 of 97
Since all your pricing procedure's condition types are not changed, the pricing procedure determination
and condition types mapping to valuation fields of COPA is not impacted. Configure SD Pricing procedure
with access sequences for all set of condition types.
Excise Conditions: If customers are also using pricing formula/routine for excise relevant conditions in SD
pricing procedure (Control via J1ID), remove the formulas in pricing procedure and configure customers'
SD pricing procedures as per the business requirement.
Remove condition type 'UTXJ' which is used for various base value determinations, and tax code based
rate determination for VAT, CST and Service Tax condition types. These have to be done according to
TAXINN set up in SD Procedure, as per customers' business requirement
Page 16 of 97
Maintain required SD relevant access sequence for all (excise, VAT, CST, Service) tax conditions
Maintain condition records with appropriate tax rates at required access levels in the VK11 transaction for
all required (Old & present items) cases for relevant taxes (Excise, Services, VAT, CST...), as per customers'
business requirements
Page 17 of 97
Sales tax/Service taxes: In SD, tax codes are required for all output tax condition records (transaction
VK11) for respective tax condition types (non-excise).
If G/L accounts are maintained based on the tax code in OB40, customers have to verify/update the same
with the new TAXINN tax codes (for tax conditions VAT, CST, Service Taxes and so on) as shown in the
screenshot below. Customers' need to take a call in this regard based on the requirement.
If customers are using alternate VAT G/L account determination functionality, where G/L accounts are
maintained based on tax codes in the J_1IT030K_V view, they have to update the same with new TAXINN
tax code as shown in the screenshot below. This needs to be done based on customers' requirement
Page 18 of 97
If the billing document was created in TAXINJ and not released to accounting, customers need to carry out
the New Pricing Run in billing, so that the TAXINN tax code is considered. Else, they will encounter tax
code error 'FICORE 704' during release to accounting.
If customers cancel a billing document posted in TAXINJ, they need to carry out the New Pricing Run so
that tax code error FICORE 704 will not come up during release to accounting.
Note
Tax calculation in Direct A/R FI transactions are managed with tax codes only
Usage of tax codes or condition record for old Sales Order/Invoice to be decided at customers' end based
on the requirement
This SAP Note answers frequently asked questions for Indian tax procedure migration from TAXINJ to TAXINN
Page 19 of 97
Step 5 This SAP Note is prerequisite for SAP Note 2153807 to apply DDIC change.
You have to execute report 'NOTE_2153807'present in this note as a prerequisite to apply SAP Note
2153807 to update Tax codes in Purchase Order(report J_1I_TAXUPDATE_PO) and Contracts (report
J_1I_TAXUPDATE_CNTRCT)
Enter Object as J1ITAXUPDLOG and Object Text as India Localization: Tax Migration Log
Page 20 of 97
Double click on Sub-objects and again press New Entries tab
Now enter
I. J1ITAXUPDPO under Object column and Tax Migration Log for Purchase Orders in Sub-Object
text
II. J1ITAXUPDCNTRCT under Object column and Tax Migration Log for Contracts in Sub-Object
text.
Page 21 of 97
2. Manual Steps for adding Text Elements
In Program J_1I_TAXUPDATE_PO
Go to Transaction SE38
Enter Program Name as J_1I_TAXUPDATE_PO and select Text Element radio button
Click on change button and enter following details as shown below in Text Symbol Tab
001 Organizational Elements 23 25
002 Tax code & Jurisdiction code 28 28
003 Purchasing Organization 23 23
004 Open Inbound Order Type 23 25
005 Processing Options 18 18
S01 Extract Documents 17 20
S02 Update Documents 16 22
S03 Test Run 8 18
S04 Document Date 13 23
S05 Plant 5 15
Page 22 of 97
Refer the screenshot below
Page 23 of 97
Refer the screenshot shown below
In Program J_1I_TAXUPDATE_CNTRCT
Go to Transaction SE38
Enter Program Name as J_1I_TAXUPDATE_PO and select Text Element radio button and enter the
following details in Text Symbols tab
001 Organizational Elements
002 Tax code
003 Purchasing Organization
004 Processing Options
S01 Extract Documents
S02 Update Documents
S03 Test Run
S04 Document Date
S05 Plant
Page 24 of 97
Refer the screenshot below
Page 25 of 97
Refer the screenshot below
Page 26 of 97
3. Go to SE93 and Enter Transaction code name as J1ITCMAP
Page 27 of 97
Fill the subsequent fields as shown in below screenshot
Page 28 of 97
4. Manual steps to edit column names of Tax Codes in J_1ITCJCMAP view
Go to transaction SE80 and enter Function Group name J1I5
Navigate to screen number 40 and double click on it. On the right side of the screen click on Element list
tab followed by Texts/ I/O templates tab
Page 29 of 97
Now change the text of the field J_1ITCJCMAP-MWSKZ, J_1ITCJCMAP-MWSKZN to Taxcode1 and
Taxcode2, respectively.
Activate.
Page 30 of 97
5. Manual steps to update table J_1ITCJCUPDATE
Go to transaction SE11 and enter table name as J_1ITCJCUPDATE and click on change button
Page 31 of 97
6. Steps for Transaction code creation
Transaction Code creation for program J_1I_TAXUPDATE_PO.
Go to transaction SE38 and enter program name as J_1I_TAXUPDATE_PO. Right click on program
name and navigate to Transaction option as shown below-
Page 32 of 97
7. Transaction code creation for program J_1I_TAXUPDATE_CNTRCT
Go to transaction SE38 and enter program name as J_1I_TAXUPDATE_CNTRCT. Right click on program
name and navigate to Transaction option -
Page 33 of 97
Select Program and selection screen (report transaction)
Enter transaction code name as J1IMGCN and short text as Update Tax code in Contracts.
Page 34 of 97
Reports J_1I_TAXUPDATE_PO and J_1I_TAXUPDATE_CNTRCT works in two steps -
o When you select radio button "Extract Documents" in 'Processing Option' section at the selection
screen, report will extract all the Inbound Order documents(Purchase order, scheduling
agreement, contracts) into SAP tables J_1ITCPOUPD, J_1ITCSAUPD, and J_1ITCCNUPD,
respectively.
o To update these extracted documents with new tax code you need to select radio button "
Update documents" in 'Processing Option' section at the selection screen and then execute the
report.
o Plant and Document Date are provided as a selection option for selective update of extracted
document.
'Test run' option when checked gives you the list of line items of the respective Purchase
Orders/Scheduling Agreement/Contract, which will be updated in the normal run. Mark the
checkbox TESTRUN, to enable preview.
Tax code, plant field has been made optional now, if it is filled, line items containing entered
tax code and plant will only be picked. If these are kept empty all the lines of Purchase
Orders/Scheduling Agreement/Contract will get updated with new tax codes based on entries
maintained in table/view J_1ITCJCMAP.
When we have the tax procedure change from TAXINJ to INN. There will be the below cases.
1. Close purchase order which has all the line items in TAXINJ
2. Purchase order contain both line item TAXINJ and TAXINN
Now when we try to display the taxes for the PO line item which are in TAXINJ, system does not take to Taxes
screen and we are not able to disply the taxes.
Also, when we migrating and try to reverse vendor invoice using the MR8M, we will have a error massage
FICORE704: Tax code XX in procedure is invalid' is displayed
When we execute the transaction F.12 for Advance Return for tax on sales / purchase. This report result in error
Combination of calculation procedure and tax code missing
Page 35 of 97
Apply Manual Changes in Function Module : J_1I4_KALSM_CHANGE
2. Select import tab and enter the following parameters, and select optional checkbox.
Page 36 of 97
Formulate the Own code based on business requirement in given below enhancement spot or user exits.
Enhancement 1
1. Execute transaction SE37 and enter the following FM: MRM_INVOICE_CANCEL_PERFORM and
select Display.
2. Select the spiral icon, and place the cursor on the
ENHANCEMENT-POINT MRM_INVOICE_CANCEL_PERFORM_01 SPOTS
ES_SAPLMR1M.
Select right click and select the following options.
3. In the following pop-up Select new implementation and give your desired name and short text. Eg:
Z_KALSM_CHANGE.
Page 37 of 97
4. Now enter the code as per your logic, to store the invoice date of the current invoice in the FM
J_1I4_KALSM_CHANGE.
Sample code:
lv_bukrs
= rbkpv-bukrs.
CALL FUNCTION
'J_1BSA_COMPONENT_ACTIVE'
EXPORTING bukrs
= lv_bukrs component
= 'IN'
* COUNTRY =
* IMPORTING
* ACTIVE_COMPONENT =
EXCEPTIONS
component_not_active =
1 OTHERS
= 2.
IF sy-subrc EQ 0.
IF rbkpv-bldat LT lv_mgdat.
CALL FUNCTION 'J_1I4_KALSM_CHANGE'
EXPORTING
I_BLDAT = rbkpv-bldat.
ENDIF.
ENDIF.
Page 38 of 97
Enhancement 2
1. Execute transaction se37 and enter TAX_INDICATOR_CHECK and select display 2. Select the spiral icon,
and perform the following operations
4. Place the cursor and select the line indicated by the black arrow
Page 39 of 97
5. Select edit -> Enhancement operations -> Create
Page 40 of 97
7. Enter desired name and short text
8. Enter the logic as per your requirement to skip the tax indicator check for the required
doc.
Sample code
ENHANCEMENT 1 Z_KALSM_CHANGE2. "active version
*Kalsm_change
DATA: lv_bldat TYPE DATS, lv_mgdat TYPE DATS VALUE
'20150429'. "Enter migration date lv_kalsm TYPE kalsm
VALUE 'TAXINN'. " TAXINN tax procedure
IF steuerschema EQ lv_kalsm.
IF sy-tcode EQ 'ME23N' OR sy-tcode EQ 'ME23' OR
sy-tcode EQ 'ME33K' OR sy-tcode EQ 'ME33L'.
SELECT SINGLE cpudt FROM J_1ITCJCUPDATE INTO lv_bldat.
CALL FUNCTION 'J_1I4_KALSM_CHANGE'
EXPORTING
I_BLDAT = lv_bldat .
EXIT.
ELSE.
CALL FUNCTION 'J_1I4_KALSM_CHANGE'
IMPORTING
E_BLDAT = lv_bldat.
Page 41 of 97
IF lv_bldat IS NOT INITIAL AND lv_bldat LT lv_mgdat.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDENHANCEMENT.
Enhancement 3
1. Execute transaction SE37 and enter the following FM: PRICING and select Display.
Page 42 of 97
4. Enter the required logic to pass TAXINJ to T005-KALSM
DATA: lv_bldat TYPE DATS, lv_mgdat TYPE DATS VALUE
'20150429',Migration date lv_poidt TYPE DATS,
lv_kalsm TYPE KALSM_D VALUE 'TAXINJ', -Enter your TAXINJ based tax
procedure lv_bukrs TYPE BUKRS.
lv_bukrs = komk-bukrs.
CALL FUNCTION
'J_1BSA_COMPONENT_ACTIVE'
EXPORTING bukrs
= lv_bukrs component
= 'IN'
* COUNTRY
= * IMPORTING
* ACTIVE_COMPONENT
= EXCEPTIONS
component_not_active =
1 OTHERS
= 2.
IF sy-subrc EQ 0.
Page 43 of 97
ENDIF.
ENDIF.
ENDIF.
perform konv_einlesen
using yes. ENDIF.
USER EXIT
1. Execute transaction SE37 and enter J_1I7_USEREXIT_FILL_KOMK_KOMP
2. Enter the logic as per your requirement to overwrite XKOMK-KALSM as TAXINJ SAMPLE
CODE:
IF sy-subrc EQ 0.
CALL FUNCTION 'J_1I4_KALSM_CHANGE'
IMPORTING
E_BLDAT =
lv_bldat. IF lv_bldat IS
NOT INITIAL.
IF sy-tcode EQ 'ME23N' OR sy-tcode EQ 'ME23' OR
sy-tcode EQ 'ME33K' OR sy-tcode EQ 'ME33L'.
Page 44 of 97
IF lv_poidt LT lv_bldat. " Change date of PO line item is <
than Migration date then TAXINJ
XKOMK-KALSM = lv_kalsm.
ENDIF.
ELSE.
IF lv_bldat LT lv_mgdat.
XKOMK-KALSM = lv_kalsm.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
Enhancement 4
This enhancement is valid for the case where the customer is reusing the conditions that were
Page 45 of 97
4. Place the cursor and select the line indicated by the black arrow 5. Select edit ->
Enhancement operations -> Create
Sample Code
IF sy-subrc EQ 0.
IF sy-tcode EQ 'ME23N' OR sy-tcode EQ 'ME23'
Page 46 of 97
OR sy-tcode EQ 'ME33K' OR sy-tcode EQ 'ME33L' OR sy-tcode EQ
MR8M.
IF KOMK-KALSM EQ lv_kalsm.
komt1-kozgf = lv_kozgf.
ENDIF.
ENDIF.
ENDIF.
For cases where customer has defined a separate access sequence for vat conditions:
You may validate the same using the variable KOMT1-KSCHL = cond_name and can
pass the required access sequence in the above enhancement.
Enhancement 5
This enhancement is for the displaying tax code description while displaying invoices using
transaction MIR4.
Page 47 of 97
5. Place the cursor and select the line indicated by the black arrow
6. Select edit -> Enhancement operations -> Create
Page 48 of 97
Sample code:
IF sy-subrc EQ 0.
IF BKPF-BUDAT LT lv_mgdat.
lv_budat = BKPF-BUDAT.
CALL FUNCTION
'J_1I4_KALSM_CHANGE'
EXPORTING i_bldat
= lv_budat.
ENDIF.
ENDIF.
ENDENHANCEMENT.
Page 49 of 97
Enhancement 6
This enhancement is for the displaying tax code description, continuation of above
enhancement logic.
Sample Code:
ENHANCEMENT 1 Z_KALSM_CHANGE6. "active version
*Tax code description change DATA: lv_budat TYPE DATS,
lv_mgdat TYPE DATS VALUE '20150429', "Enter migration date
lv_kalsm TYPE KALSM_D VALUE 'TAXINJ'. "-Enter your TAXINJ
based tax procedure lv_bukrs TYPE BUKRS.
lv_bukrs =
i_stbuk.
CALL FUNCTION
'J_1BSA_COMPONENT_ACTIVE'
Page 50 of 97
EXPORTING bukrs
= lv_bukrs component
= 'IN'
* COUNTRY
=
* IMPORTING
* ACTIVE_COMPONENT
= EXCEPTIONS
component_not_active =
1 OTHERS
= 2.
IF sy-subrc EQ 0.
CALL FUNCTION
'J_1I4_KALSM_CHANGE'
IMPORTING e_bldat
= lv_budat.
IF lv_budat LT lv_mgdat.
i_kalsm = lv_kalsm.
ENDIF.
ENDIF.
ENDENHANCEMENT.
Enhancement 7
This enhancement is for the displaying tax code description for FI transactions: FB03
Page 51 of 97
b.) Then select the enhancement point kalsm_change2 and create an implementation
b.) Place cursor on the FORM pbo_get_bset_zeile USING i_loopc TYPE syloopc.
c.) Select the spiral icon, and perform the following operations
d.) Select edit - > Enhancement operations -> Show Implicit
e.) Place the cursor and select the line indicated by the black arrow
f.) Select edit -> Enhancement operations -> Create
g.) Select code in the pop-up.
h.) Enter desired name and short text.
i.) Enter the required logic.
Page 52 of 97
Sample code:
CALL FUNCTION
'J_1BSA_COMPONENT_ACTIVE'
EXPORTING bukrs
= lv_bukrs component
= 'IN'
* COUNTRY
=
* IMPORTING
* ACTIVE_COMPONENT
= EXCEPTIONS
component_not_active =
1 OTHERS
= 2.
IF sy-subrc EQ 0.
IF bkpf-budat LT lv_mgdat.
SELECT SINGLE * FROM t007s
WHERE spras = sy-langu
AND kalsm =
lv_kalsm AND mwskz
= bset-mwskz.
IF sy-subrc NE
0. CLEAR
t007s.
ENDIF.
ENDIF.
ENDIF.
Page 53 of 97
Enhancement 8
*Implement enhancement if error 713 still occurs, after implementation of all the above
enhancements
Sample Logic:
*kalsm change 8
DATA: lv_bldat TYPE DATS, lv_mgdat TYPE DATS
VALUE '20150429', "Enter migration date lv_kalsm
TYPE kalsm VALUE 'TAXINN'. " TAXINN tax procedure
Page 54 of 97
This enhancement is for the displaying tax code description while displaying invoices
using transaction MIR4
Page 55 of 97
6. From the menu bar, Select Edit -> Enhancement Operations -> Create
9. Enter the required logic within the implementation. You can refer the following sample code.
This code needs to be enhanced/adjusted according to your needs.
Sample code:
CALL FUNCTION
'J_1BSA_COMPONENT_ACTIVE'
EXPORTING bukrs
= t001-bukrs component
= 'IN'
* COUNTRY =
Page 56 of 97
* IMPORTING
* ACTIVE_COMPONENT =
* OUT_COUNTRY =
EXCEPTIONS
COMPONENT_NOT_ACTIVE = 1
OTHERS = 2
.
IF sy-subrc = 0.
* Initial data selection
IF gt_alv IS INITIAL.
IF bkpf-budat LT lv_mgdat OR
( bkpf-budat GE lv_mgdat AND bkpf-awtyp = 'RMRP'
AND bkpf-stgrd IS NOT INITIAL ).
kalsm = lv_kalsm.
ENDIF.
ELSE.
* Input Tax Line Item Information
IF gt_alv-t_voste_ep IS NOT
INITIAL. LOOP AT gt_alv-
t_voste_ep INTO wa_tax_item WHERE budat LT lv_mgdat
AND
mwskz = mwskz.
kalsm = lv_kalsm.
EXIT.
ENDLOOP.
*Output Tax Line Item Information
ELSE.
LOOP AT gt_alv-
t_auste_ep INTO wa_tax_item WHERE budat LT lv_mgdat
AND
mwskz = mwskz. kalsm = lv_kalsm.
EXIT.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
Page 57 of 97
Step 8 Errors in report J_1I_TAXUPDATE_PO - J1IMGPO GST
A new BAdI implementation 'GST_INV_SCREEN_ENH' has been introduced for the BAdI definition
'BADI_FDCB_SUBBAS08' with this SAP Note only for GST India specific requirements. This BAdI
implementation is used for subscreen enhancement in function group FDCB, basic data screen 010 for
vendors and screen 0510 for customer. This screen is accessed in the Enjoy transactions for FI document
entry or MM invoice receipt.
Screen 0010 is accessed in 'Basic data' tab in below transactions:
A. In FI, transactions FB60, FB65, FV60 and FV65.
B. In MM, transaction MIRO.
Screen 0510 is accessed in 'Basic data' tab in below transactions:
A. In FI, transactions FB70, FB75, FV70 and FV75.
As part of the GST India solution two new fields have been introduced in the above screens
A. GST Partner.
B. Place of Supply.
These fields will be visible only when:
A. Country of company code is IN.
Page 58 of 97
3. Under the BAdI Definitions select BADI_FDCB_SUBBAS08 and select right click, from the
context menu select Create Implementation.
4. Select Create Enhancement Implementation button.
In the pop-up enter Enhancement Implementation GST_INV_SCREEN_ENH and short text
GST Invoice Screen Enhancement. Enter package as J1I_GST_LO
5. Save and activate.
Follow the above steps for creating the below Function Groups-
Function Group: J_1IG_ITEM_SCR_VALIDATE
Description : FSKB Screen field validation
Page 59 of 97
Below Steps need to follow manually for Point 2.
After implementation and activation of Data Dictionary, perform manual activity as described in the
manual post implementation step need to implement the OSS Note 2405502.
Implement OSS Note 2413682 Missing Objects when Implementing SAP Notes 2405502 and 2415115.
Implement OSS Note 2418631 Issues while applying GST India SAP Note 2415115.
1. Apply the correction instruction as relevant for your release based on the below points.
2. GST India Changes to Master Data : Implementing the OSS Note 2385575
3. Follow the below mentioned steps before implementing the note
000 &&&&&&
001 Plant is blank. It is required to determine HSN code for material 002 Multiple GST Partner exists in
billing document 003 Multiple sold to party exists in billing document 004 Business Place is not filled in
Page 60 of 97
the accounting line 005 Multiple Business Place exists in single accounting document 006 No data for the
selection criteria
Input/Output Field
1. Execute transaction SE51, enter Program: SAPLMR1M and Dynpro: 6310.
2. Select radio button Attributes and select Change.
3. In the Other Attributes sub screen, you will find Rows (lines)/Columns. In the Column box of
Editing (Mainten.) enter a value which is an increment of one. E.g.: 146 is changed to 147.
Page 61 of 97
4. Select Layout button from the application toolbar and confirm the pop up which may occur.
5. In the Screen Painter select the Input/Output Field button. Scroll to the extreme right of the
table control.
Note: Refer the highlighted elements and position in the below screenshot:
Page 62 of 97
6. Double click the field to open Screen Painter: attributes window.
Page 63 of 97
7. Enter Name: DRSEG-HSN_SAC, and confirm the following pop up:
10. Now select Text Field and place above the Input/Output Field which has been created (step 5)
Page 64 of 97
11. Double click the Text Field to open Screen Painter: Attributes window
Page 65 of 97
Ensure flow logic after application of CI:
Page 66 of 97
Input/Output Field
4. Select Layout button from the application toolbar and confirm the pop up which may occur.
5. In the Screen Painter select the Input/Output Field button. Scroll to the extreme right of the
table control and place the Input/Output Field
Note: Refer the highlighted elements and position in the below screenshot:
Page 67 of 97
6. Double click the field to open Screen Painter: attributes window.
Page 68 of 97
Text Field HSN/SAC
10. Now select Text Field and place above the Input/Output Field which has been created (step 5).
11. Double click the Text Field to open Screen Painter: Attributes window
Page 69 of 97
13. Enter Text: HSN/SAC.
14. Enter Group: 001.
15. Ensure From dict. checkbox is checked.
16. Save the screen.
Delta 1:
17. Select the Flow logic button
18. Find :
Delta 2:
There will be another instance of the code mentioned in step 18, insert the following
statement at that place too:
acgl_item-hsn_sac, "Note2376723
Page 70 of 97
Delta 3:
19. Find:
FIELD acgl_item-wrbtr MODULE star_amount ON *-INPUT.
CHAIN.
"Note594081
FIELD acgl_item-menge.
FIELD acgl_item-meins.
MODULE menge_meins ON CHAIN-
INPUT. ENDCHAIN.
Page 71 of 97
GST Implementation Solutioning Steps - Process changes
Technical View:
Page 72 of 97
Combination#2: Region/PlntRegion/GST Class./Material
Page 73 of 97
Field Assignment
Page 74 of 97
Create State GST Condition type
Page 75 of 97
Create state GST Non deductible condition type
Page 76 of 97
Create Integrated GST Non- deductible condition type
Inegrated GST
Page 77 of 97
State GST
Page 78 of 97
Pricing procedure configuration for GST
Combination#2: PlntRegion/Region/TaxCl1Cust/Material
Page 79 of 97
Create Access sequence
T Code : V/07
Fields Assignment:
Page 80 of 97
Create Output State GST condition type
Page 81 of 97
Create Accounting Key
T. Code : OV34
Create Sales accounting key for central GST, integrated GST and State GST
Page 82 of 97
Step 2 : Badi definition for Screen enhancement in Enjoy transaction in FI and MM.
A new BAdI BADI_FDCB_SUBBAS08 has been introduced with this SAP Note only for GST India specific
requirements. This BAdI is used for subscreen enhancement in function group FDCB, basic data screen
010 for vendors. This screen is accessed in the Enjoy transactions for FI document entry or MM invoice
receipt.
Screen 0010 is accessed in 'Basic data' tab in below transactions:
In FI, transactions FB60, FB65, FV60 and FV65.
In MM, transaction MIRO.
Screen 0510 is accessed in 'Basic data' tab in below transactions:
In FI, transactions FB70, FB75, FV70 and FV75.
11. Select 'Screen enhancement option under the 'BADI_FDCB_SUBBAS08' and select the create
button.
Enter Calling Program -'SAPLFDCB', Dynpro Number -'0010', Subscreen Area -'SUBBAS08',
Description -'Enhancement 8: Vendor Basic Data'.
Enter Calling Program -'SAPLFDCB', Dynpro Number -'0510', Subscreen Area -'SUBBAS08',
Description -'Enhancement 8: Customer Basic Data'.
12. Save and activate.
Page 83 of 97
Step 3 : Tax Calculation based on Vendor region and Vendor GST Classification.
As part of the SAP solution, tax calculation depends upon vendor region and vendor GST classification.
SAP Note 2426581 will pass these values in purchase order and invoice verification
Step 4 : Tax Calculation based on Vendor region and Vendor GST Classification.
This SAP Note contains changes related to sales process (SD) based on draft GST Model Law. As and when
the law is finalized, this SAP Note might undergo changes.
Symptom:
When you create GST relevant sales order or invoice, taxes are to be determined based on bill-
to-partyand plant region.
When you release a GST relevant invoice to accounting, the new fields(GST Partner, HSN/SAC
Code andPlace of supply) does not update the BSEG table
Follow the below mentioned steps before implementing the note
Creation of Function Group J_1IG_GST_IN_SD
Execute transaction code SE80 and select the drop down Option of "Function Group".
Provide the name J_1IG_GST_IN_SD and press Enter. System would prompt for creation. Select
"YES".
Provide the Short Text as "SD objects for GST India".
Save the object under the package "J1I_GST_LO". Activate the function group
REDETERMINE_HSN_SAC_CODE_SD: In this method user can re-determine HSN/SAC code based on their
business requirement.
Below parameter are passed:
LV_MATNR
LV_WERKS
REDETERMINE_GSTPART_REG_PRICNG: In this method user can change partner and region so that taxes
(pricing) can be re-determined in billing.
Below parameter are passed:
FVBRK
FXVBRP
FXVBPA
Page 84 of 97
FVBRP
FTKOMK
Example: Using fxvbpa user can determine partner and region. The same has to be filled in FTKOMK in
respective fields
REDETERMINE_GSTPART_REG_ACONTG: In this method user can change partner and region so that same
is considered for posting into accounting line (customer line with partner and region and material line
with HSN/SAC code) while ding billing.
Below parameter are passed:
FXVBRP
FXVBPA
FVBRK
FTKOMK
FVBRP
FTKOMP
IT_TAB1
After re-determining partner and region pass the same into IT_TAB1 internal table with VBELN,POSNR,
GST_PART & PLC_SUP details
Page 85 of 97
2. Now give short text as Enhancement spot for India GST details posting and uncheck sap
internal use as shown below and click on continue
4. Now give BADI definition name as J1IBADI_INDIA_GST_DETAILS_POST and give short text as
BADI definition for gst details posting and click on continue button
5. Now in the below screen select interface and give interface name as
IF_EX_BADI_INDIA_GST_DETAILS
Page 86 of 97
6. Click on Save button. Save the object in package J1I_GST_LO
8. Now select method and click on parameter button and give paramater name as below,
Parameter Type Typing Method Associated Type
LV_MATNR Importing Type MATNR
LV_WERKS Importing Type WERKS_D
LV_HSN_SAC Changing Type STEUC
Page 87 of 97
9. Same way add method REDETERMINE_GSTPART_REG_PRICNG and add description as
Redetermination GST partner and region for pricing in vf01
10. Now select method and click on parameter button and give paramater name as below,
Page 88 of 97
13. Now save and activate in package J1I_GST_LO
Page 89 of 97
Step 5 : Line item wise Tax calculation for sales invoices.
Changes related to sales process (SD) based on draft GST Model Law. As and when the law is finalized, this
SAP Note 2410917 might undergo changes
Step 6 : GST India - Stock Transafer Scenarios.
As per the Model GST draft law, stock transfers across states or different registrations within the same
state are GST relevant transactions. These processes must have a GST Invoice.
To avail the solution need to implement the following steps.
Set up the STO process as per the customizings
Configure plant as a vendor
The sending plant in a Stock Transfer process must be configured as a Vendor.
Execute transaction code for Vendor Creation/Change and provide the Vendor,
Company code and Purchasing Org details.
Within the CONTROL view of the vendor, maintain the relevant GSTIN for the
plant within the Tax Number 3 field.
Within the PURCHASING DATA view of the vendor, navigate to Extras -> Add.
Purchasing data
Page 90 of 97
Assign an appropriate plant to the vendor and save the data.
Page 91 of 97
Create Info record
NOTE: The tax code maintained in this step will be referred during the GST Inbound invoice
Creation for posting GL accounts.
Execute the transaction code for Info record creation/change. Provide the Vendor,
Material, Purchasing Org and Plant.
Check the Info Category as STANDARD.
Under the Purchasing Org data view, Maintain a FI relevant Tax code and save
the data.
Page 92 of 97
You can configure the pricing procedure as per your business needs. The condition type for base
price (ZSTO in above screenshot) is to be configured accordingly. This may serve as a base for
GST tax calculations. Ensure that you are assigning an appropriate Accounting Key (ZST in the
above screenshot) against the base condition type. Also, maintain suitable G/L accounts for this
accounting key and not the sales revenue related accounts. The G/L accounts determined via
this accounting key serve as intermediate accounts for GST invoice postings.
Copy Control
NOTE: In case you are using a different document type than LF for Outbound deliveries w.r.t STO
process, then the Copy Controls must be set accordingly.
Page 93 of 97
Delete the following highlighted elements
Create a new function code (&GST) and provide the details as shown in the following screenshot.
Page 94 of 97
Save and activate
Page 95 of 97
Save the tcode under package J1I_GST_LO
Selection Texts
Page 96 of 97
Select the tab Selection Texts and update the following
Page 97 of 97