Solavel Docs

Accounting rules

Last updated

This is a reference to how SolaCount posts to the general ledger: what each document debits and credits, and how VAT, reverse charge, payments, credit and debit notes, foreign exchange, fixed assets, period locks and approvals work. It describes the posting services in the product as they are today. Use it to check a journal you see on a document or in reports.

Where to see the postings

  • A posted document's journal is linked from its detail page. All journals are listed under Journal Entries → All Entries.
  • Default control accounts are set under Settings → Accounting & Tax → Account Defaults.
  • Tax codes and VAT accounts are set under Settings → Accounting & Tax → Taxes.
  • Lock date and posted-document rules are set under Settings → Accounting & Tax → Precision & Lock Date.

Core principles

Rule Detail
Draft vs posted Drafts never touch the ledger. Posting writes one journal per document and fixes its number.
One active journal A document has at most one active posted journal. Unpost voids it, returning the document to draft. Posting again creates a new journal linked to the old one.
Balanced Every journal must balance in document currency and in base currency, or posting is refused.
Period check Posting validates the date against the lock date, the accounting period and the fiscal year. See Locks and periods.
Approval check If approval is enabled for the document type, posting needs a current approval. See Approvals.
Reverse, don't delete Reverse posts an opposite journal on the reversal date and keeps both in the audit trail.
Allocations block undo You can't unpost or void a document while payments are allocated to it ("Cannot unpost: payments are allocated to this invoice. Remove allocations first.").

Postings by document

Throughout, Bank means the cash or bank account selected on the document. Default codes are given in brackets. Your chart of accounts may use different ones.

Sales

Document Debit Credit Notes
Quote, Sales order none none No ledger effect
Invoice Accounts Receivable (1200), invoice total Revenue per line (net); Output VAT per tax code Revenue account per line comes from the line's account, then the item's income account, then the default sales account. Inventory items also post Dr Cost of Goods Sold, Cr Inventory at cost.
Sales receipt (cash sale) Bank (deposit account), total Revenue; Output VAT Inventory: Dr COGS / Cr Inventory. A matching payment record is created automatically.
Customer credit note Sales returns, or Sales allowance for allowance lines; Output VAT Accounts Receivable, total Restocked inventory: Dr Inventory / Cr COGS ("COGS reversal"). Applying the note to an invoice is a separate step.
Customer refund Accounts Receivable ("Reduce AR via refund") Bank ("Cash/Bank payout") Limited to the available credit ("Amount exceeds available credit.")
Customer payment Bank, full amount Accounts Receivable for the allocated part; Customer advance (2501) for any unallocated part Document payments must be fully allocated. Use Advance or Mixed to keep a balance on account.

Purchases

Document Debit Credit Notes
Purchase order none none No ledger effect
Bill Expense per line, or Inventory for stock items; Input VAT (recoverable) Accounts Payable (2100), total Non-recoverable VAT is added to the expense or inventory cost
Expense Expense lines; Input VAT Accounts Payable ("Expense payable") Paid afterwards through a supplier payment
Direct Pay Expense lines; Input VAT Bank One step, no supplier balance
Supplier debit note Accounts Payable, total Expense or Inventory lines; Input VAT Reduces what you owe
Supplier refund Bank ("Supplier refund received") Accounts Payable ("Clear supplier debit note balance")
Supplier payment Accounts Payable for the allocated part; Supplier advance (1704) for any unallocated part Bank

Banking and journals

Document Debit Credit
Bank transfer Destination account ("Transfer in") Source account ("Transfer out")
Deposit / Withdrawal Bank / chosen lines Chosen lines / Bank
Manual journal As entered As entered. Drafts may be unbalanced, but posting requires balance.
Opening balances As entered Difference to Opening Balance Equity (3501)

VAT

  • Every taxed line writes a VAT line. Output VAT goes to the Output VAT account (2201) on sales, and Input VAT to the Input VAT account (1703) on purchases. The account is resolved per tax code, and posting fails if it is missing ("Output VAT account not configured for tax.").
  • A line with a positive VAT rate can't have zero VAT ("Line 3: VAT amount cannot be zero when a tax rate > 0% is selected.").
  • Sales tax codes are only allowed on sales documents, and purchase codes only on purchases.
  • Zero-rated purchase lines still record their base amount, so they show up in VAT reports.

Reverse charge

A line is reverse charge if its tax code is marked reverse charge, or if the bill's VAT treatment is Reverse charge and the line has no rate of its own. For these lines:

  • The supplier is owed the net amount only (no VAT in Accounts Payable).
  • VAT is self-assessed: Dr Input VAT (reverse-charge input) / Cr Output VAT (reverse-charge output) for the same amount, so the net cost is zero when the VAT is recoverable.
  • The same rule applies to expenses and Direct Pay ("VAT RC Input / VAT RC Output"), and is undone by debit notes.

