Customers
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.
Your Magento customers, at the counter. Someone who shops online walks into the store and is the same customer, with the same account, order history and group pricing. The register reads customer records live from Magento's customer API and keeps a local copy for offline lookups; it writes back only when the cashier creates or edits an account.
Find and Attach
Search by name or email from the checkout screen or the Customers tab. Results come live from Magento, with the locally cached customer list filling in when the connection is slow or gone.
Attaching a customer to the sale does two things immediately:
- The sale will land in the customer's Magento order history, so "when did I buy this?" has an answer next visit - online or at the counter.
- Their customer-group pricing applies: tier prices and group-specific prices re-resolve on every cart line the moment the customer is attached.
Groups themselves are plain Magento customer groups. A wholesale customer gets wholesale prices at the register with nothing POS-specific to set up.
Guest and Walk-in Sales
Nothing forces an account on someone buying a coffee. A Guest Checkout button clears the attached customer, and a sale without one books to your walk-in customer - a set of default name, email, phone and address values stamped on the order so every POS order is a complete Magento order.
- On the free tier, the walk-in values live per device under Settings → Walk-in Customer. Empty fields fall back to safe placeholder values on the order; fill in real ones if your jurisdiction requires a complete address on receipts.
- On PRO, the walk-in defaults come from Magento - Stores → Configuration → Hyvä → POS, or a per-location override - and empty fields inherit the resolved store address.
When the admin locks the walk-in settings, the fields show as managed on the register and the Magento values win. Unlocked, the device value stands.
An anonymous sale is not lost forever either: on PRO, the customer can later claim the receipt into their account by scanning the receipt QR code while logged in.
Create at the Register
New customer? Create the account during the sale:
- Required: first name, last name, email.
- Optional: company, VAT number, and a first address (street, city, postcode, country, phone) one disclosure-tap away - worth capturing for VAT-relevant B2B sales and shipped orders.
- Create Account in Magento checkbox: checked, the details become a real account; unchecked, they only ride along on this sale.
The account is a normal Magento customer, created through the standard customer API on the free tier, and immediately usable online with a password-reset email. New accounts start in your store's default customer group.
Validation
On the free tier the register checks the basics before submitting: required fields present, email shaped like an email. Magento remains the authority and its errors surface inline.
On PRO, creation runs through a server-side validator pool - once live while the cashier types, and again authoritatively at save. Validators return graded outcomes:
- Errors block the save (a duplicate email, a missing required field).
- Warnings inform but let the save through.
- Suggestions offer a corrected value the cashier accepts with one tap - a normalized VAT number, a fixed postcode format.
First-party validators cover required fields, email uniqueness, EU VAT-number format and per-country postcode patterns. Agencies add their own for address-verification services or house rules - see customer validators.
Edit at the Register
From the customer's detail panel the cashier can correct the name and email, and manage the address book in full: add, edit and delete addresses, set the default billing and shipping flags, with postcode formats checked per country. Changes save straight to the Magento customer record.
The customer group can be changed too, but only by staff with the manage-groups permission - moving someone onto a wholesale price list is a pricing decision, not a typo fix. Everything beyond that (custom attributes, account status) belongs in the Magento admin, and the edit screen says so.
Customer Details
The detail panel shows the profile, addresses and full Magento order history. On PRO it also shows the customer's webshop wishlist - handy when someone walks in for "that thing I saved online" - plus store credit, gift card and reward point balances where a credit provider is installed.
Also on PRO: a newsletter toggle - subscribe or unsubscribe the customer right from the register, with the same validation the webshop applies - and the Customer Insights tile: spend, purchase frequency, and what they bought last time, computed live when tapped.
Where OTP Applies
The cashier never needs a customer's password: at the register, staff act on the customer's behalf. The one place a customer signs themselves in is self-checkout (PRO): the shopper enters their email on the kiosk, Magento emails a one-time code, and entering it attaches their account to the kiosk cart - group pricing and order history included, no password typed on a shared screen. Codes expire, and repeated wrong attempts are rate-limited server-side.
Where It's Configured
| What | On the register | In the Magento admin | Which wins |
|---|---|---|---|
| Walk-in customer defaults | Settings → Walk-in Customer | Stores → Configuration → Hyvä → POS, per-location override (PRO) | Magento when locked; otherwise the device |
| Customer groups and group prices | - | Standard Magento customer groups and catalog | Magento, always |
| Creation validators | - | PRO validator pool, merchant-extendable | Magento, always |