Job costing

How to Use Project Codes and Site References to Keep Invoices in the Right Job

BuilderDash1 Jul 2026 7 min read

If invoices, delivery notes, and small purchases arrive with different references, job costing breaks fast.

One supplier writes the site name. Another writes the client name. A third uses the wrong job number, and someone in accounts has to guess where the cost belongs. By month end, the team is trying to untangle paperwork instead of looking at live job costs.

For UK contractors, fit-out firms, refurbishment teams, and maintenance businesses, that is not a minor admin issue. It changes whether a job looks profitable, whether a supplier gets paid on time, and whether the commercial team trusts the numbers in front of them.

Why project codes get lost

Project codes usually fail for ordinary reasons rather than dramatic ones.

A site manager takes a quick phone call and emails a supplier with a handwritten address and a bit of context. The supplier raises an invoice using their own shorthand. Delivery notes come back with a unit number or plot name. The office then tries to attach those records to the correct job after the fact.

That creates a familiar mess:

  • the invoice line is correct, but the job reference is missing
  • the delivery note matches the site, but not the purchase order
  • the same job is described three different ways across email, PDF, and spreadsheet
  • accounts cannot tell whether a cost belongs to one project or another
  • project managers stop trusting the coded cost report because too much is hidden in notes

The issue is not usually the software. It is that too many people are allowed to invent their own version of the reference.

Decide what the code actually means

Before you can keep the right job visible, everyone needs to know what the code represents.

For some businesses it is a simple job number. For others it is a project code plus a site reference. Fit-out and refurbishment firms often need both because the commercial team wants the job number, while the site team needs a clearer reference such as floor, area, unit, or plot.

A useful rule is:

  1. One code for the job or package.
  2. One site reference for the physical location.
  3. One supplier reference that stays on the PO, invoice, and delivery note.

If those three things are clear, the office can match the paperwork without guessing.

Put the code on the documents that matter

The reference only works if it travels with the documents that create cost.

At minimum, the same code should appear on:

  • purchase orders
  • supplier invoices
  • delivery notes
  • materials receipts
  • subcontractor applications or invoices
  • internal approval notes

If a supplier cannot see the job code on the order, they will often leave it off the invoice. If the site team does not write it on the delivery note, accounts has to reverse-engineer the link later. If the approval note only says "materials for site" then nobody can prove which site meant what.

The cleaner rule is simple: if it creates cost, it should carry the code.

Keep site references human-friendly

Project codes are good for systems. Site references are good for people.

That matters on fit-out and refurbishment work where one project may have multiple floors, units, zones, or phases. The office might know the project as J0421, but the site team needs something more practical such as Floor 03 North, Unit B, or Plot 14.

A good record lets both sides work from the same source of truth:

  • commercial team uses the project code
  • site team uses the site reference people actually say on the phone
  • accounts sees both, so nothing gets lost in translation

This is especially useful when materials are delivered to temporary access points, shared yards, or a live building where the exact drop-off location matters.

Capture the reference when the cost arrives

The worst time to fix a missing code is at month end.

By then, the supplier has moved on, the site manager is busy, and the office is trying to close the ledger. The better approach is to capture the reference as early as possible, ideally before the invoice is approved.

A practical workflow looks like this:

  1. Raise the purchase order with the correct job code.
  2. Add the site reference in the note field or description.
  3. Ask the supplier to quote the same code on the invoice.
  4. Check the delivery note against the PO when the goods arrive.
  5. Match the invoice to the original order before it is posted.
  6. Hold anything that cannot be tied back to a live job.

That small discipline keeps the job cost report cleaner and reduces the number of "where did this belong?" conversations later.

Don’t let free text become the system

Free text is useful for context, but it is a bad control on its own.

If one person writes site 1, another writes site one, and a third writes S1 north, the reports may look complete while actually hiding duplication. The same problem appears when cost codes are buried in email subject lines or handwritten notes that never make it into the record.

The answer is not to ban notes. The answer is to separate the structured code from the human explanation.

A strong record has:

  • a fixed project code
  • a fixed site reference
  • a short description that can be read by humans
  • any supporting note, photo, or delivery evidence stored alongside it

That gives the team flexibility without sacrificing consistency.

Why this matters for job costing

Job costing only works if the cost lands on the right job.

A mis-coded invoice is not just an admin error. It can hide margin pressure, distort committed cost, and make a live project look healthier than it really is. If materials for one job are accidentally posted to another, the commercial team may not notice the overspend until the damage is already done.

Project codes and site references help answer the questions that matter:

  • Which job created the cost?
  • Which part of the site did it relate to?
  • Was the cost approved against the right purchase order?
  • Is anything still missing before the invoice can be posted?

Those are basic questions, but they are the difference between a reliable report and a guess.

What BuilderDash helps you do

BuilderDash helps keep purchase orders, approvals, invoices, and job notes tied to the same job record.

That means the project code, site reference, and supporting evidence stay together instead of being split across inboxes and spreadsheets. When the invoice arrives, the team can see the original order, the approval trail, and any notes that explain where the cost belongs.

For construction businesses that live with tight margins and too many moving parts, that is the point. Less chasing, fewer coding mistakes, and a clearer view of what is actually happening on live jobs.

A simple checklist for the office and site team

Use this checklist when a new cost comes in:

  • Is the project code on the PO?
  • Is the site reference on the PO and delivery note?
  • Does the invoice use the same code as the order?
  • Can the cost be matched to a real job without guessing?
  • Is the description clear enough for someone else to understand later?
  • Has the approval trail been kept with the record?
  • Would the report still make sense if the original sender was off sick tomorrow?

If the answer to any of those is no, the job record is not ready yet.

Keep the money attached to the job

Project codes and site references are boring until they save a business from posting the wrong cost to the wrong job.

Once the reference is clean, the invoice is easier to approve, the delivery note is easier to match, and the job cost report becomes something the team can actually trust. That is the sort of operational discipline that keeps construction admin under control without adding extra meetings or spreadsheet work.

Suggested internal links

  • /knowledge-base/weekly-committed-cost-review-construction/
  • /knowledge-base/clean-subcontractor-invoice-workflow-construction/
  • /knowledge-base/reconcile-supplier-statements-construction-month-end/

Suggested call to action

Use BuilderDash to keep project codes, site references, purchase orders, and invoice notes tied to the same job from the moment they arrive.

Run your projects properly with BuilderDash.

One system for every enquiry, job, quote and invoice - built for project-based trades, not reactive call-outs.

Start free trial Book a demo
Free for 14 days · No credit card · Cancel anytime

Recent guides

Invoicing
How to Spot Partial Invoices Before They Hit Bookkeeping
BuilderDash · 31 Jul 2026
Invoicing
How to Spot Partial Invoices Before They Hit Bookkeeping
BuilderDash · 31 Jul 2026
Job costing
What to Do When an Approved Purchase Order Never Reaches the Supplier
BuilderDash · 29 Jul 2026