VAT return

Step Ledger effect
Draft None. Totals are calculated from posted VAT lines in the period.
Finalize (status filed) Journal 1 clears Output VAT and Input VAT into VAT Control. Journal 2 moves the net balance from VAT Control to VAT Suspense (payable or refundable).
Record settlement, payment Dr VAT Suspense ("VAT payment") / Cr Bank
Record settlement, refund Dr Bank ("VAT refund") / Cr VAT Suspense
Carry forward (net refundable) Marks the return settled as carried forward, with no bank movement

A return can only be settled after it is finalized.

Discounts

The mode is set by the Discount posting mode setting. Gross is the default unless the organization explicitly chooses Net.

  • Gross: Revenue is credited at the full price, and the discount is debited to a Sales/Service Discounts account. On bills, the expense is debited gross and the discount is credited to Purchase Discounts. Inventory cost always stays net of purchase discounts.
  • Net: lines post at the discounted amount, with no separate discount line.

Foreign currency

  • Every journal line stores the document amount and its base-currency equivalent at the document's rate.
  • Realized FX: when a payment settles an invoice or bill at a different rate, SolaCount posts a separate settlement journal ("Realized FX settlement PMT-…"). A gain is posted as Dr AR/AP, Cr FX Gain (4305). A loss is posted as Dr FX Loss (6805), Cr AR/AP. The original documents are never changed. Unposting the payment reverses this journal too.
  • Unrealized revaluation at period end is done with base-currency adjustments.

Inventory

  • A purchase receipt on a bill debits Inventory and updates the item's average cost in base currency. A sale credits Inventory and debits COGS at cost.
  • For items whose stock is managed in SolaStock, SolaCount takes quantities and costs from SolaStock.
  • Stock adjustments post to Inventory Adjustment Gain (4303) or Loss (6804).

Fixed assets

Event Debit Credit
Post acquisition Fixed asset account (cost) Offset chosen by the acquisition mode: Bank, Cash, Payable, or Clearing (default)
Depreciation run Depreciation Expense Accumulated Depreciation
Disposal Proceeds account (proceeds); Accumulated Depreciation; Loss on disposal (if any) Fixed asset account (cost); Gain on disposal (if any)

Year-end close

Closing a fiscal year posts a system journal dated on the year's last day. It zeroes every revenue and expense account and puts the net result in Retained Earnings (3201). See Fiscal years & lock dates.

Locks and periods

When you post, SolaCount checks the date in this order:

  1. Organization lock date. A date on or before it is refused: "Cannot post transaction: Date … is on or before the organization lock date …".
  2. An accounting period must exist: "No accounting period exists for date …".
  3. The period must not be Locked (audit-final) or Closed. The only exception is the system year-end closing journal, which may post into a closed period.
  4. The fiscal year must not be Locked.

Unpost and reverse are disabled for documents in closed or locked periods. Reversals post on the reversal date, which must itself pass these checks.

Approvals

If the owner turns on approval for a document type, posting (and pay, send, void, reverse and so on) requires a current approval: "This document must have a current approval before posting." Approval doesn't change the journal. It only gates it. If the financial data changes after approval, the approval is invalidated. See Workflow & Approvals.

Worked example: a reverse-charge import

Al Noor Trading LLC imports consulting services from a UK supplier for AED 20,000, with 5% reverse charge.

Bill posted:

Account Debit (AED) Credit (AED)
Consulting Expense 20,000
Input VAT (reverse charge) 1,000
Output VAT (reverse charge) 1,000
Accounts Payable 20,000

Paid in full: Dr Accounts Payable 20,000 / Cr Bank 20,000.

In the VAT return, the 1,000 output and 1,000 input cancel out, so the net VAT is nil.

Required default accounts

If one of these is missing, posting stops with an error. Check them under Account Defaults.

Account Used by
Accounts Receivable Invoices, credit notes, customer payments, refunds
Accounts Payable Bills, expenses, debit notes, supplier payments
Sales revenue (default) Invoice lines without a mapped account
Output / Input VAT, VAT Control, VAT Suspense Taxed documents and VAT returns
Cost of Goods Sold, Inventory Inventory sales and receipts
Customer advance / Supplier advance Unallocated payments
FX Gain / FX Loss Realized FX ("Realized FX gain account … " error if missing)
Retained Earnings Year-end close ("Retained Earnings account is missing…")
Sales / Purchase discounts Gross discount mode

Related