0% found this document useful (0 votes)
38 views25 pages

Ofi GST O2c Datamodel

Uploaded by

sh.hazra73
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views25 pages

Ofi GST O2c Datamodel

Uploaded by

sh.hazra73
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Oracle Financials for India (OFI)

Goods and Service Tax (GST) Order


to Cash Data Model

Author: AllahBaksh Shaik


Creation Date: 24-Sep-2018
Last Updated: 5-Oct-2018
Document Ref:
Version: 1.0

Organization: Oracle India Private Limited.

AllahBaksh Shaik OFI-GST-O2C Data Model 1


Document Control

Change Record
2
5

Date Author Versi Change Reference


on
25-Sep- AllahBaksh 1.0 Initial document
2018 Shaik

Reviewers

Name Position
Jai Thakkar Sr. Manager, GST Team
Pavan Raparla Team Lead

Audience

Name Position
12.1 & 12.2 Implementation team
12.1 & 12.2 Customers

AllahBaksh Shaik OFI-GST-O2C Data Model 2


Contents
Document Control ...................................................................................................................................... 2

Objective ...................................................................................................................................................... 4

Scope ........................................................................................................................................................... 4

Introduction.................................................................................................................................................. 5

Document Sequencing .............................................................................................................................. 6

India tax Details Form................................................................................................................................ 7

Sales Order Taxes ................................................................................................................................... 12

Shipment Taxes Flow .............................................................................................................................. 13

India Tax Invoice Generation ................................................................................................................. 19

Migration of SO Taxes to AR (Auto Invoice Case).............................................................................. 21

Manual AR Invoice Taxes & Accounting .............................................................................................. 24

AllahBaksh Shaik OFI-GST-O2C Data Model 3


Objective
The main objective of this document is to arrive at the scope of the data model compilation for
Order to Cash functionality in GST

This exclusive data model deliverable will help the users and the implementation partners to
understand in detail, the total Order to Cash architecture so the users can also make use to
these details for building any custom solution if it is required.

Scope
The OFI GST functionality can be classified into following four major categories:

 Configuration

 Transaction flow

 Settlement

 Accounting

 Reporting

Under each of these 4 major functional areas, the expected data model deliverables should
comprise of the data flow details, flow charts wherever applicable, the details of the triggering
points, if any, important column references and the details of the frequently encountered issues
and troubleshooting tips.

The deliverable should cover the following objects:

1. Forms

2. Reports

3. Database objects viz. Triggers, Packages, procedures, pll etc.

4. Repository details and the corresponding triggering points

5. Concurrent program processing.

AllahBaksh Shaik OFI-GST-O2C Data Model 4


Introduction
The Goods and Services Tax Bill or GST Bill, officially known as The Constitution (One
Hundred and Twenty-Second Amendment) Bill, 2014, proposes a national Value added Tax to
be implemented in India. "Goods and Services Tax" would be a comprehensive indirect tax on
manufacture, sale and consumption of goods and services throughout India, to replace taxes
levied by the Central and State governments.

This document provides the information on Data model/Technical flow of the GST
processing applied on the O2C transactions i.e. Sales Orders & AR Invoices.

AllahBaksh Shaik OFI-GST-O2C Data Model 5


Document Sequencing
1. Description:
The Document sequencing is used for the “India Tax Invoice” Number
generation. This form is used to define and assign the documents sequence for various
transaction types.
2. Source:
Form: JAINDOCS.fmb
User Form Name: Document Sequencing
3. DB Objects

Tables/Views Package
JAI_TAX_DOC_SEQS JAI_TAX_DOC_SEQS_PKG
JAI_TAX_DOC_SEQ_ASSIGNMENTS
JAI_TAX_DOC_SEQ_ASGMT_V
JAI_TAX_DOC_SEQS_V

4. Important Validations
Duplicate Assignment for the same transaction type with Org & Location
Combination is not allowed.
5. References : N/A
6. Technical Flow:

i) (N) Oracle Financials for India > Tax Configuration > Define Document
Sequencing

ii) open the document sequence form and define the document sequence for
transaction type to generate the ‘India Tax Invoice’ Number
iii) JAI_TAX_DOC_SEQS_PKG.CHECK_SEQS_UNIQUE (+) is called to validate
whether provided document sequence is valid or not.

AllahBaksh Shaik OFI-GST-O2C Data Model 6


India tax Details Form
1. Objects
a. From Module: JAINTXOC.fmb & JAINTAXU.fmb
2. DB Sources
Tables/Views Packages/procedure Calls

