Start free

Receipts & Refunds

Receipts register, refunds and exchanges, stock restock

20 min read Admin panel demo
On this page 15

Receipts, Refunds, and Exchanges

Receipt register — a history of all sales for each location. Each receipt is an immutable snapshot of a payment: what was purchased, for what amount, by which method, by which cashier, and during which shift. Based on a receipt, you can issue a refund or exchange directly from the POS interface.

Open: Admin Panel → POS → "Receipts" (🧾 icon in the POS menu). There is no separate "Receipts" section in the sidebar — the register lives inside the POS.


What you need to get started#

  • The original receipt in the register and staff access to the correct location's POS.
  • An open current shift to process a refund, including a purchase from an earlier shift.
  • Void receipt permission or a manager PIN; exceeding the employee's refund limit also requires approval.
  • Configured inventory if stock should be restored, and the bridge and a printer/fiscal device for printing and supported fiscal operations.

Receipt Register#

Each location maintains its own receipt numbering — numbers run sequentially and do not repeat. The register displays:

  • sale date and time;
  • receipt number and associated order number;
  • items, quantities, and totals;
  • payment method — cash, card, online, gift card, "on credit", corporate account, as well as split payments (part cash, part card) — amount due and change;
  • cashier and shift;
  • type: Sale, Refund, or Advance — an advance receipt for an order that is not yet closed; the advance button appears only where the POS is connected to a fiscal device capable of printing such receipts (Russia, 54-FZ).

The receipt is printed as a tax receipt — with seller details and a breakdown of tax amounts by rate — if a tax number is specified in the location details. The country itself does not affect anything: locations where receipts are printed by a fiscal registrar (Georgia, Russia) simply leave these fields blank, and the receipt prints as before. The type of number (VAT, GST, ABN, TRN, INN, TIN) only changes the field label when printed. A refund inherits the details and proportional share of the tax from the original receipt — as a snapshot from the moment of sale, not from current settings.

Receipts can be reprinted from history using Print receipt; whether a manager PIN is needed depends on the role.

“What happened to the check” marks#

Marks appear under a sale receipt's row when something happened to the check after it was opened:

Mark Meaning Source
↺ reopened the paid order was opened again risky operations log
÷ split the bill was paid with several receipts; tap the mark to see all receipts of the order the order's receipts
⇄ items moved items were moved between this bill and another one; both bills get the mark log
👤 transferred the check was handed over to another server log
✖ cancelled after payment the order was cancelled after it had been paid log

A number on a mark, for example ×2, shows how many times it happened (“split” has no number — the receipt numbers of the order are in the tooltip). Hover over a mark to see what exactly happened and who did it. For the owner and manager, a log mark opens the order's feed in Statistics → Risky operations in a new tab — who did what and when — without losing the ticket on the register. Cashiers don't see log marks: the statistics section is closed to them by permissions. Everyone sees the “split” mark.

An extra payment after a reopen is not a split: two receipts with a reopen between them get only the “reopened” mark. The log comes from the Finance database and is refreshed by a sync every half hour, so an event from the last few minutes may not show on the receipt right away.

Printing and Reprinting#

Sale and refund receipts are printed on a thermal printer via Cenaly Hardware Bridge, with browser print fallback. If the printer is offline, the job is queued in the bridge — this is a distinct outcome, meaning that the guest has not yet received the receipt. Learn more in Kitchen and Dining Area Printing.

Fiscal and non-fiscal locations are different stories. If the location hardware includes only a fiscal registrar, the bridge does not print our receipt through it and the browser fallback is not triggered: the POS reports that the fiscal cash register itself is printing the receipt — and that is true, the guest received the document. If there is no fiscal registrar at the location at all, the POS displays a "Non-fiscal mode" badge explaining that "what the POS prints is not a fiscal receipt," and the receipts themselves include the line "Not a fiscal document."

A receipt refund is also an operation recorded in this log.


A guest asks for a receipt copy#

