Free in-page template

Agency profitability spreadsheet, with the arithmetic left visible.

One row per project: quoted value, approved change value, invoiced, collected, direct cost, internal hours, internal hourly rate, internal cost, gross profit, margin, and a note. Every figure on the page is yours to enter, and every derived figure is a formula multiplying or subtracting the columns beside it — the sheet shows the working rather than asserting a result. Copy it as CSV.

The template, filled with an example

The example covers four fictional projects in a quarter, including one that lost money and one retainer that has an unpaid month. Internal cost is hours multiplied by rate, and gross profit is collected minus direct cost minus internal cost — computed here, not typed, so you can check every row.

Illustrative example only. Every project, client, and rupee figure on this page is invented, and the ₹1,200 hourly rate and 20% margin threshold are examples of choices a business makes for itself. No industry average margin, typical agency rate, or benchmark is claimed anywhere on this page.

Project profitability — illustrative exampleJul–Sep 2026 · 4 projects

Header block — the choices this sheet depends on

Business
Sample Studio Private Limited (example)
GSTIN
29AAAAA0000A1Z5
Period covered
01-07-2026 to 30-09-2026
Currency
INR
Internal hourly rate used
₹1,200 per hour — set by the owner, see the note below
Direct cost includes
Freelancers, media spend, stock and print, out-of-pocket travel, third-party licences
Direct cost excludes
Salaried staff, office rent, software subscriptions, and GST
Prepared by
Sample Studio Manager (example)
Reviewed on
04-10-2026

This worksheet compares projects; it does not produce a tax return or a financial statement. The GSTIN is in the header because the invoices behind these figures carry one, and because quoted, invoiced, and collected should be entered consistently as either tax-inclusive or tax-exclusive across the whole sheet. Confirm your own invoicing and reporting obligations with your chartered accountant.

Per project

Agency project profitability, illustrative example
CodeProjectQuoted (INR)Approved change (INR)Invoiced (INR)Collected (INR)Direct cost (INR)Internal hoursRate (INR)Internal cost (INR)Gross profit (INR)MarginNotes
P-2026-014Sample Client Textiles — website rebuild (example)3,40,000.0045,000.003,85,000.003,40,000.001,18,000.00961,200.001,15,200.001,06,800.0031.4%Scope held. The approved change was a second product template, priced before the work started.
P-2026-019Sample Retailer Trading Co — catalogue photography (example)2,10,000.000.002,10,000.001,47,000.001,86,000.00621,200.0074,400.00-1,13,400.00-77.1%Loss-making. Freelance retouching ran well over the estimate. The rate for this work was wrong, not the client.
P-2026-023Sample Client Hospitality — paid campaign, three months (example)1,80,000.0060,000.001,80,000.001,80,000.001,58,000.00241,200.0028,800.00-6,800.00-3.8%Media spend was budgeted as pass-through and billed at cost, so it dilutes margin. The approved increase is not yet invoiced.
P-2026-027Sample Client Services — monthly retainer (example)96,000.000.0096,000.0072,000.000.00441,200.0052,800.0019,200.0026.7%Retainer, no third-party cost. Two months invoiced, one month still outstanding at the review date.
Total4 projects8,26,000.001,05,000.008,71,000.007,39,000.004,62,000.00226—2,71,200.005,800.000.8%Margin is computed on collected value, not on quoted or invoiced value.

Across the 4 projects: 8,26,000.00 quoted, 8,71,000.00 invoiced, 7,39,000.00 collected, against 4,62,000.00 of direct cost and 2,71,200.00 of internal cost at 226 hours. Gross profit is 5,800.00, a margin of 0.8% on collected value.

Margin here is gross profit divided by collected value. On a services project the difference between this and a margin on quoted value is mostly the difference between money received and money promised, which is why the invoiced and collected columns sit next to each other rather than being replaced by one revenue figure.

The arithmetic, in full

Profitability arithmetic for one project, illustrative example
StepCalculationResult (INR)
Internal cost (project P-2026-014)96 hours × ₹1,200.00 per hour1,15,200.00
Gross profit (project P-2026-014)₹3,40,000.00 collected − ₹1,18,000.00 direct − ₹1,15,200.00 internal1,06,800.00
Margin (project P-2026-014)₹1,06,800.00 ÷ ₹3,40,000.00 collected31.4%
Gross profit (project P-2026-019, the loss-maker)₹1,47,000.00 collected − ₹1,86,000.00 direct − ₹74,400.00 internal-1,13,400.00
Margin (project P-2026-019)₹-1,13,400.00 ÷ ₹1,47,000.00 collected-77.1%

