RIFT - billing leak detection RIKO - the AI front desk RISE - social media (coming soon) Is it for me? Security Philanthropy Blog Login Cart Free leak report
← Back to Blog How-to · Zanda

How to Find Uninvoiced Appointments and Unpaid Invoices in Zanda (formerly Power Diary)

4 Aug 2026 · 5 min read

In Zanda (the practice software formerly called Power Diary), appointments that were never invoiced are found through the Activity report - filter its Invoice Number column to empty rows - and unpaid invoices through Billing > Invoices (Payment Status: Unpaid Only) or the Accounts Receivable and Aged Receivables reports under Reports > Financial. There is no "draft invoice" status to worry about: a Zanda invoice is either Paid or Unpaid, and it is live the moment it is saved. This post walks through both checks, and what they still can't catch.

One housekeeping note first, since search results still mix the two names: Power Diary rebranded to Zanda in late 2024 - same product, same company, new name. Everything below applies whether your bookmark still says powerdiary.com or not.

Check 1: Appointments that were never invoiced

Zanda doesn't have a dedicated one-click "uninvoiced appointments" report, but the Activity report gets there with one filter. Every appointment row shows an Invoice cell - and Zanda's own documentation is explicit that a blank cell means no invoice was ever created for that appointment.

Steps
  1. Go to Reports > Activity and run the report for your date range.
  2. Hover over the Invoice Number column heading and click the filter control (the three stacked lines).
  3. Set it to Show rows where: empty and apply.
  4. What remains is every appointment in the period with no invoice attached. Work down the list: invoice it, or note deliberately why it was free.

This filter is the Zanda equivalent of Cliniko's Uninvoiced appointments report, and it finds the purest kind of leakage - work delivered that nobody ever asked to be paid for. Busy days, squeezed-in sessions, and cancellation fees your policy allows but nobody raised all show up here.

Check 2: Invoices that exist but haven't been paid

Zanda's invoice model is refreshingly binary - an invoice is Paid (fully) or Unpaid (anything outstanding, including partially paid). That gives you several ways to pull the unpaid list, from quick to thorough:

The three reports
  • Billing > Invoices - set Payment Status to Unpaid Only, with filters for client, date range, practitioner and third-party payer. The quick look.
  • Reports > Financial > Accounts Receivable - all outstanding invoices as of a chosen date, filterable by practitioner. The month-end snapshot.
  • Reports > Financial > Aged Receivables - the same money bucketed by how old it is: 0-30, 31-60, 61-90 and 90+ days. The report that tells you which balances are drifting toward unrecoverable.

The Aged Receivables buckets are the ones to watch month over month: money moving rightward through the buckets is money getting harder to collect. A partially paid invoice still counts as Unpaid, so nothing half-settled can hide - but it also means the Owing column (in the Invoices & Payments report) is worth reading, not just the invoice totals. Note that the financial reports need the "Access Financial Reports" permission, so if you can't see them, that's a settings conversation, not a missing feature.

What about draft invoices?

If you arrived here searching for "draft invoices in Zanda": there is no such status. When you click Save Invoice, the invoice is live - there is no interim draft stage the way there is in some systems. (The word "draft" does appear in two adjacent places that cause the confusion: invoices exported to Xero can arrive in Xero as drafts, which is Xero's status, and US insurance claims via the clearinghouse start as drafts.) In Zanda, the "invoice you meant to finish later" simply doesn't exist - the equivalent gap is the appointment that never got an invoice at all, which is exactly what Check 1 finds.

What Zanda automates, and where the gaps stay open

Credit where due: Zanda has built-in invoicing automations (Account Settings > Communication > Automations) that can email or SMS a client a set number of days after an unpaid invoice's date - genuinely useful, and if you're on Zanda and haven't set one up, do that today. But note what the automation is allowed to know: it fires from an invoice that exists. That leaves the gaps that hurt most still open:

Those three, plus checking your rates are current, round out the full monthly routine we've written up in the practice billing audit guide - and if the unpaid pile itself is the sore point, this piece on why unpaid invoices pile up in allied health covers the follow-up habits that work.

The continuous version

Everything above is a monthly ritual that depends on someone doing it. RIFT does the cross-checking continuously instead: export your data from Tools > Data Export in Zanda, upload it, and RIFT finds the uninvoiced sessions, the aging balances, the claims with no result, and the cash that never met an invoice - then drafts the chase emails in your clinic's voice, addressed to whoever actually owes the money, ready for you to send. It reads only the billing files, never clinical notes, and your first leak report is free.

On Zanda? Your first leak report is free

Upload a Zanda export and RIFT shows the money earned but never collected, by category, over the last 12 months - on screen in seconds.

Get your free leak report