Selling a Massage: Every Item Carries Stock
A massage has no stock. Neither does a conference room, a laundry service or a late checkout. But every item in this system is a stocked item, and the till refuses to sell what it cannot allocate — so selling a service needs a deliberate answer, decided before the first booking rather than at the counter.
A guest wants a sixty-minute massage. The therapist is free, the room is ready, the price is 3,500 shillings, and there is nothing to take off a shelf. The transaction is pure service: no stock consumed, no goods handed over, nothing to count at the end of the month.
Try to ring it at the till and you meet the constraint that runs through this entire article. There is no service item and no non-stocked item — every item in the system is a stocked item — and a point-of-sale sale allocates stock before it completes. No stock, no allocation, no sale.
What the till actually does when you sell something
It is worth being precise, because the precise behaviour decides which workarounds are honest and which merely postpone the problem.
A counter is bound to a warehouse and a location. When a sale line is rung, the system allocates the quantity out of available stock at that location, batch by batch, taking the earliest expiry first. If it cannot find enough available quantity, it does not warn — it refuses the sale, with the reason stated: insufficient stock at that location across batches.
Three details in there matter. The allocation is out of available stock specifically, so anything on a hold is invisible to it. It is out of that location, not the whole hotel. And the refusal is a hard stop, not an override — there is no "sell anyway" that a supervisor can authorise.
The three answers, and which one to use
Every hotel selling services through this till ends up on one of these. They are not equally good, and the differences are not cosmetic.
The service is billed to an account or an event
Invoice it — do not use the till at all
A customer invoice line is free text with a price. It needs no item, no stock and no allocation, so a massage, a conference room, a laundry charge or a late checkout is simply a line. This is the correct answer whenever the money is not being taken at the moment of sale, and it is the answer most hotels should be using for most of their service revenue.
The guest is paying now, at a counter
Create the item and keep it stocked deliberately
Make "Massage — 60 min" an item, put a large quantity into the counter's location, and top it up on a schedule. It works, it reports as sales revenue, and it will eventually hit zero and refuse a sale in front of a guest. That last sentence is the whole cost of this option, and it is a real cost — put the top-up on a named person's monthly list.
You want the revenue and refuse to fake stock
Take payment as a customer payment against an invoice
Raise the invoice, take the payment against it. Slower at the counter, honest in the records, and it puts the transaction on the customer's statement — which the till never does. For a spa with an appointment book this is often better than it sounds, because the appointment already gave you time to raise the document.
You are tempted to attach a token stock item
Only if it is genuinely consumed
A massage that really does consume a bottle of oil can be modelled as selling the oil at the massage price. It is defensible, and it is also a lie about your inventory the day somebody counts the oil. If the consumable is real and worth tracking, sell the service as its own item and issue the oil separately as an internal consumption adjustment.
A stocked item pretending to be a service will work for months and then refuse a sale at the worst possible moment, in front of the guest, for a reason the cashier cannot explain.
If you do keep service items stocked, do it properly
The option is legitimate — it is fast at the counter, it reports cleanly, and for a busy spa or laundry desk it is often the right trade. It just needs to be run as a deliberate arrangement rather than a hack somebody remembers.
-
Name them so nobody mistakes them for goods
A consistent prefix — "SVC — Massage 60 min", "SVC — Laundry, per kg" — makes them filterable, sortable and obvious to anybody reading a stock report. Naming carries structure in this system; use it.
-
Put them in their own category
Categories scope stock counts and variance rules. A "Services" category can be excluded from every physical count, which is exactly what you want: nobody should ever be counting massages.
-
Set the buying price to zero
Weighted average cost is per item. A service with a cost of zero produces a gross margin of one hundred percent, which is the truth for a service whose real cost is a therapist's salary and appears in payroll.
-
Stock them generously and top up on a schedule
Ten thousand units of a massage is not silly; it is a year of not being refused. Put the top-up on a named person's monthly checklist alongside the other month-end tasks.
-
Set no reorder point, or set one that means something
Either leave it off so the service never appears in a low-stock alert, or set it to a number that genuinely means "top this up" and let the alert be your reminder. Both are defensible. What is not is a reorder point copied from a real item, which fills your low-stock digest with noise.
-
Never let them into a frozen count
A freeze blocks the till for the items in scope. A service item caught in a warehouse-wide freeze stops your spa from selling for the morning, for no reason at all. The separate category is what protects you here.
What each route costs you in reporting
| What you get | Till, stocked item | Customer invoice |
|---|---|---|
| Fast at the counter | Yes | No |
| Cash taken immediately | Yes | Partly — configurable by you |
| Appears in point-of-sale reporting | Yes | No |
| Appears on the customer's statement | No | Yes |
| Can be billed to a corporate account | No | Yes |
| Free-text description, no item needed | No | Yes |
| Cannot be refused for lack of stock | No | Yes |
| Safe from a stock freeze | No | Yes |
| Lands in the cash drawer session | Yes | No |
Built and maintained Configurable by you, not maintained by us Not built
The two rows that decide it for most hotels: a till sale is fast and lands in the drawer, and an invoice line reaches the customer's statement and can be billed on account. Spa walk-ins want the first. Anything a corporate guest signs for needs the second, because a POS sale never reaches a statement.
What a service revenue line does not get
Three absences that a spa or laundry operation will notice, listed so they can be planned for rather than discovered.
There is no duration or time-based pricing. A sixty-minute and a ninety-minute massage are two items at two prices, not one item with a rate per hour. That is workable, and it means a price list with five treatments at three durations each is fifteen items.
There is no resource or appointment booking. Nothing knows a therapist exists, that they are booked at two o'clock, or that a treatment room can hold one guest at a time. An appointment book stays where it is, on paper or in a calendar, and the sale is recorded when it is paid.
There is no commission on a sale. A therapist paid a percentage of treatments performed has that calculated outside the system and entered as an ad-hoc earning on their payroll run, which is a real mechanism and does work — it just does not derive itself from the sales.
What the spa asks for What is available
A treatment menu with durations One item per treatment per duration
Fifteen items for five treatments at three durations. Tedious to set up once, then stable. Use a naming convention so the menu reads in order.
Therapist availability Not modelled
No resource, no calendar, no capacity. The appointment book stays outside the system entirely.
Commission on treatments An ad-hoc earning on the payroll run
Calculate it from the sales report and enter it per employee for the period. It reaches the payslip properly; it is simply not derived.
A package — room plus treatment An invoice with two lines
Or one POS sale with two items if it is paid at the counter. There is no package or bundle entity that prices a combination.
Revenue per treatment room Not directly available
A counter can proxy for a physical point of sale, and per-counter sales reporting exists, but a treatment room is not a counter. Report per item instead.
The rule of thumb
If the money arrives at the moment of service and the guest walks away settled, use a stocked service item with a large quantity, its own category and a zero cost — and put the top-up on somebody's monthly list.
If the money arrives later, or the charge goes on an account, or the guest is corporate, use an invoice line. It needs no item at all, it reaches the statement, it ages into receivables and it can be chased automatically. Most hotels are surprised how much of their service revenue belongs in this second category once they look.
The mistake to avoid
Do not put an account guest's spa treatment through the till so the revenue "shows up today", intending to invoice them later. The till requires payment in full, so you cannot — and if you route it through as a paid sale to make it work, you have recognised revenue that will either be invoiced twice or never invoiced at all, and it will never appear on the statement the guest is going to query.
What we do and do not do
What AWRA OpsHub does today
- Invoice lines are free text with a price — no item, no stock, no allocation. This is the clean route for any service billed rather than paid at a counter.
- Items with their own category, price and zero cost, which makes a stocked service item behave sensibly in margin reporting.
- Categories that scope counts and variance rules, so a services category can be kept out of every physical count.
- Per-item and per-counter sales reporting, so service revenue is visible by treatment and by point of sale.
- Tax handled on the sale, including exemptions, the same as for goods.
- Ad-hoc earnings on a payroll run, which is where a therapist's commission lands once you have calculated it.
What it does not do
- No service or non-stocked item type. Every item is a stocked item, and a POS line refuses the sale when it cannot allocate stock — with no supervisor override.
- No duration or rate-based pricing. Each duration of each treatment is its own item.
- No resource, appointment or capacity model. No therapist, no treatment room, no booking calendar.
- No commission derived from sales. It is calculated outside and entered as an earning.
- No package or bundle entity that prices a combination of items as one thing.
- A POS sale never reaches a customer statement, so anything an account guest signs for has to be an invoice line instead.
The absence to plan around is the hard refusal. There is no override, so a service item that runs to zero stops the spa selling until somebody adds stock. That is a five-minute fix and a bad five minutes to have while a guest waits — which is the entire argument for the separate category, the generous quantity and the scheduled top-up.
Related reading
- The invoice you raise every month by hand — the invoice route in full, and why account guests must stay off the till.
- Three tills, one store: outlets inside one property — how a counter binds to a location, which is what makes allocation location-specific.
- Seven sizes, one item: retail without variants — the same naming-carries-the-structure discipline, on the goods side.
- Costing an event: conferences, banqueting and the function sheet — services sold as an event rather than at a counter.
See the counter and the invoice side by side
Point-of-sale with tax, discounts and cash sessions, and customer invoices with free-text lines, statements and automatic reminders — with the honest boundary between them named above.
Explore point of saleFrequently asked questions
Can we sell a service through the point of sale?
Only by creating it as a stocked item and keeping stock on it. There is no service or non-stocked item type — every item is a stocked item — and a POS sale line allocates quantity out of available stock at the counter's location before it completes. If it cannot allocate, the sale is refused outright, with no supervisor override.
What happens when a service item runs out of stock?
The sale is refused with the reason given: insufficient stock at that location across batches. There is nothing a supervisor can do to push it through. That is the entire risk of the stocked-service-item approach, and the mitigation is to stock generously, keep services in their own category, and put the top-up on a named person's monthly checklist.
Is there a cleaner way than faking stock?
Yes — a customer invoice. Invoice lines are free text with a price, needing no item, no stock and no allocation, so a treatment, a conference room, a laundry charge or a late checkout is simply a line. It is slower than a till sale but it reaches the customer's statement, ages into receivables and can be chased automatically, none of which a POS sale does. For anything billed rather than paid on the spot, this is the correct route.
How should we set up service items if we do stock them?
A consistent name prefix so nobody mistakes them for goods, their own category so they can be excluded from every physical stock count, a buying price of zero so margin reads correctly, a generous quantity, and either no reorder point or one that genuinely means "top this up". The separate category also protects you from a warehouse-wide count freeze, which would otherwise stop the spa selling for a morning.
Can we price a treatment by the hour?
No. There is no duration or rate-based pricing, so a sixty-minute and a ninety-minute treatment are two items at two prices. A menu of five treatments at three durations each is fifteen items. It is more setup and it is stable once done — use a naming convention so the menu sorts in a sensible order.
Does the system handle therapist bookings and availability?
No. There is no resource, appointment or capacity model — nothing knows a therapist exists, that they are booked at two o'clock, or that a treatment room takes one guest at a time. The appointment book stays outside the system, and the sale is recorded when it is paid or invoiced.
Can a therapist's commission be calculated from their sales?
Not derived automatically. You would read the per-item sales report, calculate the commission, and enter it as an ad-hoc earning against that employee for the payroll period. That mechanism is real and the money reaches the payslip properly — it simply does not compute itself from the sales.