Skip to main content

Introduction

Connect your Stripe account and set the payment policies for online bookings on the Payments settings page. This is where you set up deposits, view transaction fees, and manage your Stripe Connect integration.
Payments settings with Stripe Connect status, payment policy selector, and fee calculator
Note: Payments is separate from Billing & subscription. Billing manages your Bella Booking subscription plan. Payments manages how your clients pay you for appointments.

Plan Availability

Stripe Connect, deposits, saved cards (Card on File), Afterpay, and pass-through processing fees are available on every plan - Solo, Starter, and Professional. There are no plan restrictions on core payment functionality. Digital tipping is part of the review-and-tip flow on the client portal, which comes with client reviews - a Professional-plan feature (see Tips).

Accessing Payment Settings

  1. In the main sidebar, go to Settings
  2. Select Payments from the settings menu (under the location settings group)
Access: Owner only (requires SettingsBilling permission)

Stripe Connect

Stripe Connect lets you accept card payments from clients who book online. You connect your own Stripe account so funds go directly to your bank account.

Connection Status

The status badge shows one of these states:
  • Connected (green): Your Stripe account is fully set up and ready to accept payments
  • Setup incomplete (amber): You started connecting Stripe but haven’t finished its steps. Click Finish Stripe setup to pick up where you left off
  • Restricted (amber): Your Stripe account requires additional verification. Click Stripe dashboard to complete it
  • Not connected (grey): No Stripe account is linked yet

Connecting Stripe

If you haven’t connected yet:
  1. Go to SettingsPayments
  2. Click Connect Stripe
  3. A confirmation dialog explains what will happen:
    • Create a new Stripe Express account, or connect your existing one
    • Redirect you to Stripe to verify your identity and business details
    • Enable you to accept card payments through Bella Booking
  4. Click Continue to Stripe
  5. Complete the Stripe onboarding process (typically 5-10 minutes)
  6. You may need to provide business documentation (ABN for Australia, EIN or SSN for United States, IRD number for New Zealand) and bank account details

After Connecting

Once connected, the page shows:
  • Status: Connected (Setup incomplete if you haven’t finished Stripe’s steps, or Restricted if verification is required)
  • Account ID: Your Stripe connected account identifier
  • Finish Stripe setup button (while setup is incomplete): Reopens Stripe’s setup flow so you can finish the remaining steps
  • Stripe dashboard button (once set up): Opens your Stripe Express dashboard in a new tab, where you can view payouts, transactions, and account settings

What You Can Do Once Connected

  • Accept deposits when clients book online (fixed amount or percentage)
  • Accept card payments, Apple Pay, and Google Pay through your online booking page
  • Accept Afterpay / Clearpay payments for deposits, gift cards, and packages (see Afterpay / Clearpay)
  • Let clients save cards for faster checkout (see Saved Cards & Card on File)
  • Charge saved cards during appointment checkout (Card on File)
  • Automatic refunds when clients cancel within the cancellation policy (see Cancellation Policy)
  • Sell digital gift cards through your online booking portal (see Gift cards)
  • Process recurring membership subscription payments (see Memberships)
  • Accept payments for online product purchases through the Product shop

Account Balance

When Stripe is connected, an Account Balance card appears at the top of the Payments settings page showing a snapshot of your Stripe account finances: This card provides a quick overview without needing to open the Stripe Dashboard. For detailed transaction history and payout breakdowns, click Stripe dashboard.

Payment Policy

Configure whether clients must pay a deposit (or save a card) to secure a booking. When you require a deposit, two more rows sit under it and decide what that deposit actually does: When a client books online (whether the appointment exists before the deposit is paid) and Deposit applies to (which bookings are asked for one at all). Both are covered below. Note: If Stripe is not connected - or you started connecting but haven’t finished Stripe’s setup - the payment policy options are unavailable. An alert in their place prompts you to connect Stripe (or finish its remaining steps) first.

Policy Options

When a client books online

This row decides whether an online booking exists before its deposit is paid. It sits under Payment policy once Require a deposit is selected. Under Pay to book:
  • The client goes straight to a payment page headed Your time is held until the hold’s end time. Leaving the page doesn’t give the time back: the same page is waiting with a Pay deposit button if they come back before the hold ends
  • Your team can’t book over a held time. The Scheduler blocks the save with “A client is paying for this time until 2:45 PM.” (the business’s own clock) until the hold ends
  • Nothing is drawn on your calendar while a time is held, and no notification is raised
  • If the client walks away, the hold ends quietly. Nothing is cancelled and no appointment message goes out, because nothing was ever booked. The lead lands on the Scheduler’s Incomplete bookings tab as Stopped at payment, where it gets the usual abandoned-booking follow-up: the bell, and the Incomplete booking reminder if you have it switched on
  • The money arrives with the booking, so the client gets a confirmation instead of a Pending confirmation / deposit message
New businesses start on Pay to book. A business that already required a deposit when this setting arrived was left on Book now, pay within a window until its owner switches; every other business was set to Pay to book, so it applies from the day they turn deposits on. Switching only changes bookings made afterwards: appointments already waiting for a deposit keep the behaviour they were made under, window and all.
Pay to book applies when Require a deposit is the payment policy for your location. A service that asks for a deposit through a service-level override, at a location whose own policy is something else, is still booked first and asked for the deposit afterwards.
Bookings taken through your own website with an API key have no payment page to be held on, so under Pay to book they are created first and released 30 minutes later if the deposit is unpaid.

