Line-item vs order-total discounts.
There are two ways to apply a discount in any POS. A line-item discount lowers the price of a single item — "this shirt is A$2 off." An order-total discount lowers the bottom of the receipt by an amount or percentage — "10% off the whole bill."
Most receipt templates show line-item discounts inline (struck-through original price next to the discounted price) but show order-total discounts as a single line near the totals. If your template only has the line-item logic, the order-total discount silently disappears from the print.
How to tell which one your cashier used.
Look at the digital receipt or the transaction in the back office. If the discount appears under each item, it was line-item. If it appears as one row near "Subtotal" or "Total", it was order-total. The receipt template needs to print whichever one was used.
In Nonari the receipt template shows both. A line-item discount prints the original price struck through and the new price below. An order-total discount prints "Discount: -A$5.00" right above the total. No silent disappearance, no confused customers.
Why this matters for tax compliance.
Most tax-compliant POS receipts must print the discount because sales tax, VAT, or GST is calculated on the post-discount amount. If the receipt does not show the discount but shows tax on the post-discount price, an auditor will treat the math as wrong and you will spend an afternoon explaining yourself.
For retailers under e-invoicing mandates — Australia's ATO digital records, the UK's Making Tax Digital, EU SAF-T — the discount line is required, not optional. The same applies to the digital invoice you transmit to the tax authority. Skip it and your invoice gets rejected at the endpoint.
Receipt template fields you need.
A correct retail receipt has at least these fields visible: per-line item name, quantity, unit price, line discount (if any), line total, then on the bottom subtotal, order discount (if any), tax breakdown by rate, total. Hide the discount lines only when they are zero.
Many free receipt templates were designed for grocery and assume one tax rate and no order discounts. If you sell to walk-in customers and to corporate accounts with negotiated discounts, you need both layouts working.
- Per-item original price and discounted price
- Subtotal before order discount
- Order discount as its own line
- Tax breakdown by rate (10% GST, 20% VAT, exempt, zero-rated)
- Final total in bold and large type
When the discount is in the database but not in print.
Sometimes the data is correct — the transaction record shows A$5 discount — but the printed receipt does not. That is a template bug, not a transaction bug. Edit the template to include the discount field and reprint a sample.
Test by creating a dummy transaction with both a line-item discount and an order-total discount. If both appear correctly on the print preview, you are done. If only one does, your template is missing a conditional block.
When the discount is missing from the database.
Worse case: the transaction record itself does not have the discount. That means the cashier applied it to an unsynced offline transaction, or the POS API rejected the discount silently, or the cashier typed a price override instead of a discount.
Price overrides do not record the discount amount, just the new price. If your cashiers prefer overrides because they are faster, retrain them. Discount amounts roll up to a Discounts P&L line, price overrides do not, and your reporting is now garbage.
The thermal printer red herring.
Sometimes a discount line is in the template but the thermal printer cuts it off. Cheap printers truncate long receipts at the cutter, especially if the print is set to 80mm width and the printer is 58mm. Switch to small font or 58mm template and the discount line reappears.
Test prints on the actual store printer, not on a desktop preview. A receipt that looks perfect on screen but loses three lines on the back-counter printer is a story we hear monthly.
Audit your last 30 days of discounts.
Pull a discount report for the last 30 days grouped by cashier. If one cashier has zero discounts and the others have 2-3% of sales as discounts, that cashier is using price overrides. If one cashier has 15% of sales as discounts and others have 2%, you have a discount-abuse problem.
Either pattern is fixable but only if you can see it. A POS that does not give you a per-cashier discount report is hiding the data you need to manage your floor. Nonari shows discounts per cashier, per branch, per category, and per hour of day in the standard reports.