Skip to content

Chart of Accounts

The Chart of Accounts (COA) is the complete list of GL accounts used to record financial transactions. PinkApple uses a structured, hierarchical COA with automatic GL code generation.

Navigation: Administration → Accounting → Chart of Accounts

COA Hierarchy

The chart of accounts is built in layers. Each layer adds specificity:

Foundation Account Details (system-seeded, 7 types)
  └── GL Code Template (defines code pattern per foundation)
      └── Major Account Header (first grouping level)
          └── Account Header (second grouping level)
              └── Chart of Account (the actual ledger account)
                  └── Sub-Ledger (optional granular tracking)

Level 1: Foundation Accounts

Foundation accounts are pre-seeded by the system and cannot be modified. They represent the fundamental accounting categories:

PrefixTypeNormal BalanceFinancial Statement
1AssetDebitBalance Sheet
2LiabilityCreditBalance Sheet
3EquityCreditBalance Sheet
4IncomeCreditProfit & Loss
5ExpenseDebitProfit & Loss
6Contingent AssetDebitBalance Sheet
7Contingent LiabilityCreditBalance Sheet

Level 2: GL Code Templates

A GL code template defines the segment pattern for generating GL codes under a foundation. Each foundation has one template.

FieldDescription
Template Namee.g., "ASSET-TPL"
FoundationThe foundation this template belongs to
PatternThe code generation pattern (e.g., {FOUNDATION}-{SEGMENT})
DelimiterCharacter separating code segments (typically -)

INFO

GL code templates are typically set up once during initial configuration and rarely changed afterward. They ensure consistent GL code formatting across all accounts.

Level 3: Major Account Headers

Major account headers are the first level of user-defined grouping within a foundation.

Examples under the Asset foundation:

GL CodeMajor Account Name
11Cash & Bank Balances
12Loans & Advances
13Fixed Assets
14Other Assets

Creating a Major Account Header

  1. Click Create on the Major Account Headers section
  2. Fill in the form:
FieldDescriptionRequired
Major Account NameDescriptive nameYes
FoundationThe parent foundation typeYes
Segment CodeThe 2-digit segment code (e.g., "11")Yes
DescriptionOptional descriptionNo
  1. Submit the form

Level 4: Account Headers

Account headers provide the second level of grouping, sitting below major account headers.

Examples under "Cash & Bank Balances" (11):

GL CodeAccount Header Name
1100Cash on Hand
1110Bank Current Accounts
1120Bank Savings Accounts
1130Short-term Deposits

Creating an Account Header

  1. Click Create on the Account Headers section
  2. Fill in the form:
FieldDescriptionRequired
Account Header NameDescriptive nameYes
Major AccountThe parent major account headerYes
Segment CodeThe 4-digit segment code (e.g., "1100")Yes
DescriptionOptional descriptionNo
  1. Submit the form

Level 5: Chart of Account (Leaf Accounts)

These are the actual GL accounts where transactions are posted. Each leaf account sits under an account header.

Examples under "Cash on Hand" (1100):

Full GL CodeAccount NameCurrency
1100-110Cash on Hand — UGXUGX
1100-120Cash on Hand — USDUSD

Creating a Chart of Account Entry

  1. Click Create on the Chart of Accounts section
  2. Fill in the form:
FieldDescriptionRequired
Account NameDescriptive nameYes
Account HeaderThe parent account headerYes
Segment CodeThe leaf segment codeYes
CurrencyThe currency for this accountYes
Contra StatusWhether this is a contra accountNo
DescriptionOptional descriptionNo
  1. Submit the form

The full GL code is automatically generated by combining the codes from each level using the GL code template pattern. For example: 1100-110 (Account Header 1100 + delimiter - + segment 110).

Level 6: Sub-Ledgers

Sub-ledgers provide the most granular tracking beneath a COA account. They represent individual parties, products, tills, or other trackable entities.

Sub-Ledger ClassUse Case
PARTY_CONTROLPer-client balances (e.g., individual loan receivables)
PRODUCTPer-product tracking
TILLPer-till cash tracking
BANKPer-bank-account tracking
VENDORPer-vendor payables
CUSTOMERPer-customer receivables
STAFFPer-employee tracking
INTERNALInternal reconciliation accounts

TIP

Sub-ledgers are often created automatically by the system when domain objects (loan accounts, deposit accounts) are linked to GL accounts. Manual creation is also supported for custom tracking needs.

COA Page Layout

The Chart of Accounts page presents the hierarchy in an interactive table view:

  • Tree view — Expand/collapse the hierarchy to see accounts at each level
  • Search — Filter accounts by name, code, or type
  • Filters — Filter by foundation, currency, or status
  • Bulk actions — Approve or delete multiple accounts at once

Approval Workflow

New COA entries go through an approval process:

  1. Created — Entry is saved as draft
  2. Pending Approval — Submitted for review
  3. Approved — Ready for use in transactions and rules
  4. Rejected — Sent back for correction

Only approved COA entries can be used in GL posting rules and journal entries.

Best Practices

  1. Plan before creating — Design your COA structure on paper before entering it into the system
  2. Use consistent naming — Follow a naming convention (e.g., "Cash on Hand — {Currency}")
  3. Keep it flat where possible — Don't create unnecessary hierarchy levels
  4. Use sub-ledgers for granularity — Rather than creating hundreds of COA accounts, use sub-ledgers for per-client or per-product tracking
  5. Document your codes — Keep a reference document mapping GL codes to their business purpose

Next Steps

PinkApple ERP by Stat Solutions Network