Deposit applies to

This row decides which bookings are asked for a deposit at all: How a deposit is collected depends on who made the booking:
  • Bookings clients make themselves - the client pays on a payment page as part of booking.
  • Appointments you create (under All bookings) - the appointment is held with a “Deposit required” indicator and the client is sent a payment link. You can instead record the deposit manually (cash, bank transfer), charge a saved card on file at the moment you create it, or waive or override the deposit for that one appointment.
It is the same deposit either way. This setting turns the deposit on or off by channel, it doesn’t set a different amount for one: to take less on a single booking, type the amount on the create form (see Adjusting the Deposit on One Appointment). If you switch to Online bookings only while team-created appointments are still waiting for a deposit, those appointments read as owing nothing from that moment: the awaiting-deposit indicator goes, nothing is cancelled, and nothing is sent to the client.

When a card on file is required

Under the Card on file policy, an online booking from a client with no saved card doesn’t reach your calendar until they save one. There’s nothing to switch on. It’s what the policy does, and it has nothing to do with When a client books online, which governs deposits only.
  • No appointment is created. Bella holds that time for 30 minutes while the client saves a card, and the slot disappears from your booking page so nobody else can take it
  • The client goes straight to a secure card form: Stripe’s hosted page, or a form on the booking page itself if you take payments through Square. Nothing is charged. The card is saved so you can charge a late-cancellation or no-show fee later if your cancellation policy applies
  • Saving the card creates the appointment, already Confirmed, and the client gets the confirmation message
  • Your team can’t book over a held time. The Scheduler blocks the save with “A client is saving a card for this time until 2:45 PM.” (the business’s own clock) until the hold ends
  • Nothing is drawn on your calendar while a time is held, and no notification is raised
  • If the client walks away, the hold ends quietly. Nothing is cancelled and no appointment message goes out, because nothing was ever booked. The lead lands on the Scheduler’s Incomplete bookings tab as Stopped at card, where it gets the usual abandoned-booking follow-up: the bell, and the Incomplete booking reminder if you have it switched on
  • A client who already has a saved card is never asked again. That booking is created as usual and confirms straight away, unless you require approval
Awaiting Card is still how a booking waits when something other than your location’s payment policy asks for the card:
  • A service-level override or a membership benefit that requires a card, at a location whose own policy is something else. That booking is created first and shows Awaiting Card until the card is saved
  • A booking that also carries products you take full payment for at booking. One combined payment pays for the products and saves the card, so the appointment is created first
Bookings taken through your own website with an API key have no booking page to save a card on. They are never held, and the card requirement never applies to them.

What happens when a client doesn’t finish paying

A payment policy holds an online booking until the client completes the payment step. Most clients finish straight away - and under the card-on-file policy a client who already has a saved card has nothing to do, so their booking goes through as usual (and confirms straight away unless you require approval). When someone doesn’t finish, what waits depends on your settings, and on two of these rows there is nothing on your calendar to wait at all: Where a booking exists, the client is sent a link to finish and you’re notified so nothing sits unnoticed. A card hold shows Approve and Decline right on the appointment, because approving it gives up the saved card. A deposit hold uses the appointment’s own menu instead - Approve, Record deposit, or Cancel.
Approving a held booking waives the payment step for that appointment. For a card-on-file hold that means there’s no saved card to charge if the client later cancels late or doesn’t show, so Bella asks you to confirm before it goes through.
These holds are not the same as Require approval for online bookings - that setting waits on you, a payment hold waits on the client. You can leave approval off and still see a booking waiting on a deposit, or on a card asked for by a service or membership override.

Deposit Configuration

When “Require a deposit” is selected, configure the deposit type: Additional fields:
  • Deposit Amount: Shown when deposit type is “Fixed amount”. Enter the dollar amount clients must pay.
  • Deposit Percentage: Shown when deposit type is “Percentage of total”. Enter a value between 0 and 100.

How Deposits Work

The steps depend on When a client books online. Pay to book:
  1. Client selects services and, if enabled, a team member on your online booking page, then taps Book
  2. No appointment is created. Bella holds that time for 30 minutes and takes the client to a payment page: Stripe’s secure payment page, or a card form on the booking page itself if you take payments through Square
  3. The page is headed Your time is held until the end of the hold, and shows the deposit due today and the balance due at the appointment
  4. Client pays
  5. The appointment is created, already Confirmed, and the confirmation notification is sent. There is no Pending confirmation / deposit message, because nothing is pending
  6. The deposit is applied toward the total service cost - any remaining balance is due at the appointment
A client who closes the page can come back to it until the hold ends. After that the hold ends quietly and they choose a time again. Book now, pay within a window:
  1. Client selects services and, if enabled, a team member on your online booking page
  2. Appointment is created in “Booked” status with an “Awaiting Deposit” indicator
  3. Client receives a Pending confirmation / deposit notification (SMS and/or email) containing a deposit payment link
  4. The email shows a “Pay deposit & confirm” button (amber) with the deposit amount. The SMS includes a link to the appointment details page where the client can pay
  5. Client clicks the link, logs in (or registers with their phone number), and completes payment via Stripe
  6. On successful payment, the appointment status changes to “Confirmed” and a confirmation notification is sent
  7. The deposit is applied toward the total service cost - any remaining balance is due at the appointment
