Business Billing
Full invoice lifecycle, AR aging, automated reminders, dispute workflow, and event-level audit trail.
Why this matters
For 3PLs, billing transparency prevents disputes and builds long-term client relationships. Every billable event is captured the moment it happens — every stop, every label, every storage day — and assembled into invoices you can defend line by line. Automated reminders chase overdue invoices for you. The full invoice lifecycle (draft → sent → paid → disputed → resolved → void/cancelled) is gated by UI, API, and database constraints in lockstep.
Who this is designed for
Roles
Platform Owner
Full system administrator with access to all tenants and configuration.
Business Owner
Manages business operations, billing, and high-level reporting.
Overview
How Business Billing works
Business Billing is the financial command center for the operator. It manages invoice generation, the full invoice lifecycle, automated reminders, dispute handling, payment tracking, and per-client rate configuration.
Every invoice has a real due date computed from net terms (overridable per client, defaults to 30 days). The lifecycle gates are enforced three independent ways: the UI prevents wrong actions from being clickable, the API rejects invalid actions, and database constraints reject inconsistent states. Cancel and void actions require a non-empty reason, captured in the audit trail.
The Invoices tab provides a unified surface for viewing, filtering, and acting on every invoice the operator has issued. Tabs cover all invoices, sent, overdue, disputed, resolved, void, and cancelled, with bulk and per-invoice actions.
Invoice Reminders automate the polite-but-firm follow-up to clients with overdue invoices. Set a schedule once (typical: three days before due, on due date, and seven days past due) and the system sends each reminder automatically. The full reminder timeline is captured against each invoice and visible in both the operator UI and the client portal.
Per-client rate cards use a versioned-row pattern: rate changes create new rows, the previous rate is preserved with its effective-to timestamp, and invoices generated from historical events use the rate that was in effect at the moment of the event — not the current rate.
Key capabilities
What you can do
- Per-client rate card management with versioned history
- Full invoice lifecycle (draft → sent → paid → overdue → disputed → resolved → void/cancelled)
- Three-layer defense (UI gating + API guards + DB constraints) on every transition
- Due-date infrastructure with per-business net-terms override
- AR aging integration
- Automated invoice reminders with configurable schedule
- Reminder history captured per invoice
- Dispute workflow with reason capture and resolution disposition
- Cancel / void actions with mandatory reason
- Margin markup on labels
- Exportable PDF invoices with event-level breakdown
Related
Related modules
AR Aging Report
Operator view of every customer's open invoices bucketed by age, with backdating and drilldown.
Learn more
Revenue by Customer
Per-customer revenue slicing over any date range, with sort, filter, and clean export.
Learn more
Business Billing (client portal)
Clients see their own invoices, line items, payment status, and dispute conversations.
Learn more
Platform Billing
Cross-tenant revenue dashboard showing usage across every tenant.
Learn more
See it live
Want to see Business Billing in action?
A 30-minute demo walks through Business Billing and the rest of the platform — tailored to your operation.