Skip to main content

General Ledger Setup

This guide walks through the steps to configure the General Ledger, subledger accounting, and tax. Complete these steps in order — each step builds on the previous one.

Step 1 — Create value sets​

Value sets define the valid values for each segment of your chart of accounts. Create one value set per segment you need (e.g. Company, Account, Department).

For each value set:

  1. Navigate to General Ledger → Value Sets
  2. Create a value set with a code (e.g. COMPANY), name, and validation type INDEPENDENT
  3. Add the individual values (e.g. 100, 200) with names and, for the natural account segment, an account_type (ASSET, LIABILITY, EQUITY, REVENUE, or EXPENSE)

Step 2 — Create the chart of accounts structure​

The COA structure defines how segments are arranged and which value set each segment draws from.

  1. Navigate to General Ledger → Chart of Accounts Structures
  2. Create a structure with a code (e.g. STANDARD_COA), name, and delimiter (e.g. -)
  3. Add segments in order, assigning each to a value set:
    • Mark exactly one segment as the balancing segment (typically Company)
    • Mark exactly one segment as the natural account segment (typically Account)
  4. Optionally enable dynamic insertion if you want code combinations to be created automatically when new segment value combinations are used

Step 3 — Create code combinations​

Code combinations are the actual GL account codes — each one is a specific combination of segment values.

  1. Navigate to General Ledger → Code Combinations
  2. Create combinations by specifying the segment values (e.g. 100-1200-000 for Company 100, Account 1200, Department 000)
  3. Set allow_posting to TRUE for accounts that should accept journal entries
  4. The account_type is derived automatically from the natural account segment's value

If dynamic insertion is enabled on the COA structure, combinations are created automatically when referenced.

Step 4 — Create the accounting calendar​

The calendar defines your fiscal year structure.

  1. Navigate to General Ledger → Calendars
  2. Create a calendar with a code, name, and period type (e.g. MONTHLY for 12 periods per year)
  3. Add periods for each month, specifying:
    • Period name (e.g. JAN-26)
    • Period year and number
    • Start and end dates
    • Whether it is an adjustment period

Periods must not overlap within the same calendar (adjustment periods are excluded from this check).

Step 5 — Create the ledger​

The ledger ties everything together.

  1. Navigate to General Ledger → Ledgers
  2. Create a ledger with:
    • A code and name
    • The COA structure from step 2
    • The calendar from step 4
    • The functional currency (e.g. NZD)
    • The accounting method — select STANDARD (Standard Accrual)
  3. Optionally set:
    • Retained earnings account — the code combination used for year-end close (future phase)
    • Suspense account — used when posting unbalanced journals (requires suspense_enabled = TRUE)

Step 6 — Open periods​

Before any journals can be posted, the relevant periods must be opened.

  1. Navigate to General Ledger → Period Statuses
  2. For each period you need to work in, open it for the appropriate applications:
    • Open for GL to allow manual journal posting
    • Open for AR to allow subledger transfer from Accounts Receivable
    • Open for AP to allow subledger transfer from Accounts Payable

Period statuses progress: NEVER_OPENED → OPEN → CLOSED → PERMANENTLY_CLOSED. A closed period can be reopened; a permanently closed period cannot.

Step 7 — Configure source accounts​

Source accounts map business entities to GL accounts for subledger journal entry creation. The account derivation engine uses these mappings to determine which code combination each journal line posts to.

Ledger defaults​

At a minimum, configure ledger default accounts for each line type. These are the catch-all accounts used when no more specific mapping exists.

  1. Navigate to General Ledger → Source Accounts
  2. For each line type below, create a source account with:
    • Source type: LEDGER_DEFAULT
    • Source entity: your ledger
    • Line type: the line type code
    • Code combination: the default GL account
Line typeTypical account
RECEIVABLETrade Receivables (e.g. 100-1200-000)
REVENUESales Revenue (e.g. 100-4000-000)
PAYABLETrade Payables (e.g. 100-2100-000)
EXPENSEGeneral Expense (e.g. 100-5000-000)
UNAPPLIEDUnapplied Cash (e.g. 100-1250-000)
REALISED_GAINRealised FX Gain (e.g. 100-7100-000)
REALISED_LOSSRealised FX Loss (e.g. 100-7200-000)

Customer and supplier site accounts​

For more specific account assignment, create source accounts with source type CUSTOMER_SITE or SUPPLIER_SITE. These take priority over ledger defaults in the derivation chain.

Item accounts​

To post revenue or expense by product, create source accounts with source type ITEM and the GPM item as the source entity.

Bank account mappings​

For cash accounts, create source accounts with source type BANK_ACCOUNT_USE and the CMM bank account use as the source entity.

Step 8 — Configure tax​

Tax configuration enables automatic tax calculation on AR and AP transactions.

Tax regimes and rates​

The system seeds tax regimes for New Zealand (NZ_GST), Australia (AU_GST), and the United Kingdom (UK_VAT) with standard rates. To review or modify:

  1. Navigate to General Ledger → Tax → Regimes to view regimes
  2. Navigate to General Ledger → Tax → Taxes to view tax types per regime
  3. Navigate to General Ledger → Tax → Rates to view and edit rates and classification codes

Tax accounts​

For each tax rate that will be used, configure source accounts so the subledger can derive the correct GL account:

  1. Navigate to General Ledger → Source Accounts
  2. For each active tax rate, create a source account with:
    • Source type: TAX_RATE
    • Source entity: the tax rate
    • Line type: TAX_LIABILITY (for AR) or TAX_RECOVERABLE (for AP)
    • Code combination: the tax GL account (e.g. 100-2300-000 for GST Collected, 100-1300-000 for GST Receivable)

Tax classification on transaction lines​

Once tax is configured, users can set a tax_classification_code on AR and AP transaction lines (e.g. STANDARD, ZERO, EXEMPT) to control which rate applies. When left blank, the default rate is used.

Further reading​