Skip to main content
Found under Staff → Invoices. Before any of this works, add your own Stripe keys under Admin → Integrations — this CRM never ships with anyone’s payment credentials baked in.

Invoices

Every invoice generates a PDF and a public pay-by-link (invoices/public/{token}) — your customer can view and pay it without logging in. Status (paid, partially paid, overdue) is computed live from recorded payments and the due date, not a field you set manually.

Estimates

Sent the same way as invoices, with a public accept/decline link. An accepted estimate can be converted straight into an invoice, carrying its line items across.

Recurring invoices

Set up a recurring invoice template (Staff → Recurring Invoices) to generate real invoices automatically on a schedule, instead of duplicating one by hand every billing cycle. Requires the cron job from Installation to actually fire.

Payments

Payments can be recorded manually by staff, or arrive automatically via a Stripe webhook when a customer pays through their public invoice link. Checkout is always priced against the invoice’s current balance, not its original total — so re-checking-out after a partial payment charges the right remaining amount.

Expenses

Track business expenses (Staff → Expenses) against admin-managed categories, with optional receipt uploads — feeds directly into Reports.