Apps · Operations

Accounting

A real double-entry ledger sitting under the rest of your workspace. Sales, invoices, payments and stock movements turn into journal entries; you get a chart of accounts, period close and the four reports everyone asks for.

User guideApps › Accounting

Where to find it

Accounting has no sidebar entry of its own. It lives in settings, under Settings → Workspace → Accounting. The page is admin only — non-admins are turned away at the door.

The page is five tabs: Settings, Chart of Accounts, Journals, Periods and Reports. Each tab has its own web address, so you can bookmark the one you use every day.

Admin

Two permissions exist beyond app access, granted under Settings → Workspace → Module Access: Post to ledger (post and reverse journal entries) and Close periods (soft-close, lock, reopen and run year-end close). Without either, a member can still read the reports. Setting up the chart of accounts and changing settings is reserved for admins regardless of these grants. See Permissions & access.

First-time setup

A fresh install has the tables but not much in them. Work down the Settings tab once.

  1. Seed the chart of accounts Pick a Country pack and press Seed COA. The pack brings a complete chart of accounts and fills in which account codes the automatic posting rules should use. You're warned first: accounts with the same code are refreshed to the preset's values, and any accounts you added yourself are left alone.
  2. Set the base currency and fiscal year Base currency (ISO 4217) is the currency every report is expressed in. Fiscal year start month decides where your year begins — it drives period generation, year-end close and journal numbering.
  3. Decide how VAT is derived The VAT auto-split card is a fallback, used only when a document has no explicit tax amount on it. Treatment offers "No split — Total is all Revenue", "VAT-inclusive — Total = Net + VAT" and "VAT-exclusive — Net + VAT added on top", with a Rate given as a decimal. A worked example updates live underneath as you change it. When a document carries its own tax figure, that figure wins and nothing here applies.
  4. Choose an inventory method None / periodic books revenue on a sale and nothing else. Perpetual also books cost of goods sold at the moment of sale, which means your margin is right in the P&L without a stock count. There's a separate Costing method — weighted average or FIFO — covered in Stock & warehouse.
  5. Check the default posting accounts The Default posting accounts card lists the sixteen roles the built-in rules use — accounts receivable, accounts payable, cash, sales revenue, COGS, inventory, GRNI, WIP, retained earnings, VAT output and input, FX gain and loss, payroll expense and payable, income tax payable and pension payable. The pack fills these in. Change one only if you've reworked the chart of accounts.
  6. Press Save settings Everything except the costing method waits for this button.
Costing method saves immediately

Unlike the rest of the Settings tab, changing Costing method applies the moment you change it, without waiting for Save. Switching to FIFO asks for confirmation first because it seeds opening cost layers from your current stock.

The chart of accounts

The Chart of Accounts tab lists every account with its Code, Name, Type, Currency and Source. Filter by code or name with the box at the top; tick Show inactive to include retired accounts.

Accounts are one of five types — Asset, Liability, Equity, Revenue, Expense — and sit in a hierarchy. Parents act as headers: they roll their children up into subtotals on the reports and you cannot post to them. Only leaf accounts take entries.

Add account asks for a Code, a Name, a Type and optionally a Parent account code. Codes must be unique; reusing one is rejected.

Retiring an account is a soft action — it's deactivated, not deleted, so every journal line that ever touched it stays intact and the account simply stops appearing in pickers. Note that this page creates and deactivates accounts but doesn't edit them, so get the code and name right when you add one.

An account can be locked to a single currency. When it is, the currency shows in the Currency column and the ledger refuses any posting to it in a different currency.

Journals

Every entry in the ledger is a journal: a date, a memo, and a set of lines that each debit or credit exactly one account. Recent journals on the left lists them by Number, Date, Kind and Status; clicking one shows its lines on the right, as Account, Debit, Credit and Memo.

Numbers are minted automatically, per fiscal year, in the form JE-2026-000042. You never type one.

