Orders
Hyvä POS is in closed beta
Hyvä POS is currently in a closed beta (pilot phase) with a small group of merchants. It is not yet generally available: the App Store release follows the pilot, and features and configuration may still change, possibly in backwards-incompatible ways, before the general release. Want to take part? Sign up at hyva.io/pos.
The Orders tab shows every order of the store, online and in-store, live from Magento's order API. Browsing only reads: nothing is written until the cashier takes an action, and every action lands as a regular Magento operation.
Search and Filters
Search covers order number, customer email and customer name. Filters and sorting:
- Status: multi-select across your order statuses.
- Pickup: a pill that narrows the list to in-store pickup orders (and becomes the classified queue on PRO, below).
- Customer, date range, has-discount, has-tax.
- Sort by date, total or order number.
Recently fetched orders are cached on the device, so when the connection drops the list keeps working: search, the status filter and sorting run against the cache, while the customer, date and amount filters need the connection.
Order Detail
Opening an order shows the full record:
- Lines and totals: items, quantities, discounts, tax, grand total.
- Payment: method and payment details as Magento recorded them.
- Addresses: billing and shipping.
- Documents: invoices, shipments with tracking, credit memos, and POS refund receipts, each expandable to its own detail view.
- Status history: every comment and state change, including the audit comments POS actions write.
- Pickup banner: pickup orders show their current state (awaiting stock, ready, picked up) at the top.
- Returns (RMA): their own section on PRO.
The app also knows which orders came from a register: POS orders carry their origin in the payment metadata, and only those offer register actions like receipt reprint.
Order Actions
From the detail view the cashier can act on the order:
- Add Comment: a note into the order's status history, visible in the Magento admin.
- Resend Email: the order confirmation or the invoice email, with an editable recipient for the guest who mistyped their address at checkout.
- Ship with carrier: create a shipment with carrier and tracking number, for all items or a subset. Covers fulfilling a web order from the store and recovering an order whose automatic shipment failed.
- Refund: a credit-memo refund against the order, described on the returns page. If a refund was started but never settled, Finish Refund and Abort Refund tiles take its place.
- Reorder: the same items into the current cart for a repeat purchase.
- View Receipt: reprint or resend the receipt of a POS-origin order.
Refunds respect the staff refund permission. On PRO, the standalone refund tile can be hidden from global settings for merchants whose refunds run through an external RMA module, and two actions are added: Process Return (the staged RMA workflow) and packing-slip printing on shipments.
Buy Online, Pick Up in Store
A customer who ordered online walks in to collect. Find the order, hand over the goods, tap Complete Pickup. The completion:
- records who collected, prefilled with the order's customer and editable when a delegate collects, plus an optional comment ("ID checked");
- creates the shipment if none exists yet, so Magento deducts the stock;
- appends the handoff to the order's status history;
- offers a per-pickup email confirmation toggle (on by default).
Handover works on the free tier: the register creates a standard Magento shipment and records who collected in the order history, and Magento closes the order once every line is shipped. Two parts of the completion need the PRO module, which owns the server-side completion route:
- the shipment is booked against the terminal's location source. A free register has no location, so Magento picks the source by its own rules;
- the order is flipped to a post-pickup status you configure per location, and the email is the dedicated pickup confirmation. On the free tier the toggle sends Magento's shipment email instead.
In-store pickup is part of Magento Inventory. On a store without it, the Orders tab shows "Pickups need Magento Inventory (MSI) on this store." in place of the pickup filter, and on PRO a pickup completion is refused with "Pickups need Magento Inventory. This store does not have it installed."
When completion fails because stock is not assigned to the location's source, the app names the SKUs and links into stock management to fix it.
On PRO, a not-yet-shipped pickup order can also be canceled from the same screen: the reserved stock is restored, and the required reason lands in the order history.
The Pickup Queue
On PRO, with the terminal bound to a location, the Orders tab's pickup pill becomes a classified queue scoped to the location's stock source. Magento classifies every open pickup and each row shows its state as a badge:
- Ready for Collection: every line has stock at the location's source.
- Awaiting Stock: at least one line is still short.
- Stale: awaiting stock for more than two weeks.
The pickup filter also has a Collected view: the pickups handed over at the location, newest first, from the completion records the register writes at handover. It holds the latest 200 collections. The default filter chooses from the open-queue views only.
The cashier switches slices per lookup. Which slice the tab opens with is Settings → Checkout → Pickup Queue → Default Pickup Filter; the same default can be set centrally in Stores → Configuration → Hyvä POS → Terminal Defaults → Pickup Defaults → Default Pickup Queue Filter and locked with Lock Pickup Queue Filter. Magento's value applies as it arrives; locked, the device cannot change it, and unlocked, a device edit holds until Magento's value next changes.
What Makes an Order Ready
Readiness is not set by hand: the queue computes it, live, on every fetch. An order is ready when the location's stock source holds enough on-hand quantity for every line still awaiting handover; otherwise it is awaiting stock, and after 14 days of waiting it becomes stale. There is no admin action, no cron job and no button: receive the goods in Magento (a purchase-order receipt, a source transfer, a stock correction) and the order shows ready the next time a register fetches or polls the queue.
Because readiness is a computed answer rather than a stored event, no automatic "your order is ready" email exists in the POS flow. The customer email is sent at completion, when the goods are handed over. Ready-time notification is Adobe Commerce's notify-ready flow, which the queue respects: lines already shipped through it count as handed over.
The Dashboard Pickup Tile
The register dashboard's Pickup tile can carry a live ready-for-collection count. Enable Check for New Pickups under Settings → Checkout → Pickup Queue and pick a Check Interval: every 1, 2, 5 or 15 minutes. Polling is opt-in and only runs while the dashboard is on screen. Tapping the tile opens the ready slice, and completing a pickup refreshes the count.
Refund an Online Purchase In-Store
A product bought online arrived damaged. Refund it at the counter against the original order, like a return of an in-store sale.
Where It's Configured
| What | On the register | In the Magento admin | Which wins |
|---|---|---|---|
| Default pickup-queue slice | Settings → Checkout → Pickup Queue | Stores → Configuration → Hyvä POS → Terminal Defaults → Pickup Defaults → Default Pickup Queue Filter, lockable (PRO) | Magento's value applies as it arrives; unlocked, a device edit holds until Magento's value next changes |
| Pickup polling + interval | Settings → Checkout → Pickup Queue | Device, always opt-in | |
| Post-pickup order status | Stores → Configuration → Hyvä POS → Terminal Defaults → Pickup Defaults → Post-Pickup Order Status, per-location override (PRO) | Magento, always | |
| Built-in refund tile | Stores → Configuration → Hyvä POS → Payments → Refunds → Enable Built-in Refund (PRO) | Magento; shown by default |
PRO
PRO adds the staged RMA workflow, the classified pickup queue with its dashboard tile, pickup cancellation, special orders with backorder-and-pickup-later lines, and shipping labels from the cash drawer.