Does Mindbody connect to Xero?
At the time of writing, there is no built-in Mindbody-to-Xero link we can point to. Check Mindbody’s app marketplace and the Xero App Store for current options before you assume either way. Most studios that use Xero end up with a bookkeeper or owner copying daily totals across by hand.
You don’t need to switch platforms to fix this. Keep Mindbody, and close the gap between Mindbody’s daily numbers and the way your accountant records them in Xero. If you want to see what a connection to Mindbody covers, see our Mindbody integrations page.
Xero’s own App Store lists sync apps for other studio and salon systems, such as Zenoti and Phorest, that post sales totals to Xero. That shows daily summary posting is an established pattern for service businesses. It does not mean those apps work with Mindbody. Xero notes that it reviews apps in its App Store but does not guarantee their performance, quality or suitability, so test any tool on a few days of data before you rely on it.
What your accountant needs from Mindbody
Your accountant needs one clean set of figures per location per day:
- Sales by revenue category (classes, memberships, packages, retail, gift cards, services)
- Tax collected
- Tips
- Discounts
- Refunds and voids
- Payments split by type: card, cash, gift card redeemed, account credit used, and other
The rule behind all of this is straightforward: the day’s payments should equal the day’s sales once you account for tax, tips, refunds and redemptions. When they don’t, something is unmapped.
The manual way in Mindbody
Run Mindbody’s daily financial report, or the sales-by-revenue-category and payments reports for the same date. Names differ between Mindbody versions and between accounts, so use whichever reports your account labels this way. Copy the figures into a sales invoice or a manual journal in Xero.
Booker users run the equivalent daily sales and payment summary reports. The fields are much the same, even if the report labels differ.
Where the manual way breaks
- It gets batched. Re-keying takes time, so it slides to weekly. Weekly entry means the clearing account carries a growing balance, and month-end becomes a hunt.
- Redemptions get mistyped. A gift card or account credit redeemed at the front desk is not cash. If it is keyed as a card or cash payment, the day never balances.
- Late edits drift. A refund or void made after the day has been posted changes the Mindbody total but not the Xero total.
- Tips and tax get folded in. Under time pressure, tax and tips are often added into a revenue line. That overstates income and distorts tax returns.
Daily summary vs every transaction
For most studios, post one daily summary per location. Xero fills up with contact and line records if every client sale is posted, bank reconciliation slows down, and the client-level detail already lives in Mindbody. Nothing about the books becomes more accurate by adding individual line items.
Post individual transactions only when a specific payer needs its own receivable. Corporate wellness accounts and B2B packages are common examples.
Two ways to record the summary work well, as long as you pick one and stay consistent:
- A sales invoice to one contact, such as a contact named ‘Mindbody daily sales’. This gives you payment application and aging, and the accountant can see what has been settled.
- A manual journal. This is cleaner if your accountant does not want a receivable at all.
Decide before the first sync how late refunds and voids will be handled. The two usual options are an adjusting entry on the day the refund happened, or restating the original day. Most accountants prefer the adjusting entry because it leaves closed periods alone.
Mapping revenue categories and payment types
Each Mindbody revenue category needs a Xero account. Don’t blend retail with services if they carry different tax treatment or margins. Payments go to clearing accounts, not straight to the bank. If you run more than one site, use a Xero tracking category for location.
| Mindbody item | Xero result | Watch out for |
|---|---|---|
| Class and appointment sales by revenue category | One line per category on the daily summary, coded to an income account | A new category with no account mapped goes unposted |
| Memberships and prepaid packages | Income line, or deferred revenue if your accountant recognises it on use | Set the policy before the first sync |
| Gift card sales | Liability account, not income | Redemptions are not cash payments |
| Retail sales | Separate income and cost lines | Don’t double count with Shopify |
| Sales tax collected | Tax-rate-coded line or tax liability | Don’t fold it into the category total |
| Tips | Liability account, owed to staff | Not revenue |
| Card payments | Card clearing account | The deposit is net of fees and batched |
| Cash payments | Cash clearing or till account | Match to the actual bank deposit |
| Gift card or account credit redeemed | Reduces the gift card liability or credit account | Missing this breaks sales equals payments |
| Refunds and voids | Negative line or adjusting entry on the day it happened | Late edits after posting |
| Location | Xero tracking category | Without it, sites blend together |
Gift card and package treatment, deferred revenue and tip handling are policy choices. Confirm them with your accountant. Don’t treat this table as tax advice.
Reconciling deposits
The bank deposit almost never equals one day’s gross sales. There are four usual reasons:
- The processor withholds its fees.
- Batch cutoff times mean one deposit can cover parts of two business days.
- Refunds are netted off.
- Gift card, account credit and cash payments never reach the processor at all.
The method that holds up:
- Post card payments from the daily summary to the card clearing account.
- When the deposit lands in the bank feed, match it to the clearing account. Where the deposit is smaller than the card payments, book the difference as a merchant fees expense line from the processor statement or payout detail.
- Check the clearing account at month end (or weekly). It should be zero, or hold only the last day or two of timing differences. A balance that keeps growing means a category, payment type or refund is not mapped.
Mindbody subscription fees are billed separately by Mindbody and are an ordinary expense bill, not a deduction from sales payouts.
This is an illustrative setup, not a customer story. Imagine a two-location pilates studio with one class revenue category, one retail category and one gift card line. It posts a daily summary for each location with a location tracking category, and sends card payments to one clearing account. Each deposit is matched to that account, and the processor fee lands on its own line.
How to automate it with Pandaflow
Pandaflow connects Mindbody or Booker and Xero, then keeps a daily summary running. The setup is short:
- Start free.
- Connect your apps. Connect Mindbody (or Booker) and Xero.
- Describe what you want in plain English. For example: ‘Each night, post a summary of the day’s sales by revenue category for each location. Send payments to the clearing account, and record gift card sales as a liability.’
- Review a few records and the first day’s entry against your Mindbody daily report.
- Go live.
There are no workflows, templates or settings to configure. Pandaflow’s AI sets up the sync and keeps it running, and repairs it if something changes in your data.
Once it runs, the owner sees a Xero entry each morning that matches the Mindbody daily report, posted to the same accounts the accountant already uses. Plans are Lite at $79, Silver at $299 and Gold at $499 a month (see pricing). Pandaflow can be deployed in our cloud or in yours.
For related reporting guides, explore the guides hub.
What can go wrong?
- Gift card and package sales posted as revenue. Check that these land in liability or deferred accounts.
- Tax and tips folded into a category. Each needs its own line.
- A new revenue category added in Mindbody with no Xero account. The sale lands unmapped. Flag unmapped categories rather than letting them slip through.
- Double counting retail. If Shopify and Mindbody POS both post retail, one channel needs to be the source of record for each sale.
- Posting before the day closes. Edits after posting cause drift. Post after close, and handle late changes as adjusting entries.
- Trusting the first week without checking. Compare the first week against the Mindbody report line by line before you rely on any daily entry.