To calculate a haulage fuel surcharge, fix a base diesel price, work out what share of your rate is fuel, and each week apply that share to the percentage by which the published price has risen above the base. If fuel is 20% of the rate and diesel is 10% above base, the surcharge is 2%. Update it weekly.
The weekly part is the policy, and the calculator is only arithmetic. A firm that quotes a rate in January and never revisits fuel absorbs every rise until the next price review, while one that adds a vague "fuel adjustment" without a published rule invites arguments. What works is a written rule that a customer can check: the base price, the index you follow, the day you update, and the table that turns the index into a percentage.
Take every input from your own records or a public source: the base price from the date your rates were set, the fuel share from last year's fuel card statements and revenue, and the weekly price from a published diesel index, such as a government's weekly retail diesel series. Prices in the examples here are illustrative.
Two ways to calculate it, and when each one fits
The percentage method
You keep your normal rate and add a percentage that moves with fuel. The formula is:
surcharge % = fuel share of rate x ((current price / base price) - 1)
The base price is the diesel price built into your standard rates, and the fuel share is the part of your rate that goes on fuel. Work the fuel share out from your last full year: total fuel spend divided by total revenue. If you spent $270,000 on fuel against revenue of $1,350,000, the share is 20%. This method is simple for customers and works on pallet rates, day rates and loads. Its weakness is that it assumes fuel is a fixed proportion of every job, which is wrong for short urban drops versus long motorway runs.

