billing
How to pay
TL;DR
Pay in /portal/invoices or let staff record check/cash. Partial payments allowed; extra becomes credit. Receipts come by email.
- billing
- payment
- refund
Where payments live
- Staff:
/app/billing/paymentsand per-invoice Payments tab. - Owner portal:
/portal/invoices/[id]→ Pay → receipt.
Methods
- Portal (if enabled): card/ACH through configured provider. Confirmation + receipt via Resend.
- Staff-recorded: check, cash, wire/ACH manual. Staff creates payment record against invoice(s).
Sign in with Google or email and password. Horse owners should use the same email the barn invited.
▶Show details for AI/advancedexhaustive reference & AI context
Payments — Barnflow Billing
Where payments live
- Staff:
/app/billing/paymentsand per-invoice Payments tab. - Owner portal:
/portal/invoices/[id]→ Pay → receipt.
Methods
- Portal (if enabled): card/ACH through configured provider. Confirmation + receipt via Resend.
- Staff-recorded: check, cash, wire/ACH manual. Staff creates payment record against invoice(s).
Sign in with Google or email and password. Horse owners should use the same email the barn invited.
Applying payments
- One invoice, one payment: payment amount ≤ balance closes invoice to
paid. - Partial payment: balance > 0 → status
partial. - One payment, multiple invoices: applies to oldest due first unless owner specifies invoice #.
- Overpayment: excess becomes credit on client account.
Refunds
- Recorded as negative payment + optional adjustment line.
- Requires
owneroradmin(last-owner protection still applies). - Logged in
audit_eventswith actor and reason.
Receipts & history
- Receipt emailed via Resend to
clients.email. - Staff ledger shows payments per property/horse/client/date. Owners see only own payments (RLS via
clients.user_id/client_horses).
Keywords: payment, partial, paid, refund, receipt, Resend, portal pay, check, cash, ACH, oldest due first, credit
Barn staff: Open a support ticket
Horse owners: Message your barn