muqawil · مقاول
FeaturesHow it worksPricingGuideBlogPartners
العربيةSign inGet started
  1. Home
  2. /
  3. Blog
  4. /
  5. Construction Equipment Cost Tracking

Plant & equipment

Diesel burns through the budget. Most systems log it as litres.

Published: 22 September 202610 min read

On earthworks, piling and bulk excavation, plant is not a side line — it can be 20% to 40% of project cost. Yet it is usually the last branch to reach the cost report, and often never reaches it at all: fuel goes into a litres book, maintenance into a general invoice, and the machine itself into an asset list with no connection to the job it is standing on. The result is a project that looks financially disciplined while a third of its budget has already been spent on its own ground. This guide is about the gap between recording plant and charging it.

Key takeaways

  • A fuel log that books no cost entry is invisible to every cost surface at once: the budget, the expense report and earned value.
  • Plant reaches a project through the site it is assigned to, exactly as a purchase order does — an unassigned machine has no project to charge.
  • Two fills should be refused: plant with no site, and a fill in a currency other than the project’s — and the refusal has to be announced, not silent.
  • Every automatically booked cost needs an automatic reversal, or one typo sits in project cost for the life of the job.
  • Tool custody is not inventory: an item is issued to a named person and comes back, so the useful balance is "what is still out", not "how many we own".

In this article

  1. 01Plant is a third of the cost and the last thing measured
  2. 02The asset register is the spine
  3. 03A litre of diesel is project cost, not a statistic
  4. 04Two fills that should not be charged to a job
  5. 05Anything that moves money has to be reversible
  6. 06Tool custody is not inventory
  7. 07Utilisation is a status discipline before it is a report
  8. 08How this works in muqawil

Plant is a third of the cost and the last thing measured

A 30-tonne excavator in production digging burns roughly 25 litres an hour. Over a nine-hour shift that is 225 litres a day, and at the current diesel price of SAR 1.79 a litre the machine costs about SAR 403 a day in diesel alone — before maintenance, before the operator, before mobilisation.

Diesel on one machine over a working quarter
ItemValue
Daily consumption225 litres (25 L/hour × 9 hours)
Daily costSAR 402.75 (225 litres × SAR 1.79)
60 working daysSAR 24,165 for one machine
A fleet of sixSAR 144,990 of fuel in a single quarter

That figure is either inside the project’s actual cost or outside it. There is no third state. And when it is outside, the project does not merely look cheaper than it is — it looks better run: earned value divides work completed by an actual cost that is missing a whole branch of spend, and returns a cost performance index that is optimistic for no reason.

Warning: A gap that flatters the numbers instead of breaking them

A project with SAR 1,000,000 of earned value against SAR 900,000 of recorded cost reads CPI 1.11 — excellent. Add the SAR 144,990 of unbooked fuel and actual cost becomes SAR 1,044,990, so CPI is 0.96. The difference is not an arithmetic error; it is an entire branch of spend that never entered the arithmetic.

The asset register is the spine

Before any talk of cost, every asset needs one row that identifies it: an asset code, a name, a type (vehicle, machine, tool, generator), a plate number where it applies, a status, and the site it is currently assigned to. That row is what turns "the yellow excavator" into something a cost can be charged to and a utilisation figure can be asked about.

The most important field in that row is not the code or the plate — it is the site. Plant reaches a project through its site, exactly as a purchase order reaches a project through its delivery site. If the site field is empty there is no project to charge, and guessing one from the machine’s name or from habit is charging a random job for someone else’s diesel.

Asset statuses and what each one actually blocks
StatusMeaningWhat it prevents
AvailableIn the yard, not issued to anyone—
In useIssued to a person or working on a siteBeing issued a second time
MaintenanceIn the workshopBeing issued until it comes back out
RetiredPermanently out of serviceBeing issued, and any move back to another status

Note: Retirement is terminal

If a retired machine can be brought back with a quick status edit, the register cannot be trusted for a stock count or an insurance schedule. Going out of service is recorded once and is not undone with a click.

A litre of diesel is project cost, not a statistic

Most systems treat a fill as an operational record: date, litres, hour-meter or odometer reading, maybe a cost. The total shows up on an equipment screen and that is the end of it. The problem is that the equipment screen aggregates across the whole company, so the number is correct and cannot be charged to any particular job.

