Changelog

What's new in Flowesce

We ship every week. The small fixes that made today smoother and the big features that change how you run the business. Most recent at top.

Want something on this list? Tell us →

2026-07-07

Never miss an online order

If an online order has been sitting for a couple of days without being sent out or picked up, we will now nudge you. Once a day, we email you a short summary and drop a note in your dashboard bell listing the orders waiting on you: ones that are paid and ready to fulfil, and pickups that are ready but have not been collected yet. It keeps going until your list is clear, and a shop that stays on top of orders never hears from it. You can turn it on or off, and choose how long an order should wait first (one day, two, three, or a week), under your Storefront settings. Orders that were never paid do not count, since those already cancel themselves.

Designed starter templates for your website

Building your salon's website just got a real head start. Pick from eight designed templates, each built for a different kind of salon: a hair studio, a medspa, a nail bar, a lash and brow studio, a massage practice, a beauty bar, a color studio, or a calm little by-appointment studio. Each one arrives fully laid out, with a hero, your story, your services, team, hours, reviews, and a booking call to action, and each comes in its own look and colour so it feels designed, not generic. Choosing a template applies its whole palette to your site (and your booking page, so the two match), and you can recolour it to your own brand any time in Business settings. Everything themes to your salon, pulls in your live services and team, and links straight into booking. Open the Website builder and pick a starting point to see them.

2026-07-06

Your salon gets its own web address

Your booking page, mini-site, and online store now live at your own address, yourstudio.flowesce.com, instead of a long link buried under ours. Put yourstudio.flowesce.com on a business card, your Instagram bio, or your Google listing and it reads like a real, professional site, with your store at yourstudio.flowesce.com/shop and booking at yourstudio.flowesce.com/book. Every salon gets this automatically, on any plan, with nothing to set up. Growth plans can still connect a fully custom domain like book.yourstudio.com on top. Every link you have already shared keeps working, so nothing breaks.

2026-07-05

Gift cards

Sell gift cards, in person and online. Create one at the counter for a walk-in, or let customers buy one from your website and send it to someone by email. Each card is a code carrying a balance, with no expiry, that the recipient can spend at the salon or at online checkout, on treatments or retail, and part of a card is fine (the rest stays on it for next time). Redeeming a gift card works like any other payment method on an appointment, a Quick Sale, or a storefront order. You can refund back to a card, void a lost one, and see your total outstanding gift-card balance at a glance. Gift-card money counts as revenue when it is spent, not when the card is sold, so your reports show what you actually earned. Turn it on under Gift cards in your admin, and flip on online sales there to add a Gift cards page to your website.

Polish

  • A designed gift card page and email. The gift card page on your website has a fresh design with a live preview of the card that updates as your customer types, and the emailed gift card now arrives as a branded card in your salon's own colours.

2026-07-04

Move your store over from Shopify

Bring your Shopify store into Flowesce in a few minutes, no retyping. Export your products, customers, and gift cards from Shopify as CSV files, then upload them under Settings, Import. Your products come in as full listings with their photos, variants, prices, and stock, waiting as hidden drafts so you can look them over before they go live. Your customers arrive as client records, matched by email so you never get duplicates, and anyone who opted out of marketing on Shopify stays opted out. Any remaining gift card balances land as store credit on the right client, spendable on services and retail, and importing the same file again never double counts. Find it under Settings, Import, or the Migrate from Shopify button on your Storefront tab.

2026-07-03

Discount codes at checkout

Run a promotion on your retail products. Create a code for any store product or your whole catalog, percentage or flat amount, with the same time windows and usage caps you already use for service promotions. Customers enter it at storefront checkout and see the discount applied before they pay, right there on the payment step, on the order confirmation, and in their receipt email. Your reports, commission, and loyalty points all account for the discounted price automatically, so nothing needs reconciling by hand.

2026-07-02

Book by expertise level

