Skip to content

GL Posting Rule Details

Rule details are the individual debit and credit lines within a GL posting rule. Each detail line specifies which account to hit, how to determine the amount, and how the account is resolved.

Navigation: Administration → Accounting → GL Posting Rules → Select a rule → Details

What Is a Rule Detail?

When a GL posting rule fires, it creates a balanced journal entry. Each detail line in the rule becomes one line in that journal entry — either a debit or a credit.

Example: Loan Disbursement Rule

LineTypeAccountAmount
1DEBITLoan Receivable (resolved per borrower)Loan principal
2CREDITCash/Bank (resolved per payment channel)Loan principal

The debit and credit totals must always balance.

Detail Line Fields

Each rule detail line has these key properties:

FieldDescription
Line TypeDEBIT or CREDIT
Detail NatureHow the COA account is determined (see below)
COA AccountThe GL account (for STATIC nature)
Tag KeyThe system tag used to resolve the account (for TAG_RESOLVED)
Amount SourceHow the amount is calculated
PercentageFor FIXED amount source — the percentage of the reference amount
Fixed AmountFor FIXED amount source — a fixed monetary amount
DescriptionWhat this line represents

Detail Nature Types

The detail nature determines how the system resolves which GL account to use:

STATIC

The COA account is hardcoded on the detail line. The same account is used every time the rule fires.

When to use: Simple rules where the account never changes (e.g., Interest Income always goes to the same COA).

Rule: LOAN.INT.ACCRUE
  DR: STATIC → Interest Receivable (COA 1310-110) — 100%
  CR: STATIC → Interest Income (COA 4110-110)     — 100%

TAG_RESOLVED

The COA account is resolved dynamically using a system tag. The tag maps to different COA accounts depending on the business unit, currency, or configuration.

When to use: Rules that need to be portable across business units or currencies without modification.

Rule: FEE.CHARGE
  DR: TAG_RESOLVED → tag: FEE_RECEIVABLE  → resolves to COA per BU
  CR: TAG_RESOLVED → tag: FEE_INCOME      → resolves to COA per BU

DOMAIN_RESOLVED

Both the COA account and amount are resolved by a handler procedure — a stored procedure registered for the specific domain (loans, deposits, etc.).

When to use: Complex operations where the domain logic determines which accounts and amounts to use (e.g., disbursement routing to cash vs. bank based on payment method).

Rule: LOAN.DISBURSE
  DR: DOMAIN_RESOLVED → handler: hdlr_loan_receivable_resolve
  CR: DOMAIN_RESOLVED → handler: hdlr_cash_bank_resolve

INFO

DOMAIN_RESOLVED is the most powerful but also the most complex nature. It requires handler procedures to be registered in the gl_dynamic_handler_registry and bound to the detail line via gl_detail_handler_binding.

Amount Sources

The amount source determines how the monetary amount for each line is calculated:

SourceDescriptionUsed With
FIXEDA fixed percentage of the transaction amountSTATIC, TAG_RESOLVED
MANUALThe user enters the amount during postingSTATIC (manual rules only)
SYSTEMThe handler procedure calculates the amountDOMAIN_RESOLVED
SUM_OF_OTHERSCalculated as the sum of other detail linesBalancing lines

FIXED Amount Source

The most common source. You specify a percentage (typically 100) and the system calculates:

line_amount = transaction_amount × (percentage / 100)

For a 100% fixed line on a $10,000 loan disbursement, the line amount is $10,000.

MANUAL Amount Source

Used only for manual/back-office posting rules. The accountant enters the amount when creating the journal entry.

SYSTEM Amount Source

Used with DOMAIN_RESOLVED nature. The handler procedure determines both the account and the amount based on domain-specific logic.

Creating Rule Details

  1. Open a GL posting rule header
  2. Click Add Detail Line
  3. Fill in the form:
FieldDescriptionRequired
Detail NameDescriptive name for this lineYes
Line TypeDEBIT or CREDITYes
Detail NatureSTATIC, TAG_RESOLVED, or DOMAIN_RESOLVEDYes
COA AccountThe GL account (if STATIC)Conditional
Tag KeyThe resolution tag (if TAG_RESOLVED)Conditional
Amount SourceFIXED, MANUAL, SYSTEM, or SUM_OF_OTHERSYes
PercentagePercentage of reference amount (if FIXED)Conditional
  1. Submit

Resolver Scopes

For TAG_RESOLVED and DOMAIN_RESOLVED details, you can optionally define resolver scopes that constrain which COA accounts are valid:

ScopeDescription
ANYAny COA account can be resolved
FOUNDATIONMust be within a specific foundation (e.g., Assets only)
MAJORMust be within a specific major account header
HEADERMust be within a specific account header
PARENTMust be a child of a specific COA account
LISTMust be from an explicit list of COA accounts
ENTITYResolved based on the domain entity

Common Rule Patterns

Interest Accrual (Simple)

LOAN.INT.ACCRUE (SYSTEM mode)
  DR: STATIC → Interest Receivable   — FIXED 100%
  CR: STATIC → Interest Income        — FIXED 100%

Loan Disbursement (Domain)

LOAN.DISBURSE (SYSTEM mode)
  DR: DOMAIN_RESOLVED → hdlr_loan_receivable_resolve  — SYSTEM
  CR: DOMAIN_RESOLVED → hdlr_cash_bank_resolve         — SYSTEM

Manual Journal Entry

MANUAL.ENTRY (MANUAL mode)
  DR: STATIC → [User selects COA]  — MANUAL amount
  CR: STATIC → [User selects COA]  — MANUAL amount

Next Steps

PinkApple ERP by Stat Solutions Network