The cost surfaces — the budget by category, the financial report, and actual cost inside earned value — all read expense entries. So unless a fill writes a real expense against the project, it does not exist for every one of those screens simultaneously. The rule is blunt: if a flow spends project money, it books an expense, or it is invisible to every cost surface at once.

  1. 1

    The fill is recorded

    Date, litres, cost, currency, meter reading and who recorded it — against a specific machine, never against "the fleet".

  2. 2

    The project is resolved from the site

    The project is not typed into the fuel form; it is resolved from the site the machine is assigned to, so a fill cannot be charged to a job the machine is not standing on.

  3. 3

    The cost is booked in the same transaction

    An approved expense under the equipment category, written in the same transaction as the log — so there is never a fill the cost screens cannot see, nor a cost with no fill behind it.

  4. 4

    One cost per fill

    The link between a fill and its cost is unique at the database level, so no later path — a sync, a correction, an import — can charge the same fill twice.

Tip: Recording the fill is the approval

The fuel expense is written approved rather than pending. The diesel is already burnt; no later decision can make it un-happen. A wrong figure is handled by reversing it, not by rejecting it.

Two fills that should not be charged to a job

Not every litre of fuel is project cost, and forcing a system to charge every fill to the nearest project corrupts more than it fixes. There are two cases where refusing is the correct behaviour — provided the refusal is announced at the moment it happens.

  • Plant with no site assignment: a generator in the yard or an admin vehicle has no route to a project, so its cost stays a company-level cost rather than landing on some job’s budget.
  • A fill in a currency other than the project’s: nothing converts, and the cost dashboard adds expenses to budget figures as if they shared a unit — so a dinar fill on a riyal project quietly corrupts every cost report on that job.

What separates a correct refusal from a hole is the announcement. When a fill is recorded and its cost does not reach a project, the screen has to say so explicitly and give the reason: "not charged — the machine is not assigned to a site", or "not charged — the currency differs from the project’s". Silence at exactly that point is what kept the whole plant branch outside cost measurement for so long.

Note: A fill with no cost is not a refusal

Logging litres without an amount is a perfectly legitimate consumption record — tracking burn rate without a receipt. There is no money to charge, so there is nothing to refuse. What matters is that "there is no money here" stays clearly distinct from "there is money we could not charge".

Anything that moves money has to be reversible

The moment a fill becomes project cost, a typing error in it becomes a financial problem rather than a bookkeeping one. A figure entered as 87,500 instead of 875 lands in the budget, in the financial report and in earned value’s actual cost, and depresses the cost performance index for the rest of the job.

Because the fuel expense is written approved, it cannot be cleaned up through a "reject expense" path — that path only accepts pending entries. So there has to be an explicit delete that removes the fill and its cost together, in one transaction, and in a deliberate order: the cost first, then the log. Reverse that order and the link is gone the instant the log disappears, leaving a cost nothing can find.

An automatic booking with no automatic reversal is not automation — it is a permanent error waiting to be discovered.

Tool custody is not inventory

Hand tools and small plant are not consumed the way materials are; they are issued and returned. The useful question about them is not "how many do we have?" but "what is still out, and with whom?". The distinction matters: stock is deducted when it leaves, while a tool stays a company asset in a named person’s hands with an expected return date.

  1. 1The tool is issued to a person by name — not to "the site" and not to "the crew".
  2. 2The asset’s status moves to in-use automatically, so the same item cannot be issued to a second person.
  3. 3An expected return date is recorded, which is what turns the custody list into a follow-up list instead of an archive.
  4. 4On return the status goes back to available and the return time is stamped, leaving a complete record of who held it and when.

The part usually left out is preventing a double issue. If the system reads the status and then writes it in two separate steps, two simultaneous requests both pass and one item ends up in two people’s custody. The block has to sit on the atomic write: exactly one request succeeds and the other is told the item is already out.

Utilisation is a status discipline before it is a report

A utilisation report can never be more accurate than the discipline of updating status in the field. A machine still marked in-use two weeks after it finished makes every utilisation percentage higher than the truth, and the decision that rests on it — hire another machine or don’t — rests on a manufactured number.