JAI_TRX_HEADERS_V PLL “JAINTAXU.pll” package


JAI_TRX_LINES_V JAI_OE_OLA_ARIUD_T2
JAI_TAX_LINES_V JAI_OE_OLA_TRG_PKG
JAI_TAX_LINES_ALL ZX_SRVC_TYP_PKG
JAI_TAX_DET_FACTORS JAI_TAX_PROCESSING_PKG
JAI_OM_TAX_DET_PKG
JAI_TAX_DETERMINATION_PKG

3. Important Validations :N/A


4. References : N/A
5. Technical Process flow when the taxes default to sales order

=> The Form JAINTAXU.fmb is used as Object Group in “India Tax Details” form

=> When the SO is saved the below processes would be triggered and JAI tax tables
would be populated.

=> The Processing would be invoked from the E-Business tax events that are triggered
from base. ZV_SRVC_TYP_PKG. calculate_tax()

=> Checks if the India Localization exists and JAI AD events are set

=> If the IL exists, then JAI_TAX_PROCESSING_PKG.calculate_tax() would be invoked


for the further processing of the taxes.

=> The insert_line_det_factors() calls various procedures which derives the defaulting
setup information and populates taxes for SO lines.

=> Once saving the Sales Order, Navigate to India Tax Details form.

(N)Tools -> India Tax Details

AllahBaksh Shaik OFI-GST-O2C Data Model 7


AllahBaksh Shaik OFI-GST-O2C Data Model 8
Continue…

AllahBaksh Shaik OFI-GST-O2C Data Model 9


AllahBaksh Shaik OFI-GST-O2C Data Model 10
On the Sales Order, this navigation has been implemented through the custom personalization
on the form function “ONT_OEXOEORD”

1. Enable India Tax Details Tools Menu: Enables India Tax Details option on the Tools menu

2. Invoke O2C Common UI: When user clicks on the India Tax Details, then below function call
would invoke the form

Personalization Actions:

Built in: Launch a Function


Function Code: JAINTXOC_FUN
Function Name: India Tax Details - Order to Cash
Parameters: ='TRX_TYPE=' || '"OE"' || ' TRX_ID=' || :ORDER.HEADER_ID ||'
FORM_USAGE_MODE="GL_DRILLDOWN"'

With this, the India Tax Details – Order to Cash form would be opened.

There are three sections in this form as shown in the below Screen shot.

1. Transaction Header

2. Transaction Lines

3. Tax Lines applied

Header:

It depicts the transaction Header details. In the example case, the SO # 40 is source
document on which the taxes are to be attached.

The Update/Modify section is being used to update the Tax Category on the Lines.

The Action contains LOV of values.

1. All lines – The Tax Category would be updated all the lines.
2. Lines with no Value – Tax category would be populated on the lines where there
is NO tax Category is attached.
3. Modify – When this option is selected then From & To would become
mandatory. This is used for the change of “Intended Use”

Lines:
It provides details of the transaction lines. The details would be like, SO line, item,
Quantity, Tax Category, Organization, Location etc..

Tax Lines:
This provides the details like what taxes are applied on the line, precedence, tax rate,
tax amount that is calculated, etc…
Once user clicks on Apply, the taxes would be calculated.

AllahBaksh Shaik OFI-GST-O2C Data Model 11


Sales Order Taxes
This section describes on how the GST taxes are applied on the SO. The Taxes are
attached to the Sales order once the Sales Order is created/entered. The navigation for
attaching the taxes is as below.
Navigation: Tools -> India Tax Details

This menu option is enabled using the Function level form personalization the Sales Order
form
Function: ONT_OEXOEORD
Form name: OEXOEORD

When the option “India Tax Details” is selected then the Common India Localization Taxes form
would be open.
Function Name: JAINTXOC_FUN
Function Parameters:
TRX_TYPE = ‘OE’
TRX_ID = :ORDER.HEADER_ID
FORM_USAGE_MODE = ‘GL_DRILLDOWN’

For Information on how the taxes are processed or saved, please refer the section “India Tax
Details Form”

AllahBaksh Shaik OFI-GST-O2C Data Model 12


Shipment Taxes Flow
1. Description

Once the shipping is confirmed, the India Localization taxes are recalculated
based on the Determination factor and TPB (Tax Point Basis), and migrate taxes
on to the shipment. In this process, the India Tax Invoice would be generated
which is used for the Freight of goods or supplies.

Also the Accounting entries created in the system based the TPB that is used.
The GL Interface entries would be created which the users have to import the
journals to the core GL.

2. DB Sources
Tables Packages

JAI_TAX_DET_FACTORS JAI_OM_WDD_PROCESSING_PKG
WSH_DELIVERY_ASSIGNMENTS JAI_WSH_TAX_DET_PKG
WSH_DELIVERY_DETAILS JAI_INV_NUM_GEN_PKG
JAI_TAX_LINES JAI_TAX_DETERMINATION_PKG
JAI_RGM_RECOVERY_LINES
JAI_TAX_JOURNAL_ENTRIES

3. Important validations/ Key Points:


a. Set the “Raise Business Events” in Global Shipping Parameters & Organization
Shipping parameters.
b. The India Localization Process flow is triggers from the following Workflow
Business events and all events should be enable
Event 1: oracle.apps.wsh.line.gen.staged (Calculation of taxes takes place at
Pick Release level)
Event 2: oracle.apps.wsh.delivery.oe.interfaced (Tax gets recalculated at
shipment level. India tax invoice number and accounting would be generated)
Event 3: oracle.apps.wsh.delivery.gen.interfaced (This function allow to user to
add or modify the taxes before shipment)

c. Copy Tax From Source” setup is done at OU level, in common Configuration


setup to copy the taxes from sales order to shipment
d. Otherwise , the shipment taxes would be recalculated based on Rule Basic
Setup done in common configuration setup

AllahBaksh Shaik OFI-GST-O2C Data Model 13


4. Technical Flow:

AllahBaksh Shaik OFI-GST-O2C Data Model 14


 The taxes flowing from Sales Order to Shipment is achieved through the
Business Events. The below are the key setups that are required to for India
Localization which would trigger the Business events.
a. Mark ‘Raise Business Events’ flag as Yes in Global Shipping
Parameter setup;
b. Mark ‘Raise Business Events’ flag as Yes in Organization
Shipping Parameter setup;
c. Set ‘Tax Event’ as NULL in Sales Order Transaction Type
Definition.
 In the Order Management Work flow process, the business event
“oracle.apps.wsh.delivery.oe.interfaced” would trigger the India Localization
processing.
 Calls the processing procedure: Procedure Call
JAI_OM_WDD_PROCESSING_PKG.BE_INTERFACED()
 The parameters passed are related to the WF Event triggered.
 Derive the Event Name & Event key (Delivery Id) and proceed further
processing.
 For each delivery detail of the delivery, the Tax Determination factors would be
identified and Tax would be recalculated by using the below procedure calls.
i. jai_wsh_tax_det_pkg.determine_factors()
Parameters:
p_action_code => CREATE or UPDATE
p_delivery_id => DELIVERY_ID
p_delivery_detail_id => DELIVERY_DETAIL_ID

ii. jai_wsh_tax_det_pkg.process_tax_lines()
Parameters:
p_trx_id=> SO Header Id
p_trx_line_id=> SO Line ID

 The PROCESS_TAX_LINES would create the Tax Lines for the shipment and
also populates the accounting entries in the GL_INTERFACE.
 Once the determination factors are created and tax lines are processed then the
below call is made to generate the India Tax Invoice. Procedure :
JAI_INV_NUM_GEN_PKG.PROCESS_GENERATION()

AllahBaksh Shaik OFI-GST-O2C Data Model 15


 It would load tax determination factors
 Inset Tax Determination Factors
Procedure: JAI_TAX_DETERMINATION_PKG.insert_line_det_factors()
 Determine Taxes and populates the JAI_TAX_LINES table based on the setup.
Procedure: JAI_TAX_DETERMINATION_PKG.DETERMINE_TAX()

AllahBaksh Shaik OFI-GST-O2C Data Model 16


 For each Determination Factor line, checks the TPB (Tax point Basis)
Procedure call:
JAI_TAX_DETERMINATION_PKG.DERIVE_TAX_POINT_BASIS()
 If the TPB is DELIVERY, then accounting entries would processed
Procedure call: JAI_TAX_ACCOUNTING_PKG.POST_ACCOUNTING()
 Technical Flow of POST_ACCOUTING()
a. For each Tax line and determination factor
b. Derive the JE source and Category. Procedure :
GET_ACCOUNTING_CTG()
c. The JE Source and Category are derived from the table
“JAI_JRNAL_SRCS_CTGRS” based on the transaction type and Event
code
d. Derive all the accounting CCIDs based on the tax_type_id applied.
Procedure: GET_ACCOUNTING_INFO()
e. Decide which entries should be populated. Procedure:
DECIDE_ACCOUNT_CCID()
f. Decide description reference column and accounting date. Procedure:
DECIDE_DESC_INFO()
g. Post GL_INTERFACE. Procedure: POST_GL_ENTRIES()

