What's New

August 2026: Deposits Land in the Right Column

2 August 2026

Highlights

Deposits are attributed to how they were actually paid

Until now a deposit was bundled into whatever payment settled the rest of the bill, so a $43 card deposit on a $180 appointment finished at the counter in cash was reported as $180 of cash. Your Sales summary now records the deposit against the method it was genuinely taken with - card deposits under Card, cash deposits under Cash - so the payment breakdown reconciles against your card statements and your till. Receipts are unchanged: they already showed the deposit on its own line. This applies to appointments checked out from now on; periods before this update keep the figures you have already reconciled and reported on.

Your client is told when their treatment plan is ready

Publishing a treatment plan now messages the client to let them know, with a link straight to it in their booking portal - until now the plan simply appeared there and they had no way of knowing. Email is on by default and SMS is off; both templates are yours to edit under Settings → Automated messages, like every other automated message. Saving ordinary edits stays silent, so only "Save & re-publish" lets them know the plan has changed.

Checkout stops asking you to charge a bill that is already paid

When a deposit, a gift card, client credit, a package or a full discount has already covered everything, checkout no longer shows four payment methods and a "Charge card" button that would charge nothing. It tells you what covered the bill and gives you one button to complete it. The same applies to a walk-in sale a gift card covers in full.

See cancelled appointments on the scheduler when you need them

The scheduler header now has Filters for status, booking source and tags. Cancelled stays off by default - tick it when you want those appointments on the calendar. A dot means something differs from the defaults; Reset puts them back. Same idea as the Appointments list status filter.

Clients can upload photos and PDFs on intake forms

A new File upload field lets clients send treatment-area photos, ID, or referral letters from the form link - your team sees them on the submission and on the client Files tab.

Payments & pricing

  • NewAdd a fixed appointment fee without hiding it at checkoutPayments & Deposits

    Set one fixed Appointment fee under Booking policies (a flat surcharge, service charge or booking fee - clients see the name you choose) and Bella adds it once to every new appointment with a service, whether the client books online or your team creates it. Service and bundle cards show the all-in price from the start, then the booking, till, receipt and email itemise the fee by the name you chose. It stays outside deposits, cancellation percentages, discounts, packages, memberships, commission and loyalty, while gift cards and client credit can still pay it. Sales summary gives it its own count and amount. This is a method-neutral charge on the appointment, not a Bella per-booking fee and not the card processing surcharge: Bella still never takes a cut of your appointments.

Services

  • NewRequire a consultation or an initial service before a treatment can be booked onlineServices & Bundles

    A service (or bundle) can now list prerequisite services - the classic "consultation first, then the treatment" pattern without misusing a membership as a gate. Choose Completed (the prerequisite appointment must be marked Completed) or Booked (any non-cancelled booking counts, including adding both to the same cart). When you list more than one, require Any or All. Online, unmet treatments stay visible but locked with a clear path to book the missing service; your team sees an advisory on the dashboard and can still override. Cancelling the prerequisite later does not retro-cancel a treatment already booked under Booked mode - use Completed when the consult must genuinely have happened.

  • FixedReorder your services on a phone or iPadServices & Bundles

    The drag handle next to each service now shows on every screen, not only a wide desktop window. Press and hold it, then drag, or use Move up / Move down in the row menu. The same pattern applies to categories, team members, resources, product categories, variants, and bundle components.