The snapshot an owner actually needs is simple: how many assets in each status, how many of each type, how many litres burnt, and how many tools are still out. The detail that gets forgotten in that snapshot is currency. Summing riyal fills with dinar fills into one figure produces a total that means nothing. Litres are one unit and add up; money does not, so it is reported per currency.

Warning: A total across two currencies is not a total

Any screen that adds amounts in different currencies produces a number that looks right and cannot survive an audit. The same rule governs charging fuel to a project, and it is why a fill in the wrong currency is refused rather than quietly folded in.

How this works in muqawil

The asset register in muqawil carries the code, type, status, plate number and current site assignment, and the storekeeper owns it. When a fuel fill is recorded against a machine assigned to a site, an approved expense is booked under the equipment category against that site’s project, inside the same transaction, defaulting to the project’s own currency — so the cost appears immediately in the budget, the financial report and earned value’s actual cost.

When the cost is not booked, the screen says so and gives the reason instead of staying quiet. Deleting a fill removes its cost with it in one transaction, so a mistake leaves cost the same way it entered. Tools are issued to a named person and returned, with double-issue blocked at the write and a live list of what is still out.

Frequently asked questions

Why does fuel cost not show up in the project budget at all?+

Because the cost surfaces — budget by category, the financial report and earned value’s actual cost — all read expense entries. If recording a fill writes only a fuel log and no expense against the project, the spend stays visible on a company-wide equipment screen and invisible at project level.

How does the system know which project a fuel fill belongs to?+

Through the site the machine is assigned to. There is no direct link between an asset and a project; the route runs through the site, exactly as a purchase order reaches its project through the delivery site. If the machine is not assigned to a site, there is no project to charge.

What happens if the wrong amount is entered on a fill?+

Delete the fill — its cost entry is removed with it in the same transaction — then record it again with the right figure. The reject-expense path does not help here because it only accepts pending entries, while a fuel cost is written approved: recording the fill is the approval.

Is yard plant with no site assignment charged to a project?+

No. A generator in the yard or an admin vehicle has no route to a project, so the cost stays at company level. Charging it to the nearest job would put spend on that project’s budget that never happened on its ground.

What is the difference between tool tracking and inventory management?+

Stock is deducted when it leaves and does not come back; a tool stays a company asset in a named person’s hands with an expected return date. So the useful balance for tools is "what is still out and with whom", while the inventory balance is "how much is left".

How does equipment cost affect the cost performance index?+

CPI divides earned value by actual cost, and actual cost is aggregated from expense entries. So every unbooked riyal of plant spend lifts the index above the truth and makes a project that is over budget look like it is comfortably inside it.

Charge plant cost to the job it is standing on

An asset register with meaningful statuses, fuel fills that book their cost against the site’s project in the project’s currency, a delete that reverses the booking with it, and tools issued by name and returned on the record.

Start a free trialExplore the features

Related reading

Cost control11 August 2026·13 min read

Why Construction Projects Go Over Budget

A budget overrun does not happen in month nine; it gets discovered in month nine. The money had been leaking since month two, and nobody was looking at the place it leaked from.

Read the article
Cost control20 July 2026·12 min read

Earned Value Management for Contractors

You have spent 60% of the budget and used 60% of the programme — are you on track? Those two numbers cannot tell you. Earned value is the missing third.

Read the article
Materials12 August 2026·12 min read

Site Materials: Request, Receive, Issue

Material cost is not one number, it is a chain of four events. Most contractors record only the fourth — the invoice — and then wonder where the quantities went.

Read the article
Cost control8 June 2026·11 min read

The Bill of Quantities as a Cost-Control Tool

Most contractors price the BOQ once and never open it again until the first valuation. This guide covers how to make it the reference for progress and cost across the whole project.

Read the article
All articles
muqawil · مقاول

Construction management for the Arab world, in Arabic and English.

Product

  • All features
  • How it works
  • Pricing

Resources

  • Blog
  • Complete guide
  • Glossary

Company

  • Create account
  • Sign in
  • Contact
  • Referral program

Legal

  • Terms of service
  • Privacy policy
© 2026 muqawil. All rights reserved.العربية