Payments — online payments and POS tender methods
Overview#
cenaly.ge supports guest online payment and payment at the register. Availability depends on the location's country, currency, connected providers and settings. Cash-register policies are configured per location; there is no account-wide setting for all locations.
| Method | Payer | Surface |
|---|---|---|
| Online card or wallet | Guest | Storefront and checkout |
| Cash or card | Guest | Location POS |
| QR bill payment | Guest on a phone | POS and storefront bill, beta |
| Cash on delivery | Guest | Delivery, when enabled |
What you need to get started#
- A selected location, POS access and an open cash shift.
- For online payments, your own account with an available provider connected to the location.
- A configured terminal for reader payments; a connected fiscal device for fiscal receipts.
- Owner or manager permissions to configure custom tenders and staff-meal limits.
First-time setup: from legal details to the button on the till#
Payments are configured on four levels. Going in order, each step builds on the previous one, and by the end the till knows who sells, where the money goes, which terminal takes cards and which buttons guests pay with.
| Step | Where | Level | Why |
|---|---|---|---|
| 1. Legal entities and bank accounts | "Clients (CRM)" → "Seller profile" | Account | Who issues documents; each entity has its accounts and signatories |
| 2. Seller details for the receipt | Location card | Location | What this location's receipt prints |
| 3. Guest online payments | "Locations" → location → "Payments" | Location | Where money for this location's online orders goes |
| 4. Card terminal | Bridge on the till PC | Device | Which terminal takes cards at this till |
| 5. Custom tenders and buttons | Till: "Own payment methods", "Customize screen" | Location (all its tills) | Which methods and buttons the cashier sees |
| 6. Who can do what | Owner, co-owners, staff roles | Role | Who connects the provider and refunds, who only takes payments |
1. Account legal entities. In "Clients (CRM)" → "Seller profile", add your legal entities — there can be several, the main one is marked ★. Each entity can hold several bank accounts and signatories. These details go into documents.
2. Location receipt details. In the location card, fill in the seller details for the receipt — this location's receipt prints them. If two locations belong to different entities, each has its own details.
3. Location online payments. "Locations" → location → "Payments" → "Guest online payments": choose a provider, tap "Connect", enter your store keys from the provider and save. The list shows providers for the location's country and currency (set on the "General" tab); a provider that is already connected is always shown — even if the entity is abroad, you can disconnect it. Each location has its own connection, so money from different locations and entities lands in different accounts — that is how you split it. To change the payout account, reconnect the location with another store's keys; to remove the provider, tap "Disconnect". The company check (KYC) happens at the provider or bank: Cenaly doesn't hold guest money and only stores the keys, securely on the server.
4. Terminal. A card terminal connects to the bridge on the PC of the till where it stands — the till uses its own computer's terminal. On cenaly.ru a Russian terminal works separately: the amount is keyed in on it and the payment is marked in the till (details).
5. Methods and buttons at the till. "Own payment methods" (up to 12) add, for example, "Meal card" or "Voucher" — each gets its own line in the X/Z report (how to set up). Payment buttons on screen are commands: "Pay by gift card", "Mixed payment", "On credit", "Company account", and in a hotel "Charge to room". They are optional: at the till tap "Customize screen" → "Library", place the ones you need in the row above the ticket or in the ticket's "⋯", and save — every till of the location will show them.
6. Roles. Connecting and disconnecting the provider, seeing its settings and refunding online payments is for the location's owner and co-owners. Staff take payments at the till within their role and till permissions (discount, refund and void limits). If you need help from support, turn on "Support access" for a while — view or manage — and revoke it afterwards (security and data).
Check. Make a test sale with each method and close the shift: the X/Z report should show each method on its own line. For online payments, switch the provider to test mode and pay a test order from the storefront.
Guest online payments#
Connect a provider for a location and the guest will see “Pay online” at checkout. The guest completes payment on the provider page and returns to the storefront. cenaly.ge does not store card details or hold the funds; the payment goes to the location's provider account.
The order page shows the payment status. If several providers are enabled, the guest can choose among those available for the location's country and currency.
Connecting a provider#
- Open “App Store” → “Finance”, or “Locations” → the location card → “Payments”.
- In “Guest payment”, choose a provider available for that location.
- Select “Connect”, enter the provider account fields and save.
- Turn on “Online payment enabled”.
Secret keys stay in the protected backend. Use a provider's test mode for initial checks when the provider offers one; live terms and supported countries belong to that provider.
Available providers#
The current connection list includes Stripe, PayPal, Square, Airwallex, PayTabs, Bank of Georgia (iPay), TBC Bank and iyzico. The panel shows suitable options for the location's country and currency; appearing in the overall list does not mean a provider is available at every address.
Providers marked “Coming soon” cannot accept guest payments yet. For a location in Russia, no online providers are available in this flow yet; payment at the register or on delivery remains available. A QR bill link does not remove this restriction.
See the Stripe guide for connection details. Guests can add optional tips before online payment if the location enables them. Without an online provider, the order can be paid at the register; delivery orders can be paid on receipt.
Payments by location: the network overview#
An owner of several locations doesn't need to open each location card to check that every location accepts online payment and which legal entity its receipt names. Open “Locations” and select “💳 Payments by location” in the list header. Each of your locations is one row:
- Provider and mode — connected providers marked “test” or “live”. A red badge flags a provider that does not serve the location's country.
- Online payment — “Accepting”, “Guests can't pay” (the provider is connected, but online payment is off or the provider is not yet open for real money) or “Off”.
- Last check — the latest connection-check finding and its time (Stripe currently provides the connection check).
- Legal entity on the receipt — whose details the location's receipt prints.
“Payments” in a row opens that location's provider connections in a window over the overview. When you close it, the overview reloads the statuses.
Receipt legal entity from seller details#
If your legal entities are already set up in Counterparties → “Seller details”, pick one in the “Legal entity on the receipt” column. Its name, legal address and tax number (TIN, VAT, ABN, GST or TRN — whichever the details hold) become the location's receipt details at once, with no retyping in the location card. An entity set up at several locations appears in the list once. When a location's details were typed by hand and match no entity, the row shows “Own details: …”.
Connect a new location like its neighbour#
“Copy settings…” copies the non-secret payment settings from a source location to the locations you tick: custom tenders at the register, what happens to an online payment when an order is cancelled, the cash discount and guest payment from a corporate account. Provider keys are never copied: the dialog names the providers to connect again, which you do in each location's “Payments”. The receipt legal entity is not copied either — pick it in the overview.
The overview lists the locations of the current account, and all of them live in one cloud. Locations on the other brand (cenaly.ru and cenaly.com) are a separate account: check their payments after signing in there.
POS payment methods#
Open the payment window and take cash#
- Select the order in “Open orders”; from the floor plan, select the table → “🧾 Open ticket”.
- Tap “💳 Pay” with the bill total — for example, “💳 Pay · $12.50”. The arrow beside payment (“Pay ▾”) opens “Other payment methods”. If POS says “Open a cash shift to take payment”, open the shift first.
- Select “Cash”, enter “Cash received” and check “Change”. For the exact amount, choose “Exact amount”, then “Confirm payment”.
Result: payment is recorded and a fully paid order closes. In fast checkout, “💵 Cash / no change” takes payment immediately; open the window with “▾” first if you need to calculate change.
Custom tenders#
Currently beta, deployed only to the test environment: custom tenders are implemented in the web POS (browser/PWA). Open “POS appearance” → “Own payment methods · Buttons in the payment window” → “Set up”. You can also open the gear in the “Own methods” block.
An owner or manager selects “Add method”, enters “Name” and optionally “Icon”, then picks the fiscal classification under “For the fiscal receipt”:
| UI label | Use it for |
|---|---|
| “Cash” | Money goes into the drawer and expected shift cash |
| “Cashless” | Transfer, meal card or bank-app payment |
| “Offset of a prepayment” | A voucher sold earlier with its own advance receipt |
| “Other consideration” | Barter or mutual offset |
The location can have up to 12 methods. Turn on “Shown at the register” and, if desired, “Buttons in the payment window”, then select “Save”. The method is also available in “Pay ▾” and mixed payment. X/Z reports show its captured name as a separate tender row. A refund of a custom tender is returned as cash or card.
Corporate account, loyalty, gift card and debt#
The POS supports a corporate account with a daily allowance, loyalty points or stamps, a gift card (and certificate sale), and a “Credit”/debt entry with a customer limit. A manager PIN can be required when the limit is exceeded, and debt can be repaid from the register.
The guest's phone must be on the receipt for points or stamps to accrue. Physical barcode cards are a separate beta feature.
See Corporate accounts, Gift certificates, and Loyalty.
QR bill payment#
Currently beta, deployed only to the test environment: QR bill payment is available in the web POS. Open the ticket's “⋯” menu and select “QR to pay”. The register displays a bill link. The guest opens it on a phone, chooses a provider connected to that location, and pays the whole bill or a share. The register closes the bill after the online shares cover it.
This uses providers already connected to the location; it is not a separate built-in bank QR acquiring flow. The command is not shown in Android, Windows or iOS POS.
See SBP and QR for locations in Russia.
🍱 Staff meals#
Currently beta, deployed only to the test environment: staff meals are available in the web POS. Open the ticket's “⋯” menu and select “🍱 Staff meal”, then choose “Employee” or “Hospitality”. Business hospitality requires a comment explaining who it is for and why.
Select “Close as staff meal”. The order is closed with a 100% discount: the reason is “Staff meal” for an employee or “Hospitality (on the house)”. There is no payment or revenue. Ingredients are written off using recipes and cost prices, and the order is marked as a staff meal. The kitchen keeps preparing it.
In the same window, an owner or manager sets “Daily limit per employee”: enter “Meals per day” and “Amount per day”, then “Save limit”. Amounts use menu prices; zero means no limit. The policy applies to the selected location only. The window shows “Staff meals today” and the current limit. A manager PIN is required above the limit. Usage is aggregated from POS orders, so simultaneous terminals can still both pass the limit. There is no separate payroll report for taxable benefits or income tax yet. Paid staff food deducted from salary is a normal discounted sale instead.
Sell on credit and take a debt payment#
- In other payment methods, choose “🤝 On credit (debt)”. In “Close bill on credit”, find the guest by phone or name; use “New guest” to add one.
- Check “Current debt”, “Limit” and “Goes on credit”. Choose “Close bill on credit”: the entire unpaid balance goes into “Customers → Debts”, and the order closes without receiving that money.
- Exceeding the limit requires a manager PIN. If your role can approve an override, confirm it in the prompt instead.
- When the guest repays, open “⋯” → “Take debt payment”, select the debtor, enter “Payment amount”, choose cash or card and select “Take payment”. Partial repayment is allowed; the amount cannot exceed the outstanding debt.
Result: repayment reduces the debt without creating the original sale again. In Russia, when the fiscal register supports it, a fully deferred sale uses “transfer on credit” (1214=6); a sale with an already-paid portion uses “partial payment and credit” (1214=5). The debt portion is “postpayment (credit)” (1216). Repayment has a separate “credit payment” receipt (1214=7), paid by cash or card.
Take a prepayment on cenaly.ru#
- Add at least one item to an open ticket. You need an open shift and a Russian fiscal register that supports payment-method signs.
- Open “⋯” → “💰 Take prepayment”. In “Prepayment / advance”, enter “Prepayment amount” within the remaining balance and choose cash or card.
- Receive the money; run a card transaction separately on the terminal. Select “Take prepayment” and check the printing result: a prepayment record alone does not confirm that the fiscal register issued a receipt.
Result: the prepayment is linked to the order and reduces the displayed balance. The cumulative amount determines whether the receipt uses “100% prepayment” or “prepayment”. Despite the window title, it cannot take an unitemized advance. Fiscal offset of this POS prepayment in the closing receipt is not yet implemented; check the procedure with your accountant.
A table reservation deposit is a separate flow: a reservation without a selected service has a fiscal task carrying the “advance” sign. Do not record an existing deposit again with this button. See Advances and prepayments.
Location currency and rounding#
Each location has its own currency in its location card. Select the location and check its currency before configuring payments: the till uses it for totals and change.
Rounding and foreign cash are currently web POS beta features, deployed only to the test environment. An owner or manager configures them.
Round the cash total to a coin#
- In the POS appearance settings, open “Cash rounding and round-up for charity”.
- Enable cash rounding, choose the smallest coin and rounding direction, then save.
- Check the rounding line when taking cash. For example, rounding down to ₽1 changes ₽999.70 to ₽999.
The difference appears on the receipt and X/Z reports. In Russia, and whenever a fiscal device is connected, the till rounds down only; the reduction is a bill discount that respects the minimum retail price of alcohol: an item cannot fall below that floor. Coin rounding does not apply to cards, mixed payments or individual bill shares.
If the total stays the same, check that rounding is enabled, the payment method and the coin step: a total already divisible by the step does not change.
Round up for a fund#
Unavailable for locations whose country is Russia. Elsewhere, use the same settings window to enable charity round-up, enter the fund name and rounding step, and enable the round-up button in the payment window.
With the customer's agreement, the cashier selects the round-up offer showing the total and fund. The difference is separate from sales revenue and the fiscal receipt; X/Z reports group it by fund. The location must transfer the collected money to the fund itself. The offer is not available for custom tenders, foreign cash or a bill with previously paid shares.
Accept foreign cash#
Unavailable for locations whose country is Russia. Where available, open “Cash in foreign currency”, enable it, add a currency and the location's exchange rate, then save. You can configure up to four currencies and use the central-bank rate suggestion; check its date and value before taking payment. Georgia also requires the manager's confirmation in the settings.
Choose the cash currency in the payment window and enter the received amount. The till uses the saved rate and shows change in the location's currency. The receipt stays in the location's currency; X/Z reports show foreign cash separately. If there are no currency buttons, check the country, rate, enabled setting and currency-button setting. Mixed payments and guest bill splitting do not support foreign cash; refunds use the location's currency.
Cash discount (dual pricing)#
A US model: the location card hides it for other countries. In the location card, open “Dual pricing (cash discount)”, set “Cash discount, %” and save. The menu keeps card prices; when the whole bill is paid in cash in one payment, the till shows a “💵 Cash discount” line and takes the lower amount.
The discount is calculated on the items after the bill discount and coupon. Service charge, tips, delivery and packaging are not discounted. On the fiscal receipt the discount is spread across the item lines, so the receipt total equals the cash taken, excluding tips. This applies to the web POS, the POS apps for Android, Windows and Ubuntu, and Cenaly Team; in the apps, from the first build released after 31 October 2026. Card payments get no discount.
Split a bill or payment#
Three guests share a ₽3,000 bill equally. Open the split-bill window and choose the equal-split tab (or use the equal-split command if present in the layout), then set the guest count to 3. Choose a payment method and pay each share in turn: ₽1,000 per guest. Each share records a payment; the order closes when fully paid. Any rounding remainder belongs to the final share.
One customer pays ₽500 in cash and the rest by card. In “Pay ▾”, choose “🧮 Split payment”. In “Split payment”, distribute the total between methods and select “Take payment”. Enabled custom tenders are available here too. If confirmation is disabled, correct “Remaining” or “Over by”: the parts must exactly match the total.
Catch an extra zero in cash received#
- Open POS → gear → cashier controls → “Double-check large change”.
- Set “Ask when change is more than” to, for example, ₽2,000 and save. Zero disables the check.
- For a ₽1,000 bill, the cashier mistakenly enters ₽10,000. Before recording payment, the till shows the received amount, bill and ₽9,000 change.
- Choose “Fix the amount” and correct the entry. If the money was actually received, choose “Yes, give change”.
The check applies to cash entered in the main payment window, including training mode. Quick payments without amount entry and foreign cash bypass it; it does not cover mixed payments or individual bill shares.
Reader, bar tab and electronic receipt#
Reader tips require support from the connected terminal and the relevant setting. If POS reports unknown or unrecorded tips, check the terminal slip. See Tips.
Card preauthorisation for a tab is currently a web POS beta feature on the test environment. A bar tab requires a Stripe Terminal reader and bridge that support holds. Funds are held without capture; closing by card captures from the hold, while another payment method releases it. Increasing the hold is not supported. After 36 hours, the window warns about an old hold: check the tab and settle it or release the hold. This is not an automatic e-mail reminder. This workflow is not offered for Russian acquiring; see also Tips.
Electronic receipts are a web POS beta. In POS appearance settings, enable “Receipt contact at payment”. Before payment, fill in “Receipt to e-mail or phone”. On cenaly.ru, a supported fiscal register (currently ATOL) forwards the contact to the fiscal data operator; without that support, the customer receives a seller’s copy, which does not replace the fiscal receipt.
“Don’t print a paper receipt” is available with a valid contact and a register that supports electronic receipts. Face-to-face restaurant service has a separate paper-receipt rule — details; check the procedure with your accountant.
After payment, “Send receipt” sends a seller’s copy, not the fiscal data operator’s fiscal receipt, or displays a QR code. On cenaly.ru, e-mail and QR are available; SMS copies are not. See Electronic receipts.
Email a receipt copy to the customer#
- Complete payment and wait until the server has accepted the receipt. Sending requires an internet connection.
- On the Paid screen, select Send receipt. Check that the correct receipt is selected.
- Enter the customer's email address. An invalid format keeps the send button disabled.
- Select the email send button and wait for the result. The window shows a masked recipient address or an error.
- If the customer has not received the email, check the address and spam folder first. You can then send again, subject to the per-receipt sending limit.
This is a seller's copy. Sending it does not replace your country's required fiscal document or confirm that the customer has read the email. Emails are not queued offline: restore the connection and retry. Closing the window clears the address entered there.
Card payment scenarios#
Select the location and check its equipment first. On cenaly.ru, Russian bank terminals operate separately: the cashier enters the amount on the terminal and records the card payment in POS after approval. The bridge has no Russian terminal drivers yet. Stripe, Square, SumUp, Adyen/Nexo and OPI integrations serve other markets; compatibility depends on the terminal and provider. This integration has not yet been validated on live hardware.
With multiple integrated terminals, “Choose terminal” lets you select the device. POS sends the amount through the bridge; wait for the transaction result.
For a standalone terminal, “Run the payment on your terminal” asks for the result from its slip: “Approved” or “Declined”, optionally “Auth code (optional)”, then “Confirm result”. Do not mark it approved before the bank confirms it.
| Scenario | How it works in cenaly.ge | Conditions |
|---|---|---|
| Pay the full amount by card | Select card; the integrated terminal receives the amount from POS | On cenaly.ru, enter the same amount on the bank terminal and wait for approval |
| Part card, remainder cash | “Split payment”: for a ₽2,500 bill, enter ₽1,700 card and ₽800 cash, then “Take payment” | The parts must equal the total. Enter only ₽1,700 on a standalone terminal; an integrated terminal charges the card portion automatically |
| Close a bar tab against a card hold | The card portion is captured from the existing hold when the tab is closed | Web POS beta on the test stand; requires preauthorisation support (currently Stripe Terminal). Unavailable on cenaly.ru; the charge cannot exceed the hold |
| Guest pays on their own phone | “QR to pay” opens the bill with a link to the location’s connected provider | Web POS beta. This replaces giving card details to a cashier over the phone, not manual card entry. No online provider is currently available in this flow for a Russia-based location |
| Tips in POS | The cashier enters a tip before payment | With a standalone terminal, the cashier checks the terminal amount against the total; Russian terminals do not exchange amounts with POS automatically |
| Tips on the terminal screen | The guest chooses a tip on a Stripe, Square or SumUp reader | Requires a supported reader and configuration; this integrated flow is unavailable on cenaly.ru. Tested with simulated responses, not live readers |
| Tips after payment | “Add tip” adds a separate operation in the same shift | The completed card amount does not change. With an integration, this is a separate charge; on cenaly.ru, perform the bank operation separately |
If a card is declined, do not close the bill as paid. If the outcome is unknown, reconcile it first as described below. See Tips for collection and distribution details.
If the connection drops during a card payment#
An unknown outcome is not a decline: the bank may have charged the card without the response reaching POS. Do not immediately ask the guest to tap again.
- With an integrated terminal, POS first displays “Checking the terminal…” and checks the original operation without making another charge.
- If it cannot determine the outcome, it shows “Payment status unknown”. Compare the terminal operation, slip and bank details by amount and time.
- Choose “Yes — it went through” only after confirming payment, or “No — it didn't” only after confirming that no charge occurred. If the outcome is still unclear, do not guess; contact the bank.
- After a restart, POS may display “Unfinished card payment”. Choose “Check again”. If the charge is confirmed, follow the prompt: open the original order and tap “Card” to record the confirmed operation without charging again.
On cenaly.ru, POS cannot read the outcome from a separate Russian bank terminal. Check the terminal or bank portal and resolve the outcome before retrying. Checking one uncertain operation is different from reconciling terminal totals at the end of the day.
Security and refunds#
The public profile exposes only non-secret connection status. Provider credentials are not shown to guests. Online refunds depend on the provider; POS refunds are performed from the receipt during an open shift and can be full or partial.
For online payments, Orders provides review cases titled “The order is cancelled but paid online” and “The order was paid online twice”. “Refund” with the displayed amount requests a refund through the connected provider. “Refunded outside the system” only records a refund already made manually; it does not move money. This online payment flow is not yet available on cenaly.ru.
Online refunds are not limited to the owner: for a role with the Online payments: statuses and refunds right at the Edit level and Refunds and voids without approval, the server allows refunds at the role’s locations up to the Online payment refund cap. At the View level the employee sees only connection statuses in the location Payments, without keys. See Roles, permissions and till restrictions.
Limitations#
There is no “we owe the guest” report for advances yet. Guest debts are listed in “Customers → Debts”.
POS prepayments require items; fiscal offset of their amount in the closing receipt is not yet implemented.
Per-item rounding and rounding thresholds by bill amount are not configurable yet.
Donations on a bank terminal screen are not supported. Fund rounding in POS outside Russia is a separate feature described above.
Partial card approval is not supported: POS does not handle a bank approving less than requested. Split payment is a deliberate allocation, not partial approval.
Manual card-number and security-code entry is not available. Do not request card details over the phone or in messages; use the payment provider’s page where available.
An existing card hold cannot be increased.
Russian bank terminal drivers are not available yet; on cenaly.ru, enter amounts and process refunds separately on the terminal.
Custom tenders, QR bill payment and staff meals are beta in the test environment only. Android, Windows and iOS POS apps do not show these commands yet.
Tenders, limits and provider connections are configured per location, not for the whole account.
QR bill payment requires an active provider for that location. A QR link does not connect acquiring by itself.
Custom tenders are not available for guest-by-guest bill splits; separate voucher-operator receivables accounting is not available yet.
Only unpaid, non-delivery bills can be closed as staff meals. Simultaneous terminals may both exceed the daily limit.
The location chooses the fiscal classification of a custom tender; consult the accountant when unsure.
Troubleshooting#
| Symptom | Cause | What to do |
|---|---|---|
| “Payment status unknown” | The terminal response was lost; the card may have been charged | Check the terminal, slip and bank as described above; do not retry a charge blindly |
| “Take prepayment” is missing | The register does not report payment-method sign support; an empty or locked ticket disables the command | Check the Russian fiscal register, add an item, wait for the ticket to unlock and open a shift |
| Receipt contact field is missing | The POS appearance option is off | Enable “Receipt contact at payment” and open the regular payment window |
| Debt limit exceeded | Existing debt plus the new amount exceeds the applicable limit | Obtain a manager PIN or confirm the override if your role allows it |
| No large-change question | Threshold is off, change is within it, or another payment flow is used | Check this location’s threshold and use the main cash payment window |
| “Own payment methods” is missing | No location selected, or the feature is not enabled for your account yet | Check beta availability; only an owner or manager can edit |
| Custom method is not offered | It is inactive or shortcut buttons are off | Enable “Shown at the register” and “Buttons in the payment window” |
| QR command is missing | Feature not enabled for your account yet, no provider or a native POS app | Check beta availability and provider connection |
| Staff meal cannot be confirmed | Employee is missing, bill is partly paid, or limit is exceeded | Select an employee, use an unpaid bill, and obtain manager PIN |
FAQ#
Can I configure one tender for every location?
No. Tenders, policies and providers are configured in each location profile.
Is a staff meal a normal sale?
No. The free staff-meal flow closes the bill with a 100% discount, creates no revenue and does not issue a fiscal receipt. Salary deduction is a separate discounted sale.
Can QR cover only part of a bill?
Yes. QR can cover the whole bill or a share; the remainder can be paid at the register.
What name will the guest see on their card statement?
Your bank or payment provider sets it under your merchant agreement — it isn't configured in Cenaly. The payment description at the provider is the order number.
We have two legal entities — how do we split the money between accounts?
Connect each location to a provider store of its own entity: the connection lives on the location, so the location's money goes to its account. Add both entities in "Seller profile" for documents.
Can a manager configure payments?
Connecting the provider and its keys stay with the location's owner and co-owners. Viewing connection statuses and refunding online payments can be delegated to a manager with the Online payments: statuses and refunds role right and a per-refund cap — see Security and refunds above. Cashiers take payments at the till within their permissions.