Online booking

  • EnhancedA link to one service now starts the bookingOnline booking

    Share a link to a single service (Catalogue then Services, the service menu, Copy booking link) and it no longer just scrolls the client to it - it adds the service for them, so they land on a booking already started. The same happens when a client taps a service on your booking page. Where the service needs a decision first the link asks it instead of guessing: options and add-ons open on screen, a group service asks how many people, and a client with family members on their account is asked who it is for. If the service is not one they can book right now, they are told why and pointed at your memberships, at the service they need first, or at your phone number, and if they sign in along the way they come back to the same service with their selections intact.

  • NewChoose which contact details appear on your booking pageOnline booking

    Your phone number, email address, website, social links and address are now each switchable under Settings → Online booking → Appearance → Contact details. Turning one off only stops it being published to clients and search engines - your receipts, appointment confirmations and automated messages still use it, so you never have to delete a detail just to stop showing it. (Reserve with Google is the one exception: it needs a published street address, so a suburb-only or hidden address holds your listing back until you switch it back.) Address has three settings rather than a switch: your full address, an area-only option named for your country (Suburb and state in Australia, City and state in the US), or hidden - so businesses that travel to clients or work from home can stay findable by area without publishing a street address.

  • NewShow a service without letting clients book itServices & Bundles

    A service can now be set to Enquiry only on its Booking policies tab. Clients see it on your booking page (and its price, unless you have hidden prices) but get a Call to book or Email to book link instead of a time picker, so bridal, complex colour and anything you quote after a chat can be advertised without arriving as an unchecked booking. A bundle that includes an enquiry-only service is left out too. It stays out of the booking steps and out of your Reserve with Google listing, because neither can take a booking for it.

  • EnhancedA booking waiting on the client no longer asks you to approve itOnline booking

    If you ask clients for a deposit or a card on file, a booking waits until they finish that step. Those bookings used to sit on your calendar labelled "Pending Approval" with an Approve button - even with approval switched off - which read as a booking waiting on you when it was really waiting on the client. They now show as Awaiting deposit or Awaiting card, they tell you the booking confirms by itself the moment the client pays or saves their card, and the client gets a message with a link to finish. You can still approve one yourself, and Bella will point out that approving a card hold means there is no saved card to charge if that client later cancels late or doesn't show. Your notifications match: an appointment that is still waiting is no longer announced as "Appointment confirmed". The two new business notifications sit with the rest in Settings → Automated messages, so you can reword them or switch them off, and you can filter your notification bell to just the bookings waiting on a payment step.

  • NewSee exactly what times clients can book onlineOnline booking

    Find a time now has an Online booking view - Schedule gaps, minimum notice and your booking window applied - with an Online vs Scheduler count of how many free times clients do not see. Open it straight from Booking policies with Check what clients see (or from Online booking Live preview, and when a team member or service is hidden from online booking). Preview booking flow still walks through messages, payments and notifications after a booking; the two tools answer different halves of what clients experience.

  • NewSee your availability - and the impact of a policy change - before you saveOnline booking

    Booking policies now shows your live availability - how many times clients can book over the next 7 days, worked out against your real calendar - and, when you change a rule, what it would become before you save. New warnings flag settings that quietly shrink your availability, and your booking-page suggestions appear right on the page.

  • EnhancedSet a cancel or reschedule window to any notice you actually work toOnline booking

    Cancel window and Reschedule window now take any notice period up to 72 hours, not just the preset chips. Choose Custom, then type the number in minutes, hours or days - whichever you think in - so a 36-hour window is simply 36 hours, with no working out what that is in minutes. The value reads back to you before you save, so a slip of the finger never becomes your policy.

  • FixedLong About text now ends in Read moreOnline booking

    When the About on your booking page runs long, it used to be cut off mid-thought. It now trims at a tidy length and finishes with Read more, which expands it in place (Read less folds it back), on every hero layout. Clients who want the full story get it; everyone else gets to the times sooner.

  • NewA Book button on Google Search and MapsOnline booking

    Reserve with Google is live. Switch it on from the Online booking page - the same place as your booking link and Google Business Profile helper - and Bella publishes your business so clients can book from Search and Maps where Google offers it. The Book button opens your booking steps (the same as Straight to booking), not your landing page. You need online booking on, a complete pinned address, a business type Google can map, and at least one service and team member available online. Bella sends the listing once a day; Google can still take a day or so to show the button, and only in countries and categories where it offers Reserve with Google. This is not the same as pasting your booking URL into Google Business Profile.

Reports

  • EnhancedDeposits counted under the method they were paid withDashboard & Reports

    The Cash, Card, Gift Card, Client credit and Other columns of the Sales summary now attribute an appointment deposit to the tender that actually took it, instead of folding it into the payment that settled the remainder. The columns still add up to the day's total - money has only moved between them, and only for appointments checked out from this release onwards. One thing this does not change: a deposit is still counted on the day the appointment was checked out, not the day the client paid it.

  • EnhancedPackages summary now shows refunds and a net figureDashboard & Reports

    The Packages summary gains two columns: Refunds and Net sold amount. When a package purchase is refunded in full, the money comes back on the day the refund was issued - Total sold amount stays as it was on the original sale day, so a period you have already read or exported is never rewritten. Only the package's own price is reversed, so a sale that mixed a package with services never over-reports. A voided package is deliberately not a refund: no money went back, so it stays in Total sold amount while its sessions leave Sessions outstanding.

  • FixedFirst-visit offers now appear in the Sales summary discount totalDashboard & Reports

    A new client offer redeemed at checkout was missing from the Discounts column, so the figure understated what you had actually given away. It is now included, in both the selected period and the comparison period.

  • FixedRefunding a package purchase now cancels the packagePrepaid Packages

    A client refunded in full for a package could still book against its remaining sessions - you had given the money back and still owed the treatments. A full refund of the purchase now voids the package, so those sessions can no longer be redeemed at the till or online. Sessions the client had already used stay used, and a partial refund still leaves the package active - that is how you return just the unused portion of a package someone has already started.

  • FixedRefunds on package sales are attributed correctly when you filter by team memberDashboard & Reports

    With a team member filter applied, the Sales summary shares each refund across the sale in proportion to that member's work. Package lines were counted on one side of that calculation but not the other, so a refund on a package-only sale disappeared from the report entirely, and a refund on a mixed package-and-service sale was overstated. Both now come out right.

