Three time fields. Start Time, Finish Time, and Duration (HH:MM:SS) calculated automatically. That's the end of the "how long did I actually spend on that callout?" argument with yourself at the end of the fortnight.

The Invoice Gap That Kills Cash Flow

Sole traders and small field service operations — electricians, plumbers, HVAC technicians — lose money the same way: completed work doesn't get invoiced quickly because the job record lives in a notebook, a phone camera gallery, or a WhatsApp thread. By the time someone sits down to invoice, the material costs are half-remembered, the duration is estimated, and the client's correct address has to be found again.

Job Status — In Progress, Completed, Invoiced — is the workflow state that tells you, at a single glance filtered view, which jobs are done but not yet invoiced. That's the number that represents uninvoiced revenue sitting on the table. The filter Completed AND Invoiced = false is the daily morning review that prevents work slipping through.

Job Date gives the invoice date reference. Start Time and Finish Time as datetime fields (including date) log the actual work window. Duration as a calculated HH:MM:SS field eliminates the arithmetic. Rounded Hours as a separate double field applies the rounding convention — most trades bill in quarter-hour or half-hour increments — for the invoice line calculation.

Material Cost Documentation

Materials (Check if Supplied) as a boolean flags whether you provided materials on this job. List of Materials Supplied as a free-text field captures what specifically was supplied. Total Material Cost as a currency field records the amount.

This three-field structure separates the billing question (did you supply materials?) from the specification question (what exactly was supplied?) from the financial question (what do you charge for them?). On a service call where you replaced a failed capacitor from your van stock plus a condenser unit sourced from the supplier that morning, those three fields capture the full materials picture that translates directly to an invoice line item without reconstruction.

Work Photos as an image field is the evidence layer that protects against disputes. A photograph taken on completion showing the installed component, the tidied work area, and the functional unit distinguishes your documentation standard from an operation that invoices with nothing more than a handwritten description.

The Invoice Completion Cycle

Invoiced as a boolean with Date Invoiced, and Payment Received as a boolean with Date Received, close the financial loop. These four fields are what make the job record a complete financial unit rather than just an activity log.

Nature of Work — Scheduled Work, Callout, Emergency Callout — isn't just descriptive. It's the billing category that determines which rate applies. An emergency callout at 10 PM on a Saturday invoices at a different rate than a scheduled maintenance visit. The distinction in the record ensures the right rate gets applied without having to remember which job was which at invoicing time.

Address as a location field plus Corrected Address as text handles the common problem of GPS addresses not matching the actual delivery/service address. The location field captures where you drove to; the text field captures what should appear on the invoice. For industrial estates, rural properties, and multi-tenanted buildings, these are often different.

Hourly Rate as a currency field per job allows variable rate work — different rates for different clients, different contract types, or different nature-of-work categories — without requiring a single rate to be applied across all jobs.