A journal is draft, posted or reversed. Posted is the normal state. Reversed means a later journal has cancelled it out.

Posting a manual journal

  1. Press New Above the journal list. This opens New manual journal. The button only appears if you hold Post to ledger.
  2. Set the date and memo The date decides which period the entry lands in, which in turn decides whether it's allowed at all. The memo is what you'll be reading in six months, so write a real one.
  3. Enter the lines Each line takes an account code, an amount in either Debit or Credit — never both — and its own memo. Two blank lines are provided; Add line gives you more, and the bin icon removes one.
  4. Watch the balance indicator The Total row tells you either balanced or how far out you are. Post journal stays disabled until debits equal credits.
  5. Post journal The entry is numbered, written and immediately visible in the list and the reports.
Manual journals use your base currency

The manual journal form has no currency or exchange-rate field — every line is booked in the workspace's base currency. That also means you can't hand-post to an account that's locked to a different currency; the ledger will refuse it.

Fixing a mis-posted journal

You don't edit or delete a posted journal — that would break the audit trail. You reverse it and post a correct one.

  1. Open the journal Journals tab → click it in Recent journals.
  2. Press Reverse In the detail pane's header. It's only offered for a journal that is posted and isn't itself a reversal — you can't reverse a reversal.
  3. Confirm A brand-new journal is written with every debit and credit swapped, memo'd as a reversal of the original, and the original flips to reversed. Both stay in the ledger permanently.
  4. Post the corrected entry Now enter what should have happened, as a fresh manual journal.
A reversal is dated today

The reversing entry always lands on today's date, not the original's. Two consequences. First, correcting last month's mistake moves the correction into this month — which is usually what you want, but check it's what your accountant wants. Second, if the current period is soft-closed or locked, the reversal is refused, because a reversal doesn't count as an adjusting entry. Reopen the current period first.

How the rest of the workspace posts into the ledger

Accounting doesn't reach into other apps. Other apps hand it documents, and it decides what to book from the rules in your country pack.

ActionWhat it books
Post to ledger (invoice)Dr A/R · Cr Revenue · Cr VAT-output
Post payment to ledgerDr Cash · Cr A/R
Post bill to ledgerDr Expense + Dr VAT-input · Cr A/P
Post bill payment to ledgerDr A/P · Cr Cash
Post POS sale to ledgerDr Cash · Cr Sales Revenue · Cr VAT-output
Post goods receipt to ledgerDr Inventory · Cr GRNI — perpetual inventory only
Post supplier return to ledgerDr GRNI · Cr Inventory — perpetual inventory only
Post payroll to ledgerThe four-leg salary entry: gross salary and employer pension against net pay, withheld tax and pension
Post expense to ledgerDr Expense · Cr Cash

There are three ways to trigger these, and you can mix them:

  • Automatically, per document type. The Auto-actions card at the bottom of the Settings tab is a list of tick-boxes, one per action. Tick one and records of that kind post themselves as they're saved.
  • By automation. The flow builder has an Accounting category of actions, so you can post on a condition of your choosing — when an invoice's status changes to sent, for instance. See Formulas & automations.
  • By hand. Open a record and use the Send / file menu, which lists the posting actions available for that record.
You can't double-post

Posting is de-duplicated per source record. If an automation and the auto-action both fire, or a retry runs, the second attempt reports that the record is already posted and does nothing. A record that has been posted shows a Ledger badge with its journal number, which links straight to the journal.

One consequence of that audit chain: a record that's in the ledger can't be deleted. You're told to void it instead, which posts a reversing entry and keeps the history.

If an action is greyed out with a note about accounting not being configured, you haven't seeded a chart of accounts yet — go back to Settings and press Seed COA.

Periods

Periods are months. They're what stops someone quietly posting into a month you've already reported on. The Periods tab shows, per fiscal year, each period's Range, how many posted Journals it holds, and its Status.

