Skip to main content

How do I make sure a Bill is accurately job costed?

Skip to main content
How can we help you today?

Our Knowledge Base contains the answers to more than 500 previously asked questions.

Create a Ticket Schedule a Training

Accurate job costing is essential for understanding how much a project has actually spent compared with its estimated or committed costs.

In Contractor Foreman, a Bill represents an actual cost that can be associated with a project. To ensure that the cost appears in the correct category of your job costing reports, each Bill line item should be assigned to the appropriate Cost Item and Cost Code.

The most reliable approach is to create a Bill from an existing Purchase Order (PO) or Sub-Contract whenever possible. This keeps the Bill connected to the original commitment and helps carry the appropriate line-item information into the Bill.

If a Bill must be entered manually, you should carefully select the correct project, Cost Item, and Cost Code for each line.

This article explains how to make sure a Bill is accurately job costed, whether the Bill is created from a Purchase Order, Sub-Contract, or entered manually.

What Does Job Costing a Bill Mean?

Job costing means assigning the actual cost of a purchase, subcontract, material, service, or other expense to the correct part of a project.

For example, suppose your project has a budget for electrical work. If you receive a $5,000 Bill from an electrical subcontractor, that cost needs to be assigned to the appropriate electrical Cost Code.

When the Bill is properly coded, the cost can be compared against the project’s estimated or committed amount in job costing reports.

A simple job-costing workflow is:

Estimate/Budget → Purchase Order or Sub-Contract → Bill → Actual Cost → Job Cost Reports

Using consistent Cost Codes throughout this process helps maintain accurate project financial information.

Best Practices for Accurate Bill Job Costing

1. Use the Correct Project

Before reviewing the Bill’s line items, make sure the Bill is associated with the correct Project.

This is especially important when your company has multiple active projects with the same vendor or subcontractor.

A Bill assigned to the wrong Project can cause the cost to appear in the wrong project’s financial records and job costing reports.

  1. Before saving the Bill, verify:
  2. The correct Project is selected.
  3. The correct vendor or subcontractor is listed.
  4. The Bill date and invoice information are correct.
  5. The Bill contains the correct items and amounts.
  6. The Bill is associated with the appropriate Purchase Order or Sub-Contract when applicable.

 2. Use Consistent Cost Codes

Cost Codes are one of the most important parts of accurate job costing.

A Cost Code acts as a category or “bucket” for tracking costs. For example, a company may have separate Cost Codes for:

  • Concrete
  • Electrical
  • Plumbing
  • Framing
  • Drywall
  • Roofing
  • Equipment
  • Materials
  • Subcontractor work

The important point is to use the same Cost Code consistently throughout the project.

For example, if electrical work was estimated under a particular Electrical Cost Code, related actual costs should be assigned to the appropriate Electrical Cost Code as well.

This allows the estimated cost and actual cost to be compared correctly.

Contractor Foreman’s current guidance emphasizes that inconsistent Cost Code usage can make job costing reports unreliable.

3. Understand the Difference Between Cost Items and Cost Codes

When working with Bills, it is important not to confuse Cost Items with Cost Codes.

A Cost Item represents the specific item, material, labor, equipment, subcontractor work, or other cost being entered.

A Cost Code is the category used to organize and track that cost.

For example:

Cost Item: 2×4 Lumber
Cost Code: Framing

Or:

Cost Item: Electrical Installation
Cost Code: Electrical

The Cost Item identifies what you purchased or paid for, while the Cost Code helps identify where that cost belongs for job costing purposes.

Using the correct combination helps ensure that the transaction is reported under the appropriate project cost category.

4. Generate the Bill Directly From a Purchase Order or Sub-Contract When Possible

If the cost originated from an existing Purchase Order or Sub-Contract, generating the Bill from that record is generally the best approach.

This maintains the relationship between the original commitment and the actual cost.

  1. For a Sub-Contract:
  2. Open the Sub-Contracts module.
  3. Locate and open the appropriate Sub-Contract.
  4. Click the three-dot menu (⋮) in the upper-right corner.
  5. Select Generate Bill.
  6. Review the line items.
  7. Enter the portion of the work being billed.
  8. Review the amounts.
  9. Click Generate Bill.

Contractor Foreman’s current documentation explains that the Bill generated from a Sub-Contract is automatically linked to that Sub-Contract.

For a Purchase Order:

  1. Open the Purchase Orders module.
  2. Locate and open the appropriate Purchase Order.
  3. Click the three-dot menu (⋮) in the upper-right corner.
  4. Select Generate Bill.
  5. Review the items being billed.
  6. Enter the quantities or amounts being billed.
  7. Review the Bill.
  8. Generate the Bill.