Group your team into levels, Senior, Junior, Apprentice, or whatever tiers fit your salon, and clients can book "any Senior" on your booking page instead of only a named person or first available. You set the levels in Settings under Team, put each staff member in one, and an "Any [level]" option appears alongside your named team.

Levels also drive pricing. Set one price per level for a service and every stylist at that tier charges it, so you price by seniority once instead of per person. A named staff member can still have their own price that overrides their level, and booking "any Senior" always charges the level price, so what a client sees is what they pay. The level price grid sits above the per-staff grid on the service form and saves with the same single Save changes button. Titles stay a separate, cosmetic label, and a salon that sets no levels books exactly as before. On the booking page your team is now grouped by level, each section led by its "Any [level]" option and showing every stylist's price, so clients can choose by expertise at a glance.

See what is in stock

Your online storefront now shows availability at a glance. Every product carries an In stock, Low stock, or Out of stock badge, with Low stock driven by the same low-stock threshold you already set in inventory. In your admin Storefront tab you see the exact count for each product, so you always know what to reorder.

2026-07-01

Pricing by staff and expertise

Charge what each person is worth. Set a different price per staff member for any service, and for each length or tier variant, so a senior stylist's balayage can cost more than a junior's. When prices vary, the booking page shows a range up front (for example SGD 80 to SGD 120), then resolves to the exact price the moment a client picks their stylist, so what they see is what they pay.

Staff titles on your booking page

Give each team member a title such as Lead Stylist, Senior Therapist, or Director. It shows under their name on the booking staff picker and in your staff list, so clients can choose by expertise, not just by name. Titles are optional, and one toggle in Settings hides them if you would rather not show them.

Call your team what you call them

Not every salon has "stylists." Pick the word your clients see, Therapist, Masseuse, Specialist, Team member, or your own, and it updates across the booking page and the rest of the app.

Reopen a completed appointment

Marked one done by mistake? You can now reopen a completed appointment, which cleanly reverses the inventory it deducted, the commission it earned, and the loyalty points it awarded, so your numbers stay right.

Polish

  • One Save on the service form. A service, its variants, its inventory, and its per-staff pricing now save together with the single Save changes button, instead of a separate save for each section.
  • Add your appointments to your own calendar. Clients signed into your account portal can subscribe to their upcoming visits as a calendar feed, so bookings appear in Apple Calendar or Google Calendar and update on their own.
  • Search finds appointments too. The top search bar now surfaces recent and upcoming appointments by client or service, alongside clients.
  • Recurring expenses, clearly marked. Expenses posted automatically from a recurring template carry a Recurring badge, and you can filter the list by all, one-time, or recurring.

2026-06-29

Recent activity feed

A live who-did-what stream for the salon. The dashboard shows the whole salon's recent activity, newest first: who marked an appointment complete, who took a deposit, who issued credit, alongside system notes like low stock and credit about to expire. Each client's page carries the same feed filtered to just that client, so their recent history is one glance away. Money lines stay visible only to roles with financial access.

Booking links and QR codes

Build a share link that pre-selects a branch, a service, a stylist, or a referral code, and download or print a QR code that points to it. Drop it in an Instagram bio, a Google profile, or a sign on the front desk. Each stylist also gets their own link that opens the booking page focused on them, and staff can grab theirs from a My booking link page. Your custom domain is honored automatically.

Mobile and tablet, end to end

The whole app got a responsiveness pass. Every marketing page, the entire admin, and the public booking flow are clean on a phone and on a tablet. The drag-and-drop editors ask for a larger screen where they truly need one, and the email editor offers its plain-text path so you are never stuck on a phone.

Polish

  • Unsaved-changes guard. Start editing a form, then click away or hit the browser Back button, and Flowesce warns you before the edits are lost.
  • Staff off-day overview. A read-only Team off-days grid shows every staff member across the next few weeks (full off, partial off, not working that weekday, or working) plus a strip for salon-wide closures.
  • Print the day as a grid. The printable daily schedule gained a List, Grid, or Both view. Grid lays the day on a time axis with one column per staff member, the way a paper day-planner reads.

