Inventory

Stock that counts itself.

Mark an appointment done and the products your staff used drop from the shelves automatically. Track each batch's expiry date and the bottle closest to going off gets used first, so nothing rots in the back while the fresh stock gets grabbed by hand.

For the salon that loses money quietly: a toner written off in March that expired in October, a bottle of treatment the stylist used but never logged, the "wait, how many do we have left?" question on a busy Saturday. Flowesce runs the count in the background so you always have an answer.

Inventory item

Live preview

Olaplex No.4 Bond Maintenance Shampoo

250 ml · Service + Retail · Downtown branch

19

on hand

Batches · Earliest expiry first

3 active

OLP-24-0341

Drains first

Exp 28 Feb 2025 · rcvd 2 Jan 2025

2/6

units

OLP-24-0812

Exp 30 Jun 2025 · rcvd 18 Mar 2025

5/12

units

OLP-25-0104

Exp 31 Dec 2025 · rcvd 2 Jun 2025

12/12

units

Press Simulate use. Watch the amber batch drain first, then fade out.

Live preview

01/

Stock drops when the appointment is done.

When you mark a visit completed, the products attached to every service in that visit come off your count in the same step. No separate deduction screen. No spreadsheet to update at the end of the day.

Auto-deduction on completion

Sophie M. · Balayage + Treatment

Maya · 9:30 → 11:30

inventory deduction

Inventory transactions

No new transactions yet.

Press Mark completed. Deduction runs in the same database transaction as the status change. No separate step.

  • Set what each service uses.

    On any service, list the products it goes through and how much of each. If a 90-minute treatment uses more oil than a 30-minute one, give each option its own list.

  • Walk-in sales deduct too.

    A walk-in blowdry uses the same product as a booked one. When you ring up a service at the counter, the stock drops the same way.

  • Negative stock shows rather than blocks.

    If you accidentally use more than you have on the books, Flowesce shows the negative number rather than stopping the appointment. You can sort the count out after.

  • Every change leaves a record.

    Completions, corrections, write-offs, and imports all write a record you can pull up later. Nothing changes silently.

02/

The bottle closest to expiring gets used first.

Turn on expiry tracking for any product and log each batch separately: quantity, expiry date, the date it arrived, and an optional lot number. When stock drops at appointment completion, Flowesce uses the batch expiring soonest first. If two batches share the same expiry date, it picks the one that arrived earliest.

Per-batch actions

OLP-24-0341

Exp 28 Feb 2025 · 2 remaining

Write-off keeps the batch row and writes an audit entry. Delete is for typos only. The difference matters at stocktake time.

  • Log the first batch when you add the item.

    The new-item form has a Track expiry toggle. Turn it on and you fill in the first batch right there: quantity, expiry date, when it arrived. The item and the batch save together.

  • Correct the wrong batch.

    The system pulled from the expired batch but the stylist actually used the fresh one? Open that batch and set the remaining count to what it really is. A reason field is required; the change is recorded.

  • Write off versus delete.

    Write-off is for stock that's genuinely gone: count drops, the batch row stays for your records. Delete is for typos only, when the batch was entered by mistake.

  • Expiring credit works the same way.

    When a client has both expiring and never-expiring credit, the expiring amount gets used first. Same logic, applied to credit balances.

03/

See what's already promised before the day starts.

The Committed column on the inventory list shows how much of each item is already spoken for by upcoming appointments that are booked but not yet completed. When promised stock exceeds what you have on hand, the number highlights so you know to order before the gap becomes a problem.

Dashboard alert

3 items below threshold

Order before the next heavy booking day.

Wella Koleston 8/1

1 / 6

Olaplex No.3 Hair Perfector

2 / 5

Kerastase Nutritive Mask

4 / 6

Threshold per item. The dashboard card and the inventory list both surface it. Order link is yours to add.

04/

Items you use in services AND sell on the shelf.

Mark any item as Service (used in appointments), Retail (sold over the counter), or both. An item marked as both shows up on the retail tab at checkout AND drops from stock when an appointment using it finishes. One row in your inventory, visible in both places.

Item kind

ItemKindStock

Olaplex No.4 Shampoo

Both

7

Wella Koleston 8/1

Service

3

Kerastase Take-home Kit

Retail

12

A "Both" item auto-deducts on service completion AND appears on Quick Sale's retail tab. One row, two surfaces.

  • Service.

    Products that go into the work: toner, bleach, treatment serum. Used during the visit, not sold to take home. Stock drops when the appointment is marked done.

  • Retail.

    Take-home products: shampoo, conditioner, styling cream. Sold over the counter or added on at checkout. Stock drops when the sale goes through.

  • Used in services AND sold on the shelf.

    A bottle of treatment you use during a facial and also sell as a take-home. Drops from stock at appointment completion AND appears on the retail tab. One product, tracked in both places.

  • Per branch or shared.

    Assign a product to one branch or leave it available across all of them. Deduction pulls from the branch-specific count first, then falls back to shared stock.

05/

Spot what's expiring before it goes to waste.

The dashboard shows up to six batches that have already expired or will in the next 30 days. The inventory list has an expiry column: red for already gone, amber for within 30 days. Use the filter buttons at the top to pull up just the items that need attention.

Next expiry column

ItemNext expiryStock

Wella Koleston 8/1

12 Jan 2025

3

Olaplex No.4 Shampoo

28 Feb 2025

2

Kerastase Nutritive Mask

14 Mar 2025

5

Moroccanoil Treatment 100ml

Dec 2025

8

Red is already expired. Amber is within 30 days. Click a filter pill above to narrow the list.

06/

Import from a spreadsheet. Export to one.

Bring your existing inventory in with a CSV file. New items are created; names that already exist update in place. Exporting gives you the same columns back, including committed stock and next expiry, with any filters you had set carried through. A clean file to hand to a bookkeeper or use for a stocktake.

CSV

ItemKindStockMinExpiry

Olaplex No.4 Shampoo

Both

7

4

Oct 2025

Wella Koleston 8/1

Service

3

6

Feb 2025

Kerastase Nutritive Mask

Service

5

3

Apr 2025

Moroccanoil Treatment 100ml

Retail

8

2

--

Filters you have set carry through to the exported file.

Common questions

Honest answers, including the ones we don't love.

What if a stylist used product that wasn't logged against the service?

Two options. Edit the service to include that product going forward, then re-mark the appointment completed (the count re-runs without doubling up). Or make a one-off manual adjustment on the item page with a reason. Both leave a record.

Does refunding a payment put stock back?

Refunding the money doesn't reverse the stock. The right tool when a service was completed and then reversed is to un-complete the appointment, which puts the count back. That option is in the appointment menu with a reason field.

How do you handle products where usage varies by visit?

Two options. Set the service to the average amount and correct the difference at stocktake. Or leave the service requirement at zero and make a manual adjustment per visit. Most salons use the average for everyday products and manual adjustments for the expensive ones.

Can I track stock separately at each branch?

Yes. Products live per branch, with a shared fallback. Deductions pull from the branch where the work happened first. The reports section has a branch filter on stock history.

What about a product recall?

The optional lot number on each batch is exactly for this. Search your inventory by lot, pull every batch with that number, and write them off or quarantine. The appointments that used those batches are linked through the stock records.

Fourteen days. No card.

Try Flowesce on a real Saturday.

No card required, no auto-charge at the end. If Flowesce isn't for you, export everything in one click and walk.