A guest calls Coffee Shop on Tverskaya: yesterday they paid 1,450 ₽ to cashier Anna and now need a copy. Start with the location and approximate date to avoid browsing the whole history.

  1. Open the correct location in POS → Receipts.
  2. Set Period to Yesterday. Other choices are All, Today, 7 days and 30 days.
  3. In Find a receipt, with the placeholder Receipt or order number, amount, enter 1450 without a space or currency symbol.
  4. Check the time, cashier and items in the matching receipts. If the guest does not remember the amount, replace the query with Anna (or the cashier's recorded name, such as Анна).

There is one search field: enter one known detail and combine it with the period. Anna 1450 does not set two separate conditions.

What the guest knows What to enter
Receipt number 12, №12 or #12; the exact match comes first, followed by numbers starting with those digits
Order number The whole number or part of it
Cashier A name or at least two characters from it; case does not matter
Amount 1450, 1450,50 or 1450.50, without thousands separators; refunds also match the absolute amount
Serial number or IMEI The full number of at least four characters, or at least its last five characters
Gift receipt code The full code from the gift receipt; it finds the linked sale specifically

The 7 days and 30 days periods include today. Filtering uses the cashier device's time zone; keep this in mind around midnight when working remotely from a different zone.

Once you have found the receipt, follow Printing and Reprinting; if a PIN is requested, see Reprint with a PIN. For an electronic copy, see Electronic receipts, which covers sending and QR receipts separately.

If nothing matches: click Reset filters, check the location and try All. Remove spaces from the amount or search by order number. If the number matches but the items do not, confirm the date and location with the guest before sending a copy.

More filters: payment, table, item, discount, card, custom dates#

A guest calls: "I paid by card the day before yesterday at table 5, the card ends in 1234." They do not remember the amount, so narrow the history by what they do remember.

  1. In the period row, choose Dates and set From and To — the same day if the date is known exactly. Both dates are included.
  2. Click More filters. The button shows how many filters are set, for example More filters · 2.
  3. In Payment, choose Card. A receipt with a split payment where part was paid by card also matches.
  4. In Table, enter 5. Digits are matched to the table number exactly: 5 finds "Table 5" but not "Table 15". Text matches part of the name — terr finds "Terrace 2".
  5. If the terminal reported the last card digits, enter them in Card, last 4 digits.

You can also use Item (at least two letters of the name, or the item ID) and With a discount (an order discount, or an item sold below its price). All filters combine with the search field and the period. Filtering runs on the location history already loaded, so a long date range does not slow the POS down.

The table is stored in the receipt for sales from this update on: on the web POS and in the POS and waiter apps for Android, Windows and Ubuntu (apps — from the version released after the update). Older receipts have no table — find them by payment, dates and amount. A refund inherits the table of its sale.

In the POS apps for Android, Windows and Ubuntu, the Receipts window searches the same way: search line, periods, Dates and More filters. The table is shown in the receipt row next to the cashier. Only the web POS searches by serial number and gift receipt code.


Fix a closed bill#

If a guest wants more items after paying, you can reopen the order while keeping the payment already taken.

  1. Open the closed order in the POS and choose ↩️ Reopen order from its actions menu. The role needs Floor panel on POS permission. If it cannot void without approval, a supervisor’s PIN is required.
  2. Add the items and check the remaining amount. The previous payment stays as a paid part of the bill; do not collect it again.
  3. Take the extra payment. It gets a separate, second receipt; the original receipt is not rewritten. For example, adding a 200 ₽ drink to an already paid 1,000 ₽ bill produces a new receipt for the extra 200 ₽.

If a gift card, debt, deposit or advance payment prevents reopening, place the extra items in a new order. If the order cannot be read because there is no connection, reconnect and try again.

Tip after payment#

On the screen after payment, choose + Add tip to open Tip after payment, then enter the amount and payment method. This is available only during the same cash shift that closed the bill. The tip is recorded as a separate payment without changing the original receipt. The POS rejects it if the current shift is different.

Reprint with a PIN#

In receipt history, choose Print receipt. If the role has Receipt reprint needs a manager PIN enabled, ask a manager to confirm. This is a role setting, not a general amount threshold. Reprinting is recorded in the risky operations log.

Reopening does not refund money or correct a fiscal document. For refunds and correction receipts on cenaly.ru, follow the dedicated guide.


Receipt Refund#

You can refund a purchase from the current or an earlier shift. Processing requires an open current shift and the Void receipt permission. If the employee lacks permission or exceeds their refund limit, a manager PIN is required.

  1. On the POS, press Refund, or open ⋯ → Receipts for receipt history. Use Find a receipt to enter a number, amount or serial number/IMEI and select a period. See the search instructions above.
  2. Check the items and sale date, then press ↩ Refund on the matching receipt.
  3. Press Whole receipt, or enter individual item quantities. Previously returned quantities cannot be refunded again.
  4. Check Refund total at the bottom. A partial refund includes the item's share of the receipt discount; the service charge and tips are returned in full only with a full refund.
  1. Under Refund to, choose Cash, Card, or 🎁 To balance when available.
  2. Check Return goods to stock using the rules below. Select a reason chip or enter your own in Reason (optional).
  3. Press Issue refund, obtain manager approval if requested, and complete the terminal action for a card refund.

Result: a separate Refund receipt has a negative total and links to the original sale. The original receipt is kept. Cash is paid out of the current shift, even for yesterday's purchase, and appears in its cash report. A fiscal refund is also issued when supported by the connected fiscal device.

Refund to a card or balance#

For a card sale with a saved terminal transaction, the POS sends the refund to the original sale terminal through the bridge. Follow the device instructions. Without a terminal connection or original transaction, refund the money manually: a register entry alone does not transfer money to a card.

🎁 To balance issues a gift card for a future purchase for the refund amount; no cash leaves the drawer. Agree this method with the guest. It is available online for this location's purchase paid entirely by cash or entirely by card, with Refund to customer balance enabled under the POS settings gear → Cashier control. The setting is off by default. This method is unavailable for exchanges or mixed payments.

Set up reasons#

In Settings → Orders → Return & cancellation reasons, configure the list for the location. Returns, Cancellations and Refunds control where a reason appears; POS money refunds use the Refunds scope. The refund dialog still accepts free text.

Purchase from another network location#

With Returns of purchases from other locations enabled, receipt history includes Bought in another location? Search there. Find the receipt by receipt or order number, check the original location and open the refund. This requires an internet connection, the same currency and legal entity, and manager approval if the employee lacks the necessary permission.

The refund belongs to the current location: its shift, receipt register and inventory when restocking is selected. A card transaction tied to the other location's terminal is blocked; To balance is unavailable here. Follow the reason shown in the dialog instead of creating a separate sale to bypass the restriction.

Return to Inventory#

Return goods to stock is a checkbox below the refund methods. Its initial state depends on the selected lines:

Items being returned Initial state
Goods, a product variant or a dish with unit stock tracking Checked
A recipe-based cooked dish or preparation Unchecked
Goods together with a cooked dish Unchecked for the whole refund

The cashier changes it in the current refund dialog. There is no separate setting for a global default: it is calculated from the items. Once changed manually, the choice stays until the form is closed. Services do not affect inventory.

When refunding only money for an eaten dish or a poured drink, leave it unchecked: ingredients should not reappear in stock. With the checkbox selected and inventory tracking configured, returned items restore stock; check the movement in Inventory.

Prepayments and Online Orders#

Refund an advance or prepayment#

  1. Find the original Advance receipt for the order in receipt history.
  2. Press ↩ Refund, select available lines/quantities or Whole receipt, and check the total.
  3. Select the payout method and issue the refund in an open shift.

This refunds a prepayment receipt; it is not an unrestricted amount entry. On cenaly.ru, the original prepayment indicator is carried into the fiscal refund when it is saved in the original receipt and supported by the device. If an old receipt lacks the indicator, the POS cannot recover it automatically.

Refund an online order at the POS#

Open Online orders, find the paid order and press Refund. If the sale is not yet in the receipt register, the POS prepares it from the order and opens the usual full or partial refund form. Order data must be available and a shift must be open; if loading fails, restore the connection and retry.

The POS operation does not initiate an internet payment refund through the payment gateway. To return money using the original online method, use a request in Returns or the refund action in the order — Returns and refunds. The requests section is unavailable on cenaly.ru. Do not pay cash again if the gateway has already refunded the money.

Voiding an Unpaid Item versus Refunding#

Operation When Money Fiscal document Inventory
Void an item The item has not been paid for No payment to return No refund receipt Depends on preparation stage and previous stock movements; does not mean turning cooked food back into ingredients
Receipt refund Payment has been recorded Payout or agreed store credit Refund when supported by the fiscal device Depends on Return goods to stock and inventory setup

To remove an item already sent to the kitchen, follow Dining room orders: voiding has its own reasons and manager approval.

Correction Receipts on cenaly.ru#

Open Hardware → fiscal device → Correction receipt (54-FZ). The panel appears for a device that supports corrections. Choose Correction kind and Basis, fill in the base document, Amount, VAT group, and an optional description. Review the details and confirmation before pressing Issue correction receipt.

This is an amount-only document without item lines, unrelated to an order. It does not replace a payout to the guest or appear in the regular POS receipt register. See Correction receipts for the detailed workflow.


Item Exchange#

Exchange is a two-step process:

  1. Return — process a return based on the original receipt (full or partial).
  2. New order — the POS opens an empty ticket, already marked as "Exchange". Add the new items and process the payment as usual.

This way, each step has its own receipt, and the history remains transparent.


Refunds in Financial Reports#

All refunds are accounted for in the Finance section:

  • "Refunds" KPI — the total amount of refunds for the period;
  • refunds are deducted from revenue — the final figures reflect net turnover;
  • refund dynamics are compared with the previous period.

Use this to compare refund amounts across periods. There is no breakdown of POS refunds by reason here.


Limitations#

  • There is no refund without an original receipt. A register entry is required; a lost paper copy can be found using sale details. Preparing a receipt from an existing online order is a separate flow, not a manual refund for any purchase.

  • There is no search by fiscal receipt QR code or fiscal document signature (FPD). Use the number, amount, serial number/IMEI and periods.

  • Refunding an on-credit sale does not reduce the guest's debt. Before paying money out, check how much was actually received. The owner separately adjusts entries in the guest section's Debt book, which supports adding debt/repayment entries and Delete entry. For a partial adjustment, retain the remaining amount and an explanatory note. Use POS debt repayment only when actually receiving money, not to write off debt because of a return. See Customers.

  • Old prepayment receipts without a saved payment indicator cannot supply it for the refund; forwarding it also depends on fiscal device capabilities.

  • There is no POS refunds-by-reason report. Reason-code statistics belong to requests in Returns, not the POS receipt register.

  • Not every receipt has a table. The web POS and the POS apps record it from this update on; older receipts do not carry it. The last card digits are present only if the payment terminal reported them.

  • Search in the POS apps is narrower than on the web. The search line finds the receipt number, order number, cashier and amount; only the web POS searches by serial number and gift receipt code.

  • The receipts window has no saved filters. You can save filter sets in the order breakdown.

  • The register is also supported on cenaly.ru. Loading history requires location access and an available receipt database; missing data does not mean there were no sales.

  • There is no separate sidebar section — the registry lives inside the POS.

  • Each paid share of a split bill has its own receipt. To refund one share, find that receipt.

  • Offline you get the last snapshot of the registry, while the refund record itself joins the queue and leaves when the connection is back.

Troubleshooting#

Symptom Possible cause What to do
“Amount exceeds the refundable balance” Some items were already returned or the quantity is too high Reload history, reopen the receipt and select only the remaining quantity
The terminal did not respond The bank transaction result is unknown Check on the terminal and retry if no refund occurred. Use Complete without terminal only after a manual refund
To balance is missing The setting is off or the purchase belongs to another location Check Refund to customer balance. If the button is disabled, read its explanation: a connection and an eligible original payment method are required
The refund will not open or proceed; the POS asks to open a shift No current shift is open Open a cash shift and retry; an old purchase does not require reopening its old shift
Receipt missing Wrong location, filters or loading error Press Reset filters, choose All, check the location and connection; use the separate search for another network location
The POS requests a PIN Insufficient permission or refund limit exceeded Ask a manager; do not change the amount to bypass approval
Stock did not increase Checkbox cleared or item inventory not configured Check the form selection and inventory document; not restoring stock for an eaten dish is correct
Reprinting requires approval The role requires a manager PIN for reprints Obtain manager approval; the reprint is logged
No fiscal refund receipt Connection or printing error, or unsupported document type Check the bridge and fiscal device status; a register entry alone does not prove the document was printed

FAQ#

Can a refund be issued without an open shift?#

No. Issuing a refund requires an open POS shift — especially if the refund is made in cash (the amount is processed as a cash payout from the POS register). Open a shift in the POS section and retry the operation.

What happens if a single receipt is refunded multiple times?#

The system tracks all previous refunds for each item. With a partial refund, you can only return the quantity that has not yet been refunded previously. It is impossible to refund more than what was sold.

Does a refund decrease inventory stock?#

A refund can restore stock when Return goods to stock is checked and the item has inventory tracking configured. The checkbox starts unchecked for cooked dishes.

Does the receipt appear immediately after payment?#

Yes. The receipt is generated automatically upon processing payment through the POS and is immediately available in the receipt history. It can also be printed from there.

Are refunds visible to staff?#

The "Receipts" log and the "Refund" button are visible to any employee whose role includes access to the "POS" section, provided their shift is open; Void receipt permission and the refund limit are checked separately, with a manager PIN required when necessary (see POS). Financial dashboards with the "Refunds" KPI are accessible to the owner, manager, and roles with access to the "Finance" section.