2026-06-28

Memberships

Sell a recurring membership: a monthly or annual fee that includes a pool of service credit and an optional member discount (for example $80/mo for one facial and 10% off retail). Set the price, the cadence, what the credit covers, and whether unused credit rolls over. Enroll a client from their page; the credit drops each period and the revenue flows into your P&L and reports. Bill it by hand anywhere, or auto-charge a saved card. Growth tier.

Loyalty

A free-to-join rewards program: points per dollar spent, or a stamp card such as every 10th blow-dry free. Clients earn on completed appointments and quick sales and redeem for in-store credit. You choose whether points expire: never, after a stretch of inactivity, or a fixed window from when they were earned. Growth tier.

Card on file and automatic no-show fees

Turn on require-a-card-to-book and the booking page collects a card up front, held by Stripe so you never see the number. When a client no-shows or cancels late, the fee from your policy charges to that card automatically instead of sitting as an unpaid balance. Salons that would rather not hold cards keep the balance-only model. Available where online payments are enabled.

Customizable menu

Hide the sidebar items you don't use. An All features button opens the full list, where you both launch a feature and toggle whether it appears in your nav. Your role still sets the floor, and brand-new features show up on their own. Dashboard always stays.

Polish

  • Prices in your local currency. The pricing page and billing show Singapore dollars or Malaysian ringgit based on your location, alongside US dollars.
  • Your trial starts at signup. The 14-day free trial now starts the day you sign up, with a countdown and reminder emails as it winds down.
  • Manual payment instructions. Add your PayNow, PayLah, or bank details and a QR image, and they appear in deposit and confirmation emails for salons that take payment outside the app.
  • Retail photo fallback. A product with no photo shows a clean branded tile with its initials instead of an empty box. Upload a photo any time and it takes over.

2026-06-27

Transactions: one money stream

The new Transactions page replaces the old Sales page with a single money stream: quick sales and appointment payments together, including auto-charged no-show and late-cancel fees. Toggle between All, Sales, and Appointments, filter by date, method, staff, or type, and export exactly what you filtered to CSV. Refunds run right from the row.

2026-06-25

Your own website

A section-based mini-site builder that extends your public booking page. Toggle the sections you want: hero, about, services, gallery, team, testimonials, hours and map, FAQ, contact, and a booking CTA. Theme everything with your brand kit (logo, accent colour, fonts) that you set once and it applies to your website, your emails, and your booking page. Add a site-wide announcement bar with a date window for promotions or closures. Embed Instagram posts directly on your site. Publish to your own custom domain. If you already have a website, the booking embed widget lets you drop a booking button onto any page instead.

Online store (Singapore)

Sell retail products from your website: per-product photo, listing description, and price; a Shop section customers can browse; and a checkout flow built on Stripe. Card checkout is live for salons in Singapore today. More regions are opening over time. The store itself, including product listings and the Shop section, is available everywhere; only card checkout is Singapore-gated right now. Products come straight from your existing retail inventory, so there's no second catalog to maintain.

Help center

A public /help with getting-started guides, payments, storefront setup, and payroll hand-off articles. Searchable, no login required.

Commission ledger

Commission is now frozen the moment it is earned: rate, base amount, commission amount, and date are all locked at that point. Changing a commission rate going forward never rewrites what your staff have already earned. A per-staff "commission starts on" date lets you set an eligibility date for new hires or role changes. Click into any staff total and see every appointment and sale behind the number, plus any manual adjustments.

Profit and Loss by branch

Multi-branch shops can now view P&L per branch. Shared overhead (software, rent, owner pay) is allocated by revenue share and surfaced as its own line so it doesn't disappear into each branch's number. Single-branch shops see no change. The CSV export gets per-branch columns.