While the deposit remains unpaid, the appointment reminders double as a deposit chase: the default reminder emails include the amber Pay deposit button and a deposit-amount callout automatically. Reminder SMS carries a payment link only if your SMS template includes the {{SelfServiceLink}} variable (and the SMS channel is enabled for that reminder). See Automated Messages.
The deposit payment link is sent via the Pending confirmation / deposit notification, which can be configured as SMS, email, or both (see Automated Messages). However, the client portal uses phone-based login (SMS verification code). If a client does not have a phone number, they can receive the link via email but will not be able to log in to complete payment. In this case, add a phone number to the client’s profile or collect the deposit manually using the Record deposit action.

Auto-Cancel Unpaid Deposits

This is the release valve for Book now, pay within a window: the booking exists, so something has to hand the time back when the deposit never comes. Under Pay to book the 30-minute hold does that job and the row is hidden. You can release a booking automatically when its deposit is not paid within a window you choose:
  1. Under Payment policy (Settings > Payments, or the Payments & deposits card on Settings > Booking policies), set When a client books online to Book now, pay within a window, then open the Auto-cancel unpaid row beneath it
  2. Choose from: 30 minutes, 1 hour, 2 hours, 4 hours, 8 hours, 12 hours, 1 day, 2 days, 3 days, or 7 days
  3. Choose Don’t auto-cancel (the default) to keep unpaid bookings until you act
The window you pick is kept while you are on Pay to book, just out of sight, so switching back brings it with you. When a window is set:
  • The countdown starts when the appointment is booked (created) - it is not counted back from the appointment date. An appointment booked six weeks ahead with a 7-day window is cancelled one week after it was booked if the deposit is still unpaid, not one week before the appointment
  • With Stripe and a window of up to a day, the payment page is given the same deadline, so a client who leaves it without paying has the booking released the moment the page expires. 30 minutes is the shortest window because that is the shortest life Stripe allows a payment page; choose it if you want an abandoned checkout to release the time straight away. The booking page tells the client until when their time is held
  • With Square, and for windows longer than a day, Bella checks for unpaid deposits every 15 minutes and releases the booking on the first check after the window ends
  • Released appointments are cancelled with reason “Deposit Expired”
  • The window applies only to bookings clients make themselves (your booking page, or your own website through the API). Appointments you or your team create still ask the client for the deposit, but they are never cancelled automatically: they show as awaiting deposit until you confirm them, waive the deposit, or cancel them yourself
  • Under Pay to book, one kind of booking still arrives unpaid: a booking taken through your own website with an API key, which has no payment page to be held on. It is created first and released 30 minutes later if the deposit is unpaid, whatever window you had set before
  • It applies to bookings made after you switch it on (or change its length). The bookings already on your calendar at that moment are never touched, and neither are appointments imported from another system or appointments that have already started
  • An appointment with a waived deposit is never auto-cancelled, and for a recurring series only the first appointment follows the window
  • As a safeguard, a single check will not release more than a handful of bookings at one business at once; if it ever would, nothing is released and the Bella team is alerted instead
  • Cancelled appointments do not count toward the client’s cancellation record
  • The client receives a cancellation notification (email and/or SMS) so they can rebook if desired
There is no way to set a deposit deadline relative to the appointment date (e.g. “pay by one week before your appointment”). If you want to chase unpaid deposits as the appointment approaches, use the appointment reminders instead - while the deposit is unpaid, the reminder email includes the Pay deposit button automatically, and the first reminder can be set as far out as 7 days before the appointment (see Automated Messages).
If a client’s card is declined or they close the payment page, the booking stays until the window ends and the client can retry from the same deposit link in the meantime. With no window set, nothing cancels an unpaid booking but you.

Deposit Precedence Over Confirmation

When both deposits and client confirmation are configured (under Book now, pay within a window, and on the appointments your team creates; under Pay to book an online booking is created only once the deposit is paid, so it is confirmed from the start):
  • Deposit takes precedence - the appointment stays “Booked” until the deposit is paid, even if appointment confirmation is disabled in Booking policies
  • Payment acts as confirmation - once the deposit is paid (online or recorded manually), the appointment is automatically confirmed
  • Recording a manual deposit (e.g. cash or bank transfer) also confirms the appointment automatically
  • The client receives the deposit payment link instead of a simple confirmation link

Service-Level Overrides

Each service can override the location-level payment policy. Open the service in the Service Catalogue, go to its Booking policies tab, and scroll to the Payment section at the bottom:
  • Use default: Apply the location payment policy
  • No deposit: No upfront payment for this service
  • Require deposit: Specify a fixed amount or percentage for this service
  • Card on file: The client saves a card to secure the booking - no upfront charge
This is useful for requiring deposits on high-value services (e.g., wedding packages) even if the default policy doesn’t require one. A paid booking always confirms on payment, so a service that takes a deposit never waits for your approval, even when approval is on - that’s a side effect of the payment step, not an approval setting. Approval itself is a separate policy you can also override per service (on the service’s Booking policies tab). Membership plans can also override the payment policy for members on their covered services - see Memberships → Deposit for members, which describes the full resolution order (membership → service → location default). Like the service override, a membership deposit override follows Deposit applies to: on All bookings it reaches team-created appointments as well as online ones, and on Online bookings only nothing your team books is asked for a deposit, whatever the override says. A card on file requirement (at any level) gates online bookings only.

