Solavel Solavel Docs

Accounting Rules

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:

  1. Draft — aggregates posted transactions in the VAT period.
  2. Finalized — locked, but no accounting entries written yet.
  3. Reporting posted — the journal moving output and input VAT to a clearing account is written.
  4. Settled — the payment to the tax authority is recorded and the return becomes immutable.
  5. 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.

Related