Skip to content

Track resale margin

All plans Portfolio Manager or above

If you resell licences, subscriptions or hardware, the number you care about is the spread: what the client pays you, less what your supplier charges. A recurring revenue line records both, so that spread shows up on your margin report next to the margin on your billable work.

The Recurring revenue panel on a project's Finance tab with two lines: a CMS licence at 1,450.00 monthly against 1,120.00 cost showing 330.00 margin monthly, and a monitoring subscription at 620.00 against 495.00 showing 125.00, each with its start date and no end date.

Every billing model turns hours or milestones into revenue, and nobody logs hours against a licence renewal. A renewal recorded as time and materials reports zero revenue, zero cost and zero margin, however large the contract.

A revenue line is separate from the model for a second reason: a project bills one way, but a managed-services client who also buys licences from you is one engagement, not two. A line sits alongside whichever model the project uses, so a retainer project can carry a licence book without splitting it in half.

  1. Open the project and go to the Finance tab.
  2. Find Recurring revenue below the expenses list and choose Add.
  3. Fill in what is being sold, the sell price per period and the supplier cost per period.
  4. Choose how often it repeats: one-off, weekly, monthly, quarterly or yearly.
  5. Set the start date, and an end date if the agreement has one. Leave the end date empty for something that renews until it is cancelled.

Enter the amounts at whatever frequency you actually price at. A licence billed annually goes in as one yearly line at the annual figures; you do not need to divide it by twelve, because the report does the pro-rating.

The report pro-rates each line across the window you are looking at, and counts both sides. A yearly line of 136,840.80 against a supplier cost of 118,072.80, read over a single month, contributes roughly 11,614 of revenue, 10,021 of cost and 1,593 of margin.

A one-off line is different: it earns in full on its start date and nothing on any other, because a single sale is earned when it happens.

On the Why it moved panel, resale has its own bar. That keeps it separate from Rate, so a month where your licence book grew reads as exactly that rather than as a change in what you charge for time.

Leave the supplier cost out and the report says so

Section titled “Leave the supplier cost out and the report says so”

If you do not know the supplier cost yet, leave the field empty. Onplana treats an empty cost as not recorded, which is different from recording a cost of zero:

  • The line reads “No supplier cost recorded, so this reads as all margin”.
  • The margin report names the amount of resale revenue with no cost against it.

Both exist because a resale showing 100% margin is nearly always a line that is half filled in, and a confident wrong number is worse than a visible gap. Fill the cost in and both notes disappear.

Does deleting a line change past reports? Yes. The margin report reads your current lines over whatever date range you ask for, so removing a line changes every period it covered. Set an end date instead when an agreement stops, which keeps the history and stops the line earning after that date.

What happens if the project is not billable? Nothing is recognised, revenue or cost, the same rule the rest of the report applies to a non-billable project.

Does it appear in the accounting export? Not yet. Recurring revenue is on the margin report only, so an exported month will be short by your licence revenue and its supplier cost until the export carries them.

Who can see and edit these? The same people who manage rate cards, because a line carries your buy price. An administrator can change that in the permissions matrix under org.ratecard.manage.