Adjusting the Deposit on One Appointment

Service and membership overrides are standing rules. For a one-off adjustment, the Scheduler’s appointment form gives you direct control at the moment of booking. When you create (or rebook) an appointment for a client and your policy requires a deposit, the form shows a Deposit required box with the calculated amount, where you can:
  • Change the amount - the Deposit amount field is pre-filled with the calculated deposit and fully editable; type any figure up to what the client owes (after any discounts) to use it for this booking only - a deposit can never exceed what’s owed, so a larger figure is capped. The payment link, reminders, and the client’s payment page all use your adjusted amount
  • Waive it - flip Waive deposit - auto-confirm now to skip the deposit entirely; the appointment confirms immediately
  • Charge it now - if the client has a saved card on file, tick Charge deposit to saved card now to collect the deposit at the moment you create the appointment
A common use: keep your online deposit high (say 100%) and, when a regular rebooks at the desk, type a smaller deposit for that booking. It’s a per-booking action - there is no saved rule that applies a different deposit to team-created bookings automatically.
The deposit box appears on the create / rebook form. Rebooking from the calendar confirm uses the policy default; tap Review in form to waive or change the amount. The edit and reschedule forms have no deposit controls. A custom amount you typed at creation stays pinned (it can only shrink, if the booking’s total later drops below it), but a standard calculated deposit still tracks the appointment’s services: editing an unpaid-deposit appointment’s services changes the amount the client is asked to pay. After creation, use Record deposit on the appointment to collect (or part-collect) the deposit manually. The box is only shown to team members whose role can view client financials.

Deposits and Cancellation Refunds

When a client cancels an appointment that had a deposit paid via Stripe, the refund is calculated based on your Cancellation Policy:
  • Sufficient notice (cancelled before the cancellation period): Full deposit refunded automatically through Stripe
  • Insufficient notice (cancelled within the cancellation period): The cancellation fee is applied to the deposit. For example, if the deposit was 100andthecancellationfeeis50100 and the cancellation fee is 50% of the deposit, the client receives a 50 refund and $50 is forfeited
  • Business override: A team member can manually override the calculated refund amount when processing a cancellation
The cancellation fee can be set as a percentage of the deposit, a percentage of the service total, or a fixed amount - configured under Cancellation Policy. When your payment policy is Card on file instead of a deposit, no money is taken at booking; if a client cancels late or doesn’t show, you charge the fee to their saved card using Card on File when you cancel the appointment or mark it as a no-show.

Saved Cards & Card on File

Clients can save their payment cards for faster checkout. Once saved, these cards can be used by both the client when booking online and by a team member when checking out an appointment in the Scheduler.

How Clients Save Cards

Clients manage their saved cards through the online booking portal:
  1. The client logs in to your online booking page
  2. From the user menu (top right), they select Payment methods
  3. On the Payment methods page they can:
    • Add a card - click Add a card to be redirected to a secure Stripe-hosted page where they enter their card details
    • Remove a card - click the delete icon next to a saved card and confirm removal
Clients can save a card at any time - they do NOT need to pay a deposit first. The Payment methods page lets them add a card purely for future convenience (faster checkout, tip payments, or if you later need to charge a cancellation fee). This uses Stripe’s secure SetupIntent flow - no payment is taken when saving the card.
Clients must have an account and be logged in to manage payment methods. The Payment methods page is only available when Stripe Connect is configured for your location.

How Cards Get Saved

Cards are always saved through a client-initiated action - a team member cannot add a card on the client’s behalf. Your team can, however, send the client a link to add one: the Copy/Send add-a-card link action on a client (in Clients) opens the portal’s Payment methods page for them, and Send pre-writes an SMS or email with the link. Once a card is saved through any of these paths, a team member can then charge it from the dashboard (checkout, deposit recording, rebooking).

Card on File at Checkout

When recording a deposit, checking out an appointment, or creating a sale, a team member sees the same four payment options: The Card on File option always shows the card’s brand, last four digits and expiry date so you can see before charging whether the card is expiring soon or already expired. An expired card shows a red Expired label and cannot be charged; a card expiring within two months shows an amber Expiring label so you can prompt the client to update it. When Card on File is selected:
  1. If the client has multiple saved cards, a dropdown appears so you can pick which one to charge
  2. The action button label updates to reflect the choice - for example “Charge Visa ····4242” or “Charge Visa ····4242 for Deposit”
  3. Clicking the action button processes the payment through Stripe automatically
  4. The sale or deposit is recorded with the payment details for reporting and refunds
Unlike Cash, Card (Manual) and Other, Card on File processes a real payment through Stripe. Standard Stripe fees and the platform application fee apply.

Refunds for Card on File Payments

When a sale was paid using Card on File, refunds are processed automatically through Stripe:
  • Navigate to the sale in Sales and click Refund
  • Enter the refund amount and reason
  • The refund is submitted to Stripe and returned to the client’s original card
  • Both full and partial refunds are supported
For Cash and Card (Manual) payments, refunds remain record-keeping only and must be handled outside the system.
Ask a client to pay their appointment’s remaining balance online instead of at the counter - useful when they’ve already left, or you simply prefer they pay without you handling a card. Open the appointment (Scheduler, appointment page, or the menu on the Appointments list), choose Send payment link, and pick SMS or email. The client signs in to their booking account, taps Pay now and pays by card - and the appointment checks itself out, creating the sale exactly as the till would. See Payment links for the full walkthrough, when the action is available, what the client sees, and the answers to the common questions.

