BirrStore

Orders

Point of Sale: sell in person from the same inventory

Point of Sale turns your dashboard into a register for in-person selling — markets, pop-ups, a counter in your shop — while drawing from exactly the same inventory and reporting as your online store. There is no separate product list to maintain and no end-of-day reconciliation between "shop sales" and "site sales": a sale is a sale. ## How to ring a sale 1. Open **Apps** and go to **Point of Sale** at /dashboard/apps/pos. 2. Start a shift: click to **open a session** and enter your **opening float** (the cash in the drawer). Sessions keep every sale attached to a shift so cash counts up cleanly. 3. Add items to the cart by picking from your live products. Pricing is computed server-side from your catalog — the register cannot invent a price. 4. Apply a **discount** if you are running one, choose whether tax applies, then select the **payment method** — cash, card, or wallet. Enter the amount paid and the register calculates the **change**. 5. Optionally attach a **customer** by email — the sale finds or creates their customer record, so loyal in-person buyers build lifetime value like online ones. 6. Complete the sale. Stock decrements immediately from the same inventory the storefront sells from, an order is created with source **pos**, and a receipt event is recorded. 7. **Park** a cart mid-transaction if the customer stepped away — parked sales (holds) can be resumed or dropped later. 8. Attach a **note** to the sale when it matters — "gift, no receipt" or "held for pickup" — it travels with the order record. ## Closing the day 1. When the shift ends, **close the session** and enter the closing cash count. 2. Pull the **X/Z report** for the session: sales totals by payment method, discounts given, and the float-to-count comparison. That printout is your cash-up. 3. Review **Sales history** at /dashboard/apps/pos/sales to see every register sale with its items, totals, and serving details. ## How POS sales appear everywhere else A POS sale is a normal order. It shows in the **Orders** inbox (fulfillable and refundable like any other), counts in **Analytics** revenue and average order value, and updates the attached customer's history. Online and offline numbers are one number. Because the register is part of the platform rather than a bolt-on app, there is no separate reconciliation routine: end-of-day is the session close, and everything after that — refunds, customer history, stock levels — is already consistent. If you also trade online, your staff never ask "can I sell this?" because the storefront and the till answer from the same inventory at the same moment. ## What happens next Because stock is shared, a Saturday market genuinely depletes Saturday's online availability — no overselling, and your low-stock alerts on the dashboard include in-person selling. Refunds for till sales follow the same refund flow in Orders. ## Tips 1. Open a session even for a one-hour pop-up; the X/Z report makes cash reconciliation a two-minute job. 2. Attach an email whenever the buyer will give one — that is how in-person customers enter your marketing lists and earn loyalty points. 3. Park carts during a queue rush instead of voiding them; resume exactly where you left off. ## FAQ **Can I use POS while my storefront is offline for maintenance?** Yes. The register prices from your catalog server-side; if the storefront is in maintenance mode you can still trade in person and sync catches up. **Do POS sales respect the same taxes as the online store?** You choose per sale whether tax applies, and the amounts are computed with the same server-side pricing rules — subtotal, then discount, then tax, then total. **What if two staff members sell at once?** Each runs their own session with their own float, so X/Z reports stay per-shift and per-person. Orders all land in the same inbox regardless of who rang them.

Loading...