How Fuel Surcharges Work: Calculating Rates from Diesel Prices
How Fuel Surcharges Work: Calculating Rates from Diesel Prices
If you want to price a fuel surcharge fast, I use one formula: (diesel price - base fuel price) / contract MPG. Then I multiply that per-mile result by the billed loaded miles.
Here’s the whole idea in plain English: a fuel surcharge keeps the linehaul rate fixed while fuel moves up or down from week to week. In most U.S. trucking contracts, I use the weekly DOE/EIA on-highway diesel price as the benchmark, apply the contract’s base price and MPG, and store the result with the load so billing can be checked later.
What I need to calculate it:
- Current diesel index price
- Base fuel price
- Contract MPG - often around 6.0 to 6.5 MPG
- Billable loaded miles
What the article shows:
- Why carriers bill fuel as a separate line item
- How the weekly EIA diesel benchmark works
- The standard per-mile FSC formula
- How to turn that into a total trip charge
- Which fields I store in a TMS, ERP, or rating tool
- Why API-based price feeds cut down manual entry mistakes
A simple example from the article makes it concrete: if diesel is $4.20 per gallon, the base is $3.00, and the contract uses 6.0 MPG, the surcharge is $0.20 per mile. On a 500-mile load, that adds $100.00.
That’s the full system: one public weekly diesel price, one formula, and one clear invoice line.
How to Calculate Fuel Surcharge (FSC) for Freight Cost in Excel, Cents per Mile Step-by-Step Example
The Diesel Index Most U.S. Freight Contracts Use
Most U.S. trucking contracts use the U.S. On-Highway Diesel Fuel Prices report from the U.S. Energy Information Administration (EIA), a DOE agency, as the benchmark for fuel surcharges.
How the weekly DOE/EIA diesel benchmark works
The EIA usually posts the weekly diesel price on Monday afternoon. If Monday is a federal holiday, the release moves to Tuesday. That posted price then applies to loads tendered or moved during the next week. To avoid confusion, contracts should spell out the effective period, such as "Tuesday through Monday, based on Monday's EIA posting."
For carriers that run freight across several regions, the national average is the most common choice. If a carrier works mainly in one part of the country, the contract may use a PADD (Petroleum Administration for Defense Districts) regional index instead. One example is PADD 5 on the West Coast, which often comes in higher than the national average.
Why index-based pricing is easier to audit
Using a public benchmark makes billing much easier to check. Both sides can look at the same weekly EIA number, which cuts down on back-and-forth during disputes. By contrast, using actual pump receipts means reviewing each receipt by location, date, and gallons purchased. That's a lot of manual work, and it can get messy fast.
Index-based pricing also helps stop "index shopping." In plain English, neither side gets to cherry-pick a day or place with a better diesel price just to sway the surcharge.
For finance and billing teams, the main job is simple: make sure the diesel price on the invoice matches the EIA posting for the week tied to the load. That said, the contract controls the timing rule. Some agreements use the tender date, while others use pickup, delivery, or invoice date.
That weekly diesel figure is then used in the per-mile formula.
The Standard Fuel Surcharge Per Mile Formula
How to Calculate a Fuel Surcharge: Step-by-Step Formula
Once you have the weekly diesel price, the math is pretty straightforward. Most U.S. truckload contracts use this formula:
Fuel Surcharge (per mile) = (Current Diesel Price − Base Fuel Price) ÷ Contracted MPG
Formula: (current diesel price - base price) / contracted MPG
Here’s what each part means:
- Current diesel price: the weekly contract benchmark.
- Base fuel price: the agreed trigger point where FSC begins. If diesel is at or below the base price, FSC is $0.00.
- Contracted MPG: the fuel-mileage figure written into the contract, often 6.0 to 6.5 MPG for loaded Class 8 trucks.
That last input matters more than it looks. If your fleet’s actual MPG comes in below the contract assumption, the surcharge won’t cover the full fuel cost.
How to convert the per-mile surcharge into a total trip charge
After you calculate the per-mile FSC, the total trip charge is simple:
Total FSC = FSC per mile × Billable Miles
Use contracted billing miles, not odometer miles. In most cases, fuel surcharges apply only to loaded miles. Empty deadhead miles are usually absorbed by the carrier.
Next, you can run the formula with a clean round-number example and plug those same inputs into your TMS, ERP, or rating tool.
sbb-itb-a92d0a3
Worked Example and System Setup
Hypothetical example with round numbers
All numbers below are illustrative only - they are not current market prices.
| Variable | Value | Notes |
|---|---|---|
| Base Fuel Price | $3.00/gal | Contractual trigger point |
| Current Indexed Price | $4.20/gal | Illustrative weekly index value |
| Price Difference | $1.20/gal | Price difference |
| Contracted MPG | 6.0 MPG | Illustrative contracted fuel economy |
| Surcharge Per Mile | $0.20/mile | ($4.20 − $3.00) ÷ 6.0 |
| Billed Miles | 500 miles | Loaded miles only |
| Total Fuel Surcharge | $100.00 | $0.20 × 500 |
This is the basic math in plain English. If diesel moves from $3.00 to $4.20 per gallon, and the contract uses 6.0 MPG, the fuel surcharge comes out to $0.20 per mile. On a 500-mile load, that adds $100.00 to the invoice.
Put the fuel surcharge on the invoice as its own line item. That makes the charge easier to review and easier to explain. A lower base price pushes the surcharge up. A higher base price pulls it down.
Those same inputs should also live with the load record. If someone asks, “Why was this load billed that way?”, you want the answer sitting right there in the system.
Data fields to store in a TMS, ERP, or internal rating tool
For each load, store the minimum fields needed to recreate the surcharge and sort out invoice disputes:
- Effective Date - the exact week the index applies
- Diesel Index Value - the exact price pulled from the EIA for that week
- Base Fuel Price - the trigger point in the contract
- Contracted MPG - the fuel economy factor in the agreement
- Billable Miles - loaded miles for that trip
- Surcharge Per Mile - the calculation result
- Final Surcharge Amount - the total dollar amount added to the invoice
A standard audit window in freight contracts runs 30 to 60 days. So if your system can’t recreate the exact index value tied to a given load date, disputes get messy fast. At that point, people are digging through old files, checking version history, and trying to piece together what happened after the fact.
Once those fields are in place, the next call is simple: do you keep this in a spreadsheet, or let the data move into pricing on its own?
Manual spreadsheet workflow vs. automated pricing workflow
The manual route is pretty common. Someone checks the weekly EIA/DOE diesel index, drops the new number into a spreadsheet, and waits for the FSC table to recalculate. It works - until it doesn’t. If diesel changed but the table didn’t, the billed rate is off.
| Feature | Manual Spreadsheet Workflow | Automated Pricing Workflow |
|---|---|---|
| Update Speed | Slow; requires weekly manual lookup | Instant; updates on index release |
| Error Risk | High - typos, wrong index week, stale data | Low - system-enforced logic |
| Auditability | Difficult; relies on file versions | High; timestamped records per load |
| Scalability | Breaks down as load volume grows | Handles thousands of loads consistently |
An automated setup cuts out the weekly copy-paste routine. Instead, a direct API call sends the latest diesel price into the rating engine. That means less room for typos, fewer stale numbers, and a much cleaner audit trail when someone wants proof of how a charge was built.
Next, that diesel input can come straight from the API instead of being entered by hand each week.
Automating Diesel Price Inputs with OilPriceAPI