Cancellations

  • EnhancedCancellation emails say exactly what happens to productsOnline booking

    A cancellation used to itemise every product on the appointment, add them into the total and - on a deposit booking - print a "Balance due", even though cancelling releases those products and nothing is ever charged for them. Cancellation messages now cover the services only, and a new line says what actually happened to the products: released and not charged, or, when the client paid for them up front in the booking flow, still theirs to collect. The line is a template variable you can reword like any other.

  • NewClients are told when you charge a cancellation feePayments & Deposits

    Charging a late-cancellation or no-show fee to a saved card now sends the client a message saying what was charged and why - before this it was recorded only in your own activity log. It quotes the total that reached their card, including any card processing fee you pass on, and it is yours to edit under Settings → Automated messages. Turning off Notify the client on the cancel dialog suppresses it along with the cancellation message.

  • EnhancedCancelling a booking with paid products now asks what to do with themPoint of Sale

    When a client has already paid for products reserved against an appointment, cancelling it asks you first: keep the order so they still collect, or cancel and refund it to their card. Bulk cancels ask once for the whole batch - including the sweep that runs when you archive a team member, service or bundle, which previously cancelled those appointments in silence and never mentioned the paid deposits or orders left behind.

  • EnhancedChoose line by line what a cancelled client gets backPoint of Sale

    The cancel dialog used to offer one switch over everything the client had used - Forfeit redeemed rewards & credits - and it never said what those were. It now lists them: the gift-card balance they spent, their store credit, the package and membership sessions this appointment used (named by package), the loyalty points, a referral reward, a first-visit or birthday offer, and the products going back on the shelf. Each line is yours to Restore or Forfeit, so a late cancellation can hand back the gift-card money while keeping the session, instead of all-or-nothing. Restore all and Forfeit all set the lot in one click. Only what the booking actually used is listed, so most cancellations look simpler than before, not busier - and cancelling an appointment that was already checked out now offers to refund that payment to the client's card, or to their credit balance, which previously could only be done by refunding the sale separately.

  • FixedRefund figures on the cancel dialog now match what was actually chargedPayments & Deposits

    On businesses that pass card processing fees on, "Full refund" quietly refunded less than "Use policy", and the forfeit shown to both you and the client was short by the processing fee - a $100 deposit with a $3 fee and a 50% policy read $47 when the client was $50 out of pocket. Both now work from the amount the card was actually charged. The client's cancellation page also shows the refund and fee it had been silently discarding.

Checkout

  • EnhancedNothing left to collect now reads as exactly thatPoint of Sale

    An appointment whose deposit, gift card, client credit, package or discount already covers the full amount now shows "Paid in full by the $43.00 deposit - nothing left to collect" and a single Complete checkout button. Previously the payment-method list still appeared with the client's saved card pre-selected and a "Charge Mastercard ····1690" button, alongside a note saying the card would be charged immediately - none of which happened, and whichever method was left selected was recorded as the payment for the whole sale. Create Sale behaves the same way when a gift card covers a walk-in sale in full.

