How do I code fuel expenses to the right construction job?
Vergo codes fuel transactions by inference from your job cost history and routes approvals by project, eliminating manual job number entry. Traditional methods require capturing the job number and equipment ID at the point of purchase, routing through project manager approval, and syncing to your ERP's job cost module.
Key takeaways
- Fuel expenses often default to overhead because transactions lack job context at the point of purchase and fleet card statements don't include project-level detail.
- Accurate fuel coding requires capturing job number and equipment ID immediately at the pump, before receipts are lost or details forgotten.
- Vergo codes fuel transactions by inference from your own job cost structure and history, requiring no rule library and coding new vendors on first sight.
- Weekly reconciliation of fleet card transactions against equipment dispatch logs ensures every gallon is traced to the correct project.
- Approval routing through project managers or superintendents catches miscodes before they reach the general ledger.
- Residual fuel that cannot be traced to a single job should be allocated proportionally using equipment hour logs rather than spread across overhead.
Why fuel expenses end up in overhead
Fuel is one of the most frequently miscoded expenses in construction accounting. Unlike a material delivery with a purchase order tied to a job, fuel purchases happen at gas stations, on-site mobile fueling trucks, or through fleet fuel cards — none of which automatically associate the transaction with a specific project. A superintendent fills up a pickup truck between two job sites, and the receipt shows a dollar amount and a gas station address — nothing that tells accounting which job benefited. Most fleet cards (WEX, Fuelman, Comdata) categorize by vehicle or driver but not by active project. Accounting receives a monthly statement with hundreds of transactions and no job numbers. Field crews treat fuel stops as low-priority paperwork, so receipts get lost, submitted weeks late, or arrive without job or equipment details. When a fuel receipt cannot be matched to a job, accounting defaults to coding it to a general fuel overhead account. Over a fiscal year, this can shift tens of thousands of dollars away from true job costs, inflating overhead and understating project-level profitability.
Capture job context at the point of purchase
The transaction itself contains no job data, so that context must be added before the receipt leaves the field. Require job number and equipment ID on every fuel transaction as policy: no fuel receipt is complete without the job number the equipment is serving and the asset tag or unit number of the vehicle or machine fueled. Have operators photograph the receipt and enter the job number, cost code, and equipment ID immediately — at the pump or fueling truck. Delayed entry is where data degrades. Pre-load active job numbers on mobile devices so field crews never have to remember or look up a job number; a dropdown of active projects makes coding take seconds instead of minutes. Set a 48-hour submission window for fuel receipts, because receipts older than two days are exponentially harder to code correctly. Enforce the deadline with automated reminders so the data reaches accounting while the context is still fresh.
Match fleet card transactions to jobs weekly
Fleet fuel cards generate hundreds of transactions monthly, and none arrive with job numbers. Pull the weekly transaction report from your fleet card provider and cross-reference each transaction against equipment dispatch logs or daily field reports to assign the correct job number. If a dozer is dispatched to Job 2240 all week, every fuel transaction for that unit during that period should map to 2240. Dispatch logs are your audit trail and the most reliable source for retroactive job assignment. Vergo eliminates this weekly matching step by coding fuel transactions by inference from your job cost history the moment they happen. Track fuel consumption per equipment unit per job; this data does more than fix accounting — it reveals which machines are burning fuel inefficiently and which jobs have excessive idle time. Flag fuel transactions above a threshold (for example, over 100 gallons) that triggers automatic review, because large fills are high-impact if miscoded. Run a monthly fuel-to-job reconciliation by comparing total fuel spend from fleet card statements and submitted receipts against total fuel coded to jobs. The gap is your unallocated fuel — the amount still sitting in overhead that should be distributed.
Route through project manager approval
Once fuel is coded to a job, route the transaction through the project manager or superintendent responsible for that project. The PM or super confirms that the equipment was active on that job during the transaction date — a 30-second verification that catches miscodes before they hit the general ledger. This approval step also surfaces anomalies: fuel charged to a job when the equipment was off-site, duplicate transactions, or unauthorized purchases. Role-based approval ensures the person closest to the work is the one validating the expense. Vergo approval workflows fit how you already control spend: route by GL account, by amount, or by project — or skip approval flows entirely and let policy flags catch only what breaks a rule. After approval, the coded expense should flow directly into your construction ERP — whether that is Sage 300, Viewpoint Vista, Foundation, or another platform — without manual re-entry. Establish a dedicated fuel cost code in your job cost structure (for example, 4-3200 or a subdivision under equipment costs) so fuel is never lumped into miscellaneous expenses, and apply this code consistently across every active job.
A practical example
A contractor runs five active projects and a mixed fleet of trucks, excavators, and skid steers. Fuel transactions come from both retail gas stations (captured by corporate cards) and a mobile fueling service (invoiced weekly). Each Monday, the accounting team pulls fleet card transactions and mobile fueling invoices from the prior week. They cross-reference each transaction against equipment dispatch logs: Unit 142 was on Job 3305 Monday through Wednesday, then moved to Job 3310 Thursday and Friday. The fuel purchases for Unit 142 are split accordingly. Field crews photograph retail fuel receipts at the pump, tag the job number and equipment ID, and submit within 24 hours. The project manager reviews and approves these transactions in a batch each afternoon. Approved fuel expenses sync to the ERP's job cost module nightly. At month-end, the team reconciles total fuel spend against the sum of job-coded fuel. Any unallocated residual is distributed proportionally using equipment hours from daily reports, ensuring overhead carries only indirect costs.
How Vergo handles this
Vergo codes fuel transactions by inference from your own job cost structure and history — no rule library to build, 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 fit how you already control spend: route by GL account, by amount, or by project — or skip approval flows entirely and let policy flags catch only what breaks a rule. Employees handle everything by text message — no app to download, no portal login — and Vergo chases missing receipts itself instead of waiting for a report. Transactions are ready to code the moment they happen, and once they clear, they sync into your accounting or ERP software. Card spend, employee reimbursements and AP invoices run through one coding model — same coding, same review, one reconciliation. Connecting your existing cards involves no card applications, no re-issuing and no banking change.
Related questions
Frequently Asked Questions
How do I handle fuel for equipment that works on multiple jobs in one day?
Split the fuel cost proportionally based on equipment hours logged on each job that day. Use daily field reports or telematics data to determine the hour split. If exact hours are unavailable, divide equally between the jobs. Document the allocation method for audit consistency.
Should fuel be coded as a direct job cost or an equipment cost?
Code fuel as a subcategory under equipment costs within the job cost structure. This keeps it visible alongside maintenance and rental charges per unit. Most construction CPAs recommend a dedicated fuel cost code under equipment rather than a standalone direct cost line, because it ties fuel to specific assets.
What if a fleet fuel card doesn't support job-level coding?
Most fleet cards only track vehicle and driver. To assign jobs, cross-reference weekly card statements against equipment dispatch logs or GPS telematics. Match each transaction date and vehicle ID to the job that unit was serving. This manual reconciliation is necessary unless you use a tool that captures job data at the pump.
How does Vergo help with fuel expense job coding?
Vergo lets field crews photograph fuel receipts and tag the job number, cost code, and equipment ID from their phone at the point of purchase. Approved fuel expenses sync directly to your construction ERP — including Sage, Viewpoint, Foundation, and Procore — eliminating manual spreadsheet reconciliation and reducing miscoded fuel transactions.
How do I audit whether fuel is being coded correctly across jobs?
Run a monthly reconciliation comparing total fleet fuel card spend against total fuel coded to jobs in your ERP. Any gap represents unallocated fuel sitting in overhead. Also compare fuel-per-hour ratios across similar equipment on different jobs — outliers indicate potential miscoding or operational issues.



