How to choose a POS for your furniture store.
Last reviewed 2026-05-26 · by the RetailPOS team
A furniture store's point-of-sale has to handle three workflows that don't coexist anywhere else in retail. The customer picks a sectional that's not on the floor (special-order from the catalogue), pays $500 today and the rest over six weeks (layaway / payment plan), and books delivery for next month (delivery scheduling). One ticket. Most cheap consumer POS fails on all three; enterprise furniture-specific systems (STORIS, Genesis) handle them but cost $300+ a month per terminal and ship on a multi-year implementation.
This guide is for owner-operators of independent furniture stores, sofa specialists, bedroom + dining + accent retailers, small showrooms with an offsite warehouse. It walks through the three Phase 3 workflows in turn (special-order, layaway, delivery), the operational realities of high-ticket low-volume retail, and the buying questions that decide whether your POS supports the business or fights it.
What this industry actually needs from a POS
Special-order lines don't touch floor stock
Customer picks a sectional from the catalogue (not on the floor). The order line records the supplier + ETA. Stock isn't decremented at pay-time; the goods are still at the manufacturer's warehouse. Line moves through on_order → ready → delivered as the lifecycle plays out.
Layaway / payment plans are the norm
$3K+ purchases routinely pay across 4-12 weeks. The POS keeps the order open through the plan; the existing tender flow accrues partial payments. When balance hits zero, order closes + plan auto-flips to fulfilled.
Delivery scheduling lives on the order
Date + time window per order. Customer picks “Saturday afternoon.” Back office dispatcher view groups orders by upcoming delivery date for route planning.
Floor model vs catalogue
Some pieces walk out the day they sell (floor models). Others get special-ordered, delivered weeks later. Same SKU can be both. The POS handles each independently per line.
White-glove + assembly + haul-away as services
$149 white-glove delivery, $79 assembly, $49 haul-away of the old furniture. Service SKUs on the same ticket as the goods. Different service levels per customer.
Custom upholstery is a real workflow
Same sectional, customer-chosen fabric or leg finish. 8-12 week lead time. Captured today as line notes (“Linen oat, walnut leg”); structured configurator is a Phase 4 capability we don't have yet.
Cancellation needs careful handling
Customer cancels mid-plan. The POS should flip the plan to cancelled; the prior payments stay until manually refunded through the standard refund path. High-ticket reversals deserve a human eye — automation here is risky.
Trade discount for designers
Interior designers buying on behalf of clients get 15-25% off. Tracked on the customer record as a tier. Real B2B-flavoured workflow that consumer POS doesn't handle.
Must-have features
- ✓Special-order line type
order_line.fulfilment_status: available | on_order | ready | delivered. Lines marked on_order skip the pay-time stock decrement. State transitions are explicit (PATCH endpoint) + audit logged.
- ✓Layaway / payment plan workflow
Create a plan with deposit + scheduled payments. Order stays open; existing tender flow accrues partial payments. Final tender closes the order + auto-flips plan to fulfilled.
- ✓Delivery date + time window on order
delivery_date + delivery_window per order. Dispatcher view filters orders by upcoming delivery; drives route sheets.
- ✓Supplier + ETA on each special-order line
Each on_order line records a supplier ID + expected_ready_date. Customer-facing receipt shows the ETA; staff can answer “when is my sofa arriving?”
- ✓Service SKUs alongside goods
Delivery, assembly, haul-away as service lines on the same ticket. Differently-priced per service level (local, extended, white-glove).
- ✓Cancellation flow with manual refund
Plan cancellation flips status to cancelled. Prior captured payments stay until manually refunded. No automatic reversal — high-ticket refunds need a human decision.
- ✓Custom-line notes
Free-text notes per line for custom fabric / finish / configuration. Notes flow to the supplier PO + the warehouse pick ticket.
- ✓Customer record with purchase history
Repeat customers (bedroom suite, then dining a year later) get personalised service. Past purchases surface at the next visit.
- ✓Multi-location (showroom + warehouse)
Showroom is where customers shop; warehouse holds the stock. Multi-location stock + transfers at no extra cost on every plan.
Nice-to-haves
- +Designer / trade-account tier
15-25% discount tied to the customer record. Customer scans their trade card; pricing kicks in automatically.
- +Custom-upholstery configurator
Same sectional, customer picks fabric / leg / finish from structured options. Phase 4 catalog work for us; consumer-grade POS doesn't support it.
- +Dispatcher route view
Orders grouped by delivery date + time window, displayed as a route. Drivers see their day's schedule. Currently V1 ships the schema + filter index; route planner UI is a follow-up.
- +Customer-portal “your sofa's on its way”
Customer logs in to see special-order status. Most cheap POS doesn't do this; SMS via Twilio is a lighter alternative.
- +Photo + sketch attachment per order
Bespoke commissions: attach a sketch or fabric photo to the line. Notes-with-image hack works; structured attachments are post-V1.
Buying traps to avoid
- ⚠Layaway as a paid add-on
Some specialty POS systems charge extra for layaway. If the platform's pricing has “layaway add-on,” expect the workflow to be half-baked. Real layaway is shipped as core.
- ⚠Custom orders as a generic “back-order”
Some POS systems wrap special-order in a generic back-order flow that doesn't track supplier or ETA. Customer asks “when is it coming?” and you can't answer. Real special-order has supplier + ETA on the line.
- ⚠Delivery date in a free-text field
Some POS systems capture delivery date as free text in customer notes. You can't filter orders by delivery date for the dispatcher; you scroll through every order. Real delivery scheduling has structured date + window columns with an index.
- ⚠Cancellation that auto-refunds
Some POS systems auto-refund on cancel. For high-ticket sales, this is too aggressive. A merchant might cancel the plan + want to keep the deposit as a restocking fee. Real cancellation flips the plan but leaves the prior payments untouched.
- ⚠Enterprise furniture POS pricing
STORIS, Genesis, AspenSoft — all capable but priced for chains. $300+ a month per terminal, multi-year contracts, on-premise installations. For a 1-3 store independent, the math doesn't work.
How to choose your furniture store POS
- 1Map your real revenue mix
What share of your sales is floor-model walk-outs vs catalogue special-orders? If catalogue is >50%, you need a POS with strong special-order + layaway + delivery workflow. If floor is >70%, a standard retail POS with delivery date as an add-on might work.
- 2Validate the special-order line type
In the demo: ring a sectional that's not in stock. Mark the line as on_order, add supplier ID + expected_ready_date. Confirm the line doesn't decrement floor inventory (your sectional count stays the same). When the goods arrive, change status to ready; confirm the status visible to staff.
- 3Walk the layaway flow end-to-end
Demo: create a $3K order. Create a payment plan with $500 deposit + $625/month × 4 months. Ring the deposit through the tender flow; confirm order stays open. Roll the clock forward, ring 4 more tender payments; confirm the final closes the order + the plan flips to fulfilled.
- 4Test delivery scheduling
Demo: set delivery date + window for the order (Saturday afternoon, 6 weeks out). Pull the dispatcher view; confirm the order shows in the upcoming-deliveries list, filterable by date. Date should be a structured column, not free text.
- 5Validate cancellation handling
Demo: cancel a payment plan mid-cycle. Confirm the plan flips to cancelled. Confirm prior captured payments stay until manually refunded (don't auto-refund). The standard refund flow handles the actual money movement; the plan-cancel just changes status.
- 6Walk a custom upholstery order
Demo: ring a sectional with line notes “Linen oat fabric, walnut leg, 6-week ETA.” Confirm notes flow to the supplier PO. (Structured configurator is post-V1; notes is the workflow today.)
- 7Set up service SKUs
Ring an order with: sectional (special-order) + white-glove delivery + assembly + haul-away. Confirm 4 lines on one ticket, total tax + total computed correctly. Customer pays via plan; services + goods deliver together at scheduled date.
- 8Run a real Saturday
Furniture traffic concentrates Saturday afternoon. Get a 14-day trial; run a full Saturday. Walk-in browse + measurement + special-order conversation + payment plan setup + delivery scheduling. The system that holds up across all five is the one to buy.
Glossary
- Special-order line
- An order line for goods not on the floor; sourced from the supplier on demand. Stock isn't decremented at pay-time; line transitions through on_order → ready → delivered.
- Layaway / payment plan
- An installment plan where the customer pays the order's total across multiple visits. The order stays open through the plan; only closes when balance hits zero.
- Delivery scheduling
- Per-order date + time window for the goods to arrive at the customer's location. Drives dispatcher routing + customer expectation management.
- White-glove delivery
- Premium delivery service: in-home placement, unpack, assemble where needed, dispose of packaging. Typically $149-$249 vs $99 local delivery.
- Haul-away
- The service of removing the customer's old furniture at delivery time. Typically $49-$99. Common attach with white-glove.
- Floor model
- A piece on the showroom floor available to walk out. Distinct from catalogue items that special-order from supplier.
- Fulfilment status
- The line-level lifecycle state for special-order goods: available (in stock) → on_order (sourced from supplier) → ready (arrived at dock) → delivered (customer has it).
- Trade-account / designer tier
- A customer category (interior designers, decorators) buying on behalf of clients. Receives a discount tier (typically 15-25%) attached to the customer record.
- Supplier ETA
- The expected_ready_date on a special-order line — when the supplier expects to ship the goods to your dock. Customer-facing on receipts.
- Dispatcher view
- The back-office screen showing upcoming deliveries grouped by date + time window. Drives the next day's route sheet.
Frequently asked
- Layaway / payment plans — how does the cashier flow work?
- Open the order, add the lines, schedule delivery. Then create the payment plan with the deposit amount. Ring the deposit through the normal tender flow — the order stays open. Customer returns over weeks to add more tender; final tender closes the order and auto-flips the plan to fulfilled.
- Special-order lines — do they decrement floor inventory?
- No. A line marked
on_orderwith a supplier link doesn't touch stock until the goods arrive at your dock. The merchant moves the line throughon_order → ready → deliveredas the lifecycle plays out — separate from the supplier-receive flow that adds the goods to the floor. - Delivery scheduling — does it print a route sheet?
- The schema + filter index ship in V1; the dispatcher route-sheet UI is a follow-up. Today, query orders by upcoming
delivery_dateand time-window; export as CSV for whichever route planner you already use (Routific, Onfleet, an Excel template). - What if a customer cancels mid-plan?
- Cancel the plan (manager+ permission). The order stays in place; any captured payments stay until the merchant explicitly refunds them through the standard refund path. High-ticket reversals are deliberately manual — too risky for full automation.
- Does it handle custom upholstery (fabric A vs B)?
- Not as a structured configurator in V1. Capture the customisation in line notes (fabric / leg / finish). A configurable-product type with structured options is a Phase 4 catalog overhaul; today the merchant types the spec on the line, supplier sees it on the PO.
Ready to look at the product side of this? See the furniture store pack →
Open your furniture store in 30 seconds.
No card. Free until your first 100 sales. Bring your own Stripe; keep your hardware.