AllahBaksh Shaik OFI-GST-O2C Data Model 17


h. JAI_TAX_ACCOUNTING_PKG.INSERT_GL_ENTRY() insert the tax
accounting entry in GL_INTERFACE table
i. JAI_TAX_ACCOUNTING_PKG.insert_jai_journal() insert the tax
accounting entry in JAI_TAX_JOURNAL_ENTRIES
j. Populate Repository for the recovery entries.
POPULATE_REPOSITORY()
k. JAI_RGM_RECOVERY_PKG.INSERT_RECOVERY_LINES() is called to
insert the recovery line in JAI_RGM_RECOVERY_LINES table

AllahBaksh Shaik OFI-GST-O2C Data Model 18


Refer Section “India Tax Invoice Generation” for the detailed explanation of this

India Tax Invoice Generation


1. Description
This section describes how the India Tax Invoice would be generated.
2. DB Sources:
Tables Packages

JAI_TAX_DET_FACTORS JAI_OM_WDD_PROCESSING_PKG
WSH_DELIVERY_ASSIGNMENTS JAI_WSH_TAX_DET_PKG
WSH_DELIVERY_DETAILS JAI_WSH_TAX_DET_PKG
JAI_TAX_LINES JAI_INV_NUM_GEN_PKG
JAI_TAX_DETERMINATION_PKG

3. Important validations/ Key Points


a. Interface trip stop should be completed successfully to generate
tax invoice number
b. Delivery errors will be populated into JAI_WSH_EXCEPTIONS_T,
and details can be find out form output of ‘India – Check Delivery
OM/INV Interface’ program
c. Re-run the "India – Check Delivery OM/INV Interface" manually for
failed delivery to generate the tax invoice and tax accounting entry
4. Technical Flow
a) The procedure call JAI_INV_NUM_GEN_PKG.PROCESS_GENERATION() would
call API to generate the tax invoice number
b) Get all target jai tax lines and derive sequence determine factors, set to table
variables. Procedure call: SET_SEQ_DET_FACTORS()
i. Set the "lt_tbl_seq_det_factors" table with the determination factors
c) Matches determine factors for each tax line to determine which sequence ID
should be used. Procedure DETERMINE_SEQ_HD()
d) Generate invoice number by sequence definition and update to tax line and
sequence setup. Procedure : GEN_INVOICE_NUMBER()
e) JAI_INV_NUM_GEN_PKG.update_invooce_dtls ,update tax_invoce_num
,original_tax_invoice for RMA order in JAI_TAX_DET_FACTORS table as well as
JAI_TAX_LINES table
f) Copy the generated tax invoice number on to the Sales Order. Procedure Call :
COPY_INVOICE_NUM()
g) Check and print in Log, if the tax invoice is not generated for any Transaction
line/tax line. Procedure call : CHK_UNMATCHED_LINES()
h) Populate bond entry for transactions. Procedure call:
JAI_BOND_REG_PROCESSING_PKG.POPULATE_BOND_ENTRY()

AllahBaksh Shaik OFI-GST-O2C Data Model 19


=> Table: JAI_CMN_MATCH_DTLS would be populated

AllahBaksh Shaik OFI-GST-O2C Data Model 20


Migration of SO Taxes to AR (Auto Invoice Case)
1. Description:

This section describes on how the taxes are flown from SO to AR Invoice.
2. DB Sources:
Tables Packages

JAI_TAX_DET_FACTORS JAI_OM_WDD_PROCESSING_PKG
JAI_TAX_LINES JAI_WSH_TAX_DET_PKG
RA_CUST_TRX_LINE_GL_DIST_ALL JAI_WSH_TAX_DET_PKG
JAI_INV_NUM_GEN_PKG
JAI_TAX_DETERMINATION_PKG

3. Technical Flow:
 JAI integration call would be invoked from the
“ZX_SRVC_TYP_PKG.IMPORT”
 CHECK_JAI_EXISTS_IN_ZX() would validate if the GST tax is implemented
and setup is available for further processing
 JAI_TAX_PROCESSING_PKG.import_document_with_tax() in invoke to
process the SO taxes onto the AR invoice generated through the Auto
Invoice process.
 The actual taxes importing process would be triggered by the
“JAI_AR_TAX_DET_PAKG.insert_ar_trx()”.This function copy the taxes
from delivery and import to AR Invoice
 The Tax Determination factors would be initialized and populated using the
“JAI_TAX_DETERMINATION_PKG.insert_line_det_factors()”
 This triggers/invokes the “JAI_TAX_DETERMINATION_PKG.
determine_tax()” which perform the below processing
 Checks Inventory org & location and validate the same.
Procedure call: “check_io_location()”
 The JAI_TAX_DET_FACTORS would be further updated by deriving the
tax determination details based on the RULE basis.
Procedure call:determine_tax_by_tax_rule()
 Prepare tax line tbl as input parameter for calculate tax.
Procedure call: prepare_tax_lines_tbl()
 Calculate tax for every transaction line /shipment line which taxes are
attached. Calculate recoverable /non-recoverable tax amount.
Procedure call: JAI_TAX_DETERMINATION_PKG.calculate_tax()
 Delete the tax lines if any already exists.
Procedure call: JAI_TAX_DETERMINATION_PKG.delete_tax_lines()
 Populate the tax lines. Procedure call: populate_tax_lines()
o Populates the JAI_TAX_LINES with the taxes information against the
tax determination factor Id
o “jai_populate_tax_dist_ar()” which populates the
“RA_CUST_TRX_LINE_GL_DIST_ALL” with the taxes derived using
“prepare_tax_lines_tbl()”. This is being achieved through procedure
call : jai_insert_ra_trx_line_gl_dist()

AllahBaksh Shaik OFI-GST-O2C Data Model 21


AllahBaksh Shaik OFI-GST-O2C Data Model 22
AllahBaksh Shaik OFI-GST-O2C Data Model 23
Manual AR Invoice Taxes & Accounting
This section would describe the below:

1. How taxes would be attached on the manual AR invoice?


2. How the taxes are copied on to the AR invoice when COMPLETE event
performed?
3. How the TAX accounting would happen?

NOTE: The same process flow is applicable for both Credit Memo and Debit Memo invoices
DB Sources:
Tables Packages

JAI_TAX_LINES_ALL JAI_TAX_DETERMINATION_PKG
JAI_RGM_RECOVERY_LINES JAI_TAX_PROCESSING_PKG
JAI_AR_TAX_DET_PKG
JAI_TAX_ACCOUNTING_PKG
JAI_RGM_RECOVERY_PKG
ZX_SRVC_TYP_PKG

Technical Flow:

a) ZX_SRVC_TYP_PKG call this


JAI_TAX_PROCESSING_PKG.CHECK_JAI_EXISTS_IN_ZX() to validate whether GST
tax is available or not , if yes start processing the tax calculation
b) When AR invoice is set to complete, the EB-Tax integration with India Localization,
would trigger the GST taxes processing, of the applied taxes.
c) The procedure call “JAI_TAX_PROCESSING_PKG.calculate_tax()” would start the
processing of the taxes re-calculation
d) Based on the transaction type and event code, the procedure would be invoked
“JAI_AR_TAX_DET_PKG.determine_manual_ar_tax()” to process the taxes applied on
the manual AR transaction/Invoice
e) The procedure call “JAI_AR_TAX_DET_PKG.process_tax_lines()” would be made which
would process the tax lines applied.
f) As part of the processing,
“JAI_TAX_DETERMINATION_PKG.jai_populate_tax_dist_ar()” is invoked which does
population of Taxes on to AR invoice.
g) The procedure call “JAI_TAX_ACCOUNTING_PKG.post_accounting()” would perform
the accounting of the India Localization taxes that are applied on Invoice.
 Derives the Journal source and Category.
 Derive the accounting information from the tax rate setup
 Derive the accounting entries that need to be passed.
 “post_gl_entries()” would populate the GL_INTERFACE. Internal procedure that
gets invoked is “insert_gl_entry()”

AllahBaksh Shaik OFI-GST-O2C Data Model 24


 When the GL_INTERFACE population is successful, then “insert_jai_journal()”
would be triggered to populate same accounting entries in India Localization
Journal entries table i.e. “JAI_TAX_JOURNAL_ENTRIES” ***

The procedure “JAI_TAX_ACCOUNTING_PKG.populate_repository()” would be invoked, to


populate taxes repository table “JAI_TAX_JOURNAL_ENTRIES” which would be used for the
settlement in future.
h) JAI_INV_NUM_GEN_PKG.process_generation called to generate the tax invoice
number

AllahBaksh Shaik OFI-GST-O2C Data Model 25

You might also like