# POS system for beauty and cosmetics shops in Kenya

> Wave POS is a point of sale for beauty and cosmetics shops in Kenya. Shades and sizes are variants with their own barcodes and prices, products that expire carry batch numbers and expiry dates, and items without a barcode get a printed label. Customers pay by M-Pesa, cash or card, and the product performance report shows what sells in each branch.

- **Shades and sizes as variants**: One foundation in twelve shades is one product with twelve variants, each with its own barcode, price and stock.
- **Batches and expiry dates**: Record the batch number and expiry date when stock arrives, for the products that need them.
- **Labels for unlabelled items**: Print barcode labels with prices in batches for products that arrive without a barcode you can scan.
- **Know your best sellers**: Best sellers with their profit, and the stock that is not moving, by branch and category.

## How a beauty and cosmetics shop sells

A cosmetics shop carries hundreds of small, similar products: one foundation in twelve shades, one lotion in three sizes, braiding hair in a dozen colours. Each sale is small, the number of items is large, and the hard part is knowing exactly what is on the shelf.

Customers range from shoppers buying one lipstick to hairdressers and beauticians stocking up for the week. Shops in Nairobi, Nakuru and Kisumu tend to face the same problems:

- Small, valuable items such as lipsticks and perfumes are easy to slip into a bag.
- A popular shade sells out, and nobody notices until a customer asks for it.
- Products pass their expiry date at the back of the shelf.
- Locally made products arrive with no barcode, so cashiers type in prices from memory.

Wave POS is for shops that sell beauty products. It does not book salon appointments or manage treatments.

## Every shade and size with its own barcode

Each product can have variants, and each variant has its own barcode, price and stock. A few typical set-ups:

- Liquid foundation, 30 ml, in 12 shades: twelve variants at KSh 1,350 each, scanned from the barcode on each bottle.
- Body lotion in 200 ml, 400 ml and 600 ml: three variants at KSh 380, KSh 650 and KSh 890.
- Braiding hair in colours 1, 1B, 2, 4, 27 and 30: six variants at KSh 180 a pack.
- Matte lipstick in 10 shades: ten variants at KSh 450.

Because stock is kept per variant, you can see that shade 4 of the foundation has two bottles left while shade 9 has fourteen. If your price list lives in a spreadsheet, import it: the guide to [moving from Excel](https://wavepos.app/guides/move-from-excel-to-pos) shows how.

## Expiry dates on the products that need them

Turn on batch tracking for the products that expire, such as sunscreens, relaxers, skin creams and serums, and record the batch number and expiry date as the stock arrives. Products that do not expire, such as combs and brushes, skip this step.

When stock does expire, write it off with a stock adjustment marked as expired. The adjustment waits for a manager's approval, and once approved its cost shows as stock written off in the profit and loss report, so you can see what expiry is costing you. Read more about [inventory management](https://wavepos.app/features/inventory-management).

## Labels for the items without a barcode

Print barcode labels with prices in batches for anything that arrives without a barcode you can use: shea butter in tubs from a local maker, hair clips and accessories, or products you repack into smaller containers. Shelf labels with prices keep the display tidy. See [receipts and labels](https://wavepos.app/features/receipts-and-labels).

At the till the cashier scans, hears a beep for each item, and presses F12 to pay. Nobody needs to remember the price of a 50 ml nail polish remover.

## Paying, returns and customer accounts

Customers pay by cash, card or [M-Pesa](https://wavepos.app/features/mpesa-pos), or a mix of methods in one sale. An M-Pesa payment is recorded with its transaction code, or with a prompt sent to the customer's phone once your ZetuPay account is connected.

To take an unopened item back, scan the QR code on the receipt and refund to any method. The returned lotion or lipstick is added back to the stock count.

Hairdressers who buy every week can have a customer account with a credit limit. A worked example: a salon owner takes 10 packs of braiding hair at KSh 180 (KSh 1,800) and two relaxer kits at KSh 520 (KSh 1,040), a total of KSh 2,840 on her account, which has a KSh 20,000 limit. She pays on Friday at the till, and her ledger shows every sale and payment. A wholesale price that applies from a set quantity, say KSh 160 a pack from 20 packs, can reward her bigger orders.

## See what sells, branch by branch

The product performance report lists your best sellers with their profit, and the stock that is not selling, for any dates, branch or category. With hundreds of small lines, it shows which shades to reorder and which to stop buying. Every report is described on the [sales reports](https://wavepos.app/features/sales-reports) page.

With more than one shop, each branch has its own stock, tills and prices, and a transfer moves a shade from the branch that has too many to the one that has run out.

## Frequently asked questions

### Can one cosmetics product have many shades?

Yes. Each shade or size is a variant of the product, with its own barcode, price and stock. A foundation in twelve shades is one product with twelve variants, and reports show which shades sell and which sit on the shelf.

### Can I track expiry dates on cosmetics?

Yes, for the products that need them. Record the batch number and expiry date as the stock arrives. When something expires, write it off with a stock adjustment, which waits for a manager's approval and shows in the profit and loss report at cost.

### Does it book salon appointments?

No. Wave POS is a point of sale for shops that sell beauty products: it handles selling, stock, customers and reports. It does not book appointments, manage stylists or keep treatment records, so a salon would use it only for the products it sells.

### Can I print barcodes for products that do not have one?

Yes. Wave POS prints barcode labels with prices in batches, so a delivery of locally made products can be labelled in one go and scanned at the till. Shelf labels with prices are printed the same way.

### Can customers pay by M-Pesa?

Yes. Record the M-Pesa transaction code at the till, or send a prompt to the customer's phone so the payment is recorded by itself once they enter their PIN. For prompts, connect your shop's own ZetuPay account in Settings; they also need the internet.

### How do I know which beauty products sell best?

Use the product performance report. It lists best sellers with their profit and the stock that is not selling, for any dates, branch or category, and exports to Excel, CSV or PDF. The dashboard also shows your top products, for one branch or all of them.

---

Source: https://wavepos.app/industries/beauty-shops
Last updated: 2026-10-11
