Your invoice isn't a spreadsheet
Why qty × rate = amount doesn't work for production invoices, and what to do about it.
Open your invoicing tool. Create a new invoice. Try to add a line item that says:
Short turnaround penalty — $1,200
You can’t, can you? The form wants a description, a quantity, a rate, and maybe a unit. It wants to multiply two numbers together to get a third number. It wants your invoice to be a spreadsheet.
But your invoice isn’t a spreadsheet. It’s a document.
The qty × rate trap
Most invoicing tools are built around a single idea: every line item is a quantity multiplied by a rate. Three days at $1,200. Five hours at $150. One camera package at $1,750.
This works when your work fits neatly into boxes. It falls apart when it doesn’t.
Here’s what a real production invoice looks like:
| Line | What it is | How it’s calculated |
|---|---|---|
| 3 days @ $1,200 | Day rate | qty × rate ✓ |
| Overtime — 4hrs @ $180/hr | Overtime loading | qty × rate ✓ |
| Short turnaround penalty | Rule-based flat fee | just a number |
| Camera package (5-day week) | Kit rental | weekly flat rate |
| Hard drive — Samsung T7 2TB | Expense reimbursement | receipt amount |
| Travel — Bondi to Fox Studios | Mileage allowance | per-job flat |
Half of those lines don’t have a meaningful quantity or rate. The turnaround penalty is $1,200 because the rate card says it’s $1,200. The hard drive is $189 because that’s what the receipt says. Forcing these into qty: 1, rate: $1,200 is technically possible but it makes the invoice look stupid — and it makes the data useless for reporting.
What “freeform” actually means
A freeform line item is one where you write the description and the amount, and that’s it. No quantity field. No rate field. No multiplication. The invoice says what you need it to say, and the number is what the number is.
But freeform doesn’t mean unstructured. The best setup is a mix:
- Structured lines for repeating work: days, hours, units. These pull from your rate card, calculate automatically, and give you reporting data.
- Freeform lines for everything else: penalties, flat fees, reimbursements, one-off charges. You type the description, enter the amount, done.
- Sections to group them: Labour at the top, kit rental in the middle, expenses at the bottom. The client’s production accountant can allocate costs without calling you.
The section problem
This is where most tools really struggle. A production invoice isn’t a flat list of lines — it’s grouped.
LABOUR
3 days @ $1,200/day .................. $3,600
Overtime — 4hrs @ 1.5× .............. $720
Short turnaround penalty ............. $1,200
KIT RENTAL
Camera package (weekly) .............. $1,750
EXPENSES
Hard drive — Samsung T7 .............. $189
Travel ................................ $85
Try doing that in most invoicing tools. You’ll end up with six line items in a flat list, maybe with the section name typed into the description field. No subtotals per section. No visual grouping. The production accountant gets a wall of text and has to figure out which lines are labour and which are expenses.
Sections, packages, and the two-audience problem
Sections aren’t just formatting — they’re data. When your invoice has a “Labour” section and a “Kit Rental” section, your year-end reporting can tell you how much of your income came from each. When it’s a flat list, everything is just “revenue.”
But sections unlock something more important: the ability to show different views to different audiences.
Your client doesn’t need to see every lens and body in your camera package. They need to see “Camera package — $1,750.” Your accountant, on the other hand, needs the breakdown so they can allocate the income to the right accounts.
Same invoice. Two views:
What your client sees:
LABOUR
3 days @ $1,200/day .................. $3,600
Overtime + turnaround ................ $1,920
Subtotal $5,520
KIT RENTAL
Camera package (weekly) .............. $1,750
What your accountant’s export contains:
4-1100 Labour income $3,600.00
4-1110 Overtime income $720.00
4-1120 Penalty income $1,200.00
4-1200 Equipment rental $1,750.00
4-1300 Expense recovery $274.00
The “Overtime + turnaround” line on the client invoice is a collapsed section — a package. It prints as one line, but the data behind it is two separate entries with different account codes. You save the section as a reusable package: next time you have a short turnaround + overtime day, it’s one click.
No other invoicing tool handles this. Some have subtotal lines. Some have bundles. None let you define named sections, save them as packages, choose whether to print them collapsed or expanded, and export the full detail to your accountant while showing the client only what they need to see.
Why this matters for your numbers
When every line item is qty × rate, your reporting can only tell you “you invoiced X line items for Y total.” It can’t tell you how much of your income is labour versus kit rental versus expenses, because the data model doesn’t distinguish between them.
When sections carry account codes and your export maps to your chart of accounts, your year-end numbers tell you something useful. How much did you earn from day rates versus overtime? How much kit rental income did you generate? Are your expenses eating into your margins?
Your accountant stops asking you to categorise things manually. The invoice already did it.
What to look for
If you’re evaluating invoicing tools, create a test invoice with these lines:
- A structured line: 3 days at your day rate
- A loading: overtime at 1.5× for 4 hours
- A flat penalty: short turnaround, no quantity
- A kit rental: weekly rate, not daily
- An expense: exact receipt amount
- Group 1–3 under “Labour” and 4–5 under their own sections
- Collapse “Labour” to a single print line for the client
- Export the full detail with account codes for the accountant
If the tool can do all eight without you fighting the form, it understands production invoicing. If it can’t, you’ll be working around it for every invoice you send.