Once the surcharge formula is set, the main task left is simple: get a diesel price you can trust and feed it into the formula.
Base API request for latest prices
Instead of doing a weekly diesel lookup by hand, you can use one API request:
GET https://api.oilpriceapi.com/v1/prices/latest
Authorization: Token YOUR_API_KEY
Take the latest price from the response and use it as your Current Diesel Price input. It also helps to store that returned price with the load record so you have a clean audit trail later. The full endpoint reference is at https://www.oilpriceapi.com/api-documentation.
From there, map the returned price into the Current Diesel Price field used in:
(Current Diesel Price − Base Price) / Contracted MPG
In plain English, you’re just swapping out the manual diesel entry with a live one. The rest of your rating logic stays the same.
Integration paths for Excel, Google Sheets, Python, and Node.js
Pick the setup that fits the way your team already works.
For ops and analytics teams that live in spreadsheets, the Excel guide and Google Sheets guide show how to pull the live price into a cell. Then you can leave the surcharge formula in the sheet and automate just the diesel price input.
If your process runs through a TMS, ERP, or billing platform, the Python tutorial and Node.js tutorial walk through sending the price into your rating engine and billing flow.
Conclusion: Keep the formula simple and the price input reliable
Fuel surcharges are there to pass diesel cost changes through without renegotiating the base rate every time prices shift. Most U.S. freight contracts use the weekly DOE/EIA diesel index because it’s public and consistent, and automation cuts down on billing mistakes and disputes. The formula does not change. Only the diesel input changes from week to week.
Get your free API key at https://www.oilpriceapi.com.
FAQs
Which load date controls the surcharge week?
The load date that controls the surcharge week comes from your contract, not from industry law.
In many cases, carriers use the EIA price from the week the shipment is booked or tendered. But that isn't a hard rule. Contracts differ, and the details matter.
Some agreements use the week the shipment begins. Others use a weekly reset based on the most recent Monday publication. That’s why your contract should spell out both of these points:
- the effective load date
- the publication week used for the surcharge
If those terms aren’t clear, billing gaps can show up fast.
What happens if diesel falls below the base price?
If diesel drops below the contracted base price, the fuel surcharge usually falls to $0. Why? Because the formula would otherwise spit out a negative number. So most contracts treat the base price as a floor and stop the surcharge there.
Some agreements work a little differently. They may set a minimum surcharge or even allow a negative surcharge that cuts the freight bill. But in practice, carriers usually keep the savings once fuel costs fall below that point.
Should fuel surcharges apply to empty miles too?
It depends on your contract. There’s no federal rule that says fuel surcharges have to cover deadhead miles.
In practice, fuel surcharges usually apply only to loaded miles, even though you burn fuel on both loaded and empty miles. That’s the catch.
Since deadhead miles often aren’t covered by standard surcharge formulas, you need to bake your empty-mile percentage into lane profitability. If a lane looks fine on paper but comes with a lot of unpaid repositioning, the math can go sideways fast.
That’s why it makes sense to negotiate your base rate or surcharge terms with deadhead in mind.