Key takeaways
- Most miscoding happens because expenses are coded late, by someone other than the person who made the purchase, from a cost code list too long to search.
- The fix is to code each expense when it happens, against the live job and cost code list from the ERP, and to have the project manager confirm spend on their job before it syncs.
- Catching a wrong code at approval takes one click. Catching it after it posts takes a correcting journal entry and a revised job cost report.
- Vergo proposes job, phase, cost code and cost type from your own history and shows why, so reviewers spot a wrong code instead of re-coding every expense.
- Card spend, reimbursements and AP invoices should go through the same checks, because a miscoded invoice distorts the job cost report as much as a miscoded receipt.
Where should you go next?
- Learn more about Vergo Expense Management
- Learn more about Vergo approval workflows
- How do I integrate expense management with job costing software?
Why do expenses end up miscoded on job cost reports?
- Coding happens weeks later. By the time a receipt reaches accounting, nobody remembers which job or which work it was for, so it goes to the most recent job or to overhead.
- The wrong person codes it. An AP clerk guesses from the vendor name, while the foreman who bought it knows exactly what it was for.
- Too many cost codes. A cost code list with hundreds of entries leads people to pick the first plausible one or a catch-all code.
- Closed or wrong jobs. Employees code to a job that has closed, or to a similar job number, when the list they pick from is not the ERP's current list.
- Cost type confusion. Equipment rental is coded as material, or a subcontractor's materials as subcontract, which throws off budgets built by cost type.
- One receipt, two jobs. A supply run for two jobs is coded entirely to one of them.
How do construction companies prevent miscoded expenses, step by step?
- Use the ERP's live job structure. Read jobs, phases, cost codes and cost types from the job costing system so only valid, open combinations can be chosen.
- Code at the point of purchase. Ask the person who made the purchase to confirm the coding when it happens, by text message or phone, not in a monthly report.
- Propose rather than ask. A proposed job and cost code based on past coding is faster to confirm and more consistent than picking from a blank list.
- Show why each code was proposed. A reviewer who sees the reason, such as the same vendor and job coded this way last week, can spot the one proposal that does not fit.
- Route job spend to the project manager. The PM knows whether foundation work is finished or the crew has moved to framing, and can correct the phase before the cost posts.
- Split mixed purchases. Let one receipt or invoice be split across jobs and cost codes, so shared purchases are not dumped on one job.
- Sync only coded, approved spend. Keep uncoded transactions out of the ERP, rather than posting to a suspense code and reclassing later.
- Review exceptions before close. Run a short review of flagged transactions, such as overhead codes on field cards or unusual cost types, before the month's job cost reports go out.
Where in the process should miscoding be caught?
The earlier, the cheaper. At the point of purchase, a wrong job is fixed by the person who made the purchase in seconds. At approval, the project manager changes it with one click. After it syncs, it needs a correcting entry in the ERP, and any job cost report, WIP schedule or owner billing already produced from the wrong figure has to be revisited. Prevention means putting the checks at the first two stages and treating the month-end review as a backstop, not the main control.
A practical example
A superintendent buys concrete supplies for a hospital renovation on a company card. Vergo proposes job 2024-118, cost code 03-300 cast-in-place concrete, phase foundation, because that is how his last several concrete purchases on this job were coded, and he confirms from his phone. The expense routes to the project manager. She knows foundation work wrapped up last week and the crew has moved to structural, so she changes the phase before approving. The corrected expense syncs into the ERP that afternoon, and the job cost report shows the spend against the structural budget. Without the approval step, the foundation budget would have looked overrun and the structural overrun would have stayed hidden.
How Vergo handles this
Vergo proposes job and cost code assignments by inference from your own accounting structure and history, with no rule library to build and no keyword lists to maintain, and new vendors are coded on first sight. Every coding shows why it was chosen, so a reviewer confirms in seconds instead of re-coding by hand. Approval workflows are optional: route by GL account, by amount or by project, or let policy flags catch only what breaks a rule. Employees handle everything by text message, and Vergo chases missing receipts itself. Card spend, employee reimbursements and AP invoices run through one coding model and sync into your ERP once they clear. See which job costing ERPs Vergo integrates with.
Related questions
- How do I integrate expense management with job costing software?
- Why do construction expense coding errors happen so often?
- What happens when AP invoices are coded to the wrong construction job?
- Best way to automate cost code assignment for construction expenses
- How do I get field employees to select the right cost code on reimbursement forms?
Frequently Asked Questions
How do I make sure every expense is coded to the right job and cost code?
Code each expense when it happens, against the job and cost code list read from your ERP, and have the project manager confirm spend on their job before it syncs. Vergo proposes the coding from your own history and shows why, so the confirmation takes seconds.
What does a miscoded expense do to a job cost report?
It understates cost on the job it belonged to and overstates cost on the job or overhead account it landed in. That distorts cost-to-complete, WIP schedules and, on cost-plus or T&M work, what can be billed to the owner.
How do you fix a miscoded expense after it has posted?
Usually with a correcting entry in the ERP that moves the cost to the right job, phase and cost code, followed by rerunning any job cost reports already produced. Catching the error at approval avoids this step.
Should field employees choose their own cost codes?
They should confirm them, because they know what the purchase was for. Choosing from a long list is where errors come from, so a proposed code the employee confirms or corrects works better than a blank field.
What if a purchase covers two jobs?
Split it. Each part of the receipt or invoice carries its own job, phase, cost code and cost type, so neither job cost report is wrong.
Do the same checks apply to AP invoices?
They should. Vergo codes AP invoices at the line level with the same model used for card spend and reimbursements, and routes them for approval the same way.



