Skip to content

Chart Of Accounts

The Chart of Accounts is the organised list of accounts used to record financial activity. It gives finance teams a consistent structure for reporting assets, liabilities, equity, income, expenses, and memo or contingent balances.

Use this guide when creating account groups, adding posting accounts, setting up control accounts, or reviewing how accounts should be used in posting rules.

Where To Open It

Open Accounting -> Setup -> Chart of Accounts or the equivalent accounting setup page available in your service context.

The exact menu name can vary by role, but the workspace should show account hierarchy, search, filters, approval status, and available row actions.

Workspace Reference

User GoalWhat To Do In The WorkspaceResult
Add a new posting accountUse the create action for chart-of-account records and complete the account identity, hierarchy, currency, and control-account fields.The account becomes available for review and, after approval, can be selected by journals and posting rules.
Add or review account groupsUse the account-header and major-account-header actions where available.Reporting groups stay structured before detailed posting accounts are added.
Review balances and usageOpen the account detail or statement action from the row.Users can see account metadata, balances, and supporting activity without exposing internal IDs.
Create sub-ledger trackingUse the sub-ledger action from the account row when the account is a control account.Detailed balances can be tracked by customer, supplier, loan account, wallet, till, or another supported party.
Retire an accountDeactivate the account instead of deleting historical reporting structure.Old activity remains reportable while new transactions stop using the account.

Account Hierarchy

Pinkapple organises accounts in levels so reports can roll up from detailed posting accounts to major financial statement categories.

LevelPurposeExample
Foundation categoryBroad accounting class.Asset, Liability, Equity, Income, Expense.
Major account groupFirst management grouping inside a foundation category.Cash and Bank Balances, Loans and Advances.
Account groupMore specific reporting group.Cash on Hand, Bank Current Accounts.
Posting accountThe account selected by journals and posting rules.UGX Cash on Hand, Airtel Wallet Clearing.
Sub-ledger trackingOptional detailed balance tracking beneath a control account.Customer, supplier, loan account, till, wallet.

Users post to approved posting accounts. The higher levels are used for grouping, reporting, and navigation.

Foundation Categories

Foundation categories control where an account appears on financial statements and whether its normal balance is debit or credit.

CategoryUsual StatementNormal Balance
AssetBalance SheetDebit
LiabilityBalance SheetCredit
EquityBalance SheetCredit
IncomeProfit and LossCredit
ExpenseProfit and LossDebit
ContingentNotes or memo reportingDepends on usage

Administrators should not create accounts under the wrong category just to make a posting pass. The category affects reports and controls.

Creating Account Groups

Account groups help organise the chart before posting accounts are created.

When creating an account group, enter:

  • a clear group name
  • the parent group or foundation category
  • a short code or segment where required
  • an optional description explaining what belongs in the group
  • active status where available

Keep the hierarchy simple. Too many levels make reports hard to read and account selection harder for users.

Creating Posting Accounts

Posting accounts are the accounts that journals and automated posting rules use.

Important fields usually include:

FieldMeaningUser Impact
Account nameHuman-readable account name used in lookups and reports.Users should be able to recognize the account without relying only on the code.
Account code or segmentThe account's reporting segment inside the configured hierarchy.Helps finance find and classify the account consistently.
Parent groupWhere the account sits in the hierarchy.Controls roll-up reporting and statement grouping.
Foundation categoryBroad accounting class inherited through the hierarchy.Determines whether the account belongs to assets, liabilities, equity, income, expenses, or contingent reporting.
CurrencyCurrency the account is intended to hold where applicable.Prevents mixed-currency balances from being posted into the wrong account.
Control-account settingWhether the account requires detailed sub-ledger tracking.Forces postings to carry the correct customer, supplier, loan, deposit, wallet, till, or other detail.
Active statusWhether users can select the account for new activity.Inactive accounts remain visible for history but should not receive new postings.
DescriptionGuidance on what should and should not be posted here.Reduces ambiguous selection in journals and posting rules.

Use precise account names. For example, “Cash on Hand - UGX” is clearer than “Cash”.

Form Implications

Form AreaWhat It ControlsMistake To Avoid
IdentityThe account name, code segment, description, and visible reference users see in lookups.Creating vague names such as “Receivable” when several receivable accounts exist.
ClassificationThe selected parent group and foundation category relationship.Placing revenue, expense, asset, or liability accounts under the wrong reporting branch.
CurrencyWhich currency the account is meant to carry.Using one account for multiple currencies unless the accounting policy explicitly supports it.
Control behaviorWhether detailed sub-ledger tracking is mandatory.Turning off control-account behavior just to make a posting pass.
Status and approvalWhether the account is active and available after review.Assuming a draft or pending account can be used by operational posting.

Account Codes

Account codes are generated from the configured account structure. Users should treat the code as a reporting and reference aid, not as the only source of meaning.

Good practice:

  • keep names readable even when codes are visible
  • avoid reusing similar names for different purposes
  • do not rename accounts casually after they have activity
  • use descriptions to explain intended use

Control Accounts And Sub-Ledgers

A control account summarises balances that must also be tracked in detail.

Examples:

Control Account TypeDetailed Tracking Usually Required
Customer receivablescustomer or invoice balance
Supplier payablessupplier or payable balance
Loan receivablesloan account
Deposit liabilitiesdeposit account
Cash tillstill or drawer
Bank accountsbank account or statement source
Wallet balanceswallet rail, service wallet, or provider balance

If posting fails because a sub-ledger is required, do not remove the control setting to bypass the error. Configure the correct detailed tracking or choose the proper account.

Approval

New or changed accounts may require approval before they can be used.

Common statuses:

StatusMeaning
DraftSaved but not ready for use.
Pending ApprovalWaiting for review.
ApprovedAvailable for journals and posting rules.
RejectedSent back for correction.
InactiveRetained for history but not used for new work.

Only approved active accounts should be used in posting setup.

Reviewing The Chart

Use search and filters to find accounts by:

  • account name
  • account code
  • category
  • parent group
  • currency
  • active or approval status

When reviewing, check whether accounts are duplicated, misclassified, inactive, missing descriptions, or missing required control-account settings.

Common Mistakes

MistakeBetter Practice
Creating one account per customer or loan.Use sub-ledgers for detailed tracking below a control account.
Posting operational differences to suspense permanently.Correct the setup and clear suspense promptly.
Using bank accounts for cash tills.Use the correct cash, till, bank, wallet, or clearing account type.
Renaming active accounts without review.Use controlled updates and preserve reporting clarity.
Creating accounts outside the approved hierarchy.Maintain the hierarchy so reports roll up correctly.

Pinkapple ERP by Stat Solutions Network