Scheduled report emails

Set up a weekly or monthly business summary emailed to yourself, in your business timezone. A Send test button fires a copy immediately so you know what you'll receive.

Annual and public-holiday closures

A Holidays section on your Branch settings for yearly-repeating closures: whole business or one branch, whole day or partial. Booking availability respects them automatically, so clients can't book a slot on a day you're closed.

Before and after photos

A treatment-progress timeline on the client page that groups dated before/after photos by visit. Click any group to open a drawer with the full-size images side by side.

Forms: file uploads and conditional fields

Clients can now attach an image or PDF inside a form (useful for patch-test photos or referral letters). A field can be set to show only when an earlier answer matches a condition you pick, so the form stays short for clients who don't need certain sections. Both are Growth-tier features.

Staff photos on booking

Optional per-staff photos on the stylist step of your public booking page. Upload a photo on the staff profile and toggle it on; clients see faces, not just names.

Faster multi-branch setup

Bulk-select services or inventory items and copy them to another branch in one step, instead of recreating each one by hand.

Your account

A new owner account settings page: display name, profile avatar, and change password in one place.

Polish

  • Service warnings. Clearer warnings when a service has no branch or no staff assigned, so it can't silently stay off your booking page without explanation.
  • Signup password-strength meter. Visual feedback as you type so you know your password meets the bar before you submit.
  • Upload error messages. Every image upload now explains exactly why it failed (wrong file type, too large, empty file) instead of silently doing nothing.
  • Waitlist popover in the topbar. The topbar Waitlist entry became a quick popover so you can see the queue without leaving the page you're on.
  • Currency display fix. Fixed a display issue where non-USD businesses saw amounts rendered with the wrong currency symbol in certain views.

2026-06-19

Journeys: automated email flows

Build multi-step, trigger-based email sequences without touching code. Pick a trigger: new client's first visit, appointment completed (with a per-service filter so your Hydrafacial aftercare only goes to Hydrafacial clients), no booking in N days, anniversary, birthday, expiring credit, before an upcoming appointment, or form submitted. Add wait steps, branch with if/else conditions, and go beyond email: grant credit, send a form, notify a staff member. The four older smart campaigns (win-back, post-visit review, anniversary, expiring credit) were migrated in and kept their send history, so nothing skipped or doubled.

Visual email editor and brand kit

A drag-and-drop email composer for broadcasts and Journey emails. Drop in an image, a headline, a button, or a divider; no HTML required. A per-business brand kit (logo, accent colour, editorial fonts, social links) applies to every email you build and also themes your public booking page, so the whole client experience looks like you.

A fresh look

A site-wide visual redesign of the admin app and the public booking flow. Tighter spacing, cleaner cards, a consistent pill shape across every input and button, and a softer shadow system that lifts surfaces without going heavy. The booking page mobile experience got the same treatment.

2026-06-14

Reports: custom date-range picker

The native browser date inputs gave way to a single Popover with preset chips on the left (Last 7 days, Month-to-date, Last quarter, Year-to-date, This year) and a two-month calendar on the right. Apply commits, Cancel bails. The active preset highlights so you can tell at a glance which window is on. On wide screens it sits inline with the chips on the page header instead of breaking onto its own row.

Inventory: Committed column

A new Committed column on the inventory list shows how much of each item is already promised to upcoming appointments that haven't been completed yet (Booked, Confirmed, Arrived). Service variants with their own requirement list override the parent service's list, mirroring what actually gets deducted on completion. The cell shows a dash when nothing's reserved and highlights amber + bolded when committed stock exceeds the current stock. The CSV export gets the same column.

Marketing: email log detail drawer

Every row on the email log opens a side sheet with the full subject, the full recipient with one-click copy, a plain-English status narrative, a timeline of every status change, and the Resend message id for support escalation. Bounced, Complained, and Failed get a red-tinted timeline card so the visual triage matches the urgency.