The Bill remains connected to the original Purchase Order, helping you track what was ordered, what has been billed, and what remains.

5. Enter the Correct Amount or Quantity Being Billed

When generating a Bill from a Purchase Order or Sub-Contract, do not automatically bill the entire committed amount unless the vendor or subcontractor is actually billing the full amount.

For example, a Sub-Contract may be worth $20,000, but the subcontractor may only have completed 25% of the work.

In that case, the Bill should reflect the portion currently being billed rather than automatically recording the entire $20,000 as an actual cost.

Similarly, when a Purchase Order contains multiple materials, you should enter the quantities or amounts that have actually been received and billed.

Contractor Foreman’s documentation notes that Bills generated from POs or Sub-Contracts can reflect partial completion, while the remaining amount remains available for future billing.

6. If Creating a Bill Manually, Select the Appropriate Cost Item

Not every Bill will originate from a Purchase Order or Sub-Contract.

If you need to create a Bill manually, carefully select the appropriate Cost Item for each line.

When adding items to the Bill, use an existing Cost Item whenever possible rather than creating a new item unnecessarily.

This helps maintain consistency throughout your Cost Items Database and project records.

When adding a manual Bill item:
Add the item to the Bill.
Select the appropriate existing Cost Item when available.
Review the item’s description.
Enter the correct quantity or amount.
Verify the associated Cost Code.
Repeat for each line item.
Review the completed Bill before saving.


7. Verify the Cost Code on Every Line Item

Do not assume that every line on a Bill belongs to the same Cost Code.

A single vendor invoice may contain multiple types of costs.

For example, a vendor invoice could contain:

Building materials
Delivery charges
Equipment rental
Installation services

If these costs belong to different categories in your project, each line should be assigned appropriately.

Before finalizing the Bill, review the Cost Code for each line item.

Ask:

Does this Cost Code represent where this particular cost belongs in the project budget?

If the answer is no, correct the Cost Code before saving the Bill.

8. Avoid Creating New Cost Codes Just to Enter a Bill

For consistent reporting, avoid creating a new Cost Code simply because a particular vendor invoice uses different wording.

Instead, use the existing Cost Code that represents the appropriate project cost category whenever possible.

For example, if the project already has an Electrical Cost Code, an electrical supplier invoice should generally be categorized under the appropriate existing electrical cost structure rather than creating a new code such as Electrical Supplier Invoice.

A simple, consistently used Cost Code structure generally produces more useful job costing information than an unnecessarily complicated structure. Contractor Foreman’s 2026 Cost Codes guidance specifically recommends keeping the structure practical enough that the team can use it consistently.

9. Check Actual Costs vs. Committed Costs

One of the main reasons accurate Bill job costing matters is that Bills affect the project’s financial picture.

When a Bill is generated from a Purchase Order or Sub-Contract, the amount billed is recorded as an Actual Cost for the project.

Any remaining unbilled amount can continue to represent a Committed Cost until it is billed.

For example:

  • Purchase Order: $10,000
  • Amount billed so far: $4,000
  • Actual Cost: $4,000
  • Remaining committed amount: $6,000

This allows you to distinguish between what has already been billed and what remains committed for the project.

10. Review the Bill Before Finalizing It

Before considering a Bill complete, perform a quick review.

Verify the following:

  • Project — Is the Bill assigned to the correct project?
  • Vendor/Subcontractor — Is the correct company selected?
  • Bill number — Does it match the vendor’s invoice?
  • Bill date — Is the date correct?
  • Line items — Are all items included?
  • Quantities — Are the quantities correct?
  • Amounts — Do the amounts match the vendor invoice?
  • Cost Items — Are the correct Cost Items being used?
  • Cost Codes — Is every line assigned to the correct Cost Code?
  • PO/Sub-Contract — Is the Bill linked to the correct commitment when applicable?
  • Taxes/retention — Are applicable amounts being handled correctly?

This review helps prevent incorrect costs from reaching your project reports.

Example of Accurate Bill Job Costing

Suppose a project has a Purchase Order for electrical materials:

  • Purchase Order: $15,000
  • Cost Code: Electrical
  • Vendor: ABC Electrical Supply

The vendor initially invoices $6,000 for materials that have been delivered.

Instead of manually creating an unrelated Bill, generate the Bill from the existing Purchase Order and enter the amount being billed.

The result is:

  • Committed Purchase Order: $15,000
  • Current Bill / Actual Cost: $6,000
  • Remaining commitment: $9,000