The Complete Excel Course with AI Integration
From formulas and pivot tables to Power Query, DAX, VBA and AI with Copilot, ChatGPT and Claude — hands-on from the first lesson.
By Sagnik Bhattacharya and Virginia Thorn, Primetime Emmy Award winner
Buy nowThe per-mile method
You calculate the extra fuel cost for each mile directly:
surcharge per mile = (current price - base price) / miles per gallon
Multiply by the miles on the job. This matches cost closely on long-distance work, and it makes the effect of a poor-mileage vehicle visible. It is clumsier to explain on a quote, so many firms use it as a check and quote the percentage. A note on units: gallons differ in size between measurement systems, so use one unit throughout, matching how your fuel card bills you, and if you work in litres use kilometres per litre in the same formula.
A side-by-side check
Say an articulated truck does 8 miles per gallon, the base price is $4.00 a gallon and the current price is $4.40. The extra fuel cost per mile is $0.40 / 8 = $0.05. A 300-mile load costs $15 more in fuel than at the base price. If your rate for that load is $750, a 2% surcharge adds $15.00. The two methods agree here because the example was built from the same figures, which is what you want to see: when the percentage method and the per-mile method disagree by a lot, your fuel share or base price is wrong.
Step 1: set the base price and the fuel share
Choose the base price on a day you can document, usually the date your current standard rates were set, and write it down. If you cannot recall, use the average from your fuel card for the three months before the rates were set. Then compute the fuel share from the last full year of figures rather than guessing.
- Total fuel spend for the year, excluding any tax you reclaim, from fuel card statements.
- Total revenue for the same year, excluding any surcharge you already charged.
- Divide. There is no standard share to borrow: it depends on vehicle type, routes and how much of your rate covers drivers, vehicles and overheads, so your own figure is the one that counts.
- Check by vehicle class. A 7.5-tonne lorry and an articulated unit have different shares; if your fleet is mixed, set one share per class.
A filled-in example
Consider a small haulier whose six articulated trucks each drive 90,000 miles a year at 8 miles per gallon. That is 11,250 gallons per truck and 67,500 gallons for the fleet. At a base price of $4.00, fuel costs $270,000 a year. Revenue is $1,350,000. The fuel share is $270,000 / $1,350,000 = 20%. These numbers are illustrative, but the method is the same for your fleet.
Step 2: turn the weekly index into a surcharge table
A table lets sales staff and customers read the surcharge without a calculator. Use price steps small enough to track cost but large enough not to change every week. A step of $0.10 on a $4.00 base is a 2.5% move in price, so with a 20% fuel share it moves the surcharge by 0.5 percentage points.
| Published diesel price (per gallon) | Price vs base | Surcharge (fuel share 20%) | Surcharge (fuel share 30%) |
|---|---|---|---|
| $4.00 or below | 0% | 0.0% | 0.0% |
| $4.10 | +2.5% | 0.5% | 0.75% |
| $4.20 | +5.0% | 1.0% | 1.5% |
| $4.40 | +10.0% | 2.0% | 3.0% |
| $4.60 | +15.0% | 3.0% | 4.5% |
| $4.80 | +20.0% | 4.0% | 6.0% |
| $5.00 | +25.0% | 5.0% | 7.5% |
Round the surcharge to the nearest half a percentage point so customers see 2.0% rather than 1.9731% (the 0.75% in the table becomes 1.0%). Publish the table in your rate card, and note which row applies to which week.
Step 3: build it in a spreadsheet and let AI check the formulas
A small spreadsheet turns the weekly price into a surcharge in seconds. Set these cells (illustrative layout):
B1 Base price 4.00
B2 Fuel share 0.20
B3 This week's index 4.40
B4 Rounding step 0.005
B5 Surcharge (raw) =MAX(0, B2*(B3/B1-1))
B6 Surcharge (rounded) =MROUND(B5, B4)
B7 Rate on quote 750
B8 Surcharge amount =B7*B6
B9 Quote total =B7+B8
With those inputs, B5 is 0.02, B6 is 0.02, B8 is $15.00 and B9 is $765.00. The MAX function is the floor at zero; remove it if you decide to let the surcharge go negative. For per-mile checks add a column: =(B3-B1)/mpg, then multiply by the job's miles. If you want help building it, the ChatGPT and Excel guide shows how to ask for formulas and check them.
A sample prompt and what to check in the reply
I run a small haulage firm. Base diesel price 4.00 per gallon, fuel share of rate 20%. Write Excel formulas that take this week's published price and return a surcharge percentage rounded to the nearest 0.5%, floored at zero, and a column that adds the surcharge to a quote rate. Explain each formula in one line and give three test cases with expected answers.
A realistic (illustrative) reply uses MAX and MROUND and offers test cases such as 4.40 giving 2.0% and 4.00 giving 0%. Check two things. First, that the test cases match your hand calculation; second, that the formula uses cell references rather than numbers typed into the formula, so next week you change one cell. One mistake to look for is a formula that multiplies the price increase in dollars by the fuel share, giving nonsense. Always run your own numbers through it once.
Step 4: write the weekly update policy
A policy is a short document that answers who, when, from where and what happens at the edges. A workable version for a small firm fits on one page:
- Source. The published weekly diesel price from a named public index, the same one every week.
- Day. The surcharge is recalculated each Monday from the figure published most recently, and applies to jobs collected from that Monday until the next.
- Quotes. A quote shows the surcharge in force on the day of quoting and is valid for seven days; after that the surcharge is recalculated.
- Contract customers. Their rate card carries the table, and the surcharge applies automatically to every invoice in the week of collection.
- Floor and ceiling. Zero floor (or a negative band if you agree one), and a cap that triggers a conversation with the customer if the surcharge passes, say, 8%.
- Owner. One named person publishes the figure and keeps a log of each week's value.
How a weekly log looks
| Week starting | Published price | Raw surcharge | Applied | Changed from last week? |
|---|---|---|---|---|
| 5 Oct | $4.28 | 1.40% | 1.5% | No |
| 12 Oct | $4.35 | 1.75% | 2.0% | Yes (+0.5) |
| 19 Oct | $4.34 | 1.70% | 1.5% | Yes (-0.5) |
| 26 Oct | $4.41 | 2.05% | 2.0% | Yes (+0.5) |
The log reveals one design flaw: the surcharge flips between 1.5% and 2.0% on tiny price moves. Add a dead band so that the applied figure changes only when the raw figure moves by at least 0.5 points from the applied one. In the log above, that rule would have kept 1.5% through the second and third weeks (raw figures of 1.75% and 1.70% are both within 0.5 points of it) and moved to 2.0% only in the fourth, when the raw figure reached 2.05%: one change instead of three. Customers' accounts teams dislike a surcharge that wobbles, and every change is an invoice query.
Step 5: put it in front of customers
A surcharge only holds if the customer has agreed to it in advance. Add a short clause to your terms or rate card. The wording below is a starting point; have a qualified adviser check it against your contracts before you use it.
Fuel surcharge. The rates quoted include a fuel surcharge calculated weekly from the published diesel price in [index name], using a base price of [base] per [gallon/litre] and the table in Schedule [X]. The surcharge in force on the day of collection applies to that job. It may rise or fall in line with the published price and will be shown as a separate line on each invoice.
Pair it with a short note in your quote email. A realistic (illustrative) version: "This quote includes our weekly fuel surcharge, currently 2.0% ($15.00). It is recalculated each Monday from the published diesel price and shown on your invoice." A chat assistant can draft customer notices in different tones, and AI freight quoting shows how to turn customer emails into quote drafts that include the line automatically.
Handling the awkward customer
Some customers will say their price is fixed. Check the signed terms first: if there is no clause that allows the change, you cannot add one unilaterally. Offer two options in writing: a fixed rate for a fixed period at a higher base price that includes your expected fuel risk, or the indexed rate with the table. Some customers prefer the indexed rate once they see it works downward too. For a one-off job, fix the surcharge at the time of quote and say so.
Worked example: a six-truck haulier through a fuel spike
Take the six-truck firm from earlier: base $4.00, fuel share 20%, 67,500 gallons a year, so about 1,298 gallons a week. Say the published price rises from $4.00 to $4.60 over four weeks, in steps of $0.15 a week (illustrative).
| Week | Price | Extra fuel cost that week | Weekly surcharge revenue at 20% share* | Gap |
|---|---|---|---|---|
| 1 | $4.15 | $195 | $195 | $0 |
| 2 | $4.30 | $389 | $389 | $0 |
| 3 | $4.45 | $584 | $584 | $0 |
| 4 | $4.60 | $779 | $779 | $0 |
*Illustrative: weekly revenue is $25,962 ($1,350,000 / 52), and the surcharge is 20% of the price rise percentage applied to it. For week 4, 15% x 20% = 3.0% x $25,962 = $779. The surcharge matches the extra cost only if every customer pays it and revenue per gallon stays steady. Now compare a firm that reviews fuel only monthly and keeps the January surcharge for four weeks. It absorbs $195 + $389 + $584 + $779 = $1,947 over the four weeks. That is the cost of the lag, and it repeats whenever prices move faster than the review.
Check your own firm the same way: pick a four-week stretch of invoices, compute the extra fuel cost from fuel card statements, and compare it with the surcharge you actually collected. If collected is below cost, look for customers on fixed rates and for jobs where the surcharge was waived.
Examples for other kinds of fleet
A courier firm with vans
A courier firm runs five vans at 28 miles per gallon, each doing 60 miles a day. The extra cost per mile when diesel rises $0.40 above base is $0.40 / 28 = $0.0143; across 60 miles that is $0.86 per van per day. Per-mile maths on its own looks tiny, so couriers usually set a percentage on the delivery rate instead. If the average delivery is $9 and fuel share is 10%, a 10% price rise gives a 1.0% surcharge, 9 cents a drop. The reason to bother is volume: at 400 drops a day, 9 cents is $36 a day, about $9,000 a year over 250 days. See AI courier quotes from a rate card for putting the line into replies.
A wholesale distributor with its own delivery van
A distributor charges free delivery above $400 and $25 below. Instead of a surcharge line, it raises the delivery charge by an indexed amount: delivery fee = $25 x (1 + fuel share x price rise). With a 30% fuel share and diesel 10% above base, the fee becomes $25.75. Customers rarely notice 75 cents, and the fee stays honest.
A small manufacturer shipping pallets by contract carrier
A manufacturer that pays a carrier a fuel surcharge should compare the carrier's table with its own. If the carrier adds 4.5% on a base of $4.00 diesel and the published price is $4.40, but your own calculation at a 20% share gives 2.0%, ask for the carrier's table and base price. You may be paying a higher share than the carrier's real fuel cost. Then decide whether to pass on the cost to your customers as a delivery line.
A B2B software reseller that ships hardware
A reseller shipping laptops and routers to customers can price delivery by weight band, with a surcharge percentage taken from the carrier's published table and shown on the invoice as a separate line, so customers can see where the change comes from.
Where fuel surcharges go wrong
- The base price is never recorded. Months later nobody can say what the rates assumed, so the surcharge is argued from memory.
- The fuel share is borrowed. A rule of thumb from another firm replaces your own figure. Use your own invoices.
- The index changes. Switching sources mid-contract creates a jump. Name the index and stick to it, and record the change if you must change it.
- The surcharge is applied to the surcharge. A second percentage on an already surcharged rate overcharges. Apply it once, to the base rate.
- Waivers creep. A salesperson drops the surcharge for a big customer, and then another. Log every waiver, with the lost revenue, so that the decision is the owner's.
- Quotes outlive their surcharge. A quote valid for 30 days carries an old figure. Keep quote validity to the length of the surcharge period or add a clause that allows revision.
How to check the policy is working
After three months, run four checks. First, the fuel recovery ratio: surcharge revenue divided by the extra fuel cost over the same weeks, which should sit near 100%. Second, the number of invoice queries about the surcharge, which should fall towards zero as customers get used to it. Third, the list of waivers, with their total value. Fourth, a spot check of ten invoices to confirm the right week's rate was applied. If you want to go further, margin by lane from a spreadsheet shows how to see whether the surcharge protects the lanes that were thin to begin with, and a logistics dashboard from shipment spreadsheets can display the weekly surcharge beside volumes.
Keep the rule short, publish the table, and change the surcharge on the same day every week. That consistency matters more to customers than the exact percentage, and it protects your margin on the weeks when fuel moves while you are busy doing something else.
Questions hauliers ask about fuel surcharges
How often should a fuel surcharge change?
Weekly suits most hauliers, because published diesel indexes are typically weekly and the cost moves fast enough to matter. Monthly works for stable periods but leaves you absorbing spikes. Whatever you choose, write the day and the source into the contract so nobody argues.
Should the surcharge be a percentage or a per-mile figure?
A percentage of the rate is simplest for customers and suits pallet or load pricing. A per-mile figure matches cost more exactly for long distance work. Many small firms publish the percentage and keep the per-mile calculation as a cross-check.
What if fuel prices fall below my base price?
Decide in advance. Some firms floor the surcharge at zero; others let it go negative so the rate falls. Customers tend to accept a surcharge more readily when they know it works both ways, but check what your contracts and competitors allow.
Do I need a lawyer to add the clause?
A short surcharge clause is usually straightforward, but the right wording depends on your contracts and the rules that apply to you. Have a qualified adviser look at it once, then reuse it. Never change a signed rate unilaterally without a clause that allows it.
Further reads
- Can a Small Courier Firm Use AI to Plan Delivery Routes? — Whether AI route planning pays for a small courier.
- Trucking Price Quote Template: Build One and Check Rates With AI — A filled-in trucking quote template with a cost-per-mile build-up, deadhead and fuel lines, one worked lane and an AI rate check with sample output.
- How to Price Excavation Work: Hourly, Per-Load or Fixed, Checked With AI — One driveway dig priced three ways from your own machine costs, stress-tested against slower ground, with a contingency taken from your past overruns.
- AI Tools and AI Development: The Complete 2026 Guide — the AI hub, including every tutorial in the AI-for-business series.
Sources: the method is standard cost-indexing arithmetic; Microsoft's MROUND function page and a government weekly retail diesel price series (both checked 5 November 2026); all prices in the examples are illustrative. For live fuel prices use your national weekly diesel price publication and your own fuel card invoices. Clause wording is a starting point to be checked by a qualified adviser.