Fee Calculator

The fee calculator helps you understand how much you’ll receive after fees for a given deposit amount.

Fee Structure

Regional Stripe Fees

Stripe fees are based on the connected account’s country, not the platform’s. The fee calculator automatically uses the correct rates for your region.

Tax & GST

If your business is registered for GST, VAT or sales tax, Bella captures the tax component on every sale, shows it on the receipt (a tax invoice), and reports it per period for your BAS or VAT return. Turn it on in Settings → Tax.
  • Register once, per location. Set your rate and label (GST / VAT / Sales tax). Bella suggests sensible defaults from your business’s country.
  • Prices already include tax. Enter your prices tax-inclusive - Bella backs the tax out of the price and shows it on the receipt without changing the total. (Tax-added-on-top pricing is coming soon.)
  • Per-service and per-product control. Every service and product is taxable by default when you’re registered; mark any of them exempt.
  • Tax collected report. Insights → Reports → Tax collected shows taxable sales, exempt sales, tax collected and tax refunded per period.
See Taxes (GST / VAT / Sales Tax) for the full guide.
Your Bella subscription is separate. GST is applied to what you pay Bella - your subscription and SMS-credit invoices are issued by Bella with GST added automatically where required (handled by Stripe). That tax sits on Bella’s invoices to you, separate from the tax you capture on the payments you take from your own clients.

Pass Processing Fees to Clients

By default, Stripe and platform fees are deducted from the amount you receive. With Pass Processing Fees enabled, processing fees are added as a separate line item on the client’s payment - so you receive the exact service price. This option is not available in countries that ban card surcharging - the United Kingdom now, and Australia from 1 October 2026 (when the Reserve Bank of Australia’s surcharge ban takes effect) - where Bella hides the setting entirely and never adds a fee. Australian businesses can pass fees up to that date, but only up to their cost of acceptance; a reminder of the upcoming ban is shown until then, after which Bella stops passing card fees automatically and removes the setting.
Appointment fee is separate. A fixed appointment fee is a method-neutral bill line included in the prices clients see and charged once per service-bearing appointment. It is not a card processing surcharge, does not switch off with card-surcharge country restrictions, and cannot be used as a replacement for Pass processing fees.

Enabling Fee Passing

  1. Go to SettingsPayments
  2. Under Pass Processing Fees, toggle the switch to on
  3. Click Save
Requirement: Stripe must be connected before this option is available.

What Clients See

When fee passing is enabled, clients see a Processing Fee line item added to their payment total - both on the online booking checkout page and when charged via Card on File. For example:

How the Fee Is Calculated

The processing fee is calculated using an inverse formula so that, after Stripe deducts its fees from the total charged amount, you receive the exact service price. For example, with Australian Stripe fees (1.7% + A$0.30) and the 1% application fee:
  • Service price: $100.00
  • Gross charge = (100.00+100.00 + 0.30) ÷ (1 − 0.017 − 0.01) = $103.04
  • Processing fee shown to client: 103.04103.04 − 100.00 = $3.04
  • After Stripe and platform fees are deducted from 103.04,youreceive103.04, you receive **100.00**
The system automatically uses the correct Stripe fee rates for your region (see Regional Stripe Fees).

Service-Level Override

Each service can override the location-level fee passing setting. Configure this in the Service Catalogue under each service’s settings:
  • Use default: Apply the location-level fee passing setting
  • Pass fees: Always add the processing fee for this service, regardless of the location setting (except in countries that ban surcharging - the United Kingdom now, and Australia from 1 October 2026 - where fees are never passed and this override is hidden)
  • Absorb fees: Never add the processing fee for this service, regardless of the location setting
This is useful if you want to absorb fees on lower-priced services but pass them on for premium services, or vice versa.

Where Fee Passing Applies

Processing fees are added when a payment is processed through Stripe:
  • Online booking deposits - the fee is calculated on the deposit amount
  • Card on File charges - the fee is added when a team member charges a client’s saved card at checkout
  • Gift card purchases - the fee is added to the gift card total at checkout
  • Tips - the fee is added to the tip amount
Cash and Card (Manual) (in-person) payments are not processed through Stripe, so no processing fee is added for those methods.

Deposit and Checkout Fees Are Separate

When a client pays a deposit online and then pays the remaining balance at checkout, two independent processing fees are charged - one for each Stripe transaction:
  1. At booking - A processing fee is calculated on the deposit amount and charged in the deposit’s Stripe Checkout session. This fee is stored against the appointment’s deposit record.
  2. At checkout - A processing fee is calculated on the remaining balance (everything left on the bill after the deposit, including any active appointment fee) and charged via Card on File. This fee is stored on the sale record.
These fees are never combined. Each Stripe charge is an independent transaction with its own fee calculated on its own amount. Example (default Stripe rates: 2.9% + $0.30 + 1% platform): The deposit fee (4.36)appearsontheappointmentdetails.Thecheckoutfee(4.36) appears on the appointment details. The checkout fee (8.42) appears on the sale. They are tracked and refunded independently.

Refunds

