Link Purchases to Jobs

Associate purchase orders with a job or visit so costs land in job costing — and billable lines reach the client's invoice.

A purchase order on its own tells you what you bought. Associating it with a job — or better, a specific visit — tells you what that work really cost. The association is what connects your purchasing to job costing, margins, and (for billable lines) the client's invoice.

Associate a purchase order

On the purchase order form, the Job / Visit Association section has two fields:

  1. Job — search for and select the job this purchase supports.
  2. Visit — once a job is chosen, optionally narrow the association to one of its visits, or leave it as Entire job (no specific visit).

The form itself points out the best practice: associating the purchase order with a Visit produces the most accurate reporting, since it drives both job and visit costing. If the material was bought for a particular day's work, pick that visit.

You can set or change the association any time while the PO is a draft or open. Once approved, the PO is locked.

What happens at approval

When a job-associated purchase order is Approved:

  • Every line becomes an actual cost row on the job. The lines appear in the job's Actuals & Expenses section, marked with the source Purchase Order. They count toward the job's cost totals and margins but are managed from the PO, not the estimate.
  • Billable lines transfer to the client's invoice at no markup. A line's Billable toggle (defaulted by the item's Billable on Purchase Orders flag) controls whether the client pays that cost back dollar-for-dollar. Non-billable lines stay internal — pure cost.

The approval dialog restates this before you confirm, so nobody approves a job-linked PO without knowing costs are about to post.

See a job's purchase orders

Every job's detail page includes a Purchase Orders panel listing the POs associated with it, with a New Purchase Order button that starts a PO already linked to that job. The Purchase Orders list page also shows a Job / Visit column and lets you spot unassociated orders at a glance.

Expenses create linked purchases too

Recording a Reimbursable expense on a completed visit can create a draft purchase order automatically, already associated with that visit — see Add expenses to visits. It's the fastest way to get a field purchase into the system with its job link intact.

Note: Association is optional. Stock-up orders for the warehouse don't need a job — for inventoried items, approval still credits on-hand stock, and jobs deplete it later when they're approved. See Inventory.