Security

  • Sign-in code is no longer in the email subject. The six-digit code stayed visible in inbox previews to anyone glancing at the recipient's lock screen. Now the subject reads "Your sign-in code" and the code lives in the body where it belongs.
  • Sign-in code rows hide from non-Owner roles. On the email log, Manager / Receptionist / Bookkeeper accounts no longer see OTP rows. Owner still sees everything.

Service create UX

  • Creating a service now lands you back on the list. Landing on the new service's edit form right after creation looked identical to the create form, which read as "did this save?" and drove the double-Save click. The list view answers the question instantly.
  • Save confirmations moved from bottom-right to top-center. The old position was tucked next to the avatar trigger and easy to miss; now toasts land in your eyeline. Still non-blocking.
  • New services auto-select every active branch. The most common "I created a service but it isn't on my booking page" support question came from a service with no branch assigned. The Active toggle moved out of Advanced settings too, into its own Status section.
  • Service edit page reorder. Inventory requirements → Variants → Commission overrides so the most-touched sections sit at the top.

Polish

  • Sitewide pill border-radius. Buttons, inputs, selects, sidebar nav, mobile nav, and chips all share the same pill shape. Cards, dialogs, sheets, and popovers stay rounded rectangles.
  • Account trigger collapses to just an avatar circle. Name and email moved inside the dropdown. The initial defaults to the first letter of your display name when set, otherwise your email.
  • Soft two-layer drop shadow on cards. Subtle airy lift on every card and modal so the surface feels less flat without going heavy.

2026-06-13

