The agreement is the system of record.
Most billing systems infer the commercial relationship from a subscription row. That works until a price is renegotiated mid-term, a renewal carries different terms from the original, or an auditor asks which version of the agreement produced a given invoice. Here the contract itself is modelled, and billing reads from it.
Contract to cash, one chain
Each step hands to the next inside the same system, so the numbers reconcile by construction rather than by export.
The contract — Parties, term, notice, and the price terms that apply — each dated, each versioned, none overwritten in place.
Price terms — A price term can be added or ended without rewriting history. Grandfathering is therefore a fact about the contract, not a manual note somewhere.
Lifecycle — Renewals, pauses, cancellations at period end, and reactivations — each a recorded transition rather than a status field someone edited.
Billing — Invoices are produced from the terms in force on the date they cover, including mid-term changes and proration.
Revenue recognition — Recognition and deferred revenue follow the contract, so MRR movement and period close reconcile back to the agreement that caused them.
The same chain in both modes
Nothing above depends on who the seller of record is. In Managed the documents are issued under Lernaura; in Direct they are issued under your own entity. The contract model, the lifecycle and the revenue records are identical either way — which is what makes moving between modes a commercial decision rather than a migration.
See what it costs
Managed pricing is published; Direct is priced individually.