When a payment that included a processing fee is refunded, the full amount - including the processing fee - is returned to the client. The Stripe processing fees on the original transaction are not refunded to you by Stripe.
Legal considerations: Some jurisdictions ban or restrict surcharging card payments. Bella automatically blocks fee pass-through in countries where it is prohibited - the United Kingdom now, and Australia from 1 October 2026, when the Reserve Bank of Australia’s ban on card surcharging takes effect. In a banned country the setting and any per-service override are hidden and fees are never passed; where a ban is scheduled (Australia), a reminder is shown until the ban date, after which Bella stops passing card fees automatically and removes the setting. Where surcharging is still permitted, check the laws and card network rules for your region before enabling: in Australia, until the ban, surcharges must not exceed the cost of acceptance. Ensure the processing fee shown to clients accurately reflects your actual costs.

Digital Tipping

Allow clients to leave tips for team members after their appointment. Tips are processed securely through your connected payment account and go directly to you.

Enabling Tips

  1. Go to SettingsPayments
  2. In the Tipping section, set Tipping to On
  3. Apply the change
Requirements: A payment account must be connected, and client reviews must be available on your plan - the tip prompt is part of the review-and-tip flow, and reviews are a Professional-plan feature.

How Tipping Works

  1. After an appointment is completed, the client opens Leave a review & tip on the appointment in the online booking portal
  2. The tip prompt shows a card for each team member who provided the service
  3. The client selects a preset amount (5,5, 10, or $20) or enters a custom amount
  4. The tip is paid on a secure checkout page
  5. Your business receives a notification via the notification centre, email, and/or SMS, and the team member who provided the service is also notified
Tips are recorded against the appointment and included in your payouts. Standard processing fees apply to tip payments.

Tip Notifications

When a client leaves a tip, your business receives a Tip received notification. This can be configured in Automated messages with customisable email and SMS templates. Template variables include {{TipAmount}} and {{TeamMemberName}}.

Afterpay / Clearpay (Buy Now, Pay Later)

Allow clients to pay using Afterpay (or Clearpay in the United Kingdom) - a buy now, pay later service that splits payments into 4 interest-free instalments. Clients pay over time; you receive the full amount upfront through Stripe.

Eligible Countries

Afterpay is available for businesses in the following countries: The Afterpay section only appears on the Payments settings page if your business is in an eligible country. Stripe also requires that both your business and the client are in the same country.

Enabling Afterpay

  1. Go to SettingsPayments
  2. Under Afterpay (or Clearpay in the UK), toggle the switch to on
  3. Click Save
Requirement: Stripe must be connected and fully onboarded before this option is available.

Where Afterpay Appears

When enabled, Afterpay appears as an additional payment option alongside card on Stripe Checkout pages for:
  • Online booking deposits - clients choose between card and Afterpay when paying a deposit
  • Gift card purchases - Afterpay is available on the gift card checkout page
  • Package purchases - Afterpay is available on the package checkout page
Stripe automatically shows or hides Afterpay based on the transaction amount. Orders outside Afterpay’s eligible range (approximately 11-2,000, varying by region) will only show card as a payment option.

What Clients See

When a client reaches the Stripe Checkout page, they see both Card and Afterpay as payment options. If they select Afterpay, Stripe shows the instalment breakdown (e.g., 4 payments of 30.00fora30.00 for a 120.00 deposit). The client is redirected to Afterpay to approve the purchase, then returned to your booking page. No changes are needed to your online booking page - Stripe handles the Afterpay UI automatically.

How It Works for Your Business

  • You receive the full amount upfront - Afterpay pays you immediately through Stripe, and collects the instalments from the client over time
  • Stripe processing fees apply - Afterpay transactions are subject to Stripe’s Afterpay processing fees (separate from standard card rates). These fees are set in your Stripe merchant agreement
  • If “Pass Processing Fees” is enabled, the processing fee shown to clients is calculated at standard card rates. If the client chooses Afterpay, you absorb the difference between card and Afterpay processing rates
  • Refunds work the same way - cancellation refunds and sale refunds are processed through Stripe regardless of whether the client paid with card or Afterpay. Stripe handles reversing the Afterpay instalments automatically

Cards and Afterpay

When a client pays with a card on a checkout page that also offers Afterpay, their card is still saved for future use (Card on File) as normal. When a client pays with Afterpay, no card is saved - Afterpay is a separate payment method that does not store card details through Bella Booking.

Card terminals - name your machines

Run one or more EFTPOS machines alongside Bella? Name them at Settings → Card terminals so every in-person card payment says which machine took it, and each machine balances at end of day.
  • Record only. Naming a machine never changes how money moves - payments are still recorded as Card (Manual), processed on your own machine, never charged by Bella.
  • At the till: with one or two named terminals, each machine appears as its own row in the payment picker; from three, choosing Card (Manual) asks which machine. The same names appear when recording a deposit, topping up client credit, selling a gift card, and correcting a sale’s collection method.
  • At end of day: the Card terminal takings card on the Sales summary report shows what each machine took, refunded and netted - attributed to the day the machine actually took or refunded the money, so it lines up with each terminal’s own settlement. Two things it doesn’t net yet: a refunded deposit and a reversed client credit top-up - allow for those on the days they occur. The sales CSV also carries Card terminal and Terminal amount columns.
  • On receipts: never. Terminal names are for your balancing only; the client’s receipt still reads Card (Manual).
  • Archive, don’t delete. Archiving a machine removes it from the picker; historical payments keep its name.