Refunds

  • EnhancedHand back a session on a partial refundPoint of Sale

    Refunding part of a sale returned money and nothing else: with part of the bill still standing, Bella had no way to tell which session or reward the refunded amount belonged to, so it left them all alone. The refund dialog now lists what this sale used - package and membership sessions, loyalty points, a referral reward, a first-visit or birthday offer - and you say which of them the refund covers. Refunding one of two services and handing back the package session it used is a two-click job. A full refund still returns everything by default; you can now hold a line back there too. Gift-card balance and store credit stay full-refund-only, because their value is part of the bill and returning them beside a part-refund would give the client back more than the refund did.

  • NewVoid a sale you rang up wrongPoint of Sale

    When you ring up the wrong service, or the wrong client, open the sale and click Void sale. It reverses the whole checkout in one go: a card payment goes back to the client's card, a cash payment comes off your records, and everything the sale used comes back - gift-card balance, client credit, package and membership sessions, loyalty points, rewards, first-visit and birthday offers, and product stock. The appointment returns to unpaid so you can change what was sold and check out again. The voided sale stays in your Sales list marked Voided, keeping its invoice number and the reason you gave, so the correction explains itself later - and it leaves your sales and tax reports entirely, because it is not a sale and not a refund. Filter the Sales list by Refund status, Voided to see everything you have voided over a period. Until now the only way to undo a mistaken checkout was to refund it and re-ring it as a free-text charge, which lost the service on every report.

  • NewYour client is told when you refund themPayments & Deposits

    A refund used to be silent - the client found out when it turned up on their statement, or asked you. They now get a Refund issued message with their amended receipt, so they can see exactly what came back. It goes out for partial refunds too, which are the ones clients query most. Reword it or switch it off under Settings → Automated messages → Sales & receipts.

  • NewGive back a cancellation fee you charged by mistakePayments & Deposits

    A late-cancellation or no-show fee charged to a card on file used to be permanent in Bella - putting it right meant a refund from your payment provider with nothing here to show for it. Open the cancelled appointment and click Refund fee: the fee and any processing surcharge go back to the card it came from, the appointment records it, and you can charge a corrected fee afterwards.

  • FixedCancel a completed appointment that had a depositPayments & Deposits

    Cancelling a finished appointment was blocked outright whenever a deposit had been taken, so the only way to unwind a mistaken checkout was to call us. It now works like any other cancellation, with the deposit refund or forfeit decided by your cancellation policy exactly as it is everywhere else.

  • FixedStock put back by a cancellation is no longer filed as a manual adjustmentProducts & Inventory

    Cancelling a completed appointment puts any products sold back on the shelf. The product's History tab labelled that automatic restock Manual adjustment, which made it look like someone had counted the stock by hand. It now reads Sale refunded, with a note naming the appointment that caused it.

  • EnhancedEvery refund is now matched to the payment providerPayments & Deposits

    Bella records the refund reference your payment provider returns, so a refund on your Stripe dashboard can be matched to the sale it belongs to instead of hunted down by amount and date.

  • FixedA checkout refund can no longer reach into the depositPayments & Deposits

    Refund Checkout and Refund Deposit have always been separate actions, because they reverse two separate charges. The refund screen capped the checkout refund correctly, but the underlying limit did not - so a refund requested outside the screen could return more than was ever collected at the counter. The limit now excludes the deposit, which continues to be refunded through Refund Deposit.

Forms

  • NewFill in a form for a client at the counterForms & Intake

    A client standing at your front desk can now have their form completed on the dashboard, instead of you watching them type on their own phone - or giving up. Fill in for client opens the same form, with the same questions and the same required fields, from the client's Forms tab, an appointment, the Submissions tab or any form still awaiting completion. If nothing has been sent yet, pick the form in Send form and choose Fill in for client - no email, no SMS, no link. Where a form is already waiting, the same submission is completed, so there is no second record and no duplicate message. Signatures are unchanged: hand the device over and the client signs. Every completed form now records who submitted it - Filled in by Alex Chen, or Completed by Sarah Nguyen - on every screen and in the CSV export, and a client is never sent a "we've received your form" message for one you filled in for them.

  • FixedClients can complete a form straight from the link you sendForms & Intake

    The form link in your email or SMS now opens the form itself. Until now it landed the client on a sign-in wall - they had to have an online-booking account and get a code by text before they could answer a single question, which is why so many consent and intake forms were never returned. The link now carries its own one-off key for that one form, so the client taps it and starts filling it in. Copy link on a pending submission in your dashboard hands over the same no-sign-in link, and the Submissions tab of a form now has its own Send form button - pick a client and it goes. Where a client already has that form waiting, Resend link nudges the same one instead of quietly creating a second submission and a second message. Links you sent before this update keep working exactly as they did.

  • NewClients can upload photos and PDFs on intake formsForms & Intake

    Add a File upload field to any form - clients take a photo or choose files (JPG, PNG, WebP, HEIC, or PDF) from the form link, up to five files per question. Your team reviews them on the submission and on the client's Files and Photos tabs. Clients re-view their uploads on the completed form.

  • FixedAnswers now read in the order you wrote the formForms & Intake

    On a form built with more than one section, the answers on the client's record came back shuffled - the first question of every section together, then the second of every section, and so on. A follow-up like "If yes, which medicine?" ended up several answers away from the question it belongs to, and a signature could land in the middle. Submissions now read exactly as the form is laid out, section by section, and the same order carries through to the printed copy and the CSV export. Forms already completed are corrected too - nothing needs resending.

Clients

  • NewTreatment plan templatesTreatment Plans

    Build a treatment plan template once - phases, timing, notes and recommended services and products - then use it to start any client's plan, or add its phases to an existing plan. You can also save any client's plan as a template for next time. Your library lives under Catalogue, Treatment templates. Applying a template copies it, so editing or deleting a template later never changes a plan someone is already following - and the plan's revision log still names the template it started from. Adding phases to a plan already running asks which date they should begin and shifts the whole template by the same amount, so the spacing you designed is kept.

  • NewLink two existing clients as family - so they can share an email address

    The Family tab could only create a brand-new person, so a couple who are both long-standing clients could not be linked at all. Add now has two modes: New person as before, or Existing client - search anyone already in your list, pick the relationship, and link. They keep their own profile and their entire appointment history; nothing is created and nothing is merged. This also unblocks a common request: an email address or mobile number can only belong to one active client, and the single exception is people linked as a family - so link them first, then put the shared address on both profiles.

  • FixedPayment history no longer counts a deposit twiceClient Management

    A client's payment history listed the deposit on its own row and also inside the sale total, so a $180 appointment with a $43 deposit read as $223 of activity and disagreed with the receipt. The sale row now shows what was collected at checkout, so the rows add up to what the client actually paid. Deposit rows also name the payment method now, including for deposits paid online.

