Contents
Day 1 .......................................................................................................................................................................................... 2
Murex Accounting Module ................................................................................................................................................... 2
Accounting engine............................................................................................................................................................ 2
Accounting template ........................................................................................................................................................ 2
Trade right by status ........................................................................................................................................................ 6
Accounting structure ............................................................................................................................................................ 6
Chart of Account structure ............................................................................................................................................... 6
Organisation of the GL code presentation ....................................................................................................................... 6
SG Accounting Rule Setup ..................................................................................................................................................... 7
Key fields for accounting rules ......................................................................................................................................... 7
Mapping table .................................................................................................................................................................. 7
Supporting user defined table .......................................................................................................................................... 8
Accounting rules structure ............................................................................................................................................... 8
Accounting FX treatment ............................................................................................................................................... 17
Day 2 ........................................................................................................................................................................................ 19
Accounting processes ......................................................................................................................................................... 19
Accounting simulation.................................................................................................................................................... 19
Accounting Entries at Trade Level .................................................................................................................................. 20
Accounting Marked-to-Market ...................................................................................................................................... 21
Accounting Interest Accrual ........................................................................................................................................... 27
Market Operation .......................................................................................................................................................... 35
Day 3 ........................................................................................................................................................................................ 43
Accounting EOD script ........................................................................................................................................................ 43
End of day job sequence ................................................................................................................................................ 43
End of day job script ....................................................................................................................................................... 43
End of day troubleshooting ............................................................................................................................................ 47
Accounting Feeder ......................................................................................................................................................... 50
Database structure ......................................................................................................................................................... 53
Accounting Fixing Rate ................................................................................................................................................... 53
Accounting Audit Table .................................................................................................................................................. 56
Day 1
Murex Accounting Module
Accounting engine
Mapping tables (accounting,
portfolio, and counterparty)
Trades
Accounting Rules
Accounting Engine
Accounting Entries
Accounting template
Important settings:
Global settings
Calculation
Revaluation Frequency
Accounting Template
Global Settings
Filter
Allows condition to specify to restrict what trades is evaluated during accounting EOD.
Number of servers
Specify the number of accounting engine initiated during accounting EOD.
Entries comments
Configure the information that is captured in the accounting entries comment field.
Calculation
This section specifies the type of configuration for each product type during the accounting EOD.
(Using FX and Bond as example)
Key configuration includes
Interest Accrual method
Accounting events
Revaluation Frequency
To be completed…
Trade right by status
Accounting structure
Chart of Account structure
For OCBC SIN, this is the chart of account (COA) structure. It consists of 19 digits. Murex has a constrained of maximum 20
digits.
Entity code (3-digits) – retrieved from the Portfolio user-defined field (UDF).
Cost centre (3-digits) - retrieved from the Portfolio UDF
GL account code (5-digits) – retrieved from accounting mapping table
Product code (3-digits) – retrieved from typology or product mapping table
Customer segment code (2-digits) – retrieved from counterparty or portfolio mapping
Sub-ledger code (3-digits) – country specific logic
For OCBC NISP, the structure is proposed to be a bit different. OCBC NISP is looking for a GL account code that is 8 digits. In
order to accommodate this setup, this is the configuration that is under consideration:
Entity code (3-digits) – retrieved from the Portfolio user-defined field (UDF).
Cost centre (3-digits) - retrieved from the Portfolio UDF
GL account code (8-digits) – retrieved from accounting mapping table
Product code (3-digits) – retrieved from typology or product mapping table
Customer segment code (2-digits) – retrieved from counterparty or portfolio mapping
Organisation of the GL code presentation
In OCBC NISP, the 1st digit specifies financial classification:
1 – Asset
2 – Liability
3 – Equity
4 – Revenue
5 – Expense
6 - Commitment & Contingent
7 – Contra Commitment & Contingent
SG Accounting Rule Setup
Key fields for accounting rules
Entity (Portfolio)
Transaction Group (Transaction level)
Transaction Type (Transaction level)
Product Typology (Transaction level)
Instrument Code (Security)
Instrument Sub Code (Security)
Quoted/Unquoted flag (Security)
Transaction buy/sell flag for Repo trade (Transaction level)
Internal/External Flag (Transaction level)
Accounting Section (Portfolio)
Counterparty Account Type (Counterparty)
Mapping table
table#list#ac_gl_m_dbf
Contain the grouping of related product into the same accounting label.
Non FI Key:
Entity,
Transaction Group,
Transaction Type,
Product Typology
FI Key:
Entity,
Transaction Group,
Transaction Type,
Instrument Code,
Instrument Sub Code,
Quoted/Unquoted flag
table#list#ac_gl_d_dbf
Contain the detail GL account to be retrieved to form the COA.
Key:
GL Label
Internal/External Flag
Accounting Section (1st level, 2nd level)
Counterparty Account Type (1st level, 3rd level)
table#list#ac_gl_fi_dbf
Contain the product code for FI products to be retrieved to form the COA.
Key:
Entity
Product Typology
Instrument Code
Instrument Sub Code
Security Country Code (1st level only)
Quoted/Unquoted flag
Transaction buy/sell flag for Repo trade
TABLE#LIST#MISC_ACC_DBF (used for investment swap and others account)
TABLE#LIST#SETLMO_DBF
Supporting user defined table
Counterparty User Defined Table (TABLE#DATA#COUNTERP_DBF)
Portfolio User Defined Table (TABLE#DATA#PORTFOLI_DBF)
Security User Defined Table (TABLE#DATA#SECURITI_DBF)
Counterparty Settlement Instruction (nostro/vostro account information)
Accounting rules structure
Refer to murex document:
5.1.1019
Accounting Rules for transaction
5.1.212
Accounts Definition
Accounting rules
Accounting events
This is the different events that happen in the life cycle of a trade.
Commitment
Delivery
Realized-Live
Realized-Dead
Filters
Filter allows the same accounting event to generate entry for different debit/credit accounts
Common filtering condition:
GLMatrixChkAcctble: check whether the ac_gl_m
GLMatrixChkBR: for counterparty which account type begins with ‘BR’, then check that the ac_gl_m is
configured for counterparty accounting type.
Filter condition is configured between field, constant and a calculation.
Types of filter: OR Filter
Types of filter: AND Filter
Types of filter: Complex Filter
Dynamic account
Values for the chart of account are generated during the end-of-day process
Sample: SG_NO_SETL_MOD
Sample: SG_SPOTPOS
Formula account
Chart of account is generated based on a specific set of criteria
Sample account: Matrix_NostroSett
Linked Rule
Established a relationship between one product type to accounting rules defined for another product type.
Sample: EQD_BOND_CNV=IRD_BOND
Calculation
This is a Murex functionality that allows user-defined function.
This is used extensively in the accounting configuration.
Important function to know:
Sample: GLMatrixChkAcctbl_FI
CTBLFIELD('TABLE#LIST#AC_GL_M.GL_LABEL','SID',({Acc_Entry->~Entity}+CTBLFIELD('VIEW_AC_GL_M.SID','NB',
str({Header->Trn#}))))
Sample: NOSTRO_ACC_DC_FI
IIF(trim({Header->PAYTP_DESC})='DVP',
IIF(ISBLANK
(C_TRNCDI({Header->Trn#},'DI:'+{Acc_Entry->Entry Cur}+':D:N::'+{Header->Counterpart},'NOSTRO_GL'))=1,
(C_TRNCDI({Header->Trn#},'DI:'+{Acc_Entry->Entry Cur}+':C:N::'+{Header->Counterpart},'NOSTRO_GL')),
(C_TRNCDI({Header->Trn#},'DI:'+{Acc_Entry->Entry Cur}+':D:N::'+{Header->Counterpart},'NOSTRO_GL'))),
IIF(ISBLANK
(C_TRNSI({Header->Trn#},{Acc_Entry->Entry Cur}+':D:N::'+{Header->Counterpart},'NOSTRO_GL')) = 1,
(C_TRNSI({Header->Trn#},{Acc_Entry->Entry Cur}+':C:N::'+{Header->Counterpart},'NOSTRO_GL')),
(C_TRNSI({Header->Trn#},{Acc_Entry->Entry Cur}+':D:N::'+{Header->Counterpart},'NOSTRO_GL')))
)
Sample: PRODUCT_TYPOLOGY
SUBSTR(IIF(({Header->Internal}="Y".AND.{Header->Portfolio}<>{Acc_Entry->~Current
portfolio}.AND.(ISBLANK(TRIM(CTBLFIELD('TABLE#LIST#AC_GL_M.ALT_PDTCDE','SID',({Acc_Entry>~Entity}+{Header->Trn-Group}+{Header->Trn-Type}+{Header->Product
Typology}))))=0)),CTBLFIELD('TABLE#LIST#AC_GL_M.ALT_PDTCDE','SID',({Acc_Entry->~Entity}+{Header->TrnGroup}+{Header->Trn-Type}+{Header->Product Typology})),'')+SUBSTR({Header->Product Typology},2,4),1,3)
Accounting FX treatment
Accounting currency is setup in the entity level.
All currency that is not accounting currency is considered as Foreign Currency.
FX conversion is done for foreign currency to a specific currency based on configuration. The exchange rate is taken from
the accounting fixing rate.
Day 2
Accounting processes
Accounting simulation
Accounting simulation is an important tool to verify whether the accounting rules setup is performed correctly or not.
After trade query, go to Tools -> Building accounting entries and Click 'Yes' to proceed.
This is a function that allows user to know what entries would be generated during the accounting EOD.
Accounting Entries at Trade Level
Refer to murex document:
5.1.959
Accounting Documents
Entry Number
737612889
738410695
738410696
738410697
NB_PREV
0
737612889
0
0
Trn.Family
IRD
IRD
IRD
IRD
Trn.Group
BOND
BOND
BOND
BOND
Rule Number
1808
1808
1795
1808
Trn. Number
13659796
13659796
13659796
13659796
Mop. Number
0
0
13018354
0
NB_BS
NB_REVERS
E
Origin
Currency
(Exchange
Entry)
Entry
Comment
Entry Date
Entry Debit
Account
Entry Credit
S
S
S
S
N
Y
N
N
XXXXXXXXXXXXXX
X;XXXX;OCBC SIN
26/09/2013
10423340417290331
77
10423331956290331
XXXXXXXXXXXXXX
X;XXXX;OCBC SIN
27/09/2013
10423331956290331
24
10423340417290331
XXXXXXXXXXXXXX
X;XXXX;OCBC SIN
27/09/2013
10423362060290331
77
10423330586290331
XXXXXXXXXXXXXX
X;XXXX;OCBC SIN
27/09/2013
10423340417290331
77
10423331956290331
Trn.Type
Account
24
77
24
24
SGD
SGD
SGD
SGD
67247.27
67247.27
312320
67622.95
EN_TYPE
6
6
0
6
PAY_DAT
01/10/2013
01/10/2013
27/09/2013
01/10/2013
ENTITY
OCBC SIN
OCBC SIN
OCBC SIN
OCBC SIN
ACC_SEC
TRADING
TRADING
TRADING
TRADING
VAL_DATE
26/09/2013
27/09/2013
27/09/2013
27/09/2013
NB_CANCEL
0
0
0
0
SYS_DATE
26/09/2013
27/09/2013
27/09/2013
27/09/2013
EN_NETTED
1
1
0
1
Event 0
RL
SG_IRD_BOND_SE
LL_DAILY_ACCRUA
L_AST
RL
SG_IRD_BOND_SE
LL_DAILY_ACCRUA
L_AST
RZ
SG_IRD_BOND_SE
LL_REALIZE_PL_DI
SC_AST_TRD_CPN
RL
SG_IRD_BOND_SE
LL_DAILY_ACCRUA
L_AST
Entry
Currency
Entry Amount
Rule Label
EN_TYPE
NB_REVERSE
EN_NETTED
- 0: others, 3: MTM, 6: Interest accrual, 7: Manual entry
- Set to 'Y' when the related entry correspond to an Automatic Reversal
- Logical purge of accounting entries, 1: means to be ignored.
Accounting Marked-to-Market
Sample trade: 13439237 (FXD)
Computation:
(MV + FCP + PV) * Accounting fixing rate
= (-4873.54481239972 + 0 + 0.000751812806811358) * 1.68261386862429
= -8200.29
Sample Trade: 13646878
Computation:
(MV + FCP + PV) * Accounting fixing rate
= (29.6754500007038 + 0 + -0.00163336417994486) * 1.24686050005053
= 36.99911
Sample trade: 13650865 (Option)
Refer to murex document:
5.1.1311
Marked to Market Revaluation Formulae
Computation:
Market Value (Discounted) + Cash future initial payment flat (Discounted) + Cash past initial payment flat (Non Discounted)
= MVDisc+CshFutIPCapDisc+CshPastIPCapNonDisc
= (-11793.8760544467+ 0 + 64800)
= 53006.1239455533
Accounting Interest Accrual
Refer to murex document:
5.1.26
Accounting accruals calculation
Calculation of interest accrual is related to a configuration in the Accounting Template.
End of Month booking
EOM Amount: amount of the last accrual entry of the month is equal to the exact value of accrual at the end of the month.
Non working day booking
This flag is used to manage the end-of-week interest.
Actual amount: amount of the accrual entry is equal to the exact value of accrual at this date
Sample trade: 13652145 (Loan & Deposit)
Interest accrual entry is generated daily and reversed out the following day.
The interest accrual amount can be obtained from the P&L (Accounting breakdown) function.
Sample trade: 13557395 (Bond Live)
There is a distinction for bonds traded under the AFS book. The premium/discount is recognized outside of the FI asset
account. It is amortized daily until bond maturity or bond is netted.
The interest accrual and the premium/discount amortization can be obtained from the P&L (Accounting breakdown) after
performing trade query.
Sample trade: 11774177 (Bond netted - partial)
Computation of the amount of premium/discount that is offset due to netting:
= Original premium-discount * (netted quantity / original quantity)
= 517500 * 20000/150000
= 69000
Computation of the realized amortized premium/discount:
= Effective yield amortization from P&L (accounting breakdown) * (netted quantity / original quantity)
= 38831.7037856325 * 20000/150000
= 5177.560504751
Note:
The netting is performed on 16 Aug 2013 so the P&L breakdown should be retrieved for 15 Aug 2013.
Sample trade: 13267095 (Bond netted - full)
In this sample, the sell leg is fully netted with another Buy deal (5313678). Therefore, the remaining position is left with
only the Buy leg.
Sample trade: 13263966 (Bond_Repo)
For Bond Repo, the interest accrual is found in the second leg of the P&L (Accounting breakdown). The first leg is the P&L
for the underlying instrument.
Market Operation
1 – Exercise
2 – Expiry
3 – Early Termination
4 – Netting
5 – Restructuring
6 – Cancel & Reissue
7 – Delete
Sample restructuring accounting
Sample trade: 10403773 (Option)
The restructuring happens after the premium in the original trade has settled.
Restructured trade: 11144654 (Option)
Though the premium is revised, the premium amount posted for restructured deal is still the original trade premium.
Sample cancel&reissue accounting
Sample trade: 1202990 (Option)
The cancel&reissue happens after the premium in the original trade has settled.
Cancel&reissue trade: 1416251 (Option)
The new trade posted the new premium amount in the cancel&reissue deal.
Day 3
Accounting EOD script
End of day job sequence
Accounting EOD is performed after FO or PC (need to confirm) move date is completed. Generally, it follows this sequence
but to be confirmed against Control-M setup:
Market Operations
Bond MTM
End of day job script
Refer to murex document:
5.1.216
Accounting End of Day procedure
3-ACCOUNTNG EOD SG
2-ACC MOVE DATE SG
As part of the accounting EOD, there are four key steps to be performed:
ACCCOPY-FX: Copy the FX rates into the Accounting Fixing rates.
Accounting EOD
ACCEOD-TRN: Generate the accounting entries between accounting date (included) and target date (excluded).
In this sample, OCBC SIN splits the EOD day into LN_BR and non LN_BR. This is not required for NISP.
ACCEOD-BAL: Compute the accounting balances between target date and accounting date. When the shifter is
left empty, system will compute the balance for the accounting date only.
ACCEOD-MVDATE: Move the entities account dates to the target date. If the target date is earlier than the
current accounting date, it removes all accounting entries from the target date to the accounting date.
End of day troubleshooting
Troubleshooting - Accounting monitoring Monit
These are two processes that should be active when accounting EOD is running.
Troubleshooting - Accounting -> Audit -> End of Day audit trail
The end of day audit displays the product that is processed by the accounting end of day.
In a typical end of day process, the audit will display this information:
Start of accounting engine
Loading of accounting rule
Reading of transaction audit information
Generate the accounting entries
Most of the items in the audit trail come in pairs. For example, the LOAD RULE (code 1871671) will have a start entry and
an end entry. When the END entry is missing for a particular task, it means that task is still running or has failed.
If a step has been running for a long time, the audit table will shows the last step that the accounting end of day is
performing. From there, it will give an indication of where the processing is taking a long time and troubleshooting can
commence from the database or UNIX level.
Recovery
There will be situation where we need to undo an accounting end of day.
ACCUNDO-TRN: Remove accounting entries between target date (included) and accounting date (included). This
is different from undo move date as manual entries by users are not removed.
ACCEOD-MVDATE: Move the entities account dates to the target date. If the target date is earlier than the
current accounting date, it removes all accounting entries from the target date to the accounting date.
Accounting Feeder
This is the account feeder for Account entries file and account balance file
DT_ACJD_SG_AF
SG_IT_RPT_ACJS
Database structure
This is a list of tables used by accounting end of day; however this list is not exhaustive.
ACC_AUDT_DBF: Trade level accounting event details
ACCOUNT#MMMYYYY#ACC_DT1_DBF: Accounting entries table
ACCOUNT#ACC_AUD_DBF: Accounting EOD execution details
ACCOUNT#ACJ_SEGM_DBF: Important configuration table that is populated during tagging of entity to entity set.
If this table contains duplicate entries for an entities, the accounting EOD will be messed up.
TRN_ACJS_DBF: Account balance for each chart of account for an entity.
TRN_ACR1_DBF: Account rules configuration table
TRN_ACFD_DBF: Account rules entity and accounting section configuration table
TRN_ACAT_DBF: Formula account hierarchy structure table
TRN_ACAF_DBF: Formula account list table
TRN_ACA3_DBF: Dynamic account structure table
TRN_ACA1_DBF: Simple and dynamic account list table
ACCCFG#FIL_ACCT_DBF: Filter hierarchy table
ACCCFG#FIL_ACCH_DBF: Filter list table
ACCCFG#FIL_ACCD_DBF: Calculation expression details table
ACCCFG#FIL_ACCB_DBF: Filter condition table
Accounting Fixing Rate
Accounting process capture a set of FX rate for the conversion to accounting currency.
This function is accessible through Accounting -> Query -> FX spot rates
This will be the FX rate that accounting EOD use to perform the FX conversion.
If the FX spot rate is not copied over during the End of Day process, the rate will all be zero.
Accounting Audit Table
Accounting audit table captures the event where accounting entries for a trade is to be reviewed.
This function is accessible by Accounting -> Audit -> Trade Audit Trail -> One audit entry
© Copyright 2026 Paperzz