Skip to main content

Sell at the point of sale (POS)

The POS Register is a full-screen checkout for in-person sales. You open a register drawer for the shift, build a cart, and take payment — and each completed sale becomes a paid, fully fulfilled sales order that decrements on-hand stock at the register's warehouse the moment you charge it. This guide covers a shift end to end: open, sell, refund, and close.

A few terms used on this page
  • Register session (drawer) — one cashier's open shift at one warehouse. A session is tied to a single warehouse for its entire life, so every sale on it pulls stock from — and every refund returns stock to — that one location.
  • Tender — how the customer pays: cash, card, store credit, gift card, or on account. A single sale can combine several tenders (a split).
  • Walk-in — a sale with no customer attached. The register never forces you to attach a customer; store credit, house account, saved cards, and loyalty become available only once you attach one.

Before you begin

RequirementWhy it's needed
Operate POS permission (pos.operate)Required for everything on the register — opening a drawer, building carts, taking payment, and printing receipts.
Refund POS permission (pos.refund)The Refund sale action on a completed sale only works with it.
Manage POS permission (pos.manage)Needed to change POS Settings (the card processor / Square location) and to operate or close a drawer that another cashier opened.
At least one warehouseThe register draws stock from the warehouse you pick when you open the drawer. It's fixed for the whole shift.
Products with on-hand stock at that warehouseA POS sale fulfils in real time, so it decrements on-hand stock immediately at the register's warehouse.
A configured card processor (optional)Card tenders are charged through Square or Stripe. Cash, store credit, gift card, and on-account sales work without one.
tip

Open the register from Orders → POS Register in the main navigation. It takes over the whole screen — the app sidebar and top bar drop away so nothing distracts from checkout. Use Exit register (top-right) to step back into the rest of SKU.io without closing your drawer.

Open the register

Before you can sell, open a drawer for your shift. The register asks for two things: the warehouse it sells from and the cash already in the till.

  1. Go to Orders → POS Register.
  2. In Warehouse (register location), pick the physical location this till sells from — for example, Main Warehouse.
  3. Enter the Opening cash float — the change fund already in the drawer before any sales. Enter 0 for an empty drawer.
  4. Click Open Register.

What you'll see: the register opens with an Open · Main Warehouse chip in the top bar and an empty Cart ready for the first sale.

The warehouse is locked for the whole shift

You choose the warehouse once, at open. Every sale on this drawer draws stock from it, and a sale can't pull inventory from anywhere else. To sell from a different location, close this register and open a new one there.

Register sessions belong to one cashier

Each open drawer is tied to the user who opened it. You can only ring sales against your own open drawer, and only the cashier who opened a drawer can close it — unless you hold Manage POS (pos.manage), which lets you operate or close anyone's drawer (for end-of-day, or a cashier who left mid-shift).

Choose the card processor (optional)

Card tenders are charged through Square or Stripe. To change which processor the register uses:

  1. Click the settings (gear) icon in the top bar to open POS Settings.
  2. Choose the Card payment processor.
  3. For Square, pick the Square location the register belongs to — it's required to show the in-browser card form.
  4. Click Save.

Changing the processor needs the Manage POS permission. Cash and the non-card tenders are unaffected by this setting.

Build the cart

Add products, optionally attach a customer, and set the tax rate — all from the Cart panel on the left.

  1. Add a product. Scan its barcode, type a SKU or name into Add product (scan or search by SKU / name), or tap a tile in the Browse products grid below the cart. Each product becomes a cart line — for example, Stainless Water Bottle 750ml.
  2. Set the quantity. Use the / + stepper on the line, or type into the quantity box. Adding the same product again bumps its quantity by one.
  3. Adjust the unit price if needed. The @ $… each field on each line is editable for a one-off price override.
  4. Set the tax rate. Choose a rate in the Tax rate selector in the Payment panel. Leave it blank for a tax-free sale. Changing it re-computes the total.

To remove a line, click Remove on it; to empty the cart, click Clear in the panel header.

Attach or create a customer

A sale is a walk-in unless you attach a customer. Attaching one unlocks tiered pricing, tax exemption, store credit, house account, saved cards, and loyalty.

  • Attach an existing customer: search by name, company, email, or phone in the Customer field and select a match — for example, Blue Bottle Retail.
  • Create one inline: click New, fill in at least the Name, then click Save & Attach. If the details match a customer that already exists, the register attaches that existing record instead of creating a duplicate.

Once attached, the customer shows chips for their pricing tier, store credit balance, and Tax exempt status where they apply. Click the × on the customer to detach and sell as a walk-in again.

Pricing tier and tax exemption are applied by the system

When the attached customer has an assigned pricing tier, the register re-prices each line from that tier (and the server re-prices authoritatively at checkout, falling back to the shown price for any product without a tier price). A tax-exempt customer is charged no tax regardless of the selected rate — the Tax line reads Tax (exempt) and drops to zero.

Sell a gift card or redeem loyalty points (optional)

  • Sell a gift card: expand Sell a gift card, enter an Amount (and optionally a code), and click Add. The card's value is added to the sale total, never taxed, and the card is activated when you complete the sale.
  • Redeem loyalty points: with a customer attached and the loyalty program on, enter a points figure in Redeem points. The register converts them to a Loyalty discount that comes off the total. (The discount is recorded on the resulting order as an order-level discount named Loyalty Redemption.)

