Accounting is the finance engine at the centre of IXL CORE. It holds your chart of accounts, records every journal, runs your receivables and payables, reconciles your bank, computes your tax returns, tracks your fixed assets and controls how each accounting period is opened, closed and locked. Because the whole platform shares this ledger, invoices, bills, payments and credit notes raised in Accounting — or events raised elsewhere on the platform — post here through one posting engine, so there is nothing to re-key and nothing to reconcile between two systems.
This guide is a reference for what the module does and how the pieces fit together. It describes IXL CORE version 1.0, which is aligned to IFRS (International Financial Reporting Standards, the accounting rules most businesses in Kenya and South Africa report under). The module is set up per entity for a chosen jurisdiction — Kenya (KE) or South Africa (ZA) — with its own base currency and financial-year start month.
Overview
At a glance, Accounting covers the following connected areas:
- Chart of accounts — the structured list of accounts every transaction posts to, seeded from a template or imported.
- Journals & recurring journals — manual and automatic entries, with maker-checker control.
- General ledger, trial balance & financial statements — the running history and the reports drawn straight from it.
- The posting engine — rules that turn platform events into journals, with a retry queue for failures.
- Tax — VAT and withholding-tax returns computed from the ledger, plus jurisdiction tax packs.
- Receivables — customers, invoices, receipts, credit notes, ageing and online payments.
- eTIMS — Kenya invoice fiscalisation.
- Payables — suppliers, bills, supplier payments and batch payment runs.
- Banking — bank accounts, statement import, reconciliation, banking rules, transfers and expenses.
- Exchange rates, revenue recognition & deferrals — FX governance and accrual timing.
- Trust accounting — client money held in trust, for law firms and similar.
- Cost centres & budgets — segment reporting and plan-versus-actual.
- Fixed assets — the asset register, depreciation and disposal.
- Period-end & consolidation — FX revaluation, year-end close and a group view.
Everything is scoped to your organisation and entity, and every action is governed by permissions (see Access & permissions).
Chart of accounts
The chart of accounts is the structured list of accounts your transactions are recorded against. Each account has a code, a name and a type — asset, liability, equity, income or expense — and accounts can be nested under a parent to give you a proper hierarchy. Rather than building the chart by hand, you can instantiate a chart from a template chosen for your industry, then adapt it. A CSV import is also available: download a template, validate it to a staging preview with no commit, then commit the validated rows into the entity chart.
Certain accounts play a system role — debtors control, creditors control, bank, VAT, retained earnings and so on — so the platform knows which account to post to automatically. You set these roles per entity, which means a business can keep its own account codes while the engine still knows where each posting belongs.
Typical steps
- Go to Chart of accounts and instantiate a template, or import your own from CSV.
- Add or edit accounts, setting each one’s code, name, type and parent.
- Assign the system roles (debtors, creditors, bank, tax, retained earnings) to the right accounts.
Journals
A journal is a balanced entry — debits equal credits — that moves value between accounts. You can raise journals by hand for accruals, corrections and adjustments, record opening balances, and the module checks that every entry balances before it can be posted. Journals follow a maker-checker lifecycle: a draft can be edited, but once posted it becomes part of the permanent record and can only be corrected by a reversal, which writes an equal-and-opposite entry rather than deleting history.
Recurring journals automate entries that repeat — a monthly accrual, an amortisation — on a schedule. They generate as drafts by default so someone reviews them, or can be set to post automatically, and you can pause, resume or end a schedule at any time.
Typical steps
- Go to Journals and click New journal.
- Add lines with debits and credits until the entry balances.
- Post it, or route it for approval where a rule requires sign-off.
- To correct a posted journal, use Reverse and enter the reason.
General ledger, trial balance & financial statements
Behind every account sits the general ledger — the full, ordered history of postings that make up its balance. The trial balance lists every account with its debit or credit balance, and a journal register lists the journals themselves. From the same postings the module produces the core financial statements: profit and loss, balance sheet, cash flow and changes in equity. Because all of these are drawn from one set of postings, they are internally consistent by construction. A management dashboard snapshot summarises cash, receivables, payables, a P&L summary and budget-versus-actual for the overview panel, and every report can be exported to CSV or a branded PDF, including a bundled audit pack.
The posting engine
Most journals are never typed at all. A central posting engine turns platform financial events — an invoice issued, a credit note raised, a bill posted — into the matching journal using configurable posting rules, and tags each one with its source so you can trace a posting back to the document that caused it. Posting requests record each attempt; if one fails it lands in a queue you can inspect and retry, so an integration problem is visible and recoverable rather than silently lost.
Tax
Accounting computes tax returns straight from posted journals. You maintain per-entity tax codes and can install a jurisdiction tax pack to seed the standard codes for Kenya or South Africa in one step. From the ledger it computes a VAT return and a withholding-tax return for a period as read-only reports; filing a return posts the reconciliation journal and records it in the filed-returns list. IXL CORE never hard-codes tax rates — the rates you apply are the ones in the tax codes and packs you configure.
Receivables
The receivables area runs the sell-side. You keep customers — created directly or materialised from a CRM account — and raise invoices that move draft → issued → void, with a branded PDF and the option to send them. Issuing an invoice posts the receivable through the engine. Recurring invoices generate on a schedule, receipts record money received and allocate it against open invoices, and credit notes post the reversal. An AR ageing report shows what is outstanding by age.
Online payments let a customer pay an issued invoice through a tokenised public page: they view the invoice, see the available gateways and pay, with a webhook confirming the result. Internally you can request an online payment for an invoice (“Pay now”), track each gateway payment attempt and cancel a still-pending one.
Typical steps
- Create a customer, or pick one from CRM.
- Raise an invoice, then issue and optionally send it.
- Record a receipt against open invoices, or let the customer pay online.
- Raise a credit note to reverse, and watch the AR ageing report.
eTIMS
For Kenya, eTIMS handles KRA invoice fiscalisation. You register your eTIMS items and submit an invoice or credit note for fiscalisation, tracking the status per document and retrying where needed. A deterministic stub drives the flow until a platform operator enters real KRA credentials, so the workflow is ready before go-live.
Payables
The payables area mirrors receivables on the buy-side. You keep suppliers — created directly or materialised from a Supply Chain supplier — and enter bills that move draft → submitted → posted → void, with maker-checker so the person entering a bill need not be the one who posts it. Posting a bill raises the payable and any input VAT through the engine. Supplier payments settle open bills, handling withholding tax and realised FX, and a batch payment run gathers due bills, routes them for approval so the preparer is not the approver, then executes — posting one payment per supplier. An AP ageing report shows what is owed by age.
Banking
You register your bank accounts and import statements against them from a CSV template. Statement lines can be categorised to an account by hand or automatically via banking rules that match description patterns, and a line can be uncategorised if it was matched wrongly. Reconciliation then agrees the statement to the books: you start a reconciliation, group statement lines against the matching ledger lines into match groups, work through what is left, and complete it once everything ties out. Bank transfers move money between two of your own accounts, and expenses let you spend straight from a bank or cash account without going through payables.
Typical steps
- Register a bank account and import the statement.
- Let banking rules categorise what they can, then finish the rest by hand.
- Open a reconciliation, match lines to the ledger and complete it.
Exchange rates, revenue recognition & deferrals
A governed exchange-rate store holds one rate per currency pair and date; documents look it up automatically so foreign-currency entries use a consistent, recorded rate. Revenue recognition schedules defer revenue to a deferred-revenue account when an invoice is issued, then release it to revenue over time or against milestones — run for what is due, or recognise a single milestone on demand. Deferral schedules do the same for prepayments and accruals, amortising a balance over a set number of monthly periods, and any schedule can be cancelled.
Trust accounting
For law firms and similar, trust accounting keeps client money held in trust — always a liability, never income. You open a matter with its own ledger, record movements against it (a receipt into trust, a transfer to the firm, a refund, or a void) with an over-draw guard that stops a matter going negative, and close a matter once its balance is zero. A statutory three-way trust reconciliation confirms the trust bank balance, the sum of matter balances and the trust-control account all agree, with the per-matter breakdown a firm files.
Cost centres & budgets
Cost centres let you tag journal lines to a part of the business — a department, branch or project — so you can report performance below the company total. Budgets capture your plan per account and cost centre by month; you can import budget lines from a CSV template into a draft, put the budget through maker-checker approval, and read a budget-versus-actual report that draws actuals from posted journals so overspend is visible while there is still time to act.
Fixed assets
The fixed-asset register tracks capital items. You define asset categories carrying depreciation defaults — useful life, method and the relevant GL accounts — and register assets under them. Depreciation runs on a straight-line or reducing-balance basis; a periodic depreciation run posts the charge, and an asset can be disposed of when it leaves the business. Register and per-asset movement-schedule reports are available on screen and as CSV.
Period-end & consolidation
The books are organised into accounting periods you can close and reopen under control, so figures cannot quietly shift after they have been reported. At period-end, FX revaluation restates foreign-currency balances at a chosen rate — run a preview first, then commit, idempotent per period and reversing into the next. The year-end close rolls the year forward: preview it, prepare it, route it through maker-checker approval, then commit to move the result into retained earnings, with a guarded, approval-routed reopen if it must be revisited.
Where you run more than one entity, consolidation combines them into a group. You define a group with its members and produce a combined trial balance and combined statements across them, with manual elimination journals the combined report nets out so intercompany balances are not double-counted. (Members are combined on a same-currency basis; FX translation across differing currencies is deferred.)
Access & permissions {#access-and-permissions}
Every Accounting action is governed by a capability — viewing the chart, creating a journal, posting or approving one, issuing an invoice, posting a bill, reconciling a bank account, filing a tax return, running depreciation, closing the year, and so on are each a separate permission (for example accounting.journals.view, accounting.ar.view, accounting.period_end.manage). Sections split cleanly into a view capability and a manage capability, so the people who prepare work need not be the people who approve or post it. This is enforced on every request, not merely hidden in the interface — which is what makes the separation of duties around posting, approval and payment real rather than cosmetic. Access is also gated by your commercial entitlement to the module.
How Accounting connects
Accounting is the foundation the rest of the platform stands on:
- CRM feeds receivables — you can materialise an AR customer straight from a CRM account.
- Supply Chain feeds payables — you can materialise a supplier and its bills from a Supply Chain supplier.
- The posting engine turns finalised documents from across the platform into journals automatically, tagged with their source, and reversals stay honest — voiding a document reverses its ledger entry rather than erasing it.
- Cost centres and periods are shared, so the controls you set here apply to postings that originate anywhere on the platform.
That is the point of one connected ledger: a document is raised once, in the module where the work happens, and the books stay in step without a second system to reconcile.