One project worked out in full, on the page, is worth more than a spreadsheet that produces the number silently. This is the arithmetic your own version should be able to show for any row.

Review

Margin you will not go below
20% — set by the owner before the quarter started, not after the numbers arrived
Projects below that margin
2 of 4 — P-2026-019 and P-2026-023
Quoted but not invoiced
₹60,000.00 across the period, largely the approved change on P-2026-023
Invoiced but not collected
₹1,32,000.00 — one retainer month and one part-paid project
Direct cost above internal cost
2 of 4 — the two projects where buying in cost more than the hours were worth
Pattern worth acting on
Quoted value was not the problem in the example. The internal rate and the third-party estimating were.
Profitability spreadsheet as CSV — illustrative example data

Agency profitability spreadsheet (CSV — illustrative example data)
Field,Value
Business,Sample Studio Private Limited (example)
GSTIN,29AAAAA0000A1Z5
Period covered,01-07-2026 to 30-09-2026
Currency,INR
Internal hourly rate used,"₹1,200 per hour — set by the owner, see the note below"
Direct cost includes,"Freelancers, media spend, stock and print, out-of-pocket travel, third-party licences"
Direct cost excludes,"Salaried staff, office rent, software subscriptions, and GST"
Prepared by,Sample Studio Manager (example)
Reviewed on,04-10-2026

Project code,Project,Quoted value (INR),Approved change value (INR),Invoiced (INR),Collected (INR),Direct cost (INR),Internal hours,Internal hourly rate (INR),Internal cost (INR),Gross profit (INR),Margin on collected,Notes
P-2026-014,Sample Client Textiles — website rebuild (example),"3,40,000.00","45,000.00","3,85,000.00","3,40,000.00","1,18,000.00",96,"1,200.00","1,15,200.00","1,06,800.00",31.4%,"Scope held. The approved change was a second product template, priced before the work started."
P-2026-019,Sample Retailer Trading Co — catalogue photography (example),"2,10,000.00",0.00,"2,10,000.00","1,47,000.00","1,86,000.00",62,"1,200.00","74,400.00","-1,13,400.00",-77.1%,"Loss-making. Freelance retouching ran well over the estimate. The rate for this work was wrong, not the client."
P-2026-023,"Sample Client Hospitality — paid campaign, three months (example)","1,80,000.00","60,000.00","1,80,000.00","1,80,000.00","1,58,000.00",24,"1,200.00","28,800.00","-6,800.00",-3.8%,"Media spend was budgeted as pass-through and billed at cost, so it dilutes margin. The approved increase is not yet invoiced."
P-2026-027,Sample Client Services — monthly retainer (example),"96,000.00",0.00,"96,000.00","72,000.00",0.00,44,"1,200.00","52,800.00","19,200.00",26.7%,"Retainer, no third-party cost. Two months invoiced, one month still outstanding at the review date."
Total,4 projects,"8,26,000.00","1,05,000.00","8,71,000.00","7,39,000.00","4,62,000.00",226,—,"2,71,200.00","5,800.00",0.8%,"Margin is computed on collected value, not on quoted or invoiced value."

Review question,Answer
Margin you will not go below,"20% — set by the owner before the quarter started, not after the numbers arrived"
Projects below that margin,2 of 4 — P-2026-019 and P-2026-023
Quoted but not invoiced,"₹60,000.00 across the period, largely the approved change on P-2026-023"
Invoiced but not collected,"₹1,32,000.00 — one retainer month and one part-paid project"
Direct cost above internal cost,2 of 4 — the two projects where buying in cost more than the hours were worth
Pattern worth acting on,Quoted value was not the problem in the example. The internal rate and the third-party estimating were.

4 projects is a worked example, not a claim about how many you need. Most real quarters have more rows and a few that are still open, and the open ones are exactly the rows worth watching — the retainer with an unpaid month in the example is the row that would otherwise be discovered in the following year’s accounts.

How to fill it in

Five steps, with the first one doing most of the work.

01

Set the hourly rate and the cost boundary in the header, first

Before a single project is entered, write down the internal hourly rate, what counts as a direct cost, and what does not. Doing it afterwards means the first project was measured differently from the last four.

