跳至主要內容 / Skip to main content

Three Inventory Tracks in Beauty Salons: Separate Consumables, Retail, and Stored Items to Avoid Margin Chaos

Consumables, retail, and stored items — the three inventory tracks of a beauty salon, each with their own deduction timing, revenue recognition, and margin logic.

7 min read·5/22/2026

Why beauty inventory needs three separate tracks

Retail businesses have one inventory track (buy in, sell out). Beauty has three: (a) **consumables** (used in-salon — dye, polish remover, cotton swabs); (b) **retail** (customer takes home — shampoo, skincare); (c) **stored items** (customer buys but leaves at the shop for later pickup). Mixing the three breaks margin calculation, inflates performance (consumable cost gets miscounted as retail revenue), causes month-end stocktake to diverge from paper records, and tangles customer pickup tracking. This is a beauty-industry-specific complexity that paper/Excel can almost never handle cleanly.

Track 1: Consumables

In-salon materials — dye, polish remover, tissues, cotton swabs, sanitizer. **Properties**: (a) Consumed during service, **not counted as revenue** (these are store costs, not "sales to customers"); (b) Stock auto-deducts (every treatment automatically draws down what it used); (c) Cost feeds into the treatment's margin, not store revenue. **Wrong setup**: tagging dye as "retail" → beautician earns inflated commission on cost; margin breaks; the tax authority will question this at audit. The system should categorise products at creation, and let services explicitly mark each item as "used" or "sold."

Track 2: Retail

Goods the customer takes home — shampoo, creams, skincare, makeup. **Properties**: (a) Counts as store revenue + beautician commission (typically 10–15%, lower than service commission of 30–40%); (b) Stock auto-deducts; (c) Selling price − purchase price = margin. **Important**: retail commission % usually differs from service commission %; lumping them together pays wrong salaries (beautician over-paid or store under-paid). The system should allow separate "service commission %" vs "retail commission %" with month-end export showing each in its own column.

Track 3: Stored items (pending / picked_up)

Customer buys but leaves the goods at the shop for later — annual skincare bundle, multi-pack treatments that won't be consumed in one visit, gift purchases. **Properties**: (a) **Revenue recognised on sale day** (customer paid); (b) **No immediate stock deduction** (the goods are still on the shelf); (c) **Stock deducts only on pickup**. Two-stage state: "pending" (sold, not yet picked up) vs "picked_up" (collected, doc kept as history). System should track each stored item's status, expiry date, and pickup batches. When deleting the original treatment, picked-up stored items must restore currentStock (a v1.7.x cascade gap fix).

Common mistakes when tracks mix

Paper-based studios stumble on three pitfalls: **(a) Everything tagged as "retail"** → consumable cost erroneously becomes commission base; beautician over-paid; store loses money. **(b) Stored items deducted on sale day** → month-end stocktake never matches (the goods are still in the shop); discrepancy compounds until books are unreadable. **(c) Stored items not state-tracked** → customer comes back 6 months later for pickup; owner can't find the record on paper; can't recall whether it was paid; arguments follow. Excel can't cleanly handle it either — each track has different fields, different deduction logic, no single sheet works.

System implementation must-haves

A competent beauty inventory system should: (a) Tag each product at creation as "consumable / retail / both" (both = usable in-salon or sellable, switchable); (b) When adding a product to a service record, let the user pick "use" or "sell" — performance and stock auto-split; (c) Stored items live in a dedicated collection with a state machine (pending → picked_up) plus expiry reminders; (d) Dashboard surfaces margin, stock level, and stored-item liability per track. **Test**: when you delete a treatment that includes stored items, pending refunds storedCount AND picked_up restores currentStock (the v1.7.x full cascade).

Conclusion

Three-track separation isn't just bookkeeping discipline — it underpins commission accuracy, cash-flow forecasting, and customer service. When evaluating a new system, **run a real mixed scenario** (one treatment: 1 consumable + 1 retail item + 1 stored item, half-paid). If the system can correctly split everything or the vendor needs support staff to handle it, that's a design-maturity warning. Owners should review per-track margin quarterly and intervene when one drifts from expectation.

Key takeaways

  • ·Beauty inventory has 3 tracks (consumables / retail / stored items); mixing them mis-credits revenue, margin, and salaries
  • ·Consumables are store costs, not revenue; retail counts toward revenue and uses its own commission %
  • ·Stored items: revenue on sale day, stock deduction on pickup day (two-stage state)
  • ·Paper/Excel almost cannot cleanly handle three tracks — professional system needed
  • ·Test focus: when deleting a treatment, pending refunds storedCount AND picked_up restores currentStock

Related terms

Comparisons

Put these into practice at your shop

MeiYe Zhan 30-day free trial, all features unlocked.

Start trial