Because the Bill remains associated with the Purchase Order and uses the appropriate Cost Code, the project team can better track the relationship between the original commitment and actual spending.

What Happens to the Bill in Job Costing?

Once the Bill is created, its cost contributes to the project’s financial tracking as an Actual Cost.

This is important because job costing is based on comparing different types of project financial information, such as:

  • Estimated costs
  • Committed costs
  • Actual costs
  • Remaining costs

Accurate Cost Codes allow those amounts to be grouped into meaningful categories.

For example:

  • Cost Category Estimated Actual
  • Electrical $20,000 $12,000
  • Plumbing $15,000 $9,500
  • Concrete $30,000 $28,000

If Bills are assigned to incorrect Cost Codes, these comparisons may no longer accurately represent the project’s performance.

Common Job Costing Mistakes to Avoid

  • Using the wrong Project

A correctly entered Bill can still produce incorrect reporting if it is assigned to the wrong Project.

  • Leaving costs uncategorized

A Bill without the appropriate Cost Code can make it difficult to determine where the cost belongs in job costing reports.

  • Using inconsistent Cost Codes

Using different Cost Codes for the same type of cost can split the project’s actual costs across multiple categories.

  • Creating duplicate Cost Codes

Duplicate or overly specific Cost Codes can make reports harder to understand and reduce consistency.

  • Billing the full PO or Sub-Contract by mistake

When only part of an order or subcontract has been completed, make sure the Bill reflects the amount actually being billed.

  • Manually recreating an existing PO or Sub-Contract

If the Bill originates from an existing commitment, generating it from that PO or Sub-Contract helps maintain the connection between committed and actual costs.

  • Confusing Cost Items with Cost Codes

The Cost Item describes the specific cost, while the Cost Code provides the category used for tracking and reporting.

How to Troubleshoot an Incorrectly Job-Costed Bill

If a Bill appears under the wrong job costing category, review the Bill line by line.

  • Step 1: Confirm the Project

Make sure the Bill is associated with the correct Project.

  • Step 2: Review the Cost Item

Confirm that each line uses the appropriate Cost Item.

  • Step 3: Review the Cost Code

Check the Cost Code assigned to each line item and compare it with the Cost Code used for the corresponding estimated or committed cost.

  • Step 4: Check the Source Document

If the Bill was created from a Purchase Order or Sub-Contract, open the source document and confirm that the original line items and Cost Codes are correct.

  • Step 5: Review the Job Cost Report

After correcting the underlying information, review the relevant project financial or job costing report to confirm that the cost is appearing in the expected category.

Best-Practice Workflow

For the most consistent job costing results, use the following workflow:

1. Estimate the work
↓
2. Assign appropriate Cost Codes
↓
3. Create a Purchase Order or Sub-Contract when applicable
↓
4. Receive the vendor or subcontractor invoice
↓
5. Generate the Bill from the PO or Sub-Contract when possible
↓
6. Enter the actual quantity or amount being billed
↓
7. Verify Cost Items and Cost Codes
↓
8. Save/Generate the Bill
↓
9. Review Actual vs. Committed Costs
↓
10. Confirm the cost appears correctly in job costing reports

Quick Checklist

Before finalizing a Bill, make sure:

  • The Bill is assigned to the correct Project.
  • The correct vendor or subcontractor is selected.
  • The Bill matches the vendor’s invoice.
  • The correct Purchase Order or Sub-Contract is used when applicable.
  • Only the amount or quantity actually being billed is entered.
  • The correct Cost Item is selected.
  • Each line item has the appropriate Cost Code.
  • Cost Codes are consistent with the project’s existing cost structure.
  • The Bill has been reviewed for duplicate or incorrect entries.
  • The resulting Actual Cost is reflected in the appropriate job costing category.

Summary

Accurate Bill job costing depends on consistent Project, Cost Item, and Cost Code assignment.

Whenever possible, generate a Bill directly from the related Purchase Order or Sub-Contract. This helps maintain the relationship between the original commitment and the actual cost and allows partial billing to be tracked appropriately.

For manually created Bills, carefully select the correct Cost Items and Cost Codes for each line. Avoid creating unnecessary duplicate Cost Codes, and use a consistent cost-code structure across estimates, commitments, Bills, and other project transactions.

When these practices are followed consistently, Contractor Foreman can provide a clearer picture of estimated, committed, and actual project costs, helping you identify budget issues earlier and maintain more reliable job costing reports.

Was this article helpful?
0 out of 5 stars
5 Stars 0%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.