
Take a truck running Pune to Chennai. It fuels up in Maharashtra, crosses Karnataka, finishes in Tamil Nadu. Three states, three different diesel prices, one trip.
Now ask a plain question: which of those three prices does your FAF clause actually assume?
Most procurement teams can't answer it. Not because the answer is hard, but because the clause was written to a single number years ago and nobody has re-opened it since. And here is the part that catches people out. On that one lane there are three different "diesel prices" in play, and they rarely point to the same state.
The price your contract benchmarks to. Most FAF clauses reference one price point, usually origin, frozen at the last renewal. That is the number in your paperwork right now.
The price your route plan implies. Depending on tank size and where the truck can practically stop, it might fuel once at origin, or split fills across two or three states.
The price the transporter actually pays at the pump. This is the one that most often differs from both of the above, because transporters make fueling decisions based on where diesel is cheapest along the route, and they usually know the state gaps better than you do.
If your FAF is built on the first of those and never checked against the other two, one of two things is happening on every trip and you can't tell which without looking. Either your carrier is quietly under-recovering on fuel and pricing that back to you at the next renewal, or you are paying a fuel bill your truck never actually incurred. This piece is about how to tell which one you're in, how big it is, and how to fix the clause so it stops guessing.
We've written separately about why a flat FAF also breaks down on distance: fuel is roughly 30% of trip cost on a 100 km lane and closer to 44–51% on a 1,500 km one, so a single percentage can't be right for both. That is the time-and-distance axis. This piece is the geography axis. Two lanes of identical length can carry very different fuel costs purely because of where in India they run. Both problems trace to the same root, which we'll get to: a clause built on one assumption applied everywhere.
Before the state gap makes sense, it helps to be precise about what you're adjusting. A fuel adjustment clause has five separate moving parts, not just one number. The "which state" question only touches one of them. Getting the other four wrong is how a geographically-correct clause still leaks.
Hold that structure in mind, because it tells you exactly where each failure lives. Distance corrupts α. Time corrupts P₀ and the cadence. Geography corrupts the index. This piece is the index problem. It is the one almost nobody has priced, and on a cross-state network it is often the biggest of the three.
The gap in diesel price across India is large, and it follows a clear pattern.
As of early September 2026, diesel is about ₹95.20 a litre in Delhi and ₹97.83 in Maharashtra. In Telangana it's ₹103.82. Kerala runs ₹100 to ₹105 depending on the district, Ernakulam at the low end, Kannur at the high. That is ₹8 to ₹10 a litre between the cheapest and priciest of those, for the identical fuel.
The reason sits entirely on the tax side, and it's worth understanding rather than memorising, because it tells you what the gap will do next. A litre of pump diesel is: refinery/base price, plus freight, plus OMC margin, plus dealer commission, plus central excise, plus state VAT (sometimes a cess on top). The first block is broadly common across the country. Central excise is a fixed rupee amount per litre, uniform nationwide. The one piece that varies state to state is VAT, and because diesel sits outside GST, every state sets its own, most as a straight percentage of the price.
That percentage is the whole story. Telangana's diesel VAT runs around 27%, Delhi's around 16.75%. Push the same pre-VAT price through both and the rupee gap lands within about a rupee of the actual ₹8.62 difference between the two cities above. That is about as clean as a tax explanation gets.
Two consequences a procurement team should take from that, both missed by the usual "diesel is dearer down south" shrug:
The ranking is permanent. VAT rates don't move with crude. A high-VAT state stays a high-VAT state through every price cycle. This won't average out over a quarter. It's a fixed feature of the map, not a spike. It deserves to be priced in once, deliberately, not treated as noise.
The gap grows when diesel is expensive. VAT is a percentage, so the rupee gap between a 27% state and a 17% state is wider on a ₹55 base than on a ₹40 base. The state penalty on your southern lanes is largest in exactly the months a crude spike already has your fuel bill under pressure. The geography error and the price-spike error stack, they don't offset.
If you want to see the build-up for yourself, PPAC (the government's Petroleum Planning & Analysis Cell) tracks daily retail prices, though for the state-by-state tax split you end up on the individual OMC pages it links to rather than one clean table. We rebuilt that as a live tool instead: the PPAC Diesel Price Model lets you model the state-wise build-up, run crude and forex scenarios, and read it straight through to your own fleet's cost.
Here is the operational filter almost no FAF discussion applies: the state gap only matters to the extent your truck actually buys fuel in more than one state. And that comes down to tank range, not the number of state lines the route crosses.
A heavy truck carries roughly 300 to 400 litres. At 3.5-4 km a litre, that works out to 1,000 to 1,600 km on a fill. So lanes split into two regimes, and the fix differs:
Short and medium lanes (roughly under 900 km): one fill, usually at origin. The truck tanks up before it leaves and runs the whole lane on it. Here the origin state price is genuinely the right reference, and the error is simply that your clause froze the wrong origin number, or that the transporter topped up in a cheaper adjacent state just before departure and pocketed the difference.
Long lanes (roughly 1,000 km and up): two or three fills across states. No single state price is correct. The truck burns some litres in each state it fills in, and the honest benchmark is a blend of those, weighted by how much it actually buys where.
So before you argue about which state, check whether the truck even refuels twice. On a 625 km lane it doesn't, and origin is the answer. On a 1,400 km lane it does, and you need the blend. Getting this regime wrong is how people either over-engineer a short lane or under-price a long one.
Take Hyderabad to Chennai, about 625 km via the NH16 coastal route through Nellore (the inland NH44 via Kurnool runs closer to 700). A 25 MT truck at 4 km/litre burns about 156 litres one-way. One fill, at origin, in Telangana.
Say the FAF was set to a flat ₹97, locked at the last renewal and never touched. Hyderabad diesel today is ₹103.82. That is ₹6.82 on every litre the truck actually burns.
Now the part the usual version of this gets backwards. In this case the benchmark sits below reality, so the clause is under-compensating. Here, you're not the one overpaying. Your carrier is under-recovering. They eat it now, and they get it back the only way they can: a higher base rate at renewal, a quiet drop in priority when capacity is tight, or handing the lane back. Your "cheap" FAF is a deferred invoice.
Flip one input and the loser flips too. Suppose instead your clause benchmarks to a destination state that's pricier than where the truck fills, or the renewal number is stale on the high side, and the transporter tanks up in a low-VAT state before the run. Now the clause over-compensates, and the ₹1,064 leaks straight out of your budget into their margin. Same clause, opposite victim, same size either way. This is why "our FAF looks conservative" is not reassurance. Conservative in which direction, on which lane, against where the truck actually fuels? You can't know without checking.
Per trip it's ignorable. Run the lane 100 times a month, ordinary for a distribution route, and it isn't:
100 trips × ₹1,064 = ₹1,06,400 a month ≈ ₹12.8 lakh a year, on one lane, in one direction, from a parameter nobody re-opened.
The lever behind that number is worth writing down, because it lets you rank your own lanes in your head:
Three dials: volume, lane length, and how wrong the reference is. A short high-volume lane and a long low-volume lane can leak the same amount. The litres and the trips do the damage. A ₹6-8 state gap is the structural spread shown above, not a rounding error.
Back to the opening truck, Pune to Chennai, about 1,270 km via Bengaluru. At 4 km/litre that is roughly 318 litres, well past one tank, so it fills two or three times and buys diesel in more than one state. No single state price is honest here. The correct reference is a consumption-weighted blend: for each state segment, work out the litres burned there, price them at that state's rate, total it, and divide back by total litres.
Worked through, with the state splits the route implies (illustrative pump prices, plug your live numbers from the model):
The effective diesel price on that lane is about ₹94.70, and notice what it is not: not the ₹97.83 origin number a Maharashtra-origin clause would use, and not the ~₹100.80 a Tamil-Nadu-destination clause would use. Benchmark to origin and you over-pay by about ₹3/l across 318 litres, near ₹1,000 a trip.
Benchmark to destination and you under-pay by about ₹6/l, near ₹1,900 a trip for the carrier to swallow. The blend is the only accurate number, and it sits below both endpoints because the long Karnataka stretch, a lower-VAT state, dominates the litres. That is the thing a single-state clause structurally cannot see: on a long lane the middle often owns most of the fuel, and the middle is exactly the state nobody writes into the contract.
(The prices above are illustrative, to show the method. Karnataka in particular you should pull live, its diesel VAT has moved more than once. Run your real state numbers through the model and the blend falls out.)
None of this is a secret to your carriers. An experienced fleet operator knows the state VAT map cold and routes fuel stops around it, topping up a 300-litre tank in a low-VAT state before crossing into a high one. On the right corridor that is ₹8-10 a litre on a near-full tank, ₹2,400 to ₹3,000 saved per fill, and under a benchmark that assumes a single high-price state, that saving is invisible and it is entirely theirs.
That is not a reason to be adversarial about it. It is a reason to decide, on purpose, whether your clause shares that arbitrage (benchmark to actual fueling, so both sides see the real number) or neutralises it (benchmark to route consumption, so the clause pays the honest lane cost and the operator keeps whatever their fuelling skill earns on top). Both are defensible. Defaulting to a frozen origin number is choosing neither, and losing the argument in whichever direction the map happens to run.
Fixing geography without touching the rest of the clause leaves money on the table:
Five lanes, an hour, and most networks have never run it once.
You don't rebuild the contract. You amend the one parameter that's wrong, and the amendment depends on the regime:
In every case, name the source, tighten the deadband, and move the reset toward monthly. Agreeing which reference to use is almost always the hard part of the negotiation, not the mechanics, so walk in with the blend already computed.
This is the same idea as the distance piece: a contract should reflect how the network actually runs, lane by lane, not one number carried forward because it was easy to write. Geography and distance are two axes of the same flat-assumption failure. Running the state-wise build-up live, per lane, off the real daily prices is what the PPAC Diesel Price Model is for, and it's the difference between a fuel clause that tracks reality and one that quietly bleeds a lakh a month you never see on any single invoice.
Back to the Pune-to-Chennai truck. There genuinely isn't one right state for its FAF. That's the actual point. What separates a clause that works from one that leaks is whether someone chose the reference on purpose, from where the trucks actually fuel, or defaulted to whatever was easiest to type into a renewal.
Pull your five biggest cross-state lanes, run the check above, and you'll know within an hour whether your fuel clause is tracking reality or handing money to one side of the table every trip. Pair it with the distance piece and you've covered both axes the flat FAF gets wrong.