The accounting behaviour SolaBooks enforces: when a transaction hits the ledger, what posting and reversal mean, how period locks and lock dates work, the VAT return lifecycle, inventory costing assumptions, AR/AP behaviour, the default accounts the system requires, and the common mistakes it prevents.
Draft vs posted
Every transactional document — invoice, bill, credit note, debit note, refund, expense, payment, journal entry, sales receipt — is either a draft or posted.
- Draft. The document exists — lines, taxes, totals — and is visible in lists, but it does not affect the general ledger. Drafts can be edited freely and deleted. Drafts hold a placeholder number, not a final one.
- Posted. The document is finalised. A journal entry is written to the ledger and the document number is locked. The accounting fields (date, customer or supplier, currency, line items, and so on) become read-only — a locked banner appears on the edit page. To change them: Unpost, edit the draft, and post again — or reverse and create a new document. Notes and attachments stay editable.
Whether a given user can post, unpost, void, or reverse depends on their role. If a lifecycle button is missing, ask your workspace administrator.
Reversal
Reversal is the safe alternative to deleting a posted document. The system writes a contra journal entry dated the reversal date and links it to the original. Both rows remain in the audit trail.
- Allowed for posted invoices, bills, credit notes, debit notes, expenses, payments, and journals.
- Not allowed for documents in a locked period (reopen first), settled VAT returns, or finalised bank reconciliations.
Lock date
The lock date is the latest date on or before which no new posting can occur. It is set per organization in Settings → Precision & Lock Date.
- Posting a document dated on or before the lock date is rejected with a "period locked" error.
- Moving the lock date forward is routine. Moving it backwards is restricted to senior roles and is audited.
The lock date is a day-level guardrail, independent of period close.
Period close
Periods are typically monthly, generated inside a fiscal year (Settings → Periods). Each period is open, locked, or closed.
- Locked — no new postings; reversals of entries inside the period are still possible.
- Closed — the period is finalised; reopening it needs a senior role.
- Closing the final period of a fiscal year rolls the year's result to retained earnings automatically.
Fiscal year
Configured at first run via the setup wizard, and managed under Settings → Fiscal Years. Every transaction must fall within an active fiscal year; posting outside one is rejected. Year-end close locks the year's periods and writes a closing journal that zeroes income and expense accounts to retained earnings.
VAT returns
The VAT reporting window (monthly, quarterly, or annual) is independent of the accounting period. A VAT return moves through a strict lifecycle:
- Draft — aggregates posted transactions in the VAT period.
- Finalized — locked, but no accounting entries written yet.
- Reporting posted — the journal moving output and input VAT to a clearing account is written.
- Settled — the payment to the tax authority is recorded and the return becomes immutable.
- Carry forward — a return in credit (input greater than output) can carry the credit to the next period.
Reverse charge, where enabled for your organization, adds a self-charged VAT line on relevant purchases.
Inventory costing
Inventory items default to average cost (weighted moving average). The cost recalculates on every receipt; sales pull the current average.
- Negative inventory is allowed by default — the cost adjustment catches up on the next receipt.
- Receiving a purchase order moves goods from "on order" to "on hand".
- Landed costs add freight and duty to item cost when applied to a posted bill (plan-dependent).
AR / sales behaviour
- Quotes. No accounting impact. Sent to a customer for online acceptance, then converted to an invoice or sales order.
- Sales orders (plan-dependent). No accounting impact; convert to an invoice.
- Invoices. Posting writes: Dr Accounts Receivable / Cr Revenue / Cr Output VAT.
- Customer payments. Allocated to one or more invoices. Posting writes: Dr Bank / Cr Accounts Receivable. Partial allocations are supported — unallocated balance sits on the customer as credit.
- Credit notes. Reduce a posted invoice or stand alone. Applying a credit note to an invoice is a separate step from posting it.
- Sales receipts. Cash sale — Dr Bank / Cr Revenue in one step, no AR.
- Refund receipts. Money returned to a customer.
AP / purchases behaviour
- Purchase orders. No accounting impact. Optional approval and receiving steps.
- Bills. Posting writes: Dr Expense or Inventory / Dr Input VAT / Cr Accounts Payable.
- Bill payments. Allocated to one or more bills. Posting writes: Dr Accounts Payable / Cr Bank.
- Expenses (direct pay). One-step bill plus payment: Dr Expense / Cr Bank. No supplier balance.
- Debit notes. The AP mirror of credit notes — a posted debit note reduces what you owe the supplier.
- Supplier refunds. Cash returned by a supplier.
Journal entries
Manual journals require balanced debits and credits. Drafts can be saved out-of-balance; posting validates the balance before writing. A posted journal's reference links back to its source document where one exists.
Required default accounts
These accounts must exist (the setup wizard creates them). A missing default blocks posting with a clear error:
| Default account | Used by |
|---|---|
| Accounts Receivable | invoice posting, customer payments |
| Accounts Payable | bill posting, bill payments |
| Sales Revenue | invoice line default |
| Cost of Goods Sold | invoice lines for inventory items |
| Inventory | bill receipt for inventory items |
| Output VAT | tax-charged invoice posting |
| Input VAT | tax-paid bill posting |
| Bank (default) | sales receipts, expenses, payments |
| Retained Earnings | year-end close |
| Discount Given / Received | invoice/bill discount lines |
| Foreign Exchange Gain/Loss | multi-currency settlements |
| Rounding Account | line-level rounding |
Confirm them under Settings → Account Defaults.
Discounts
By default, discounts post gross: the full price posts to revenue and the discount posts to a dedicated discount account, so discount activity is visible in reports. A setting controls gross versus net posting.
Multi-currency
Plan availability: multi-currency depends on your subscription.
- Each transaction has a document currency and a dated exchange rate. Posting a foreign-currency document requires a dated rate — if one is missing, the form warns "Missing exchange rate" and lets you add it on the spot.
- Posting writes both the document amount and the base-currency equivalent.
- Rates used by a posted document are locked and cannot be edited or deleted.
- Realized FX gain or loss is recorded when the payment settles; the payment allocation screen shows "Estimated FX Gain:" / "Estimated FX Loss:".
- AR/AP balances can be revalued at period end via base currency adjustments.
Common mistakes the system prevents
- Posting into a closed or locked period — blocked before the journal is written.
- Editing a posted document directly — blocked; unpost or reverse instead.
- Deleting a posted invoice or bill that has a payment — blocked; deal with the payment first.
- Creating a new transaction against an archived customer or supplier — archived contacts are hidden from selectors.
- Posting an out-of-balance journal entry — blocked at submit.
- Settling a VAT return that hasn't been finalized — blocked by the lifecycle.
- Posting a foreign-currency document without a dated exchange rate — blocked with a prompt to add the rate.