Data Model and Mapping
This section describes the data structure for storing the financial data. The picture below shows the building blocks for storing the financial data.
![Financial Data Structure](_images/financial-data-structure.png)
Base Financial Object
The calculation processes,for example premium calculations and fee generation activities produce a vast amount of financial data. This financial data is aggregated under Base Financial Objects. Each Base Financial Object is an umbrella to hold all the financial information related to a Type at the unit level, so for a premium calculation it holds all the financial information for the combination of one policy, calculation period, contract period and group account. This means one base financial object can hold both the initial premium financial transactions as well as additional financial transactions resulting from re-calculations for the same period and policy. For a fee it holds all the financial information for the combination of one policy and a specific fee.
The base financial object has the following fields:
Fields | Description |
---|---|
Policy GID |
The global unique identifier of the policy |
Calculation Period Start Date |
The start date of the calculation period (only for types Premium and Premium Based Commission) |
Policy Contract Start Date |
The start date of the policy contract period (only for types Premium and Premium Based Commission) |
Group Account Id |
The id of the group account (only for types Premium and Premium Based Commission) |
Group Client Id |
The id of the group client (only for types Premium and Premium Based Commission) |
Policy Fee History Id |
The id of the policy fee history (only for type Fee) |
General Financial Processing Completed Date Time |
Date and time when the Supersede Transaction activity has been completed for the base financial object |
Status |
This denotes the financial processing step to which the base financial object belongs to
|
Type |
The financial transaction type 1) Premium 2) Premium Based Commission 3) Fee |
Financial Transaction
For types Premium and Premium Based Commission the system creates a financial transaction for each calculation result. It also creates a financial transaction that represents the reversal of the previous created financial transaction during premium recalculations referred to as 'Reversal Financial Transaction' in the guide.
For type Fee the system creates a financial transaction for every specific fee. It also creates a financial transaction that represents the reversal of the previous created financial transaction if the user chooses to do this for a specific fee, referred to as 'Reversal Financial Transaction' in the guide.
A financial transaction has the following fields:
Fields | Description |
---|---|
Calculation Input Date |
The calculation input date of the calculate premium activity that created this financial transaction. For reversals, it will be a copy of the transaction of which the reversal is created. |
Policy Version |
The version number of the policy on which the calculation or fee generation was based that led to this financial transaction |
Total Amount |
For types Premium and Premium Based Commission this is the total amount of the calculation result to which this financial transaction maps; for type Fee this is the retrieved fee amount |
Total Amount Currency Code |
The currency code of the total amount |
Ind Reversal |
'Y' for a financial transaction that represents a reversal, otherwise 'N' |
Version |
The version of the financial transaction. The initial value is 1. It is incremented by 1 for every subsequent new financial transaction that is not a reversal within the base financial object (increments are only applicable for types Premium and Premium Based Commission) |
Base Financial Object |
The base financial object to which this financial transaction belongs |
Each financial transaction has Financial Transaction Process Data, which holds the financial transaction processing level information. It has the following fields:
Fields | Description |
---|---|
Financial Transaction Set Grouping |
The condition used to group financial transactions into a single financial transaction set. By default this is not set. |
Financial Message Bulking Group |
The condition used to group financial transactions into a single financial message. By default, this is set to policy GID and financial transactions for a policy GID are grouped together into a single financial message |
Financial Message Handled Date Time |
The date and time the financial transaction was handled by the financial message creation activity |
Financial Message ID |
The identification of the financial message this financial transaction is included in. This is generated during the financial message creation process |
Financial Message Result |
The outcome of the message creation process |
Financial Message Mandatory Indicator |
This indicates if the financial transaction is required to be part of the financial message even when a higher version of the financial transaction is available for the base financial object. Possible values 'Y' and 'N'. |
Indicator Supersede |
Indicates if the financial transaction has been superseded or not |
Internal Remarks |
Additional remarks on the financial transaction |
Due Date |
The due date of this financial transaction for billing. This field is left blank by the system |
Penalty Date |
The penalty date of this financial transaction.This field is left blank by the system |
The financial transaction process data can be extended by dynamic fields and dynamic records.
Financial Transaction Detail
The financial transaction has financial transaction details. The financial transaction detail for type Fee provides the fee amount. The financial transaction details for types Premium and Premium Based Commission provide the financial breakdown e.g. the information at the level of premiums, add-on premiums, adjustments and surcharges. As an example, a record for financial transaction details is created corresponding to a calculation result line. The diagram below explains the association of the calculation result and calculation result lines to the entities of the financial system.
![Financial Transaction Detail](_images/financial-transaction-detail.png)
The financial transaction detail has the following fields
Fields | Description |
---|---|
Component Code |
Premium
For a financial transaction for enrollment product premium, add-on premium, adjustment or surcharge, the related financial transaction detail holds the associated schedule definition code. Commission Fee |
Insurable Entity Code |
The code of the relation or object enrolled; for types Premium and Premium Based Commission this field is always filled, for type Fee this field is only filled if the fee definition level is Enrollment |
Insurable Entity Type |
|
Product Code |
The enrollment product code (only for types Premium and Premium Based Commission) |
Product Brand Code |
The policy brand code (only for types Premium and Premium Based Commission) |
Premium Schedule Code |
The premium schedule code (only for type Premium) |
Add On Code |
The add-on code (only for types Premium) |
Amount |
For types Premium and Premium Based Commission this is the result amount of the associated calculation result line or commission result line; for type Fee this is the retrieved fee amount |
Currency Code |
The currency of the result amount |
Sequence Number |
The unique identifier (set by the system) of the financial transaction detail within the financial transaction |
Result Line Sequence Number |
The sequence number of the corresponding result line |
Referenced Sequence Number |
The sequence number of the result line that is referenced by the corresponding result line (in the scenario when a surcharge is distributed across the applicable components) |
Financial Transaction |
The financial transaction to which this detail belongs |
Each financial transaction details has an associated Financial Transaction Detail Process Data record. This entity holds the financial transaction detail’s processing level information. It has the following fields:
Fields | Description |
---|---|
Invoice Id |
OHI generated unique invoice identifier. This is generated during the financial message creation process |
Invoice Line Id |
OHI generated unique invoice line identifier. This is generated during the financial message creation process |
Invoice Destination |
1) Payable or 2) Receivable. |
Invoice Indicator |
Indicates if the transaction details should be invoiced or not. By default this is set to 'Y' |
Invoice Line Grouping Indicator |
Indicates if the financial transaction details are grouped into invoice lines. By default this is set to 'N'. |
Invoice Bulking Group |
The grouping condition for invoice creation. By default this is not set |
Invoice Line Bulking Group |
The grouping condition for invoice line creation. By default this is not set |
Accounting Detail Id |
OHI generated unique accounting detail identifier. This is generated during the financial message creation process |
Accounting Detail Grouping Indicator |
Indicates if the financial transaction details are grouped into accounting details. By default, this is set to 'N' |
Accounting Bulking Group |
The grouping condition for accounting detail creation. This is by default not implemented by OHI. |
General Ledger Account |
The general ledger account where the amount of this transaction detail should be booked. By default this is left empty by the system |
Counterparty Code |
The party to which the financial transaction detail amount must be paid to or collected from. Depending on the type of the financial transaction this is either set by the system or must be set in the 'Financial Transaction' function dynamic logic
|
Counterparty Qualifier |
Additional information about the counterparty |
Internal Remarks |
Additional remarks on the financial transaction detail |
For technical reasons the invoice id, invoice line id and accounting detail id are not stored as columns in Financial Transaction Detail Process Data. Instead, they are stored in a technical table (Financial Grouping Combinations), where - in addition to a logical key for reference - they are stored as follows: |
Fields | Description |
---|---|
Stamp Level |
Discriminator for the level of stamping, either:
|
Stamp Id |
Generated invoice id, invoice line id or accounting detail id. How the stamp id is interpreted, is driven by the stamp level. |
In functional descriptions and examples, however, we will present the invoice id, invoice line id and accounting detail id as if they were columns in Financial Transaction Detail Process Data.
The financial transaction detail process data can be extended by dynamic fields.
Defining a 'Financial Transaction' or 'Fee Financial Transaction' function and referencing it through the input parameter while executing the calculate premium or generate fee activity, provides a way to customize the financial transaction and financial transaction details (and associated process data). More details on the functions can be found in the section 'Functions' of the Dynamic Logic guide.
Reversal Financial Transaction
When a reversal financial transaction is created for a financial transaction, certain fields are required to be reset to a different value or no value. The fields that do not inherit its value from the financial transaction during the reversal financial transaction creation are described below:
Financial Transaction | |
---|---|
Field |
New Value |
Amount |
This is set to original amount * (-1) |
Ind Reversal |
This has value 'Y' for the financial transaction |
Financial Transaction Process Data | |
---|---|
Field |
New Value |
Financial Message Handled Datetime |
This is left blank |
Financial Message ID |
This is left blank |
Financial Message Result |
This is left blank |
Financial Message Mandatory Indicator |
This is set to 'N' |
Financial Transaction Detail | |
---|---|
Field |
New Value |
Amount |
This is set to original amount * (-1) |
Financial Transaction Detail Process Data | |
---|---|
Field |
New Value |
Invoice Id |
This is left blank |
Invoice Line Id |
This is left blank |
Accounting Details Id |
This is left blank |
Dynamic Fields and Dynamic Records |
The fields with reversible indicator set to 'Y' are negated. |
The financial processing related fields on the financial transaction process data and financial transaction detail process data that are left blank during reversal creation are updated with relevant details when the reversal is processed. This is explained in detail in the financial processing activities.
Financial Transaction Set
This entity enables grouping of financial transactions to support financial pre-processing.
Field | Description |
---|---|
Code |
Identifying code of the financial transaction set |
Description |
Description of the financial transaction set |
Status |
The status of the financial transaction set.
|