RetailPOS.AI
Salon & spa — buyer guide

How to choose a POS for your salon & spa.

Last reviewed 2026-05-26 · by the RetailPOS team

A salon's point-of-sale is fundamentally different from a coffee or retail POS, because most of what you sell is a person's time, not a stocked SKU. Sarah's colour cream cost matters, but Sarah's commission, Sarah's tip, and Sarah's service rev share matter more. Square Appointments charges a percentage of every card sale; Vagaro has bookings but thin commission tracking; Mindbody is built for chains. The independent salon owner sits in the gap.

This guide is for owner-operators of independent hair salons, nail bars, day spas, and beauty studios. It covers the workflows that decide stylist happiness (tip routing, commission, formula history) and back-bar margin (colour cream depletion, retail upsell attribution). Booking calendar replacement is out of scope — many salons keep their existing booking tool and replace just the till side.

What this industry actually needs from a POS

Tips by stylist, not pooled (or both)

Most salons today pay tips per stylist to drive performance. Some still pool, especially small teams. The POS must support both, configurable, and the report must show tips per stylist by tender (cash vs card) so payroll declares correctly.

Commission per service type, per stylist

Senior 45% on cuts + 50% on colour; junior 25% across the board. The salesperson who upsold the shampoo earns 10% on retail. Configurable per-stylist, per-service-type. The end-of-week report tells the owner who's productive, who upsells, who needs coaching.

Colour-bar product deducts on service

A full-head colour mixes 120g of cream + 60ml of developer + 4 foils + 50ml of toner. Selling the colour service decrements all four. Without this, the back bar is mystery shrinkage by month-end.

Client formula history is gold

“Last colour: 7N base, 6.43 highlights, 35 min process” surfaces next time the client sits in the chair. The POS that captures this at the moment of mixing (not 3 weeks later) is the one stylists actually use.

Retail attach rate is real margin

The shampoo sold at checkout earns the stylist 10% commission. That changes behaviour; the stylist actively recommends. A POS that doesn't attribute the retail line to the stylist breaks the incentive.

No-show fees on saved card

Clients save a card at first visit (Stripe SetupIntent). No-show on a booked appointment → charge $25 fee. Salons that don't do this lose 5-8% of revenue to ghosting.

Multi-chair scheduling

Six chairs, six stylists, six concurrent services. Each chair's ticket is independent. The POS handles concurrent tickets without confusion.

Booking calendar is often separate

Salons typically keep their existing booking (Vagaro, Booksy, Acuity) and replace just the till. The POS should plug into the booking via a simple integration — appointment becomes a ticket at check-in.

Must-have features

  • Per-stylist tip routing

    Configurable: pool tips by formula, or per-stylist by ticket attachment. End-of-day report shows tips per stylist by tender for payroll.

  • Per-stylist + per-service commission

    Each stylist has a default rate; overrides per service type. Retail upsell at a separate rate. The report rolls up commission per stylist per period.

  • Service catalog with duration

    Each service has a name, a price, a default duration. Customers attach to a stylist at booking; the till rings the service at checkout.

  • Back-bar product depletion

    Colour services consume cream + developer + toner + foils per the recipe. Selling the service decrements stock. Refund restocks.

  • Client formula notes per customer

    Free-text + structured fields on the customer record for colour formula, processing time, allergies, last visit notes.

  • Stylist attachment at ticket open

    Pick the stylist when the ticket opens. Commission + tips track to that stylist for the whole ticket (including retail lines).

  • No-show fee via saved card

    Stripe SetupIntent at first visit. Charge the saved card on no-show. Per-salon policy text on the receipt.

  • End-of-day drawer count

    Opening float, drops, pay-ins, pay-outs all tracked. Variance flagged. Cash matters less in salons than retail but still needs reconciling.

  • Booking system integration (or first-class booking)

    If the POS doesn't have native booking, it should integrate with Vagaro / Booksy / Acuity / Calendly. The appointment becomes a ticket at check-in without re-typing the customer.

Nice-to-haves

  • +
    Native booking calendar

    Six-chair schedule, per-stylist availability, online booking widget. Replaces Vagaro/Booksy for salons willing to consolidate. Most POS systems don't do this well; the booking-only specialists still beat them.

  • +
    Membership / package pricing

    “Buy 5 cuts for the price of 4” or “Monthly $99 unlimited blowouts.” Niche but high-margin where it fits.

  • +
    Client photo before/after

    Attach a photo of the colour result to the customer record. Useful for stylists building portfolios; less so for the books.

  • +
    Inventory transfer between locations

    Multi-location salons (2-5 sites) need to move colour stock between chairs / sites. Most don't bother for low-cost items.

  • +
    Loyalty / referral programme

    Earn points on every visit. Refer a friend, both get a credit. Modest lift on retention; most salons run something off-platform via WhatsApp.

