Tax - User Guide: Release R15.000
Tax - User Guide: Release R15.000
Tax - User Guide: Release R15.000
Release R15.000
June 2015
Warning: This document is protected by copyright law and international treaties. Unauthorised reproduction of this document, or any portion of it, may
result in severe and criminal penalties, and will be prosecuted to the maximum extent possible under law.
Table of Contents
Introduction 3
Purpose of this Guide 3
Intended Audience 3
TAX - Overview 4
Maintenance of Tax Database 5
Interfacing T24 Data to Tax Calculating Systems 5
Tax Engine Parameters and Setup 7
Tax Interface Parameters and Setup 8
TI Processing Setup Overview 8
TX.CONDITION 9
TI.DELIVERY.APP.MAPPING 10
TI.HANDOFF.MAPPING 11
ACCOUNT.PARAMETER 11
INT.MOVEMENT.PARAM 12
TX.TXN.BASE.PARAMS 13
TX.TXN.BASE.PARAMS 14
TX.CONDITION 15
TX.MAPPING 16
Interfacing T24 Data to Tax Calculating Systems 17
Maintenance of Tax Database 18
Tax Engine Deal Processing 19
Raising Accounting Entries 20
Delivery Hold Process 21
Releasing Held Messages 22
Update of Lookup file - TI.TRANS.DETAILS 23
TI.HEADER 24
SEC.TRANS.INFO 25
Intended Audience
This Banking Framework User Guides are intended for T24 Customers and Internal Stakeholders to stay informed of the latest developments
and changes on the Licensed Core Financial Products and Core Financial Services of T24, which are constantly revised and upgraded to leverage
new technologies and new technical architectures.
The Tax Engine (TX) module interfaces T24 transactions to external tax systems for mainly two purposes; tax calculations and tax reporting.
This module enables the user to:
l Allows a user exit in the tax calculation API, which allows local routines to modify/calculate tax amounts
l Allows definition of Tax Databases, which will be user-defined fields to hold tax related information for reporting purpose
l Allows specification of mapping between different applications and Tax databases
l Allows definition of conditions for each application based on which the tax databases that need to be updated
The T24 European Savings Directive module (ET) requires the T24 Tax Engine module to be in place. See the Tax Engine section of the EUSD
User Guide for information on setting up the Tax Engine for that particular module.
l TAX ENGINE (TE), this is the Interface between T24 and the TAX Module, which is mentioned above.
l TAX MODULE (TM), this processes the tax events, updating the data relevant for calculation of taxes and reporting and calculating
the amount of tax. This is developed locally depending on the tax requirement of the region.
l TAX INTERFACE (TI), this transfers the information back to T24 so that accounting entries are raised and advices to the customer
are produced.
This module is designed to capture Taxable events in T24 and store relevant data from these events into a tax database. This data can be used
later for tax reporting purposes.
The first step in this process is to define the relevant data that needs to be captured in the tax database, i.e. identify the fields in tax databases.
To do this, the tax engine provides the following applications:
The next step is to identify taxable events. The important taxable events in T24 are:
The first two events can be captured when accounting happens for these applications. For example, whenever interest capitalisation happens
for LD and MM contracts, or when entitlement processing happens in securities, accounting entries are raised for the interest amounts. All the
interest movements are captured in the file INT.MOVEMENT. Interest movements are captured in T24 only when field INT.MVMT.UPDATE
in ACCOUNT.PARAMETER is set to ‘Y’. INT.MOVEMENT is updated based on the settings in the parameter file INT.MOVEMENT.PARAM.
The Tax Engine (TX) module also uses this parameter file for updating interest and Cash dividend movements in the Tax database. A file called
TX.INT.MOVEMENT.DATE captures all interest movements that happen on a particular date.
The last event can be captured when security positions are updated in a transaction. When a sell transaction happens in a security, the cost of
the position sold needs to be identified in order to report capital gains. So the buy and sell events need to be captured and the capital gains
need to be calculated after matching the buy and sell tax lots.
The Tax engine provides an application called TX.CONDITION to identify taxable events
The Tax database is updated with the Interest movements, immediately for online transactions. If the interest movement happens during the
Batch processing, then the batch process TX.END.OF.DAY updates the Tax database.
The tax calculating system can either be an external system or an INFOBASIC routine.
If the tax calculation process were an external system, the data from the current transaction as well as static information needs to be passed on
to the system. This can be specified using a table called TX.MAPPING and the TAX API needs to call this mapping utility. This is done as a
future enhancement.
l ACCOUNT.PARAMETER
l INT.MOVEMENT.PARAM
l TX.TXN.BASE.PARAMS
l TX.TXN.BASE.MAPPING
l TX.CONDITION
l TX.MAPPING
l TX.CONDITION
l TI.DELIVERY.APP.MAPPING
l TI.HANDOFF.MAPPING
l The fields MESSAGE.NUMBER and DELIVERY.PROCESS are to determine the course of action of the delivery messages.
l The field MESSAGE.NUMBER is a valid message from the DE.MESSAGE table and the field DE.PROCESS indicates the action to be
carried out on the message while authorising the transaction.
The TI.HEADER produces records to indicate that the transaction has been authorised. This record is processed by the TI phantom to author-
ise accounting entries and TI.TRANS.DETAILS.
To raise these header records, the system has to pass indication to the local tax key list files at the time of authorising the contract.
For example by defining the above field, the user can specify the ID as “AUTHORISED*SCTR100000010*20030303100”.
To simplify the setting up of conditions in TX.CONDITION, repeated conditions from common files CUSTOMER, SECURITY.MASTER are
given in the file as Class IDs. Later class ids are mentioned in the decision field of the condition file for other application records where the com-
mon conditions are needed. As in this example, the @ID of the record begins with "CLASS-APPLICATION NAME.
l CUSTOMER
l SC.TRANS.NAME
l SECURITY.MASTER
l DIARY.TYPE
Using the value in the field DECISION.FLD, the customer number is obtained and this is used to validate the class Id mentioned in the file
DECISION.
TI.DELIVERY.APP.MAPPING
The file is used in APPLICATION.HANDOFF to find the handoff record position for the Portfolio number while holding the delivery messages.
This is used only for Security applications.
The Id for the file is the valid T24 security application name. The MESSAGE.NO is a valid message from the DE.MESSAGE file. The field
PORT.HANDOFF.POS is the position in the handoff record for the respective message, which holds the portfolio number. The records for this
file is released from Core.
This file is used to define the tax information in the TI.HEADER file into the delivery handoff information.
The field TI.HEADER.POSN holds the TI.HEADER field position, which has the tax data to be mapped to the handoff. The records for this file
is released from Core.
ACCOUNT.PARAMETER
The Tax database is updated whenever the file INT.MOVEMENT is updated. The update of INT.MOVEMENT happens only when field
INT.MVMT.UPDATE is set to ‘Y’ in the ACCOUNT.PARAMETER record.
The settings on this file are used to decide which interest movements are to be updated in the INT.MOVEMENT file. The INT.MOVEMENT
file keeps all the interest details of the transaction processed. For all applications other than SC applications, the Tax Database is updated only
when the relevant details for the transaction application are set in this file with the correct SYSTEM.ID.
Based on the Transaction and CRF code given in this application for the respective SYSTEM.ID, the corresponding transactions are captured in
INT.MOVEMENT.
In the example the parameter setting captures the following Interest movements:
This table is used to define the Tax database file. It holds the details about the fields and the properties of the fields contained in the Tax data-
base.
The ID to this table is the name of the Tax database. After defining, this table creates a work file for the Tax database, which can be viewed by
Llsting or through enquiries. Once this table is authorised, new fields for the Tax database can be added only at the End. Insertion in the
middle or Deletion of an existing field after authorisation is not permitted.
l The field TXN.BASE.ID is for the formation of ID for the records in the Tax database. It is mapped with the corresponding application
values in TX.TXN.BASE.MAPPING.
l The field MVAL and SVAL specifies whether the field is a Multi value field or a sub value field in the Tax database.
l The field FLD.VAL.RTN formats the data according to the routine given.
l The field REV.ACTION specifies the mode of data stored in database. If it has the Value ‘DELETE’, then the Tax database will not keep
the old updates of the Transaction. If the Value is ‘ACTION’, it keeps the history of the changes made previously for the transaction.
l The field SORT.FIELD maintains the Tax database in the sorted order. Data is sorted based on the Tax database field specified
SORT.FIELD.
This table is used to define the Tax database file. It holds the details about the fields and the properties of the fields contained in the Tax data-
base. The ID to this table is the name of the Tax database. After defining, this table creates a work file for the Tax database, which can be
viewed by Listing or through enquiries. Once this table is authorised, new fields for the Tax database can be added only at the End. Insertion in
the middle or deletion of an existing field after authorisation is not permitted.
l The field TXN.BASE.ID is for the formation of ID for the records in the Tax database. It is mapped with the corresponding application
values in TX.TXN.BASE.MAPPING.
l The field MVAL and SVAL specifies whether the field is a Multi value field or a sub value field in the Tax database.
l The field FLD.VAL.RTN formats the data according to the routine given.
l The field REV.ACTION specifies the mode of data stored in database. If it has the Value ‘DELETE’, then the Tax database does not
keep the old updates of the Transaction. If the Value is ‘ACTION’, it keeps the history of the changes made previously for the trans-
action.
l The field SORT.FIELD maintains the Tax database in the sorted order. Data is sorted based on the Tax database field specified
SORT.FIELD
The table is used for specifying conditions, based on which the tax databases are updated, as well as interfacing to the external systems for tax
processing. It has the transaction application as the ID. Tax processing happens only when corresponding transaction application has an entry
in this table.
This table is for Interfacing T24 data with the Tax calculation routine for processing. The table defines the data that is to be passed for Tax pro-
cessing. The table has a set of IDs for the IN/OUT mapping process. The ID has a mapping name with an IN/OUT process specification like
SECMAP*OUT. The mapping can be called from version routines to call the GREYBOX, which selects the relevant Mapping ID for tax pro-
cessing of the transaction based on the conditions specified in TX.CONDITION.
l The field TRANSACTION.FILE specifies the Applications for which, the Mapping record is used. The Tax details are returned from the
BLACKBOX in the positions specified in the fields TAX.CCY.POS and TAX.AMT.POS.
l The field OUTPUT.STYLE specifies the style in which data is sent out of T24. It sends the data to the T24 work file or to a Unix file in
the path given in the field HANDOFF.PATH.
Tax processing happens for a transaction only when there is an entry in Mapping with the corresponding application in the field
TRANSACTION.FILE.
The RET.FLD.POS and RET.FLD.CONV are specific to the IN mapping process. The GREYBOX routine picks the data from the work file in the
positions specified and updates the respective files given in the field FILE.NAME.
The routine specified in the field ROUTINE does the specific processing on the mapped data. For example if the returned data has to be
updated for some more files other than the specified files, then it can be done by the routine.
The tax calculating system can either be an external system or an INFOBASIC routine.
If the tax calculation mechanism is an INFOBASIC routine, the routine can be specified in the TAX application.
If the tax calculation process were an external system, the data from the current transaction as well as static information need to be passed on
to the system. This can be specified using a table called TX.MAPPING and the TAX API need to call this mapping utility.
This module is designed to capture Taxable events in T24 and store relevant data from these events into a tax database. This data is used later
for tax reporting purposes.
The first step in this process is to define the relevant data that needs to be captured in the tax database, i.e. identify the fields in tax databases.
To do this, the tax engine provides the following applications:
The next step is to identify taxable events. The important taxable events in T24 are:
The first two events can be captured when accounting happens for these applications. For example, whenever interest capitalisation happens
for LD and MM contracts, or wheb entitlement processing happens in securities, accounting entries are raised for the interest amounts. All the
interest movements are captured in the file INT.MOVEMENT. Interest movements are captured in T24 only when field INT.MVMT.UPDATE
in ACCOUNT.PARAMETER is set to ‘Y’. INT.MOVEMENT is updated based on the settings in the parameter file INT.MOVEMENT.PARAM.
The Tax Engine (TX) module also uses this parameter file for updating interest and Cash dividend movements in the Tax database. A file called
TX.INT.MOVEMENT.DATE captures all interest movements that happen on a particular date.
The last event can be captured when security positions are updated in a transaction. When a sell transaction happens in a security, the cost of
the position sold needs to be identified in order to report capital gains. So the buy and sell events need to be captured and the capital gains
need to be calculated after matching the buy and sell tax lots.
The Tax engine provides an application called TX.CONDITION to identify taxable events.
The Tax database is updated with the Interest movements immediately for online transactions. If the Interest movement happens during the
Batch processing, then the batch process TX.END.OF.DAY updates the Tax database.
The purpose of the TI component is to return the tax results calculated by the local TM using the data updated in Tax databases by TE to Core
T24 for their appropriate processing.
The trigger to TI processing is the TI.HEADER record, which contains tax information updated by the Local TM module. These records are pro-
cessed by the TI phantom TX.IN.PROCESS.
For raising the Accounting entries in Core, the following processing are carried out:
l Based on the tax calculation done by the local module TM, the accounting entries to be raised for TM, updates the respective tax
amount in the file TI.HEADER.
l The TI phantom TX.IN.PROCESS processes each TI.HEADER record and raises the Accounting entries based on the details updated
in the header.
l The processed Header records are written into the history file TI.HEADER.PROCESSED with the processed date and time.
The entries raised are either Forward or Real entries based on the header record details.
The tax calculation for a transaction is carried out by the Local systems (TM). If the tax information is not received at the time of authorising of
the contract, the respective delivery messages are delayed. This is done by TI processing, by putting the messages on hold while authorising.
Once the Tax details are received, the TI phantom TX.IN.PROCESS processes the messages.
The following operations are done to hold the delivery process at the time of contract authorisation:
l The messages can be put on Hold or Deleted. This process information is held in the TX.CONDITION file for a particular message
with a set of user specified conditions. While authorising, the system validates these conditions and the message is processed accord-
ingly.
l The Held delivery message information is updated in the file TI.TRANS.DETAILS, which is used later on by the TI phantom to pro-
duce the message.
As the TI.TRANS.DETAILS file is updated Portfolio wise for Securities transactions, the Portfolio position in the Handoff record for different
messages are held in the file TI.DELIVERY.APP.MAPPING.
This process is carried out by the TI phantom based on the flag DELIVERY.REQD in the TI.HEADER file. When the flag is set, the TI phantom
processes as below:
This is a live file, which is updated by the External tax calculating system. This file is processed by the TI phantom for raising Tax accounting
entries and Deliveries that are held. It is updated as both an authorised and unauthorised record based on the underlying contract status. The
file is updated in the following stages:
l Accounting entries.
l Type of entry – Forward / Real.
l Delivery references put on hold and their current status.
The ID has a portfolio number only for the Securities Application. The file is updated as unauthorised when the transaction is unauthorised.
The record status of this file is based on the TRANS.PROCESS field updated in TI.HEADER. The status is updated as follows for various trans-
action processes:
AUT Authorised
CHG Unauthorised
Once the delivery message is processed by the phantom, the field RELEASED.DELIVERY is updated as ‘Y’. Once the record is authorised, the
previous details are written into history.
This is a live file, which is updated by the External Tax calculation system. This file is processed by the TI phantom for raising Tax accounting
entries and Deliveries that are held. This file contains details about:
Once the records in this file are processed, they are deleted and written into the file TI.HEADER.PROCESSED for Historical purpose.
The file TI.HEADER.PROCESSED contains all the fields of TI.HEADER with an additional field to indicate the processed date and time. The
ID for the file is also same as TI.HEADER.
The ID contains a Portfolio number only for Securities applications. The file TRANS.PROCESS indicates whether the transaction id was
changed/deleted/authorised and so on. The fields listed in the multi values contain the details about the Entry to be raised inside T24.
l The field FORWARD is the flag to indicate whether the entries raised are forward or real entries.
l The field DELIVERY.REQD is the flag to indicate whether the delivery process for the contract is to be carried out by the TI phantom.
l The DELIVERY.INFO field contains additional tax info updated by the external tax system if required.
This is a live file updated by the security transactions when their positions are updated. This file is used in TI to find the list of portfolios and
their respective Security Trans IDs for raising Accounting entries and Delivery processing.
The Id for this file is the Transaction application and the Contract Id.
l The field PORTFOLIO.NO contains the portfolio for which the trade is done.
l The field SEC.TRANS.ID contains the list of Security Trans IDs for the portfolio.