Configuring Pricing to Generate GL Records
Configuring a MATRIXX General Ledger (GL) system includes creating the GL components necessary to identify GL information for each transaction and save that data in events.
This section explains the GL pricing configuration in detail. For more information about example configuration, see the discussion about configuring a general ledger example.
GL Configuration Overview
Figure 1 shows the components you define to capture GL information, and how they fit into the processing of MATRIXX GL information in a MATRIXX Event File (MEF). The numbered tasks are explained in the following sections:
1 — Define GL Account Types
You use the My MATRIXX GL Account Types tab to categorize the GL accounts in your GL chart of accounts. The MATRIXX Charging Server uses these account categories to help select specific GL accounts. You assign an integer to each account type in your GL chart of accounts. Example account types might include cash, prepaid liability, unearned revenue, goodwill adjustment, purchase, tax, recognize deferred payment, and others. The integers you use in GL account types are only used for referencing the GL accounts, and they must be unique among account types.
For more information about GL account types, see the discussion about creating a GL account type in My MATRIXX Help.2 — Define GL Transaction Types
You use the My MATRIXX GL Transaction Types tab to create GL transaction types. GL transaction types identify the repeatable business transactions that your GL system uses. Each transaction type that your GL system uses must be identified by an integer. You can use any name for the transaction types that makes sense in your GL system. Example transaction types might include: payment, purchase, recognition of deferred revenue, goodwill adjustment, and tax. The integers you use for GL transaction types are only used for referencing the transaction types, and they must be unique among transaction types.
For more information about GL transaction types, see the discussion about creating a GL transaction type in My MATRIXX Help.
3 — Define GL Transaction Profiles
- The GL account type to debit.
- The GL account type to credit.
- A GL transaction type.
- An isDeferred flag to specify whether this set of GL information is to be used for recognizing deferred revenue. If so, the GL transaction profile might also contain a breakage account type to recognize unearned deferred revenue.
- An optional breakage account to recognize unearned deferred revenue.
- Any custom attributes that your GL system requires for each transaction. These custom attributes are copied into the event GlInfoArray.
To add custom attributes to a GL transaction profile, you must first define a custom MDC based on the MtxEventGlInfoAttr MDC, and add the necessary fields. When using My MATRIXX to define a GL transaction profile, you could select fields from the extended MtxEventGlInfoAttr MDC, and assign values to those fields.
For each impact to a currency balance or liability asset, a GL transaction profile is needed to generate GL info records in events.
When revenue recognition type is per-day, consumption-based, or pending, revenue recognition is deferred. When revenue recognition is to be deferred, the GL transaction profile must have a set of GL info records to be used at the time deferred revenue is recognized. This set is identified by the isDeferred flag. In addition to the set of GL info records for deferred revenue recognition, the GL transaction profile might include other sets of GL info records to update some other GL accounts immediately.
For example, if revenue from a monthly subscription charge is to be recognized daily, at least two sets of GL info records in the GL transaction profile are required: one for crediting the unearned revenue account immediately, and the other for recognizing each day's part of the revenue.
- An offer is canceled and the remaining deferred revenue is recognized immediately.
- A liability asset expires before its balance is entirely consumed. The deferred revenue from not yet consumed asset amount is recognized upon balance expiration.
- An offer is purchased in a pre-active state, and then canceled before activation. The purchase charge, if any, is recognized immediately.
For more information about GL transaction profiles, see the discussion about creating a GL transaction profile in My MATRIXX Help.
4 — Define GL Transaction Profile Selectors
You use the My MATRIXX GL Transaction Profile Selectors tab to create GL transaction profile selectors. The MATRIXX Charging Server uses GL transaction profile selectors to select a specific GL transaction profile for each business transaction. GL transaction profile selectors use decision tables to specify the business rules that select a specific GL transaction profile.
You must have one GL transaction profile selector for each currency balance impact type. A single GL transaction profile selector can be used for multiple impact types. For more information about the event types applicable to each balance impact type, see the discussion about event types for balance impacts.
The business rules you use are implemented as decision tables. If you have already defined them for other purposes within MATRIXX, you can reuse them in GL transaction profile selectors.
- The temporary MtxEventChargeNormalizationInfo MDC created for each charge record in the event. This MDC includes the event type, catalog item, offer, and bundle IDs, the balance class and balance template IDs, the tax class name and tax rate, and so forth.
- Subscriber data.
- Catalog item, bundle, and offer details.
- Session details.
The Charging Server generates GL info records in events for impacts on currency balances or liability assets. You need two types of GL transaction profile selectors, one for impacts on currency balances and one for impacts on liability assets. There must be one GL transaction profile selector for each impact type on currency balances.
When liability assets are consumed (there are impacts on liability assets), the Charging Server needs to generate GL info records to recognize deferred revenue. A GL transaction profile selector is needed for impacts on liability assets only if you must override the default GL information records generated earlier when revenue from charges used to pay for liability assets was deferred.
For more information about the applicable event types for each balance impact type, see the discussion about event types for balance impacts.
For more information about the MtxEventChargeNormalizationInfo MDC, see the discussion about MtxEventChargeNormalizationInfo MDC.
5 — Define GL Transaction Profile Selector Mappings
You use the My MATRIXX GL Transaction Profile Selector Mappings tab to assign GL transaction profile selectors to balance impact types on currency balances. Each impact type on currency balances must have one GL transaction profile selector so that Charging Server can generate GL info records in events for each charge record that impacts a currency balance.
Optionally, you can create a GL transaction profile selector for impacts on liability assets. If a GL transaction profile selector is not defined for impacts on liability assets, or if a GL transaction profile is not selected by the defined selector, that the Charging Server generates default GL info records in events, which uses the GL info records generated earlier when revenue from charges used to pay for the liability asset was deferred.
For more information about GL transaction profile selectors, see the discussion about creating a GL transaction profile selector in My MATRIXX Help.
6 — Define GL Account Selectors
You use the My MATRIXX GL Account Selectors tab to create a GL account selector for each account type. After a GL transaction profile is selected, the Charging Server uses GL account selectors to map the account types defined in a GL transaction profile to account names.
- The temporary MtxEventChargeNormalizationInfo MDC created for each charge record in the event. This MDC includes the event type, catalog item, offer, and bundle IDs, the balance class and balance template IDs, the tax class name and tax rate, and so forth.
- Subscriber data.
- Catalog item, bundle, and offer details.
- Session details.
For more information about the applicable event types for each balance impact type, see the discussion about event types for balance impacts.
You must define a GL account selector for each account type you have defined in My MATRIXX. If an account type has only one GL account name, then the GL account selector for that account type can set it as a default account instead of creating a decision table.
Breakage Account Contents
- An offer is canceled and the remaining deferred revenue is recognized immediately.
- A liability asset expires before its balance is entirely consumed. The deferred revenue from not yet consumed asset amount is recognized upon balance expiration.
- An offer is purchased in a pre-active state, and then canceled before activation. The purchase charge, if any, is recognized immediately.
Breakage accounts are optional. If you do not track the breakage revenue described in this section, you do not have to define breakage account types in GL transaction profiles. Instead, you use the credit account type specified in the GL transaction profile to recognize this revenue.
Configuring Pricing to Generate GL Information
- The GL Target Grant in the product offer. The GL Target Grant identifies the grant within an offer to which the charges apply.
- Whether an asset balance is a liability asset in
the balance template.
A liability asset indicates that the asset balance is consumption-based. Revenue is recognized as the asset is consumed.
Important: When revenue recognition is consumption-based and a liability asset expires, if the asset was not consumed completely, the remainder of the deferred revenue is recognized only when a forfeiture event is generated. Forfeitures can be triggered by balance expiration and status transitions. They can be configured to occur immediately at trigger time, or at a specified amount of time afterward (a forfeiture delay). Pricing administrators must enable forfeitures in the balance template in a pricing plan. For information about enabling forfeitures for a balance template, see the discussion about configuring balance template forfeiture and credit floor adjust in My MATRIXX Help.
GL Configuration for Debt Balances
When a purchase or recurring event charges both a prepaid currency balance and a debt balance, and revenue is to be deferred, define two GL transaction profiles, one for each impacted balance. Define two sets of GL transaction data in each profile—one to immediately record the charge and one to recognize deferred revenue.
Use the MtxEventChargeNormalizationInfo.DebtBalanceType
MDC field for
normalizers when defining GL Transaction Profile Selectors or GL Account Selectors.
The Charging Server generates only one GL information record in the
MtxDebtPaymentEvent event for each debt payment even though two balances are
impacted. The impact type for the event charge record for the prepaid currency being
debited is charge, and no GL information record is generated for this charge impact.
The impact type for the event charge record for the debt balance being paid is
debt_payment
, and a GL information record is generated for this
debt_payment
impact. Therefore, when configuring GL for the
debt payment, GL Transaction Profile Selectors must be defined for the
debt_payment
balance impact, and not the charge balance impact
type.
For more information about MtxEventChargeNormalizationInfo MDC, see the discussion about MtxEventChargeNormalizationInfo MDC.
For more information about the MtxEventChargeNormalizationInfo.DebtBalanceType MDC field, see the discussion about MtxEventChargeNormalizationInfo MDC. For more information about GL transaction profile selectors and GL account selectors, see the discussion about general ledger info in My MATRIXX Help.