Skip to content

Chart of Accounts

The Chart of Accounts (COA) is the foundation of your accounting system. It defines every account where transactions are recorded — from bank accounts and receivables to revenue and expense categories.

Viewing the Chart of Accounts

Navigate to Accounting > Chart of Accounts to see your full account structure. The COA is displayed as a tree, with expandable groups and individual ledger accounts nested within them.

  • Group accounts (parent nodes) organize related accounts but do not hold transactions directly.
  • Ledger accounts (leaf nodes) are the accounts where transactions are actually posted.

Click any account to view its details, including its type, parent group, and balance.

Account Types

Every account belongs to one of five root types:

TypePurposeExamples
AssetWhat you ownBank accounts, accounts receivable, equipment
LiabilityWhat you oweAccounts payable, loans, credit cards
EquityOwner's stakeRetained earnings, owner's capital
IncomeRevenue earnedSales, service revenue, interest income
ExpenseCosts incurredRent, salaries, office supplies, utilities

Setting Up Your Chart of Accounts

When you create a new client, the setup wizard asks how the chart of accounts should start. You can also change or re-apply the source later from client settings.

1. Use a Kraal Template

Select from a library of industry templates:

TemplateBest for
GenericMost small businesses
SaaSSoftware and technology companies with subscription revenue
Professional ServicesAgencies, consultancies, and firms that bill for time
E-commerceOnline retail with inventory, fulfillment, and processor fees
Holding CompanyInvestment and holding entities

Every template ships as a complete, posting-ready chart. In addition to industry-specific income and expense categories, each template includes the structural accounts the accounting engine needs to work out of the box: bank and cash account groups, receivables and payables, an inventory group, rounding and write-off accounts, exchange gain/loss, a depreciation expense account, sales tax and payroll liabilities, and a temporary opening account used when migrating opening balances. You can rename, add, or reorganize accounts after the template is applied.

2. Upload Your Own

Attach a CSV or Excel file (.csv, .xlsx, .xls, up to 5 MB) during client creation, or from the COA view later. Kraal recognizes common export formats:

  • QuickBooks-style exports with Account Number, Account Name, and Type columns. Familiar type labels such as Bank, Credit Card, Accounts Receivable, Other Current Asset, COGS, and Other Income are mapped to the correct account classifications automatically.
  • ERPNext-style files with Root Type, Account Type, Is Group, and Parent Account columns. Hierarchy is preserved when parent references resolve to another row in the file.

The upload preview flags problems before anything is saved — unrecognized account types, duplicate account numbers or names, and parent references that do not resolve — so you can fix the file rather than discover issues later.

3. AI-Assisted Builder

Describe your business and Kraal's AI will generate a recommended chart of accounts tailored to your industry and size, seeded from your transaction or bank statement data. Review the suggested structure, make any adjustments, and confirm to create the accounts.

4. Sync from a Connected System

If you connect an existing ERPNext instance (or QuickBooks Online), Kraal pulls the established account hierarchy directly, so you can start working immediately without re-creating anything. This is the default for clients that already have a live ledger.

Choosing between template and sync

For a brand-new ledger, start from a template — it guarantees the account structure the accounting engine expects. For a client with existing books, sync from the connected system so history and account names match.

Refreshing and Syncing

After initial setup, you can refresh your COA from ERPNext at any time to pull in accounts that were added or modified. Navigate to the COA view and click Sync from ERPNext to update.

TIP

Syncing merges changes from ERPNext into your Kraal COA. It will not delete accounts that exist in Kraal but not in ERPNext.

COA Status Indicators

The COA view displays a status badge showing the current state of your chart of accounts:

StatusMeaning
ReadyThe COA is fully set up and available for use.
PendingSetup has been started but is not yet complete.
Upload NeededThe COA needs to be pushed to ERPNext before it takes effect.
SyncingA sync operation is currently in progress.
ErrorSomething went wrong during setup or sync. Review the error details and retry.

Accounting Dimensions

Beyond the standard account structure, Kraal supports accounting dimensions that add extra classification to your transactions:

  • Cost Centers — Track profitability by department, branch, or business unit.
  • Projects — Allocate income and expenses to specific projects or engagements.
  • Departments — Categorize transactions by organizational department.

Dimensions are configured in your accounting settings and become available as optional fields on invoices, journal entries, and payment entries. They allow you to generate detailed reports segmented by any dimension without duplicating accounts.

Using the COA When Categorizing Transactions

When you create invoices, journal entries, or payment entries, you select accounts from the COA for each line item. The account picker shows the tree structure, so you can drill into the correct group and select the appropriate ledger account.

For transaction processing and categorization, the COA determines which accounts are available for mapping bank transactions to your books. Keeping your COA well-organized makes day-to-day transaction categorization faster and more accurate.

Kraal — AI-powered accounting for modern firms