Skip to content

Choose a billing model

All plans Portfolio Manager or above

Every engagement bills one of four ways. Onplana records which, on the deal and then on the project it becomes, and uses it to work out the revenue side of your margin. Cost never changes shape: it is always approved hours at the cost rate. Only revenue depends on the model.

ModelRevenue in a periodSet it where
Time and materialsApproved hours at the billable rateThe default; nothing to set
Fixed feeThe fee, in proportion to approved hours against the estimate, never past the whole feeFee amount and estimated hours
RetainerThe period fee, pro-rated by the days in your report windowAmount, billing period, included hours
MilestonesEach schedule amount, when its linked milestone completesA schedule of amounts, each linked to a milestone

All four models turn hours or milestones into revenue, so none of them describes something you buy in and resell, like a licence renewal that nobody logs time against. Put that on the project as a recurring revenue line instead. A line carries both the price your client pays and the price your supplier charges, so the margin is the spread, and it works alongside whichever model the project already uses.

Open a deal on the Pipeline and find How this will bill. Pick the model and fill in its terms. When the deal is won, the terms are copied onto the new project, and for a fixed fee or a milestone schedule the deal’s value becomes the project’s fee.

Setting it on the deal rather than after delivery starts is deliberate: the model is part of the commercial conversation, and a project that starts with the right terms produces a margin figure you can trust from the first approved timesheet.

Open the project, choose Edit, and look for Billing terms under the Billable client work checkbox. The same controls appear there. On a project you can also link each milestone-schedule amount to one of the project’s milestones, which a deal cannot do because the milestones do not exist yet.

The section is only there while the project is ticked as billable client work. An internal project has no revenue to recognise, so unticking that box hides the terms rather than leaving a model set on work nobody is charged for.

Fixed fee. Revenue is the fee multiplied by the share of the estimate your approved hours have reached, and it stops at the whole fee. Once the estimate is reached, further hours add cost and no revenue, which is exactly the over-run you want to see. With no estimate, nothing can be recognised and the row says so; leave the estimate empty only if the project’s tasks carry hour estimates, which are used as the fallback.

Retainer. Revenue is the period fee pro-rated by the days of the report window that fall inside the engagement. Hours above the included allowance appear as over-servicing, priced at the billable rate, on the project’s row. They are never added to revenue: a retainer does not earn more when you work more, so over-servicing is what to renegotiate, not what you earned.

Milestones. Revenue is the sum of the schedule amounts whose linked milestone was completed inside the window. Hours on a milestone project cost what they cost and earn nothing on their own.

Time and materials. Unchanged: approved hours at the billable rate, with the rate-basis readout showing whether each hour carried a real rate.

The report’s Rate basis line gains a fourth figure, hours on a fee, for hours on any of the three fee-based models. They sit in none of the rate buckets because their revenue comes from the fee, so the cost-only warning ignores them: a month of fixed-fee work is not a missing rate card.

The export adds one fee line per fee-based project in the period, next to the time and expense lines, so the ledger receives the same revenue the margin report shows. Hours on a fee-based project export as non-billable time lines: their revenue is on the fee line, and exporting both would double it. A fee already claimed by an overlapping batch is left out of the next one.

Can I mix models on one project? Not two billing models: a project bills one way, so split the work into two projects if a client has a retainer and a separately priced fixed-fee piece. Resale is the exception, because it is not a billing model. A project on any model can also carry recurring revenue lines, which is the normal shape for a managed-services client who also buys licences from you.

Does changing the model rewrite history? The report recalculates from the current terms every time you open it, so a model change applies to every period, including past ones. Change it when the contract changes, not to tidy a number.

Where do the hours come from? Approved timesheet entries only, the same rule as the rest of the margin report.