Skip to main content

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 card sale of 100 including 20 VAT credits 80 to the sales account and 20 to the VAT account, and debits 100 to the card account. Returning it posts the same amounts to the same accounts on the opposite side.

A customer buys an item for 100 including 20 VAT and pays by card:

AccountDebitCreditWhy
3000 Sales80.00the goods, excluding VAT
2610 VAT20.00the VAT charged
1920 Card100.00the money the card terminal took

The customer then returns it, and the refund goes back to the card:

AccountDebitCredit
3000 Sales80.00
2610 VAT20.00
1920 Card100.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 storeAccount chosen bySaleReturn / refund
Item sold or returnedsales-and-returns rulescredit, excluding VATdebit, excluding VAT
VAT on the itemtax rulescreditdebit
Payment or refundtender rulesdebitcredit
Cash roundingthe tender ROUNDING rulecredit when rounded updebit when rounded down
Paid-in (money into the till)income rules + a tender ruletender account debit; income account credit, net of any VAT; VAT account credit—
Paid-out (money out of the till)expense rules + a tender ruletender account credit; expense account debit, net of any VAT; VAT account debit—
Gift card soldgift-card rulescredit, 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.