Skip to main content
SaloonERP

Built for salons, studios & spas

Run your salon,
not your spreadsheetsspreadsheets, guesswork, paper diaries, end-of-day panic

Walk-in queue, live sessions, billing, cash drawer, inventory, memberships and reporting — one system that matches how a salon floor actually works.

No card required · Cancel any time · Your data exports as CSV

Built to replace the notebook, the whiteboard and four spreadsheets

The queue notebookThe till drawerA stock spreadsheetThe membership registerA staff WhatsApp groupThe commission envelopeThree different day totalsThe 40-minute close

0

Reports, every one exportable

0+

Payment methods on one bill

0%

Of your data exportable as CSV

0

Rows a correction overwrites

What's inside

Everything the front desk touches

Not a generic CRM with a salon skin. Each module exists because an owner has to answer a question the old way costs them money.

Live Studio

One board showing who is waiting, who is in the chair and what is still unpaid. Your front desk stops asking "where are we at?"

  • Walk-in queue with real wait times
  • Open tickets with live totals
  • Unpaid invoices, one tap to settle

Billing that balances

Split a bill across cash, card, wallet, gift card and credit. Every rupee posts to the cash drawer automatically.

  • Split & partial payments
  • Tips tracked per stylist
  • Gap-free invoice numbers

Cash drawer & reconciliation

Count physical notes at close, see the variance instantly, and keep an audit trail nobody can quietly edit.

  • Denomination counting
  • Expected vs counted variance
  • Append-only audit log

Inventory with real control

Batches, expiry dates, cost versus selling price and a movement log for every unit that leaves the shelf.

  • Batch & expiry tracking
  • Low-stock alerts
  • Full stock movement history

Memberships, packages & gift cards

Build a plan once, attach it to a customer, and watch the discount apply itself at checkout.

  • Percentage or free-item rules
  • Session-based packages
  • Gift cards with partial redemption

Reports you can trust

Every figure is labelled with the window it covers. No mystery totals, no two numbers for the same thing.

  • Revenue, staff, service & product
  • Explicit date window on every card
  • One-click CSV export

Why it feels different

Small decisions that add up to a calm Saturday

We audited the market before writing a line of code. These are the things everyone else gets wrong.

Sessions that close themselves

A ticket left open overnight quietly inflates your "active" count until the number is meaningless. Ours auto-close on a window you set, and the board flags anything drifting.

Every column sorts

Twenty-three pages of customers with no sort order is not a customer list, it is a filing cabinet. Every table sorts, filters and remembers where you were in the URL.

One number, one meaning

Each figure carries the window it covers. You will never see two different customer counts on the same screen.

Money is never a float

Every amount is stored in paisa as a whole number. Invoices balance to the rupee, every time.

Readable at 5pm

Every text colour clears WCAG AA on both surfaces, and every tap target is at least 44px.

How it works

Set up this morning, closing the till on it tonight

No implementation project, no consultant, no six-week onboarding.

1

Import your list

Drop in services, staff and prices. A CSV or twenty minutes of typing — either way you are set up the same day.

2

Seat your first walk-in

Add them to the queue, start a session, and the ticket builds itself as you add services.

3

Take the payment

Split across any methods you like. The invoice, the drawer and the customer record all update together.

4

Close the day

Count the notes, confirm the variance, and the day is locked with a trail you can show anyone.

Why it is built this way

What we found in everything else

We went through twelve salon products before writing any of this, one of them line by line. Each of these is a real thing we found, and the decision it forced.

Security

A production API running in debug mode, with all 541 of its endpoints listed publicly.

We publish no schema and no interactive docs on production.

Data

A dashboard showing 17 active sessions. The oldest had been open for 142 hours.

Tickets auto-close on a branch window, so the number stays true.

Reporting

Two screens in the same product reporting different totals for the same day.

Every figure carries the window it covers and the definition behind it.

Access

Permissions that could only say "can see the Customers page".

Ours are resource and action, so "may add but never delete" is expressible.

Interface

Tables with no sort order, paginating 23 pages at 8 rows each.

Every list sorts on every column and lets you choose the page size.

Local

Bikram Sambat dates handled with a spreadsheet workaround.

Both calendars are first-class, per branch.

Who it is for

Three shapes of salon, three first wins

The single chair

Stop running the day out of a notebook

The queue, the ticket and the bill in one place, so the takings at close are a number rather than an estimate. Nothing to configure that you do not use.

First win: A counted close instead of a guessed one

The established salon

Find out which service and which stylist actually pay

Commission sits on the person and the service, so payout is a lookup rather than an evening. Products go on the same ticket as the treatment, which is the only reliable way they get sold.

First win: Margin per service, not just revenue

The group

One honest number instead of three arguments

Each branch keeps its own drawer, stock and roster. Reports read per branch or consolidated, from the same rows, so the two can never disagree.

First win: A consolidated close that reconciles

Questions

Things owners actually ask

A workspace can be taking payments the same day. Import your service list and staff and the queue works immediately — memberships and inventory can wait until you need them.

Your chairs are booked. Your books shouldn’t be a guess.

Set up in an afternoon. Cancel whenever.