Hold a sale for later

To park the current ticket and start a fresh one — for example, while a customer fetches a forgotten item — click Hold sale in the top bar. Retrieve it later from the Held menu and click Resume. Held sales are scoped to the open drawer and clear when you close it.

Take payment

When the cart is ready, take payment. The register opens a focused Take payment sheet, then completes the sale.

  1. Confirm the Total Due in the Payment panel.
  2. Click Charge $…. The Take payment sheet slides over the register.
  3. Choose a tender from the toggle: Cash, Card, Store Credit, Gift Card, or On Account. (Store Credit and On Account appear only when the attached customer supports them.)
  4. Enter the tender details (see the table below).
  5. Click Complete Sale · $….

What you'll see: a green Sale complete — SO-DOCS-0007 banner with the new order number and any change due. The cart clears, ready for the next customer, and the sale appears in Recent Sales.

Tender details

TenderWhat to enter
CashType the Amount tendered, or use a quick-cash button (or Exact · $…) or the on-screen keypad. Change due updates live.
CardWith a processor configured, enter the card in the in-browser form; otherwise enter a Card payment source (a Web Payments token or terminal reference). A saved card on file for the attached customer can be selected under Pay with.
Store CreditDraws down the attached customer's wallet. The panel shows the balance and the remaining amount after the sale.
Gift CardEnter the Gift card code and click Check to reveal the balance before it's applied. One gift card per sale.
On AccountCharges the amount to the attached customer's house account (their receivable), drawing down their available credit. Only customers with a house account enabled can pay this way.

Split a payment across tenders

To settle one sale with more than one tender — part cash, the rest on a card — turn on Split payment in the sheet and enter an amount against each tender. The Tendered and Change due figures reconcile the split against the total.

One tender can't cover the whole sale? Use Split

Card, store credit, gift card, and on-account are exact-settlement tenders — only cash returns change. If a customer's store credit or gift card balance is less than the total, the register won't let that tender stand alone; it prompts you to turn on Split payment to combine it with cash or a card.

The Charge and Complete Sale buttons explain why they're blocked

Both buttons stay disabled until the sale is valid, and each shows a tooltip with the exact reason — for example "Add at least one product or gift card to the sale.", "The amount tendered is less than the total due.", or "Enter a gift card code." Clear the reason and the button enables.

What completing a sale creates

Charging the sale creates a sales order already at Open status (never a draft), records the payment, and fulfils it in real time — so the order rolls up to Fulfilled and Closed, and on-hand stock is decremented at the register's warehouse. See How sales order status works and How fulfilling moves inventory and realizes COGS. The register requires an open drawer to check out, and each charge carries an idempotency token so a network retry never double-charges the card.

Each completed sale can produce a receipt from Recent Sales:

  • Click View receipt to open it, then Print, or enter an Email / Phone and click Send to deliver an e-receipt. (SMS delivery isn't enabled yet — the phone number is captured to send later.)
  • Click Print receipt to send it straight to the printer without opening the dialog.

Refund a completed sale

You can refund an in-store sale in full from the Recent Sales list. A refund credits and restocks the items, and either reverses the original payment or tops up the customer's store-credit wallet. Refunding needs the Refund POS permission.

  1. Find the sale in Recent Sales.
  2. Click the Refund sale (cash-refund) action on its row.
  3. Choose where the money goes:
    • Refund to original payment — reverses the card through the processor (cash is returned at the drawer) and raises a full sales credit.
    • Refund to store credit — tops up the customer's wallet with the sale total instead of touching the card. This option needs a customer attached to the original sale.

What you'll see: a confirmation toast, and the sale's status flips to a Refunded chip. Either way the items are restocked to the register's warehouse via an auto-received RMA.

Refund options depend on the sale

Whether you get a choice of destination is decided by the attached customer, not how the sale was paid. A sale with a customer attached opens a small menu with both options (Refund to original payment / Refund to store credit). A walk-in (no customer) only offers Refund to original payment — there's no wallet to credit — even if it was paid across several tenders. An already-refunded sale shows a Refunded chip and can't be refunded again.

Close and reconcile the register

At the end of the shift, count the drawer and close it. This is distinct from Exit register (which only leaves the screen and keeps the drawer open).

  1. Click Close Register (bottom of the Payment column).
  2. Review Opening float and Cash sales this shift — together they're the expected cash.
  3. Count the drawer. Keep By denomination selected to enter a count per bill and coin (the total is computed for you and the exact mix is saved), or switch to Enter total to type a single counted figure.
  4. Check the reconciliation line: Expected $… · Counted $… with a chip reading Balanced, Over, or Short. Over (blue) means more cash than expected; Short (orange) means less — worth investigating before you close.
  5. Add Notes if anything needs explaining.
  6. Click Close & Reconcile.

What you'll see: a toast confirming the drawer closed balanced, over, or short. The variance is saved on the close record either way, and the register returns to the Open Register screen for the next shift.

Next steps

Last verified: