Oracle Financials For India (OFI) TCS Data Model Deep Dive: Author: Creation Date: 05-Apr-2016 Document Ref: 1.0
Oracle Financials For India (OFI) TCS Data Model Deep Dive: Author: Creation Date: 05-Apr-2016 Document Ref: 1.0
Oracle Financials For India (OFI) TCS Data Model Deep Dive: Author: Creation Date: 05-Apr-2016 Document Ref: 1.0
Change Record
5
5
Objective .................................................................................................................................... 5
Scope ........................................................................................................................................ 5
Setups ....................................................................................................................................... 7
Assign Organization/Locations........................................................................................................... 14
Settlement ...............................................................................................................................38
Settlement ............................................................................................................................................. 41
The main objective of this document is to provide a deepdive of the data model compilation for
the Tax Collected at Source (TCS) regime of Oracle Financials for India (OFI)
This exclusive data model deliverable will help the users to understand in detail, the total TCS
functionality architecture so that they can also make use of these details for building any custom
solution, if required.
Scope
The OFI TCS functionality can be classified into following four major categories:
Configuration
Transaction flow
Settlement
Accounting
Reporting
Under each of these 4 major functional areas, this data model deliverable comprises 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.
What is TCS?
It Stands for Tax Collected At Source. As per income tax rules, there are few items subjected to
TCS. Tax Collected at source arises as part of the seller. Here, tax is collected at the source of income
itself. It is to be collected at source from Buyer by the seller at the point of sale. A person collecting tax
shall furnish a certificate specifying the rate of tax applied on it and other particulars.
Setups
Flowchart:
To start with, this document facilitates with a flowchart which will allow the users to get an outline of
the setup flow for Tax Collected at Source Regime. Some of the steps outlined in this flowchart are
required and some are Optional. Required step with Defaults means that the setup functionality
comes with pre–seeded, default values in the application. However, to ensure a successful setup,
you need to review those defaults and decide whether to change them to suit your business needs.
If you need to change the default values, you should perform the corresponding setup step. You
need to perform Optional steps only if you plan to use the related feature.
Define TCS Regime Define Assign Tax Assign Tax Accounts
(R) Registration Types (R) (R)
Details (R)
Define
Assign Organization Tax Assign
Organization
Accounts (O) Organization/Locations (R)
Registration (O)
Navigation:
Objects involved/Affected:
Form Fields:
Header Section: In this section regime name, description and effective dates of the regime is captured
Field Description
1. Sequence Enter a sequence
2. Registration Type It’s an LOV containing below
Primary Registration Number
Secondary Registration Number
Others
3. Registration Name TAN No
AR Receipt Class
Batch Source Credit Memo
Batch Source Debit Memo
TCS Financial Year
Primary Registration Number Value is fetched from Lookup “ JAI_RGM_REGN_ATT_TYPE “ , which is System
Controlled.
Screen shot:-
Tax Types tab: This section of the screen shows the Tax Types associated to the regime and the 4 accounts
related to this regime.
In this we will add the respective Tax Type which will be assigned to the TCS regime. This is a
logical grouping of all transactions to which these taxes are applicable. If the values assigned for
a particular tax are different, these would prevail over those defined for the regime.
Navigation:
India Localization Setup India TCS/VAT/Service Tax Setup Regime RegistrationTax Types:
Below are the details of “Tax Types “ Tab.
Field Details
1. Sequence Sequence Numbering
2. Tax Types TCS Cess
TCS SH Education Cess
TCS Surcharge
Tax Accounts Details block: Accounts that are going to be used for accounting of Tax Collected At Source are
specified here.
Field Details
1. Sequence Sequence Numbering
2. Tax Types Enter the respective Tax Types
Interim Liability Account
Liability Account
Data in table JAI_RGM_REGISTRATIONS:
Assign Organization/Locations
Regime has to be assigned to all Organizations to which it is applicable. Taxes defined under this Regime would
default only for these Organizations.
Navigation:
India Localization Setup India TCS/VAT/Service Tax Setup Regime RegistrationOrganization (Push
Button)
Objects involved/Affected:
Form Name: JAINRGPT.fmb
Organization Details block: All the organizations falling under this regime are associated to the regime here.
Field Description
1. Organization Type Select the Organization Type. Note : In this Only
Inventory Organizations will be fetched.
2. Organization Name System will fetch all te IO’s belonging to the relevant
SOB and select the appropriate one.
3. Location Select the Location associated to the Organization
Registrations tab: This section captures the registration details of the regime.
Registration Details block: The registration details that are given at the regime registration details are defaulted
to the organizations. These registration details will default on all the organizations that are
assigned to this regime. The user has the facility to change the default values at an organization
level. You cannot delete a registration here.
Navigation:
India Localization Setup India TCS/VAT/Service Tax Setup Regime RegistrationOrganization (Push
Button) Tax Types:
Tax Details block: The tax details that are given at the regime registration details are defaulted to the
organizations. These tax details will default on all the organizations that are assigned to this
regime. The user has the facility to change the default values at an organization level.
Field Description
1. Tax Type Enter the Tax relating to TCS regime
2. Description --
Field Description
1. Account Name Enter the relevant CCID
Tax Accounts Details block: Accounts that are going to be used for accounting of Tax Collected At sources are
specified here.
. Default (checkbox): This checkbox will be checked whenever default account value at the regime level are
retained. It gets unchecked when registration value is modified.
Navigation:
India Local Inventory Setup Item Setup Setup VAT/EXCISE Item Classification
Objects involved/Affected:
Form Name: JAINITCL.fmb
TCS Item Attribute Definition Process: Users can define an Item Template wherein he defines a Template
name along with combination of the Tax regime, the Applicability, Item class and other common attributes. This
defined template can then be attached to multiple items thereby reducing the need to go to individual item and
defining the same attributes again and again. Users will also have the flexibility to assign the same template to
various organizations for that item.
Flowchart:
Yes Yes
This will navigate you to the Find Item / Template / Assignment screen. With this find window you can find:
Form Fields:
1. Item / Template: You will choose this to find the Item attributes of a single item
2. Regime: You will have to pick the Regime here. Currently only Value Added Tax is available here.
5. New/Find (Push Button): You can find an existing item for which these attributes are setup by clicking the
“Find” button. If you want to give attributes to a single item then you can use the “New” button to navigate to
Item / Template Attribute Registration Form.
Non Database Item
Header Section: In this section regime name, description and effective dates of the regime is captured
a. Attribute Name
b. Attribute Value
This opens the Base Supplier definition screen where we are supposed to define a supplier.
Purpose of creation as a supplier is the taxes which are collected from customers, at the end of the day are supposed
to paid to the respective authority.
For this, we define a supplier for TCS Authority for the respective payment.
Ensure that In the field “ Type “ , we select the value in LOV as “India TCS Authority”.
Else , this supplier will NOT be available in the LOV of the TCS Settlement form.
So ,if observed that any of the supplier defined is not appearing in the TCS settlement , first need to check if the
“Type” column is populated in the Supplier Additional information page for the problematic supplier under the
“Organization” link.
Using this form, define tax for Type “ Tax Collected At Source , TCS Cess, TCS Surcharge
Note: You need to define a different Tax Code each for TCS Cess and TCS Surcharge Cess. .TCS Cess should not
be used for TCS Surcharge Cess even though the Tax percentage is the same. This is essential
because a single transaction cannot have the same tax ID multiple times.
Table Name : JAI_CMN_TAXES_ALL
Define Threshold
Navigation: India Local Receivables - Setup – Tax – Threshold Setup
Using this form , the system automatically tracks cumulative sales above a limit ( where it is 10 Lakhs) and starts
adding Surcharge for sales when such threshold is crossed.
Table Name Description
JAI_AP_TDS_THHOLD_TYPES Details about Threshold Types
JAI_AP_TDS_THHOLD_SLABS Details about threshold Amount Slabs
JAI_AP_TDS_THHOLD_TAXES Taxes where assignment of threshold for the respective
OU are stored.
O2C Transactions
Flowchart:
To start with, this document facilitates with a flowchart which will allow the users to get an
outline of the basic O2C cycle flow for Value Added tax Regime. Some of the steps outlined in this
flowchart are required and some are Optional. Required step with Defaults means that the setup
functionality comes with pre–seeded, default values in the application. However, to ensure a
successful setup, you need to review those defaults and decide whether to change them to suit
your business needs. If you need to change the default values, you should perform the
corresponding step. You need to perform Optional steps only if you plan to use the related feature.
Sales Order India Open Base SO Sales Order Attaching TCS taxes to
Localization form Creation the SO in the localized
form
form
Workflow
Background
Fulfilled Orders Form process, Auto India - Local Concurrent Check in base AR
.Check for tax invoice Master for Processing Order invoice form if the
population ,Import Program Lines to AR taxes have flown to AR
invoice distribution
Create
Accounting
Navigation:
DB Sources involved:
For creating sales order in India localization user need to navigate from Sales order localization form, on
giving click on open we will navigate to the base SO form.
As soon as a record is inserted into the base table OE_ORDER_LINES_ALL, a database trigger
(JAI_OE_OLA_BRIUD_T1) is called.
o This trigger is BEFORE INSERT OR UPDATE OR DELETE Trigger FOR EACH ROW
o For INSERT and UPDATE, this trigger will call the procedure
JAI_OM_TAX_PROCESSING_PKG.DEFAULT_TAX , which will check if the SO line is ATO or
not.
Assigning IL taxes to the Sales Order. This can be achieved by below ways:
Tax Details India Localization screen displays taxes for the current line in the Sales Order- Localized screen.
All the taxes related to that Sales Order line could be viewed by clicking the taxes button. You can view the
taxes defaulted for the item and have an option to update/add/delete the taxes defaulted. If you make some
changes in the defaulted taxes, you need to click the apply button to make the tax modifications effective.
After applying the tax modifications, you need to save the record.
You can check the tax name, tax type tax rates, Unit of measurement, precedence logic for
calculation of taxes and the taxes calculated for each line item. No precedence logic and tax rates will be
available for an adhoc type of tax.
For Complete Flow of the Sales order Booking and Ship Confirm , kindly refer the below attachment
After Pick
Release.doc
Will be checking for item setup using cursor get_item_dtls where if excise flag is set as Y, records are
inserted into temporary table containing release date, delivery detail id etc.
Coming to the respective accounting for TCS transactions , object
“jai_ar_tcs_rep_pkg.wsh_interim_accounting” is called in.
In this procedure “wsh_interim_accounting “ , jai_cmn_rgm_recording_pkg.get_account is used to get the
code combination id from the organization , registration setup done for the TCS regime.
Liability and interim liability account are assigned to variables as v_liab_acc_ccid, v_int_liab_acc_ccid.
In the high level , during booking the order , if the accounting are not defined at the regime registration
level for TCS. And it throws error “Invalid Code combination ,please check the TCS Tax - Tax Accounting
Setup”.
Coming to the TCS Accounting , the entries will be as below for interim accounting
For the complete flow to GL INTERFACE , please refer the below document :-
This screen is provided to view the tax related information of the delivery on confirming the shipment.
You can enter any one of the following fields, such as Departure Name, Customer, Order Number, Batch Name, Ship
date, Delivery Name, Warehouse, Order type, Waybill to help in specific query of records.
Before dispatching the goods, the sales order needs to be released and the shipping need to be
confirmed through the standard application. Please note that the localization taxes cannot be
modified once the order is released/shipped. You need to take enough care to ensure that the correct taxes are
defaulted in the sales order before releasing/confirming the shipment of the order.
Navigation:
Shipping Confirm Shipments Ship Confirm (Localized) Find
Objects involved/Affected:
Form Name: JAINCSHP.fmb
Transactions (Localized)
Transactions with localized taxes can be created in the receivables module. The taxes will get
calculated for the item based on the tax defaulting set ups or taxes can be added to the transactions
manually.
Transactions in AR can be created through the Auto invoicing where the transactions done in
Order Management module will get interfaced to the receivables module. The taxes from the Order
Management module will be interfaced to AR while running the auto invoice program .
Navigation:
Transactions Transactions (Localized)
Objects involved/Affected:
DB Sources involved:
Table Trigger Packages
Sequence of Events:
The Auto Invoice Import inserts records into the base table RA_CUSTOMER_TRX_ALL
As soon as the record is inserted into the base table, AFTER INSERT trigger JAI_AR_RCTA_ASI_T1 is
fired
This procedure will insert IL entries into the tables JAI_AR_TRXS and JAI_AR_TRX_LINES.
Once the AR transaction is Completed, the COMPLETE_FLAG is updated to ‘Y’ in the table
RA_CUSTOMER_TRX_ALL and as a result the trigger JAI_AR_RCTA_ARIUD_T1 (AFTER
INSERT/UPDATE/DELETE) fires
This procedure will insert the AR Trx TAX distribution data into the temp table JAI_AR_TRX_INS_HDRS_T
after having done the required validations.
The Auto Invoice Import inserts records into the base table RA_CUSTOMER_TRX_LINES_ALL
As soon as the records are inserted into the base table, an AFTER INSERT OR UPDATE OR DELETE
trigger JAI_AR_RCTLA_ARIUD_T1 is fired.
Based on the field interface_line_context = ‘ORDER_ENTRY’ , this procedure will insert IL entries into the
tables JAI_AR_TRXS and JAI_AR_TRX_LINES.
Once the AR invoice is imported, TCS Interim Liability Account is knocked off , this is the entry which is
generated at the time of shipment.
A concurrent program ‘India - Local concurrent for processing order lines to AR‘ has been added to Oracle
Receivables – India Localization. This has been introduced to handle localization tax flow from Order Management to
Receivables. This program captures localization taxes in Shipments and inserts Tax lines in AR Invoices and Credit
Memos imported from Order Management. You have to schedule the concurrent to submit the request at suitable
intervals. Please make it mandatory to Schedule this concurrent program.
The concurrent ‘AR Tax and Freight Defaultation’ would automatically run to Insert Tax lines in AR Invoices created manually.
Once the AR invoice is created , and saved below are the accounting entries:
Account Debit Credit
Receivable Account TCS Taxes --
Advance Receipt
Navigate to India Local Receivables – Receipts
In the Receipt Method field , ensure that we select the value as “ Advance Receipt for TCS “.And need to
enter the Customer details.
Below is the screen shot:-
Creation of AR Debit Memo For TCS – Advance Receipt Transaction Flow
During 11i, there was a feature called “ Zoom Functionality ” , which is used to enter the details namely
Organization ,Item Classification , Tax Category. But on R12 , this functionality is replaced with AR IL Cash Receipts
Menu.
So , Zoom functionality is replaced on R12 , with AR IL Cash Receipts menu and this is also used to attaching India
Localization taxes.
In the above form , customer details , receipt number , receipt amount are stored in table :
JAI_AR_CASH_RECEIPTS_ALL.
Organization , item classification , taxes category, total tax amount are stored in JAI_AR_CASH_RECEIPTS_ALL.
Click on the Taxes button and the TCS taxes are defaulted.
Now, confirm the same , but clicking on the “Confirm “ button and then close the form. In the AR Receipts
form
we will be clicking on the Apply Button.
If we try to Save the details on the form without entering the taxes via Tools – AR Cash Receipt , form
throws the message “First process the taxes using Tools Menu and then save the form “.
This validation takes place in object / trigger “ jai_ar_trigger_pkg “
In this trigger , procedure , “ARI_T1” is called for which does the validation.
Validation criteria is r_check_tmp_data.loc_cash_receipt_id IS NULL AND
upper(nvl(lv_regime_code,'####')) = 'TCS'
To elaborate the case , r_check_tmp_data is defined as c_check_tmp_data%Rowtype;
Which is a cursor variable.
In this form , the fields ,Customer Name, Customer Site , Customer Number, Receipt Number fields will be
defaulted from the AR Receipts screen.
And now , we are supposed to enter the Organization details, Item classification .
All the details for the transaction are stored in table: JAI_AR_CASH_RECEIPTS_ALL
We can use the where condition to retrieve “cash_receipt_id = :parameter.cash_receipt_id OR
temp_sequence_id = :parameter.sid “
TCS_Document_no is fetched from the below condition :-
SELECT a.generated_doc_trx_number
FROM jai_rgm_item_gen_docs a,
jai_rgm_refs_all b
WHERE a.transaction_id = b.transaction_id
AND b.source_document_id = cp_receipt_id
AND b.source_document_type = 'CASH_TAX_CONFIRMED';
Once the value of a.generated_doc_trx_number for the given condition is fetched. This process happens via
the parameterized cursor “c_document_number(p_receipt_id); “.
The fetched value is assigned to “:receipts.TCS_DOCUMENT_NUMBER;”. This above logic exists in
JAI_COMMON package body defined in the form.
The tax computed is as below:-
First in the jai_common package , cursor c_ total_tax_amount is defined where it is
SELECT SUM(tax_amt) tot_tax_amt
FROM jai_cmn_document_taxes
WHERE source_table_name = 'JAI_AR_CASH_RECEIPTS_ALL'
AND source_doc_id = cp_cash_receipt_id;
Firstly it checks for the value of p_receipt_id which is nothing but the value fetched via cash_receipt_id.
If this value is not null , then using the above cursor condition , the value of sum(tax_amt) is fetched and
displayed.
Here it is mandatory that one should click on the Confirm Button , else the taxes will not be applied on the
Advance.
Once the taxes are applied on the receipt and confirmed , then “Confirm” Button is greyed out.
On clicking on the apply , we need to check for the created AR Invoice and enter the respective details.
Settlement
Before carrying out the actual settlement process we need to run “India TCS Settlement Report”.
This is assigned and accessible from responsibilities “India Local Payables “ & “India- Local Receivables”.
i. Objects involved/Affected:
b. Executable : JAINSTLR
ii. Navigation: India Localization Payables / Receivables > View - Submit Requests
India TCS Settlement Report
iii. Parameters involved :-
and (regime_org_id,
attribute_value) in(
select
min(bb.regime_org_id),
bb.attribute_value from
JAI_RGM_ORG_REGN
S_V bb where
regime_code = 'TCS'
and registration_type =
'OTHERS' and
attribute_code =
'ORG_TAN_NUM' group
by bb.attribute_value )
:$FLEX$.JA_IN_TCS_O
RG_TAN)
and attribute_type_code
= 'ITEM_ATTRIBUTE'
and attribute_code
=
'ITEM_CLASSIFICATIO
N'
v. Screen shots:
vi. Report Observation
Please note that TCS applicability of these receipts will be nullified if you proceed
Warning : Cash Receipts where TCS is applicable and taxes have been
confirmed but it is not fully applied.
Settlement
Generation of TCS Credit memo when receipt is applied to AR Transaction with TCS Taxes.
i. Objects involved/Affected:
c. Screen shot:-
ii. DB Sources involved
iii. Tables
I Packages
m
JAI_RGM_BALANCE_T
p JAI_CMN_RGM_TAX_DIST_PKG
o
JAI_RGM_STL_BALANCES
r JAI_CMN_RGM_SETTLEMENT_PK
t G
Important Validations :
d. The TCS Authority invoice would be created only when the Payables
amount < 0 which means that the Credit value should always be less
than the Debit amount
e. The process button will be activated only when the Net balance amount
( payable amount ) is shown negative. If the credits are more than the
debits for cases where there is no payment due , “Process” button will
be disabled itself.
a. The TCS invoice generation process would be initiated when the user
clicks on the “PROCESS” button in the Settlement window.
ii. If it is not opened, the process would try to fetch the next open
period. If no open period is available, then the process would
be terminated with the Error: No Open period ... after the
Settlement Date
upper(lv_regime.regime_code)||'/'||pn_org_id||'/'||ln_tmp
ln_tmp : jai_rgm_settlements_s1.NEXTVAL.
v. Remarks/References
iii.
Tables Packages
JAI_RGM_SETTLEMENTS JAI_CMN_RGM_SETTLEMENT_PKG
JAI_RGM_STL_BALANCES JAI_CMN_RGM_RECORDING_PKG
v. Technical Flow/explanation
Header &
Details
b. The header section shows the details of the TCS authority, Site, invoice
created for settlement, amount and invoice status.
d. Once the invoice status is Paid, then the Process Payment check box
and Process Payment buttons would be enabled
f. Once the Process Payment is successful, then the status would be set
to SETTLED and Header’s Payment date is set to SYSDATE. With this
the settlement process ends.
vi. Remarks/References
TCS Accounting
i. Important Validations
Inserts the records with following values into Gl interface . status as New, if accounting date is null then
sysdate value is entered , v_reference_10 is populated which is used for identifying which transaction. The
values will be as v_reference_10 := p_reference_10 || ' for the Organization code ' || v_organization_code;
Shipment Entries
In a way the accounting entries are the same either for Imported (
O2C Created AR Invoices ) or the Manual AR Invoices
In the way the created Debit note for the event of “creation of
Advance TCS receipt “ , the entries are reversed by the created
credit note on Reversal.
On Applying Receipt to AR Invoice , system creates a credit note
and below are the entries for the Credit note
a. Objects involved/Affected:
iii. Parameters:-
b. DB Sources involved
i. File name :
jai_ap_tcs_processing_pkg.generate_tcs_certificates
i. Executable : JAINTCSQ
ii. File name : JAINTCSQ
i. Executable : JAINTCSB
ii. File name : JAINTC
iii. Parameters:-
i. Executable : JAINTCSCR
ii. File name : JAINTCSCR
iii. Parameters:
i. Executable : JAINETCSQ
ii. File name : jai_etcs_pkg.quarterly_returns
iii. Parameters:-
Parameters:-
i. Concurrent program name : India - TCS Annual Report
Necessary to run the concurrent for the submission of the TCS Annual
report which is specific to collection code where this is submitted from
the India Local Receivables responsibility.
i. Executable JAINTCSY
ii. File name : JAINTCSY
iii. Parameters:-
2016 Budget Amendment for TCS
As per the new amendment for TCS 1 % needs to be collected for sales of goods and services in cash exceeding 2
Lakhs under section 206C.
1. As per 2016 Budget Amendment Tax need to be collected at Source @ 1 % on sale of goods and services in
cash exceeding two lakh - u/s 206 C.
a.The sales would be against cash/cheque/RTGS, etc. - TCS deduction is applicable for sales made against cash.
The present system is not having the functionality to configure the same.
Clause 86 of the Bill seeks to amend section 206C of the Incometax Act relating to profits and gains from the
business of trading in alcoholic liquor, forest produce, scrap, etc.
The aforesaid section, inter alia, provides that the seller shall collect tax at source at specified rate from the buyer at
the time of sale of certain goods specified under the said section.
It is proposed to amend the aforesaid section to provide that the seller shall collect the tax at the rate of one per cent.
On the sale of motor vehicle of the value exceeding ten lakh rupees in cash or
by the issue of a cheque or draft or by any other mode or for sale of any other goods (other than bullion and
jewellery) or providing any service in cash exceeding two hundred thousand rupees.
2.TCS 1% to be considered for When invoice cumulative value exceed threshold limit i.e. above 2 lakhs, i.e. if the
customer is having 3 invoices for the day, the cumulative sales amount
against cash exceeds the threshold limit, system needs to collect the TCS for the cumulative invoices amount.
3. The present system configuration is for specific categories - TCS 1% needs to be deducted irrespective of item
item category for cash sales exceeds the threshold limit.
To support the requirement of defaulting TCS tax on Sale of goods and service on Cash exceeding 2 Lakhs,
2) Threshold setup for TCS will be Cumulative and we do not support Single threshold.
Also there is no mapping between Threshold and Transaction types.
Its very complex to change the threshold to single based on transaction type.
Instead of defaulting the tax ,User can follow the workaround of attaching 1%TCS tax for an Invoice with Cash
Payment.
Considering the lower number of cash transactions, Request you to follow the workaround of attaching the tcs tax
manually.
Workaround Suggested
1. Note that as mentioned earlier, the requested feature is a gap in the Product and we need to arrive at some other
feasible work around to map the business requirement till the current issue reaches a logical conclusion.
An ER # 23515479 is logged .
2. We should also note that there is a high complexity involved to achieve any such feasible automation to have the
TCS applicability for the transactions.
3. Also, the mapping of cash receipt and non-cash receipts with the application varies from Business to Business (as
there is no such generic feature available to bifurcate cash & check transactions in Application)
4. The current TCS requirement considers the combination of the invoice value and the corresponding receipts.
5. For example, consider one of the following business scenarios: (e.g. TCS should be applicable if the transaction
value exceeds: 800,000)
6. In view of various possible complex scenarios, at this moment it is not feasible to incorporate any automation in
terms of the current functionality.
7. Following are the only possible options to map the requirement right now vis-a-vis product functionality.
Option A:
=======
1. Build a Custom process/solution to track the running threshold amount (based on the business requirement, as the
TCS applicability is also per transaction value in some cases).
2. Default the corresponding TCS tax category (@1%) .
3. Stop the transaction using a custom control if the TCS is not applied by the user (if the threshold is breached).
Option B:
========
1. Apply TCS tax category manually to all transactions.
2. Process the transactions.
3. Pass the manual adjustment entries for the transactions where the TCS was not applicable.