Buying traps to avoid

  • Tips pooled in one bucket by default

    Some POS systems pool all card tips, then settle by formula at end of period. That works if you pool; if you pay per stylist, it forces you to back-calculate. Real per-stylist tip tracks at the moment of card capture.

  • Commission as a manual spreadsheet add-on

    Square + a spreadsheet + Friday-night reconciliation is the most common configuration. It works at one chair. At three chairs it's a part-time job. Real per-stylist + per-service commission lives in the POS.

  • Back-bar depletion treated as “adjustment”

    Some POS systems will accept colour-cream stock counts but won't deplete on service. Stylists are supposed to manually adjust at end-of-day. They don't. Recipe depletion via service must be automatic.

  • Saved-card no-show charging that requires a 3rd-party tool

    Some POS systems handle bookings but punt the card-on-file workflow to a separate tool. Two integrations, double the failure surface. Look for native saved-card no-show charging.

  • Booking that's an afterthought

    If the POS includes booking but it's noticeably weaker than Vagaro, plan to keep Vagaro and use the POS for till only. Don't buy a POS for its weak booking and then suffer through it.

How to choose your salon & spa POS

  1. 1
    Decide your commission policy first

    Before looking at POS systems: write down your per-stylist + per-service commission rates. Senior / junior, cuts / colour / retail. Test every POS against your real policy, not a generic 50/50 split. Most POS demos hide commission depth.

  2. 2
    Decide pool vs per-stylist for tips

    Same question for tips. If you pool: pick a POS that pools cleanly. If per-stylist: confirm the system tracks tips at the moment of card capture, not at end of period.

  3. 3
    Test the stylist attachment flow

    In the demo: open a ticket, attach to a stylist, ring 2 services + 1 retail product. Confirm commission + tips track to that stylist across all three lines. Try changing the stylist mid-ticket; confirm the report updates.

  4. 4
    Walk the back-bar depletion

    Set up a full-head colour service with its recipe (cream + developer + toner + foils). Sell the service. Check the stock ledger: did the four back-bar items decrement? If yes, the system passes. If “recipes” doesn't apply to services, you'll be manually adjusting forever.

  5. 5
    Check the formula-history workflow

    On the demo: at the moment of mixing, capture the formula on a tablet (or whatever the stylist's device is). Six weeks later, the client comes back; confirm the formula surfaces on the customer record at the ticket open.

  6. 6
    Test the no-show charge

    Set up a customer with a saved card. Book an appointment. Mark them no-show; confirm the system charges the fee against the saved card automatically (per policy). If this requires manual card entry, the policy fails on real shifts.

  7. 7
    Decide booking-system strategy

    If your booking on Vagaro is working, plan to keep it and replace only the till. If the POS has native booking strong enough, consolidate. Either way, the integration handoff between booking → ticket must be one tap.

  8. 8
    Run a real Friday

    Salon traffic is Friday afternoon + Saturday morning. Get a 14-day trial; run a full Friday. Stylist attaching, tip routing, no-show, retail upsell, end-of-day commission report. The system that holds up across all six is the one to buy.

Glossary

Tip pool
End-of-shift redistribution where tips collected across all tickets are split among stylists (and sometimes back-of-house) by formula or hours worked.
Per-stylist tip
Tips track to the specific stylist attached to each ticket and pay out to them.
Commission per service
The percentage of a service's price that goes to the stylist who performed it. Configurable per stylist + per service type.
Retail attach rate
The percentage of service tickets that also include a retail product (shampoo, conditioner). A driver of total revenue per visit.
Back bar
The shelf of professional products used during services — colour cream, developer, toner, foils. Distinct from retail shelf products sold to clients.
Formula history
A client's past colour mixes saved on the customer record. “Last colour: 7N base + 6.43 highlights” surfaces next visit.
Saved-card no-show fee
A card-on-file (via Stripe SetupIntent or equivalent) that the salon charges if a client no-shows a booked appointment. Per-salon policy.
Stylist attachment
The act of tying a ticket (and its commission + tips) to a specific stylist at the moment of opening.
Booking integration
The connector between the booking system (Vagaro, Booksy, Acuity) and the POS. At check-in, the appointment becomes a ticket without re-typing.
Service duration
The expected length of a service (cut = 30 min, full colour = 90 min). Drives the booking calendar and the chair schedule.

Frequently asked

How does commission work — by stylist or by service?
Both. Each stylist has a default rate (senior 45%, apprentice 25%, etc.) that you can override per service type. Retail upsell carries its own rate (typically 10%). End-of-day report shows every stylist's gross + commission + tips in one line.
Do you have a booking calendar?
Not in V1. Most salons we talk to are happy with their existing booking tool (Vagaro, Acuity, Booksy) — we replace the till side. Booking + reminders + the calendar UI lands in a future release; today the cashier creates the order from the appointment at check-in.
How does the no-show charge work?
At first visit, save the customer's card (Stripe SetupIntent — bring your own Stripe account). If they no-show on a booked appointment, charge the no-show fee against the saved card. Per-salon policy text on the receipt.
Multiple chairs / multi-location?
Yes. Each chair has its own iPad / laptop till. Multi-location is the standard Pro plan at $69/store/month. Move retail stock between locations in one tap; commissions roll up per stylist across all sites.
Does it remember a client's colour formula?
Yes — formula history lives on the customer record. “Last colour: 7N base, 6.43 highlights, 35 min process” surfaces next time they sit in the chair. Capture it on the stylist's tablet at the moment of mixing.

Ready to look at the product side of this? See the salon & spa pack →

Open your salon & spa in 30 seconds.

No card. Free until your first 100 sales. Bring your own Stripe; keep your hardware.