Customer Contracts
A contract is the live, billing form of a signed order. It tracks billed vs earned against total value, keeps a deferred revenue schedule, and — for services deals — burns prepaid hour blocks down as approved hours arrive.
Key capabilities
- Contract lifecycle statuses: awaiting first invoice, active — billing, active — drawing down, paused, completed
- Revenue burndown per contract and per line: billed vs earned against contract value
- Prepaid hour blocks with bought / used / remaining hours and the deferred balance still to recognize
- Deferred revenue schedule tab showing what's billed-but-unearned and when it releases
- Per-contract drill-down tabs: Burndown, Cash & collections, Deferred schedule, and Upcoming billings
- Billing driven by your O2C settings: Invoice cadence (calendar month or 4-week) and Default net days
- New Contract either by promoting a sent order (this countersigns it and freezes its terms) or by drafting one directly
- Contract actions: Pause / Resume, Draft invoices, Edit, Reorder (a new draft order from a prepaid block), Issue credit memo, and Delete (only before anything is billed or recognized)
- Log a drawdown by hand on the Burndown tab, and approve or return pending ones there
- Contract-drafted invoices flow into the Invoice Review queue before anything is sent
- Change orders amend value or hours as versioned, signed amendments
- Tagging for grouping and filtering contracts
- Reports on the O2C Reports page (CSV or Excel): Contract register, AR aging, Deferred revenue waterfall, Hours ledger, and Billing schedule
How it works
Each billing period the contract drafts an invoice on cadence. Billed amounts split into earned and deferred; deferred releases on the schedule (or as hours burn on prepaid blocks).
flowchart LR
contract["Active contract"] -->|"on cadence"| draft["Drafted invoice"]
draft --> review["Invoice Review"]
review -->|"approve"| open["Open invoice — revenue booked"]
open --> earned["Earned revenue"]
open --> deferred["Deferred revenue"]
deferred -->|"schedule / hours burn"| earnedHow to use it
- Open Contracts to see live contracts with billed vs earned and hours burndown. Filter by Awaiting first invoice, Active, Paused, or Completed.
- Open a contract's burndown drawer to inspect per-line billed, earned, and remaining amounts — and hours on prepaid blocks.
- Switch to the Deferred schedule tab to see the release plan for billed-but-unearned revenue.
- Use Cash & collections for what has been invoiced and collected, and Upcoming billings for invoices still to come.
- Use Pause, Draft invoices, or Edit from the contract header, or New Contract to start another.
- Download the Contract register or Deferred revenue waterfall from the O2C Reports page when you need the audit-ready view.
Pro tips
- Set the contract's total purchased hours so the hours burndown denominator is right before drawdowns start arriving.
- Pause a contract instead of completing it when billing should stop temporarily — history and burndown stay intact. Paused contracts don't auto-draft future invoices.
- A contract that has billed or recognized revenue can't be deleted; completed contracts can't take change orders.
- You can edit a contract's total purchased hours directly on the Burndown tab.
In-depth guide
Statuses
| Status | Meaning |
|---|---|
| Awaiting first invoice | Countersigned, nothing billed yet |
| Active, billing | Billing on cadence |
| Active, drawing down | A prepaid hour block is being burned down by approved hours |
| Paused | Billing stopped. It leaves the upcoming-billings forecast and approved hours are refused until you resume |
| Completed | Finished; no new change orders |
The Active filter on the list covers both active statuses.
Delete rules
A contract can be deleted only while nothing has been billed or recognized, no invoice beyond draft is linked to it (voided ones do not count), and no approved hours exist. Linked draft invoices are deleted with it, and the original order stays as a countersigned order.
Developers and Regent
Developers can create, edit, pause and bill contracts over the API; see the Order to Cash guide. Regent can look up and update contracts for you in chat.