How Stripe Payments Are Recorded
When a family pays online via Stripe, Octavia records the payment automatically. It goes into the same billing ledger as manually recorded payments — Stripe just fills in the payment on your behalf instead of you doing i
Automatic Payment Recording
You never need to manually record a Stripe payment in Octavia. When the family completes payment on Stripe's checkout page, Stripe sends a notification to Octavia (via a webhook). Octavia processes that notification and records the payment against the invoice automatically.
This happens in seconds. By the time the family sees Stripe's "payment confirmed" screen, the payment has typically already been recorded in your Octavia billing ledger.
The Same Ledger as Manual Payments
Stripe payments and manually recorded payments use exactly the same data model. The only difference is the payment provider field: manually recorded payments show manual; Stripe payments show stripe. Everything else — how the payment allocates to invoices, how the invoice balance is calculated, how the receipt is triggered — is identical.
This matters practically: Stripe payments appear in exactly the same places you'd expect to see a manual payment. The invoice detail view shows the payment. The student billing history shows it. The payment is allocated to the invoice in the same way, reducing the outstanding balance by the amount paid.
Invoice Balance and Paid Status
Octavia derives the invoice balance from the sum of payments allocated to it — there is no separate "mark as paid" step. Once a Stripe payment is recorded and the allocated amount covers the full invoice balance, the invoice automatically shows as paid. You don't need to do anything.
If a Stripe payment partially covers an invoice (which can happen if a family is on a partial arrangement, though this is uncommon with Checkout), the invoice balance reflects the remaining amount. Subsequent payments — whether another Stripe payment or a manual one — continue to reduce the balance.
Automatic Receipt
Once an invoice balance reaches zero, Octavia automatically sends a receipt to the family using the same receipt pipeline used for manual payments. The receipt confirms the full payment and is indistinguishable from one triggered by a manually recorded payment.
There is no separate Stripe receipt sent by Octavia — Stripe itself may show a payment confirmation to the family on its checkout screen, but the formal receipt from your studio is sent by Octavia automatically.
If Something Goes Wrong
Stripe payments are processed with idempotency built in — Octavia is designed to handle duplicate or delayed webhook notifications gracefully, so a payment is never recorded twice for the same Stripe event.
If a payment appears not to have been recorded (for example, the family says they paid but the invoice still shows as outstanding), first check your Stripe dashboard to confirm the payment completed successfully on Stripe's side. If the payment is in Stripe but not in Octavia, contact Octavia support — this may indicate a webhook processing issue.
What You Can See
From your billing panel in Octavia, you can see:
- The recorded payment on the invoice detail — including amount, date, and provider (Stripe)
- The updated invoice balance
- Any receipt that was sent
You can also see your Stripe payouts and payment history by logging into your Stripe dashboard directly.
Previous: The Pay Now Link on Invoices