Payroll hand-off

  • Reports → Payroll. A new page summarizes each staff member's service commission, product commission (broken out by retail / package / service), tips, and clocked hours for the window you pick. Numbers reconcile with the Commissions and Tips tabs in Reports for the same dates.
  • Two CSVs, pick the one your provider speaks. Generic CSV is one row per staff with every pay component as a column, ready for Gusto, ADP, Xero Payroll, or a bookkeeper's spreadsheet with light column mapping. Talenox CSV is one row per pay item, ready to map to your Talenox payment item codes in their ad-hoc payment import.
  • Branch filter for multi-branch shops. Limit commissions and tips to one branch. Hours stay company-wide for each staff member in v1 (clock-in / clock-out doesn't track which branch the shift was at yet); the page calls that out so you know what you're exporting.
  • Native payroll inside Flowesce comes later, region by region. This is the universal hand-off floor.

2026-06-12

Smart campaigns: template gallery, variable picker, live preview

  • Pick a starting template instead of a blank textarea. Each of the four trigger kinds now ships with four ready-to-use templates with different voice + psychology. The picker drifts to "Custom" the moment you hand-edit a field; re-pick anytime to reset.
  • Insert variable button. Replaced the discoverable-only disclosure with a real Insert variable popover next to Subject and Body. Click a friendly label (First name, Last visit date, etc.) and the placeholder drops in at your cursor. The picker only lists variables that populate for the current trigger kind.
  • Live preview panel. Renders the same substitution the cron runs at send time with stable sample data. What you see is exactly what the client will read.

Transactional email copy refresh

Stripped SaaS-receipt filler from the five highest-frequency transactional templates and warmed the copy. Booking confirmation, reminder, cancellation, reschedule, deposit confirmation. Inbox previews now lead with concrete data (date, business, action) instead of repetitive boilerplate.

2026-06-11

Smart marketing campaigns (Growth tier)

A new Smart campaigns tab inside Marketing with four pre-built trigger types: Win-back (clients dormant N days), Post-visit review request, Anniversary (year-anniversary of first appointment), and Expiring credit reminder. Tune the days + subject + body, flip the switch, and a daily job picks the right clients and sends. Per-trigger unique-key dedupe means no double-emails for the same event; backfill-on-enable defaults off so flipping a switch doesn't spam your entire dormant list. Variables you can drop in: first name, business name, last visit date/service, appointment date/service, credit balance, expiring credit details, anniversary year.

Per-batch credit expiry with FEFO drain

Optional expiry date on every credit issuance. At redemption time the soonest-expiring batch drains first; never-expiring credit is consumed only after every expiring batch is empty, so a client doesn't lose money to expiry while a no-expiry pool sits next to it. The client card now shows the soonest 4 expiring batches with a countdown (amber inside 14 days). A daily 07:00 UTC cron writes off anything past expiry.

2026-06-10

Forms (intake, allergies, consent, signature)

A new Forms tab in the sidebar. Build forms with text, long-text, dropdown, yes/no, checkbox, and date fields, starting from three pre-built templates (General intake, Medical history & allergies, Photo + treatment consent). Attach forms to services; when the service is booked, a completion link goes out by email. Typed signature with an "I, {name}, agree to the above" disclaimer. Three buttons per outstanding form on the appointment card: Resend link, Mark filled in person, Open form. A per-business toggle in Booking preferences turns off the auto-email if you only want to fill on a tablet.

Booking policies (cancel + reschedule + late fees)

Four preset policies: Flexible, Fair, Moderate, Firm. Independent cancel and reschedule cutoffs in hours. Late-cancel and no-show fees as flat amount or percentage; when one triggers it lands as an outstanding balance on the appointment (auto-charge against a saved card arrives once Stripe Connect ships). The cancel preview shows the fee before the client confirms; reschedule blocks with a polite explanation past the cutoff.

Earlier

Foundations

Unified waitlist (online + walk-in queue in one surface with auto-match on cancellation, 2-hour claim link, daily cleanup); promotions v1 with time-windowed + code-gated discounts, total / per-client / min-order caps, and multi-item booking support; in-store credit primitive with signed ledger and apply-at-checkout, plus refund-to-credit on appointment + Quick Sale refunds; cash drawer feature set (per-denomination grid for 10 currencies, deposit-to-bank on close, drill-down audit, void manual entries, time-to-close banner) and the cash change calculator at checkout; Quick Sale refunds end-to-end with proportional commission claw-back; inventory items can do both service + retail, with per-batch expiry tracking, FEFO drain, a dashboard expiring-soon card, and an Adjust-remaining correction tool; appointment CSV import; clients filtering + sorting overhaul with gender field; guided onboarding wizard at /welcome/setup with resume-from-dashboard; client account portal (OTP email auth, cancel + reschedule requests with per-business auto-approve, receipt download); recurring expenses with optional annual escalator; Reports date-range preset chips + CSV export on every list page and the P&L; nav restructured into Finance + Workspace groups; trial-paused soft paywall; trial-reminder cron at T-7 / T-3 / T-1 / T-0; subscription-welcome email; founding-member program plumbing; PostHog acquisition funnel; demo video on the landing hero; Stripe sandbox end-to-end test; public booking page mobile polish + accent colour picker + footer microcopy.

Earlier foundations: catalog primitives (service bundles, credit packages, resources + processing time, service variants); calendar with right-side appointment panel + color-by-staff + multi-select staff filter + inline status transitions; public booking page rewrite with single wizard for services and packages, quantity stepper, click-to-add cards; bookkeeping push (Profit & Loss, receipt PDFs, sales tax tracking, tips tracking); demo seed script with 3 months of history; 5-role RBAC + team invites; staff time tracking + timesheet pivot; per-staff custom permission overrides; marketing broadcasts with unsubscribe; birthday auto-send; per-business email sender domain via Resend; iCal subscription feeds; appointment refunds with reason; per-appointment discounts; Quick Sale for walk-ins; repeating appointments; forgot-password flow; theme provider with dark mode; CSV import for clients / services / inventory; product commissions; ban-a-client; flexible deposit waterfall; split-shift hours; partial-day closures + staff time-off.