Freelance Billing Math Shouldn't Happen in Your Head at 11pm
Every freelancer who's been doing this for more than a year has sent at least one invoice that was wrong. Not fraudulently wrong — just miscalculated. Seven sessions across three weeks, some of them interrupted, some of them short bursts of consultation that felt like they shouldn't count but should. The hourly rate is clear. The total hours aren't.
This is the specific problem the Art / Web Development Job Tracker is built to eliminate.
How the Calculation Actually Works
The template's logic depends on the Pay Structure field — Hourly or Lump Sum. For hourly contracts, the Total Amount to Invoice field runs a JavaScript calculation: Pay Rate × Total Time. The Total Time field is itself a computed aggregation, summing the Duration field from every linked time entry in the Time Entries sub-library. Each session you log gets added to the running total automatically.
For lump sum contracts — a logo design for a fixed fee, a one-page website for an agreed amount — the Total Amount to Invoice just returns the Pay Rate value. No multiplication needed, but the structure is consistent: the same record type handles both compensation models, so your database isn't bifurcated into "hourly clients" and "project clients" with separate tracking systems.
The Total Time Spent field rounds the aggregated hours and appends "Hours" for human readability. You see "23 Hours", not "23.0000000001" from floating-point accumulation.
The Service History Field Nobody Uses Correctly Until They Need It
The Services Provided Throughout Contract field is a multi-select: Artwork, Webpage Design, Logo Design, Consultation, Research. Its value isn't visible during active work — it looks like bookkeeping. Its value appears when a client calls eighteen months after a project closed and asks what services you provided during that engagement, or when you're building a quote for a new client and want to know what you've historically charged for "consultation" separately from "webpage design."
Filter the entire database by Services Provided includes Logo Design and Pay Structure = Hourly. That's your historical hourly rate data for logo work, across every client you've ever billed.
When the Client Asks for an Invoice
The contact fields — Client Contact Person, phone, email — are on the same record as the billing calculation. When the total hours cross a threshold and it's time to invoice, every piece of information you need is in a single view: who to send it to, their contact details, the services rendered, the hours worked, and the dollar amount in AUD. No cross-referencing. No looking up the contact in one place and the hours in another.
The Date of Job Start anchors the billing period. For hourly clients with monthly invoicing, the time entries linked to this job carry their own timestamps — so filtering by date range within the sub-library gives you the hours for any specific billing period without modifying the master record.