Free · No signup

Freelance Project Profitability Spreadsheet

The quoted rate and the rate you were paid are rarely the same number. This works out the second one — after revisions, meetings, admin, payment fees and everything else — and shows you which category ate the difference.

Who it is for. Freelancers who have finished a project and want to know whether it was worth doing — and which part of it was not.

Download this template

Free · No signup · No email · Version 1.0, updated September 2026

The files are generated when the site is built and served as ordinary static downloads. Nothing you type into them is ever sent anywhere — once the file is on your machine it has no connection to Freshlance at all.

What the file looks like

This preview is generated from the same definition the downloads are built from, so what you see here is what opens. The figures below are the file’s own formulas, calculated — switch to formulas to see the arithmetic behind them.

Project profitability — workbook preview

The commercial facts of the project, as it actually ended.

PROJECT SETUP
Use the value the project ended at, not the value you quoted.
THE PROJECT
ClientNorthbeam Coffee Co.
ProjectWebsite redesign — Phase 1
Pricing typeFixed price
Start date2026-07-06
Completion date2026-09-11
VALUE
Original project value$4,800.00What was quoted and accepted
Approved changes$900.00Total of approved change requests
Discounts given$200.00Goodwill reductions, late-delivery credits
Expenses reimbursed$320.00Costs recharged to the client at cost
TARGETS
Target hourly rate$90.00What you intended to earn per hour
Internal cost rate$0.00OPTIONAL. Leave at 0 unless you cost your own time or subcontract.
Internal cost rate is optional on purpose. A sole trader has no meaningful internal cost, and inventing one produces a margin figure that means nothing. Left at zero, the margin rows on OUTPUTS simply read as not applicable.

Cream cells are yours to type into; grey cells are formulas. This sheet prints landscape.

What is included

  • Contract value that includes changes

    Original value plus approved change requests, less discounts. Most profitability spreadsheets quietly use the original quote, which is the number least likely to be true.

  • Hours by category

    Delivery, meetings, revisions, admin, research, communication and sales — the seven buckets that explain where a fixed-fee project went.

  • Costs including payment fees

    Contractors, software, travel, materials and the processing fee that quietly takes a few per cent off every invoice.

  • Effective rate against target

    Net revenue over total hours, with the variance against the rate you intended to earn.

  • Optional labour cost and margin

    Leave the internal cost rate at zero and the margin rows sit out of the way. Fill it in and you get a genuine profit figure.

How to use it

Five steps, in the order that keeps the work out of trouble.

  1. 1

    Fill in PROJECT with the value as it ended up — original value, approved changes, discounts given.

  2. 2

    Log every hour on TIME, including the ones nobody paid for. Skipping the unpaid hours produces a flattering number and no insight.

  3. 3

    Put every project cost on COSTS, and do not forget the payment processing fee.

  4. 4

    Read the effective hourly rate on OUTPUTS, and compare it with your target.

  5. 5

    Then read the category breakdown. The gap between the quoted rate and the effective rate always has a name, and it is usually revisions or meetings.

The worked example

The example project quoted at $4,800 with a $900 approved change ends at 62.5 hours and an effective rate well under its $90 target — with revisions and meetings accounting for most of the gap.

Current contract value
$5,500.00
Total hours
73.50
Net revenue
$5,330.02
Effective hourly rate
$72.52
Rate variance
$-17.48
Unpaid work %
13.6%

Every figure above is read out of the workbook you can download, by evaluating its own formulas. If the file changes, this changes with it — there is no second set of numbers maintained on this page.

What to change

The parts that are deliberately yours to decide.

  • Categories

    Seven by default. Rename them to match how your work actually divides, but keep the delivery/non-delivery split — it is what makes the unpaid-work percentage meaningful.

  • Internal cost rate

    Optional and zero by default. A sole trader has no meaningful internal cost; someone who subcontracts does. Filling it in with a made-up number produces a made-up margin.

  • Payment fees

    A percentage line as well as a fixed one, because card and platform fees are usually both.

  • Expenses passed through

    Reimbursed expenses are added to the value and subtracted as a cost, so they net to zero rather than inflating the project.

About the formats

What differs between the files, and why you might pick one over another.

XLSX
Four sheets. The outputs sheet is laid out to print on a single page as a project post-mortem.
ODS
The same four sheets for LibreOffice Calc, formulas generated in OpenFormula.
PDF
The whole workbook with the example filled in, including the category breakdown.

Questions

What is a good effective hourly rate?
Higher than your target, which is the whole comparison. The absolute number depends on your costs and your market; the variance against your own target is the part that tells you something.
Should I include unpaid hours?
Always. The effective rate is net revenue divided by every hour the project took, and the unpaid ones are precisely the hours that make a profitable-looking project unprofitable.
Do I need to fill in the internal cost rate?
No, and most sole traders should leave it at zero. It exists for people who subcontract part of the work or who cost their own time for comparison. Leave it blank and the effective-rate half of the sheet still works.
How is this different from the effective hourly rate calculator?
The calculator is a quick answer for one project in the browser. This keeps the underlying records — every hour, every cost — so the answer can be interrogated and kept.

Download it

Download this template

Free · No signup · No email · Version 1.0, updated September 2026

The files are generated when the site is built and served as ordinary static downloads. Nothing you type into them is ever sent anywhere — once the file is on your machine it has no connection to Freshlance at all.