Because the takings card counts deposits on the day they were captured and refunds on the day they were given back, its totals can differ from the Sales summary Card column (which reports by sale date) - both are correct, they answer different questions.

Integrated terminal payments (Coming Soon)

Separately, we are working on integrated terminal support - compatible with Stripe Terminal and other providers - where Bella charges the card and the transaction syncs automatically. That is a different, later capability: named card terminals above are available now and work with ANY machine, whoever provides it. Stay tuned for updates on the What’s New page.

Payment Policy on Booking Policies Page

The payment policy can also be configured from the Booking policies page, where it appears alongside cancellation and confirmation settings. Both pages manage the same underlying setting - changes made on either page are reflected on the other. If Stripe is not fully set up, the Booking policies page shows an alert with a link to the Payments page - “Stripe Connect required” if you haven’t connected yet, or “Finish your Stripe setup” if you started connecting but haven’t completed Stripe’s steps.

FAQs

Q: Is Stripe / deposits available on all plans? A: Yes. Stripe Connect, deposits, saved cards (Card on File), Afterpay, and pass-through processing fees are available on every plan - Solo, Starter, and Professional. There are no plan restrictions on core payment functionality. Digital tipping is part of the review-and-tip flow, which comes with client reviews - a Professional-plan feature (see Tips). Q: What’s the difference between the Payments page and the Billing page? A: Payments (Settings → Payments) is for accepting client payments - connecting Stripe, configuring deposits, and viewing fees. Billing (Settings → Billing) is for managing your own Bella Booking subscription plan and purchasing SMS packages. Q: Do Apple Pay and Google Pay work everywhere? A: Apple Pay and Google Pay are available on your online booking page, where Stripe’s hosted payment form handles the checkout. They are not available for in-person payments recorded through the Scheduler or Sales pages (those support Cash and Card (Manual) only). Q: Do deposits apply to appointments created by team members? A: That’s your choice, under Deposit applies to. On All bookings (the default) the deposit policy applies to appointments you create in the Scheduler as well as online bookings; on Online bookings only the appointments your team creates never ask for a deposit, and you collect at the desk if you take one. Either way Stripe has to be connected. When a deposit is required on an appointment you create, it is held with a “Deposit required” indicator and the deposit payment link is sent to the client via SMS/email. One difference: the auto-cancel window never applies to appointments your team creates; they wait for you to confirm, waive or cancel them. You can also record a manual deposit (e.g. cash or bank transfer) from the appointment details panel, charge a saved card on file at the moment you create the appointment, or waive/override the deposit for that appointment - the deposit amount is editable right on the create form (see Adjusting the Deposit on One Appointment). Recording a deposit (or charging the saved card) automatically confirms the appointment, just like an online payment would. Q: Can I charge a different deposit for online bookings than for appointments my team creates? A: Not a different amount. The deposit policy (and any per-service or membership override) sets one amount for both, and Deposit applies to decides whether a channel is asked for it at all: Online bookings only takes the full deposit online and asks for nothing when your team books someone in. If you want a smaller amount rather than none, do it per booking: when a team member creates or rebooks an appointment, the Deposit amount field on the form is editable, so you can type a smaller deposit, or any amount up to what the client owes, or waive it, for that one booking while your online page keeps charging the full policy amount (see Adjusting the Deposit on One Appointment). It’s a manual per-booking step, not an automatic rule. Q: Can I make the deposit due a certain time before the appointment (e.g. one week before)? A: No - the deposit is requested when the appointment is booked, and the only time-based control is Auto-Cancel Unpaid Deposits, whose countdown runs from the booking time (not back from the appointment date). To nudge clients as the appointment approaches, set the first appointment reminder as far out as 7 days - while the deposit is unpaid, the reminder email carries the Pay deposit button automatically. Note a 7-day reminder only fires for appointments booked at least 7 days ahead. Q: What happens if the client doesn’t pay the deposit? A: It depends on When a client books online. Under Pay to book there is no appointment to keep: the time is held for 30 minutes, and if the client never pays, the hold ends. Nothing is cancelled and no appointment message goes out, because nothing was ever booked. The lead sits on the Scheduler’s Incomplete bookings tab as Stopped at payment, where it gets the usual abandoned-booking follow-up: the bell, and the Incomplete booking reminder if you have it switched on. Under Book now, pay within a window, and for appointments your team creates, the rest of this answer applies. The appointment stays in “Booked” status with an “Awaiting Deposit” indicator. If the client’s card is declined or they close the payment page, the booking stays until your auto-cancel window ends and the client can retry from the same deposit link in the meantime. You can also resend the deposit request from the appointment details menu (“Resend deposit request”). When the window ends unpaid, the booking is released (with Stripe and a window of up to a day, the moment the payment page expires; otherwise on the next 15-minute check) and the client receives a cancellation notification. With no window set, the booking stays until you act. To keep an unpaid booking, confirm it, waive its deposit, or record the deposit taken another way; any of those stops the window for that booking. Q: Can I stop a booking appearing on my calendar until the client saves a card? A: Yes, and there’s nothing to switch on: it is what the Card on file policy does. A client booking online with no card saved creates no appointment. Their time is held for 30 minutes while they save one, it disappears from your booking page meanwhile, and saving the card is what creates the appointment, already confirmed. If they walk away, nothing lands on your calendar and the lead sits on the Scheduler’s Incomplete bookings tab for your usual follow-up. Nothing is charged on this path - the card is saved so you can charge a late-cancellation or no-show fee later if your cancellation policy applies. See When a card on file is required. Q: What if my client doesn’t have a phone number? A: The deposit link can be sent via SMS, email, or both - depending on your Pending confirmation / deposit notification settings. However, the client portal uses phone-based login (SMS verification code). A client without a phone number can receive the link via email but will not be able to log in to complete payment. Alternatives: charge the client’s saved Card on File using the “Record deposit” action, or collect the deposit manually (cash, card, bank transfer, etc.) using the same action. Q: What happens if I disconnect Stripe? A: If Stripe is disconnected, online payment features are disabled. Existing deposit settings are preserved but won’t be applied until Stripe is reconnected. Q: Are deposit amounts shown when prices are hidden? A: Yes. Even when “Hide prices in online booking” is enabled, deposit amounts are always displayed to clients so they know how much they need to pay. Q: How are refunds processed? A: When a client cancels within the cancellation policy, refunds are calculated automatically based on the cancellation fee percentage and processed through Stripe. A team member can override the refund amount. For manual deposits (recorded as Cash or Card (Manual) in-person), refunds must be handled outside the system. Q: What is Card on File? A: Card on File lets a team member charge a client’s saved card for a deposit, an appointment checkout, or a product sale - without the client needing to be present. The client saves their card through the online booking portal, and a team member can then select it as a payment method in any payment action. The payment is processed through Stripe, so fees apply. Q: Can clients save multiple cards? A: Yes. Clients can save multiple cards from the Payment methods page in the online booking portal. When a team member checks out using Card on File, they can choose which saved card to charge. Q: What happens to saved cards if I disconnect Stripe? A: Saved cards are stored on Stripe’s connected account. If Stripe is disconnected, the Card on File payment method will not appear during checkout. Cards remain stored on Stripe and will be available again if you reconnect. Q: What does “Pass Processing Fees” do? A: When enabled, processing fees (Stripe fees + the 1% platform fee) are added as a separate line item on the client’s payment instead of being deducted from your earnings. The fee is calculated using an inverse formula so you receive the exact service price after all deductions. You can override this setting per service if you want to absorb fees on some services but pass them on for others. Q: If a client pays a deposit and then the remaining balance at checkout, are there two processing fees? A: Yes. The deposit and checkout are two separate Stripe transactions. Each has its own processing fee calculated on its respective amount. The deposit fee is tracked on the appointment, and the checkout fee is tracked on the sale. They are never combined - each fee covers only the Stripe charge it was calculated for. Q: How do digital tips work? A: When tipping is enabled, clients find the tip prompt through the Leave a review & tip button on a completed appointment in the online booking portal. They pick a preset amount (5,5, 10, or $20) or enter a custom amount, and pay on a secure checkout page. Your business and the team member are notified, and tips are included in your regular payouts. Q: Do Stripe fees apply to tips? A: Yes. Standard Stripe processing fees and the platform application fee apply to tip payments, just like deposits and Card on File charges. If “Pass Processing Fees” is enabled, the processing fee is added to the tip amount - except in countries that ban surcharging (see above), where tips, like every other payment, are never surcharged. Q: What is Afterpay / Clearpay? A: Afterpay (called Clearpay in the United Kingdom) is a buy now, pay later service. When enabled, clients can split their payment into 4 interest-free instalments. You receive the full amount upfront through Stripe - Afterpay collects the instalments from the client over time. It’s available for businesses in Australia, New Zealand, United States, Canada, and the United Kingdom. Q: Why don’t I see the Afterpay option on my Payments page? A: The Afterpay section only appears if your business is in an eligible country (Australia, New Zealand, United States, Canada, or United Kingdom) and Stripe is connected. If you’re in an eligible country but don’t see it, make sure your Stripe account is fully onboarded. Q: Does Afterpay work for tips? A: No. Tips are processed via card payment only. Afterpay is available for deposits, gift card purchases, and package purchases. Q: Are Afterpay processing fees different from card fees? A: Yes. Afterpay transactions have separate Stripe processing fees that are typically higher than standard card rates. These fees are set in your Stripe merchant agreement. If you have “Pass Processing Fees” enabled, the fee shown to clients is calculated at card rates - if the client chooses Afterpay, you absorb the difference. Q: Do Afterpay refunds work differently? A: Refunds are processed through Stripe the same way for both card and Afterpay payments. When you refund an Afterpay payment, Stripe reverses the remaining instalments and refunds any amounts already paid. Afterpay refunds may take 5-7 business days to appear on the client’s Afterpay account. Afterpay refunds must be processed within 120 days of the original payment. Q: Will you support EFTPOS or payment terminals? A: You can already run any EFTPOS machine alongside Bella - record the payment as Card (Manual), and name your machines at Settings → Card terminals so each one balances at end of day (see “Card terminals” above). Integrated terminal payments - where Bella charges the card and the transaction syncs automatically, compatible with Stripe Terminal and other providers - are a separate capability coming later. Q: Can I send a client a payment link? A: Yes. From the appointment in the Scheduler, open the menu and select Send payment link. The client logs in to their online booking portal and pays the live remaining balance by card - no need to key anything in yourself. See Payment links. Q: Does the client need an account to pay their balance online? A: Yes, in the current release they log in with their phone number (the same passwordless login as the rest of the portal) before they can pay. A no-login pay page is planned for a future release.