02

Enter all four money columns, even the zeros

Quoted, approved change, invoiced, collected. The zeros matter: a project with no approved change value is a real answer, and leaving the cell empty makes the total column either wrong or quietly inconsistent.

03

Separate bought-in cost from your own hours

Direct cost in one column, hours in another, rate in a third, and the internal cost as a formula multiplying the two. Do not merge them into a single “cost” number — the split is the whole reason the sheet exists, because one project being bought in expensively and another being underpriced look identical once they are added together.

04

Show the working next to the figure

Internal cost, gross profit, and margin as formulas, not typed values. The sheet should not be able to display a margin it cannot reproduce, and a formula cell is the only version of this you can audit when the number surprises you.

05

Look for the pattern, not the project

One loss-making project is a story. Three out of four is a pricing or estimating decision. The review block in the example asks which pattern is worth acting on, and the honest answer there is about the internal rate and the third-party estimating rather than about the client.

When to use this, and when to stop

This sheet is most useful precisely when the answer is uncomfortable, because a project you cannot measure is a project you can only re-quote the same way next time.

When this template is the right tool

  • You run a studio or consultancy and you cannot say, today, which projects made money.
  • You quote from instinct and find out how a project went after the client has already paid the last invoice.
  • You want bought-in cost and your own time visible separately instead of merged into one expense line.
  • You need quoted against invoiced against collected in the same row, per project, for a review.

When you have outgrown it

  • Projects are recorded in accounting software but nobody reconciles them against the quote that started them.
  • Internal time is never recorded, so the largest cost on a services project is invisible.
  • A project can be found as a pattern only after the fact, from an accountant's annual report.
  • Approved changes live in email and the invoice does not match anything that was agreed.

The same process in NoxOrigin

Quoted, billed, and collected already exist as separate states on the project, because they are separate things that happened at different times — the sheet exists to keep them apart, and the system keeps them apart by construction rather than by discipline. The approved change sits on the project alongside the original quote, so the difference between what was agreed and what was billed is findable instead of being a feeling, and scope that grew without being quoted is the first thing you can see. Time and cost recorded against the work give you the two halves of the arithmetic, and reports read quoted against billed across projects rather than one at a time in a quarterly exercise. This is not a full accounting, payroll, or expense system, and it does not replace your chartered accountant — the point is that the numbers reaching them are the same numbers you can trace back to a quote and a record of work.

Agency profitability spreadsheet questions

Why is margin calculated on collected value rather than invoiced?

Because collected is the only one of the three numbers that has happened. Quoted is an intention, invoiced is a claim, and collected is money. A project invoiced in full and paid half is not profitable, and a sheet that divides by invoiced will tell you it is. The example shows all three columns side by side so you can see exactly how much of the apparent margin is still a promise.

What counts as a direct cost?

The money spent on this specific project that would not have been spent without it: freelancers, media spend, stock and print, out-of-pocket travel, and third-party licences. The example writes the inclusions and exclusions into the header block, which is the part people skip. Fixed overhead — salaried staff, rent, subscriptions — is not a direct cost of one project, and putting it in one row makes every other row look worse in a way that tells you nothing about pricing.

What is the internal hourly rate and who sets it?

Yours. It is what an hour of your own time is worth when it is spent on this project rather than sold, and in the example the owner set it at ₹1,200 before the quarter started. A rate invented after a project turns out badly is not analysis, it is a way of making a number feel better. Write the rate in the header so every project on the sheet uses the same one and the comparison between projects stays honest.

Should a project with no direct cost show a blank cost?

No. The retainer in the example has no third-party cost, so that cell is zero and the internal cost is still charged against it. A retainer project that consumes 44 hours of salaried time is not free to deliver, and leaving the column empty is how a retainer quietly funds itself from work nobody priced.

Does this account for GST?

No, and the numbers here are meant to be compared against each other rather than filed. The GSTIN appears in the header because the invoices behind these figures will carry one, but quoted, invoiced, and collected are commercial values here, and whether a given figure is tax-inclusive or tax-exclusive is a decision you have to make consistently across the sheet. Confirm how your own figures should treat GST — and your invoicing obligations — with your chartered accountant.

Find out which projects made money before you quote the next one.

If profitability only becomes visible in the annual accounts, the pricing decision for this year has already been made by accident.