Scheduler

  • NewDropping a dragged appointment now asks firstScheduler

    Releasing a drag on the calendar opens a quick confirmation - the same one as picking a time - showing the new time, who performs it, any overlap, and a Notify the client toggle when the change would message them (a drop that keeps the appointment's start time, like handing it to another team member at the same slot, says so and sends nothing). Nothing saves until you confirm; Keep choosing puts the card back. A dragged recurring appointment now asks "this one or all future" before its move saves too. If you prefer instant drops, turn Ask before moving off in the Display menu - and Lock appointments plus this new setting now follow you to every device you sign in on.

  • EnhancedYour scheduler display settings now follow youScheduler

    How you like your calendar - zoom, visible hours, shading, hidden days, readable narrow cards, the team or resources view, and who to show - now joins Lock appointments and Ask before moving in being saved to you, not to one browser. Sign in on the front desk, your laptop or your phone and the board looks the way you left it. The view itself (Day, Week and so on) deliberately stays per device, since a phone and a desktop want different answers, and column choices are per location. New browsers also start with the calendar shaped around your opening hours instead of a fixed 7am to 8pm.

  • EnhancedConfirm and Approve always ask before they notify the clientScheduler

    Confirm and Approve now open the same confirmation everywhere: the calendar preview, the appointment page, the appointments list, the client file, Messages, a series row, and bulk confirm. Notify the client stays on unless you turn it off. If the booking is waiting on a saved card, that same dialog still warns that approving waives the card. Check in, Start and Undo stay instant.

  • NewYour calendar updates in real timeScheduler

    Whatever screen your calendar is open on no longer waits for a refresh. When a client books online, or a team member on another device adds, moves, checks in, checks out or cancels an appointment, every open calendar at your location shows it within a moment - smoothly, without the screen flickering or your place on the calendar jumping. Just the thing for a front-desk screen that stays open all day.

  • EnhancedFilters for status, booking source and tags - including cancelledScheduler

    A Filters control in the scheduler header combines status, booking source (and team member preference for online bookings) and appointment tags. By default you still see Booked, Confirmed and Completed only - tick Cancelled when you want cancelled appointments on the calendar. Booking source moved here from Display options. Defaults show as unmodified; any change shows a dot; Reset restores the defaults. Session-only, so a reload clears them. The Appointments list now matches: Clear all returns status to the same default instead of switching cancelled appointments back on, and the online-booking indicator reads "Requested team member" / "Any team member" everywhere. Across the list screens that show a running total - Appointments, Clients, Sales - that "N results" line now stays put at the default view instead of only appearing once you filter.

  • EnhancedChoose which day your week starts onScheduler

    Settings → Business settings → Week starts on sets the first day of the week for the scheduler, rosters, timesheets and every date picker - and for your online booking page, where it orders the opening hours clients see and the date picker they pick from. It also sets the week your weekly business summary covers and the morning it arrives: a Sunday-start business now gets a Sunday-to-Saturday summary on Sunday morning instead of a Monday-to-Sunday one on Monday. It is set from your country when your business is created, so a business in the US or the Middle East no longer starts every week on Monday, and you can change it to any day. Settings → Scheduling shows the same day, since that is where most people look for it.

  • EnhancedColour by is now a business settingScheduler

    Whether the calendar fills appointments with their status colour or their service colour has moved out of each person's browser and into Settings → Scheduling → Scheduler colours, beside the colours it decides. Everyone at your location now reads the same board, and a service colour you set actually shows up. The scheduler's Display menu links straight there.

  • NewEdit a roster straight from the calendarScheduler

    In team view, click a team member's name at the top of their column for quick schedule actions: Edit this day sets custom hours for the date on screen, Edit working hours opens their weekly schedule (including per-day repeats like fortnightly late nights), and Add time off starts from the day you're looking at - plus links to their profile and the full Team schedule. The same actions as Team → Schedule, without leaving the board. Shown to people who can manage the team schedule.

  • EnhancedColour by Service now uses the Completed colour after checkoutScheduler

    If you colour the calendar by service so you can tell appointment types apart across the floor, checking out used to leave the tile in that service colour. Completed (and cancelled) appointments now take the Completed or Cancelled colour for the whole tile, the same as when you colour by status. Live appointments keep the service colour, and check-in still shows as the strip along the top in the Day, 3 days and Week views rather than painting over the work. Switch Colour by to Service under Settings → Scheduling → Scheduler colours.

  • EnhancedThe Display menu says what each control doesScheduler

    The scheduler's Display menu now names its controls by what they do: Time grid is Zoom, Drag lock is Lock appointments, Working hours is Shade non-working hours (so it is no longer the same phrase as the Working hours enforcement setting), Start and end calendar at is Visible hours, and Rotate text on tight space is Keep narrow cards readable. Nothing behaves differently, and searching for the old names in the command palette still finds them.

  • EnhancedYour whole team now fits on a phone screenScheduler

    On a phone, the Day and 3 days views share the width equally between your team member or resource columns, so the whole roster fits on one screen instead of a column and a half. Columns only tighten as far as the cards can stay readable (about 40 pixels); with more columns than that allows, the calendar pans sideways instead of squashing further. As columns narrow the cards adapt step by step, and Keep narrow cards readable in the Display menu keeps the tightest ones legible. Every zoom level is on a phone now too: the 10 and 5 minute rows used to be held back on small screens, which is exactly where a 15-minute appointment needs them.

  • EnhancedA tag on the calendar when a promo code appliesScheduler

    An appointment with a promo code now carries a small amber tag with the card's other indicator icons, and hovering it reads Promo code applied. It shows once per appointment, whether the code was queued before checkout or already committed on the sale, so you can spot promotional work across the day at a glance. An ad-hoc discount your team applies by hand deliberately shows no tag: this signal means a promo code was used, not that any discount exists. You can also enter a promo code from the Discount dropdown while creating or editing an appointment now, not only at checkout.

  • EnhancedMessage a waitlist client without leaving the schedulerScheduler

    On a waitlist entry, tap the client's phone or email - or use Send SMS / Send email in Actions - to open Messages with that client already selected. You stay one step from the waitlist instead of hunting them up in Clients first.

  • FixedSeries preview names every clash, including the client already bookedScheduler

    When you create an appointment series, the review now checks each date the same way a single appointment does: team member, room, hours, and whether the client is already booked in that window. A date the client cannot take is blocked and skipped. A team-member warning can still be booked anyway. If a date is refused at create, the rest of the series is still created and you see which date failed and why.

  • EnhancedCancel an appointment from every screen that shows itScheduler

    Cancel now sits on the same three-dot menu wherever you already look at an appointment: the scheduler, the appointments list (including a completed one, and in bulk), the client file, an upcoming appointment in Messages, a row in a series overview, and the edit form. On the preview and appointment page the status chip is Confirm and Undo; Check in, Start and Checkout sit in the button row with Actions. On a screen with no chip (list, client file, Messages, series), Confirm, Check in, Start and Undo sit on the three-dot menu. Permanently delete is only for a cancelled appointment. There is no live Delete on the edit form.

  • EnhancedSafer appointment actions: send preview and Notify the clientScheduler

    Resend confirmation, reminder, rebook reminder and review request on the appointments list open the same preview as the Activity tab. Decline on an approval or awaiting-card banner uses Decline wording in the cancel dialog. Confirm and Approve on the list, client file, Messages, series and preview let you choose whether to notify the client, the same as the status chip. Cancelling upcoming appointments in a series has the same forfeit-redeemed-rewards switch as bulk cancel (off by default, so rewards are restored).

  • EnhancedRebook by tapping a time on the calendarScheduler

    Rebook now uses the same tap-a-time flow as moving an appointment. Choose Actions then Rebook on the preview or appointment page, or Rebook from a client's history or the appointments list. The calendar opens on the suggested next date, pick a slot, and confirm. A new appointment is booked and the client gets a new booking confirmation, not a reschedule message. If a deposit is required, confirm uses your policy default; Review in form is there to waive it, change the service, or add notes. Edit and Checkout stay in the form. After checkout, Rebook still opens the form with the suggested date, and Pick on calendar sits at the top of Scheduling.

Gift cards

  • NewSell a gift card in the same transaction as the appointmentGift cards

    A client paying for their service who also wants a voucher for someone else no longer needs two separate transactions. Click Add item under Items and choose Gift card - at an appointment checkout, or on a walk-in Add sale - set it up exactly as you would on the Gift cards screen, and it joins the same sale. One payment, one receipt, one line in your sales list, so your end-of-day totals match your card terminal. Every gift card you sell is now recorded as a normal sale: it appears in the sales list, on the client's record, and in your reports alongside everything else you sell. The card is never discounted by an appointment discount, reward, membership or package - a $100 voucher always costs $100 - and no tax is charged when it is bought, because tax applies when the card is spent on a service. The code prints on the receipt, so a card handed over in person is usable straight away, and refunding the sale voids the card so money you have given back can't be spent.

  • EnhancedShow only your custom designs onlineGift cards

    Once you have uploaded at least one custom gift card design, Settings → Gift cards → Custom designs gains a Built-in designs control (Visible or Hidden), the same shape as Prices in booking policies. Set it to Hidden and clients purchasing online only see your uploads - Bella's built-in designs stay out of the way. Delete the last custom and built-ins come back automatically so the picker is never empty.

  • EnhancedUse your own code when selling a physical gift cardGift cards

    Sell gift card now has an optional Card code field - scan or type the code printed on a physical card so the same code works in Bella, at the till, and when the client books online. Leave it blank and Bella still generates a code, as before. Online purchases are unchanged.

  • EnhancedRecipient name is optional when selling in personGift cards

    When you sell a gift card at the till without emailing it, you can leave recipient name blank. You no longer need to type a placeholder. Name is still required when the gift card is emailed, and for online purchases.

Products

  • NewShare a link that opens one product in your shopProducts & Inventory

    A product's menu on the Products page now has Copy product link. It opens a page for that product alone - photo, brand, name, price, description and Add to cart - so a link in an Instagram Story, an SMS or a Google Business post previews the product itself rather than your business banner, which is what a link to the whole shop could only ever show. Tapping a featured product on your booking page opens the same page instead of the shop grid. The action appears only where a client could actually open the product, so a link you copy always works: it is hidden when your shop is off, the product is not available online, it is archived, or you track its stock and it has run out.

  • NewProducts on bookingsProducts & Inventory

    Add products to any appointment before the client arrives - stock is secured the moment they're added - and let clients add products while they book online, paid at the appointment by default, or in full when booking if you prefer.

  • FixedScan a product barcode at the tillProducts & Inventory

    Adding a product to a sale or an appointment checkout now matches SKU and barcode the same way the Products list always has. Click Add item → Product, click the search box, and scan or type the code - a USB or Bluetooth scanner that types like a keyboard finds the product. The same search works when you change a line, on a supplier order, and in the command palette.

  • EnhancedPromo codes now work in your online product shopProducts & Inventory

    Clients can enter a promo code in the shop cart, and every promo code now says what it discounts. Each code has an Applies to setting - Services, Products, or Services and products - and that decides the ITEMS it can discount, not where it is typed: a products code works in the shop and on a mixed appointment bill, and a services code discounts the services on that same bill but cannot be used in the shop. A code is only refused when the order in front of it holds nothing it can discount, and the message says so honestly. Membership benefits come off first and the code applies to what is left, so a percentage never discounts an item the plan already covered. The cart shows the whole calculation - subtotal, membership benefit, discount, total - and that total is what the checkout charges, with any processing fee worked out on it and returned by a full refund. Cancelling an unpaid order or fully refunding a paid one gives the code back, including its max-uses slot. Picking a promo code from the staff discount list now runs exactly the same checks as typing it. Your existing codes are set to Services, which is what they meant when they were created - open one and choose Products or Services and products to widen it.

  • FixedProduct import reads prices with a thousands separator correctlyProducts & Inventory

    Importing products from a spreadsheet could read a price like 1,195.00 as 1 - it stopped at the separator, and because 1 is a valid price the row imported with no warning. Unit price and purchase cost now accept the same formats the service import always has: 1195, 1,195.00 and 1.195,00 all read correctly, currency symbols are ignored, and a value that genuinely cannot be read is flagged on the Validation errors tab instead of being imported wrong.

Memberships

  • NewMemberships can now include products, free or discountedMemberships

    A membership benefit can cover products as well as services - the take-home serum included every month, or a standing discount on all your retail. On the plan, set Applies to for each benefit: Services and bundles, or Products, then pick the products or turn on All products. A benefit covers one or the other, never both, so its per-cycle allowance is always one kind of thing - mix them by adding more than one benefit. The discount applies per item, and a benefit with a limit covers that many items each cycle: beyond it the extras are simply charged in full rather than the sale being refused. It applies automatically wherever the client buys - at appointment checkout, on a walk-in sale with no appointment, and in your online shop, where signed-in members see their price on the product card before they order. An order a membership covers in full has nothing to pay, so it completes with no payment step; cancelling or refunding an order gives back both the stock and the client's included item. Your existing plans are untouched: a benefit that covers all services still means all services, and never touches retail.

  • EnhancedUndo a scheduled membership cancellation - or cancel now insteadMemberships

    When a membership is set to end at the end of the billing period (or at the end of an instalment term), you can reverse that from the member page with Undo cancellation - renewals continue and the client keeps their benefits. If you meant to end it sooner, Cancel now ends the membership immediately instead of waiting for the scheduled date. You no longer need to open Stripe to clear a pending cancellation.

Settings

  • EnhancedLight or dark now follows you to every device

    Your choice of Light, Dark or System is saved to your profile instead of to one browser, so the dashboard looks the way you left it whether you sign in at the front desk, on your laptop or on your phone. It joins your style palette, reading font, text size, density and motion, which already followed you. System still means "follow this device's own setting", so a machine set to dark in the evening keeps doing its own thing. On a brand new device you may see that device's appearance for a moment on the very first sign-in, before your saved choice arrives.

  • NewName your card terminals and balance each machine at end of dayPoint of Sale

    If you run one or more EFTPOS machines alongside Bella, name them at Settings → Card terminals and every in-person card payment says which machine took it. With one or two named terminals each machine is its own row in the payment picker; from three, Card (Manual) asks which machine - at checkout, deposits, client credit top-ups and gift card sells. The Sales summary report gains a Card terminal takings card showing what each machine took, refunded and netted, counted on the day the money actually moved so it balances against each terminal's own settlement, and the sales CSV carries Card terminal and Terminal amount columns. Recording only - payments stay Card (Manual), processed on your own machine, and the client's receipt never shows the name.

  • NewDecide who can change a price at the tillPoint of Sale

    Settings → Team permissions gains Sales → Edit prices at checkout. It starts on for every role, so nothing changes until you turn it off. Turn it off for a role and their price fields become read-only everywhere a price is set - creating an appointment, editing one, and at checkout - showing the catalogue price for the service (pricing tier, variant and bundle pricing included) or the product, and the Custom button that adds an ad-hoc charge is hidden, because there is no catalogue price to hold such a line to. They can still take payment, apply a package or membership, redeem a gift card, and change the headcount on a shared-space booking. Applying a discount stays a separate permission, so a role can be allowed to discount for a reason you have approved without being able to retype the price itself. The lock is enforced on our servers, not just in the screen, so it holds however the change is attempted.

  • EnhancedDraft your About from your websiteOnline booking

    Paste your website in Settings → Business settings (or in setup) and Bella can fill the About on your booking page from it. Apply a short line detected from the site, or Generate with AI to draft a longer intro from the same scan - you edit it before anything is saved. If you have more than one location, each has its own About.

Your subscription

  • EnhancedProfessional now covers every location, and you add one yourself

    Opening a second site used to mean emailing us to be moved onto a separate Multi-Location plan. Professional now covers as many locations as you need, at the same rate per location, and the count is yours to change: open Settings → Billing and use the + and - control under Locations on your plan: adding a location charges the prorated difference straight away, removing one credits your next invoice. If you already run more than one site, checkout asks how many you are signing up for. Your SMS allowance still scales with the number of locations. Nobody pays a different price, and every business already running multiple locations keeps exactly what they had.

  • EnhancedEvery change to your subscription confirms the price first

    Upgrading a plan, changing how many locations you are billed for, arming SMS auto top-up, and starting or stopping Messages Plus now all open the same confirmation before any money moves. It says what changes, what you will pay, when the payment happens, and takes a promotion code wherever one can apply. Nothing about your subscription changes straight from a button any more. Ending a plan and changing your mind about it both happen in Bella too, so resuming is one click rather than a support ticket, and while a plan is due to end Bella says so on every screen instead of only on the billing page an owner has to go looking for.

  • EnhancedChoosing a plan now checks the features you actually use

    Plan changes used to count only team members and locations, so it was possible to move to a plan that quietly switched off something you were relying on. Bella now refuses a change that would strand something a client is holding - an unspent gift card, a live membership, a package with sessions left, account credit or loyalty points - and warns you by name when a change would switch off your own tools such as Forms, Reviews, Treatment plans, Add-ons or API access, so the consequence is in front of you before you choose.

Messaging

  • NewClients agree to your messages on the booking pageTwo-Way Messaging

    The Review & book step now carries a short line telling your client that booking means they will get appointment confirmations and reminders by text or email, plus an optional, unticked box for offers and promotions. Nothing is ever pre-ticked, so a client only receives marketing if they actively choose it, and they can change it any time from their profile. In the United States and Canada the line also carries the wording carriers require. This is also the screenshot to use as your opt-in proof when you verify your business for a toll-free number.

  • EnhancedClearer guidance when a toll-free number needs verifyingTwo-Way Messaging

    Verifying a business in the United States or Canada now spells out exactly what the carrier wants from your opt-in screenshot - full consent wording, your business name, and every box unticked - and warns you if your description mentions promotions your screenshot does not cover. If a submission comes back rejected, Settings → Messaging lists the exact reasons and what to correct, and your messages keep sending from a shared number while you fix it.

Bella AI

  • NewBella AI can read your screenshotsBella AI

    Attach a screenshot, photo or PDF to the Bella AI panel - by the attach menu, drag and drop, or pasting one you have copied - and the assistant now actually looks at it instead of answering from the text alone. Send one in the support chat while you are signed in to Bella and you get an answer about that screenshot too. When a file is a type or size it cannot open, or it cannot be read on that channel, it says so rather than guessing.

Try these features

Start your free trial today. No credit card required.

Australian-made. Responsive support across multiple timezones.