Posting transactions to accounts
Where the transactions come from
General Ledger receives every completed transaction the stores' tills record in Hii Retail (the POS log). You do not send anything to it yourself. Transactions that do not move money are left out: training-mode transactions, suspended or cancelled receipts, receipts where every line was cancelled, and sign-on, sign-off and till-float events. Lines that were cancelled on an otherwise completed receipt are left out as well.
Each transaction is posted as soon as it arrives, with the accounting rules that apply to its business unit at that moment. The result is kept per transaction, which is what lets General Ledger add a store's day up, and recalculate it later.
Debit and credit, briefly
Every amount goes on one of two sides of an account: debit or credit. For a till, a useful way to read it:
- Credit is where the money came from: the sale of goods and the VAT charged on it.
- Debit is where the money went: the card terminal or the cash drawer.
Every transaction is posted so that its debits and credits are equal. That is what makes the journal balance.
A sale, and the same item returned
A customer buys an item for 100 including 20 VAT and pays by card:
| Account | Debit | Credit | Why |
|---|---|---|---|
| 3000 Sales | 80.00 | the goods, excluding VAT | |
| 2610 VAT | 20.00 | the VAT charged | |
| 1920 Card | 100.00 | the money the card terminal took |
The customer then returns it, and the refund goes back to the card:
| Account | Debit | Credit |
|---|---|---|
| 3000 Sales | 80.00 | |
| 2610 VAT | 20.00 | |
| 1920 Card | 100.00 |
🛑 A return is posted to the same account as the sale, on the opposite side. It is not a negative amount, and it does not go to a separate returns account. The rule that picks the sales account looks at the item, its category and its tax group, and a returned item has the same ones as when it was sold. Amounts in General Ledger are never negative. A reduction is always a posting on the other side.
The refund side can differ. It is posted by the tender that was actually used, so if a card purchase is refunded in cash, the credit goes to the cash account and not to the card account.
Within a day, debits and credits are kept apart. They are not netted against each other. If the store sells for 800 and takes returns for 80 on the same sales account, the day's journal shows that account with credit 800.00 and debit 80.00, not credit 720.00. Your accounting system sees gross sales and gross returns.
How each kind of amount is posted
| What happens in the store | Account chosen by | Sale | Return / refund |
|---|---|---|---|
| Item sold or returned | sales-and-returns rules | credit, excluding VAT | debit, excluding VAT |
| VAT on the item | tax rules | credit | debit |
| Payment or refund | tender rules | debit | credit |
| Cash rounding | the tender ROUNDING rule | credit when rounded up | debit when rounded down |
| Paid-in (money into the till) | income rules + a tender rule | tender account debit; income account credit, net of any VAT; VAT account credit | — |
| Paid-out (money out of the till) | expense rules + a tender rule | tender account credit; expense account debit, net of any VAT; VAT account debit | — |
| Gift card sold | gift-card rules | credit, the value loaded on the card | — |
⚠ Paying with a gift card is a payment, not a gift-card posting. It follows the tender rules like any other means of payment. The gift-card rules only cover selling a gift card: the money the store now owes the card holder.
Amounts and precision
- Amounts are in the currency the store trades in, with two decimals. Journals carry no currency code.
- Each posting is rounded to two decimals, per transaction. A day's total is the sum of those rounded postings, so it can differ by a cent from a percentage applied to the day's total.
When a transaction cannot be balanced
If the rules leave part of a transaction without an account, for example because there is no DEFAULT rule and
nothing more specific matched, its debits and credits no longer agree. General Ledger then does not export that
store's business day at all until the problem is fixed. Sending an unbalanced journal would put a
difference into your accounts, and holding the day back avoids that.
A day that is held back like this is reported as blocked when you recompute or re-export it. See Correcting and resending.