How Auto-Invoicing and AutoPay Work
A visual guide for owners and providers showing how automatic invoicing, AutoPay, saved payment methods, credit cards, bank transfers, and monthly superbills fit into flexible billing workflows.
PracticeRunner's billing automation does more than just create invoices. It checks completed appointments, follows your billing schedule, decides whether to email or charge, applies account credit, and can also send monthly superbills.
Billing automation works alongside your payment-method settings. Practices can set defaults at the practice level, override them at the client level, and use manual billing, automatic invoicing, AutoPay, credit cards, lower-cost bank transfers, or recorded outside payments where those match the financial policy.
The Big Picture
Completed sessions
|
v
┌──────────────────────┐
│ Auto-invoice checks │
└──────────┬───────────┘
|
+--> Create invoice now for daily autopay clients
|
+--> Create batched invoices on provider schedule
|
+--> Review open invoices for email / charge / recovery
|
+--> Generate monthly superbills when enabled
What Can Happen After a Session?
Appointment ends
|
v
Does this client use DAILY_AUTOPAY?
|
+--> No -> wait for regular billing schedule
|
+--> Yes
|
v
Create invoice for that appointment
|
+--> Review delay configured?
| |
| +--> Yes -> email invoice first
|
+--> No saved payment method available?
| |
| +--> Yes -> send payment request
|
+--> Saved payment method available?
|
+--> Yes -> charge when eligible
The Four Billing Outcomes
1. Invoice is created and emailed
This usually happens when:
- you want clients to review invoices before payment is attempted
- the client does not have a usable saved payment method
- automatic collection is not available for the routed Stripe account
2. Invoice is created and later auto-charged
This happens when:
- the payment mode allows automatic charging
- the waiting period has passed
- the client has a saved chargeable card or bank account
- the saved payment method belongs to the correct connected account
If a practice chooses to limit online payment methods to bank transfers in some cases, automatic charging will only use an eligible saved bank account for those clients.
3. Invoice stays open as a payment request
This happens when:
- automatic charging is unavailable
- the client has not saved a usable payment method yet
- you still want the client to pay from the invoice link
4. Automatic payment pauses and a recovery flow starts
This happens when the client's saved payment method needs attention. PracticeRunner will:
- stop auto-charging for now
- send a recovery email
- create a follow-up task for staff
For a broader overview of task types and how they resolve, see Tasks and Needs Attention.
Scheduled Auto-Invoicing
Owners can set practice standards, and providers can optionally use their own settings.
Schedule logic
Should this provider run today?
|
+--> Use provider-specific settings if enabled
|
+--> Otherwise use practice standard
|
+--> Weekly schedule: match weekday
|
+--> Monthly schedule: match day of month
If the provider is due today, PracticeRunner:
- looks for that provider's unbilled appointments
- groups them by client
- creates one invoice per client
- handles sending or charging in the later collection step
When AutoPay Actually Charges
PracticeRunner does not always charge immediately.
Daily AutoPay
Charge timing is based on the delay set for daily billing.
Daily autopay invoice created
|
v
Delay reached?
|
+--> No -> wait
+--> Yes -> attempt charge
Monthly AutoPay
Monthly charging waits until the end of the service month, plus any configured delay.
Latest session month ends
|
v
Add configured delay
|
v
Charge date reached?
|
+--> No -> wait
+--> Yes -> attempt charge
Monthly Pre-Billing
Monthly pre-billing creates a projected invoice for appointments currently scheduled later in the month instead of waiting for month end.
Month begins
|
v
Find appointments still scheduled this month
|
v
Create projected monthly invoice
|
+--> Send payment request now or after configured delay
|
+--> Or charge authorized saved payment method after configured delay
Important:
- the invoice is based on appointments currently scheduled for the month
- future cancellations or schedule changes are reconciled later
- any overpayment is credited or refunded
- additional scheduled sessions added later may require a later adjustment or additional invoice
Plain-language rule:
- After-service billing can still catch older sessions that were never billed.
- PracticeRunner will not automatically blast through a deep historical backlog. If uninvoiced sessions are far older than the current billing cycle, automation pauses for that client and creates a staff task instead.
- Before-appointment billing and pre-billing only look forward. They do not automatically go back and bill older sessions.
Before Any Automatic Charge
PracticeRunner first checks whether there is unapplied account credit.
Open invoice
|
v
Available credit?
|
+--> Yes -> apply credit first
|
+--> Remaining balance > 0 ?
|
+--> No -> invoice may be fully covered
+--> Yes -> attempt automatic charge
This means a client may be fully or partially covered by existing credit before any Stripe charge is attempted.
Monthly Superbills
If a client is set to receive superbills, PracticeRunner also checks for monthly superbills.
Client marked for superbills
|
v
Find prior months with `SHOW` appointments
|
v
Create or update one superbill per month
|
+--> Not sent before -> email superbill link
+--> Already sent -> update record only
Only completed SHOW sessions are included on a superbill. Chargeable late-canceled sessions can still be invoiced, but they are not added to superbills.
Simple Decision Map
Billing automation runs
|
+--> Eligible completed session?
| |
| +--> maybe create single-session invoice
|
+--> Provider billing day today?
| |
| +--> maybe create batched invoices
|
+--> Open invoice exists?
| |
| +--> send for review
| +--> request payment
| +--> apply credit
| +--> auto-charge
| +--> start payment-method recovery
|
+--> Client needs monthly superbill?
|
+--> create/update superbill and send link
What You Control
Owners and providers should think of billing automation as three separate settings areas:
| Area | What it controls |
|---|---|
| Invoice schedule | Whether invoices are created weekly or monthly, and on which day |
| Payment collection policy | Whether billing is manual, daily, weekly, or monthly, and whether the client pays or is charged automatically |
| Collection delay | How long PracticeRunner waits before trying an automatic charge |
Why Something Might Not Happen
If you expected an invoice or charge and did not see one, the most common reasons are:
- the appointment was already invoiced
- the appointment fee was
0 - the appointment was canceled or marked no-show
- today was not the provider's billing day
- the client's payment mode was manual
- the client had no usable saved payment method
- the saved payment method required recovery before charging
Practical Examples
Example A: Daily AutoPay with a review period
Session completes
-> invoice created
-> invoice emailed to client
-> delay window passes
-> PracticeRunner attempts charge
Example B: Monthly billing with no saved payment method
Provider's billing day arrives
-> monthly invoice created
-> client receives payment request
-> no automatic charge is attempted
Example C: Client has account credit
Open invoice ready for collection
-> credit applied first
-> only remaining balance is charged
-> if no balance remains, no Stripe charge is needed
Related Billing Behavior
This same automation pass also sends:
- invoice emails
- automatic payment receipts
- payment-method recovery emails
- monthly superbill links
If you want, support can also help you verify whether a specific client is set to MANUAL, DAILY_AUTOPAY, or MONTHLY_AUTOPAY, since that setting changes the entire path above.