Pick a Fiscal year and press Generate periods to create that year's months if they don't exist yet.

StatusWhat can post into it
openEverything.
soft closedAdjusting entries only — manual journals and close entries. Automatic postings from invoices, payments, bills and POS sales are refused, and so are reversals.
lockedNothing at all.

Closing a month

  1. Reconcile while it's still open Get the month's documents posted and the reports looking right before you close anything. Once it's soft-closed the automatic postings stop landing.
  2. Soft close Press Soft close on the period's row. Day-to-day traffic is now blocked but you can still post the adjustments the close needs.
  3. Post your adjustments Accruals, corrections, anything the review turned up — as manual journals.
  4. Lock Lock seals the month. Nothing gets in after this.

Two escape hatches. Reopen takes a soft-closed period back to open. Unlock takes a locked period back to soft closed — not to open — so if you need to post ordinary traffic into it again you unlock first, then reopen. All four buttons need the Close periods permission.

Year-end close

Year-end close sits at the top right of the Periods tab and does three things for the selected fiscal year: it closes every revenue and expense account into retained earnings, it locks every period of that year, and it stamps the close on your settings. You're shown all three in the confirmation before anything happens, and told the resulting net income afterwards.

Year-end close locks the whole year, reviewed or not

Every period of the year is locked, including any month still sitting at open. Getting back in means unlocking and reopening month by month. Close each month as you go, and only run year-end when the last one is done.

A year that's already closed can't be closed again, and the run fails outright if the year has no revenue or expense activity in it.

Reports

Four reports, chosen with the pills at the top of the Reports tab, all expressed in your base currency.

ReportWhat it gives you
Trial BalanceEvery account with its movement over the range and its closing debit and credit, footed by a total. The first place to look when something doesn't add up.
Profit & LossRevenue and Expenses over the range, rolled up through the account hierarchy, ending in Net income.
Balance SheetAssets against Liabilities and Equity as at a single date, with the current year's earnings folded into equity so the two sides agree.
Cash FlowOperating, investing and financing activities, built by walking the entries that touched a cash account and classifying the other side of each.

Two date boxes control the range. The Balance Sheet only uses the second one, as its as-at date, so the first box disappears when you select it.

If the Balance Sheet's two sides don't agree it says so, explicitly, with the amount it's out by. Treat that as a signal to go to the Trial Balance and find the entry responsible.

What the ledger refuses, and why

Postings are validated before they're written, so a bad entry never reaches the books. The messages are literal about what went wrong.

RefusalWhat to do
Debits must equal creditsThe entry doesn't balance. The manual journal form won't let you get here; an automation might.
Unknown account, or account is inactiveThe rule is pointing at a code that doesn't exist or has been retired. Check the Default posting accounts card in Settings.
Account is a header and not postablePost to a leaf account underneath it instead.
Can't debit and credit in the same line, or line must have a non-zero amountEach line is one-sided. Split it into two.
Account is locked to a currencyThe account only accepts one currency and the entry used another.
Period is lockedUnlock it, or date the entry into an open period.
Period is soft-closed; only adjusting entries allowedPost it as a manual journal, or reopen the period.
Nothing to post for this recordThe document is missing the figures the rule needs — usually a zero or empty total. Fill it in, then post it by hand from the record's Send / file menu.

Country packs

A country pack is the whole local shape of the ledger in one bundle: the chart of accounts, which account code plays which role, the VAT categories, and the posting rules. Georgia (IFRS-aligned, 4-digit COA) ships today, with GEL as its base currency and a fiscal year starting in January.

The pack's account codes are defaults, not law. If you restructure your chart of accounts, re-point the sixteen entries on the Default posting accounts card and every rule follows.

Tax filing is a separate app

Accounting keeps the books; it doesn't file returns. Country-specific filing lives in its own app — for Georgia that's the rs.ge connector, which handles waybills, tax invoices and salary declarations. See the app directory.

Related