<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Fuel Stack ]]></title><description><![CDATA[I build for fuel marketers. I write about what breaks their operations.

]]></description><link>https://www.readthefuelstack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!P6sT!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010ab553-207d-46bf-b7a8-c542449c1975_301x301.png</url><title>The Fuel Stack </title><link>https://www.readthefuelstack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 02 Oct 2026 07:36:50 GMT</lastBuildDate><atom:link href="https://www.readthefuelstack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Dibyesh Giri]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dibyesh@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dibyesh@substack.com]]></itunes:email><itunes:name><![CDATA[Dibyesh Giri]]></itunes:name></itunes:owner><itunes:author><![CDATA[Dibyesh Giri]]></itunes:author><googleplay:owner><![CDATA[dibyesh@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dibyesh@substack.com]]></googleplay:email><googleplay:author><![CDATA[Dibyesh Giri]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Gallons Didn't Disappear. Your System Lost the Movement.]]></title><description><![CDATA[Most fuel inventory problems are not theft or bad meters. They are movements the system never saw.]]></description><link>https://www.readthefuelstack.com/p/the-gallons-didnt-disappear-your</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/the-gallons-didnt-disappear-your</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Thu, 01 Oct 2026 13:45:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!k3ve!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!k3ve!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!k3ve!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 424w, https://substackcdn.com/image/fetch/$s_!k3ve!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 848w, https://substackcdn.com/image/fetch/$s_!k3ve!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 1272w, https://substackcdn.com/image/fetch/$s_!k3ve!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!k3ve!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png" width="1007" height="577" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:577,&quot;width&quot;:1007,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:922351,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/218238076?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa3d52a-fec9-46c8-bd22-892629bbae8e_1024x768.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!k3ve!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 424w, https://substackcdn.com/image/fetch/$s_!k3ve!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 848w, https://substackcdn.com/image/fetch/$s_!k3ve!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 1272w, https://substackcdn.com/image/fetch/$s_!k3ve!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb29fc38-dc80-461d-87d6-d0de78a8d232_1007x577.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>A tankwagon in East Texas. The driver knows exactly what it carried. The question is whether the system does.</em></figcaption></figure></div><p>Let me tell you about something I have seen more than once.</p><p>A driver loads 4,000 gallons at the terminal in the morning. Runs his deliveries. Comes back to the yard at the end of the day with 240 gallons still in the tank. Pumps it into bulk storage. Goes home.</p><p>The physical movement is simple.</p><p>4,000 gallons loaded. 3,760 gallons delivered. 240 gallons returned to bulk storage.</p><p>Every gallon is physically accounted for.</p><p>But the system recorded the terminal load and the customer deliveries. Nobody recorded the return to the bulk tank.</p><p>So the system still shows 240 gallons on the truck. The person at the plant counts those same 240 gallons in storage.</p><p>The fuel did not go anywhere.</p><blockquote><p><strong>It just exists in two places at once.</strong></p></blockquote><p>That is the inventory problem I keep seeing in fuel distribution. Not theft. Not careless drivers. Not broken meters.</p><p>A movement happened. The system never saw it.</p><h4><strong>Fuel does not move in a straight line</strong></h4><p>From inside the office, a fuel delivery looks simple.</p><p>Lift at the terminal. Drive to the customer. Drop the product. Done.</p><p>That is the clean version.</p><p>Here is what a real day often looks like.</p><p>A transport lifts 8,500 gallons and brings it back to the bulk plant. Three smaller trucks load from the plant. One comes back with 300 gallons left over and pumps it back into storage. Another driver finds the customer&#8217;s tank fuller than expected and adjusts the drop. A third driver is not sure his meter read correctly on the third stop.</p><p>Every one of those things changed where the fuel was. What it cost. Which ticket it traced back to.</p><p>But most inventory systems just see this:</p><p><em>Beginning inventory plus what came in minus what went out equals what is left.</em></p><p>That math is correct. <strong>But it misses everything that happened in the middle.</strong></p><p></p><h4><strong>The missing movement becomes a mystery number</strong></h4><p>When a return or a transfer does not get recorded, it does not show up immediately.</p><p>It shows up at month-end as a variance.</p><p>More fuel than expected in one place. A shortage somewhere else. Someone labels it shrink or meter error, edits the balance until the numbers agree, and closes out the month.</p><p>The report looks clean. Nobody knows what actually happened.</p><p>And the problem does not stop at inventory.</p><p>If the system thinks the fuel is still on the truck, dispatch might send that driver on another load without enough product. If a return gets counted as a fresh receipt, the same gallons appear twice. If a transfer loses its connection to the original purchase, the cost on the next delivery is wrong.</p><p>That flows into customer margins, cost of goods, and sometimes what gets reported for taxes.</p><p>By the time someone notices the number is off, the driver who handled that load is trying to remember a shift from three weeks ago.</p><blockquote><p><strong>That is not reconciliation. That is guessing with extra steps.</strong></p></blockquote><h4><strong>A balance only tells you one thing</strong></h4><p>An inventory balance answers one question.</p><p>How much fuel should be here right now?</p><p>It cannot tell you where the fuel came from. Which truck carried it. Whether the transfer actually made it to the other end. Which BOL supplied the gallons. Whether the difference was measured or estimated. Who touched it and when.</p><p>For that you need a movement record.</p><p>Every time fuel changes location, something should capture where it started, where it ended up, how many gallons, which product, when it happened, and what paperwork supports it.</p><p><strong>The balance should be built from those movements. Not a number someone can edit when the count does not match.</strong></p><h4><strong>Transfers need two sides</strong></h4><p>This is where a lot of records fall apart.</p><p>A transport unloads 8,000 gallons into the bulk tank. The truck meter says 8,000. The plant meter says 7,980.</p><p>The wrong move is to pick one number and overwrite the other.</p><p>Both readings matter.</p><p>The record should show 8,000 gallons left the truck and 7,980 arrived at the tank. The 20-gallon difference needs a reason. Until that receiving side is confirmed, those gallons should show as in transit. They should not appear in both places at the same time.</p><p>Same goes for fuel moving from a bulk tank to a smaller truck. From one compartment to another. From a driver back to the plant at the end of the day.</p><blockquote><p><strong>One movement. Two sides. Both numbers kept.</strong></p></blockquote><h4><strong>The driver&#8217;s job is to say what happened. Not to sort out the accounting.</strong></h4><p>Drivers work fast. They have more stops waiting.</p><p>What a driver needs to record is simple.</p><p>Loaded 2,000 gallons. Delivered 1,760. Brought back 220. Meter seemed off on the third stop.</p><p>That is enough.</p><p>The driver should not be figuring out which cost applies to the returned product or how a variance hits the books. That is a back office conversation.</p><p>This also matters when the driver is working in an area with no signal. The delivery still needs to be recorded at the right time, tied to the right stop. When the app reconnects, it should sync once. <strong>Not create duplicate records.</strong></p><h4><strong>Month-end should not be the first time you ask where the gallons went</strong></h4><p>Most operations I visit reconcile inventory once a month.</p><p>Someone runs a report. The numbers are off. Adjustments get made. The books close.</p><p>A better version happens at the end of every shift.</p><p>What came in, what went out, what moved between locations, what came back to the yard. Compare that to the physical reading. If the difference is small and within what you would expect, the shift closes. If it is not, you look at the movements while the day is still fresh.</p><p>The driver is still reachable. The terminal BOL is still findable. The return that did not get logged is still in someone&#8217;s memory.</p><blockquote><p><strong>Catching a small problem at 5pm costs fifteen minutes. Finding the same problem at month-end costs four days and a lot of guessing.</strong></p></blockquote><h4><strong>Three questions worth being able to answer</strong></h4><p>Fuel inventory is never going to be perfectly clean. Meters differ. Drivers work offline. BOLs arrive late. Product moves between trucks and tanks in ways the office does not see in real time.</p><p>That is just the nature of the business.</p><p>But if you run a fuel operation, you should be able to answer three questions about any load on any given day.</p><p>Where is the fuel right now?</p><p>What moved it there?</p><p>Can you trace it back to where it started?</p><p>If the only way to answer those questions is to edit a number until it looks right, you do not have inventory reconciliation.</p><p><strong>You have a new number and the same question you started with.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Every Operator Has ATG Data. Almost None Of Them Use It To Decide Anything.]]></title><description><![CDATA[We spent years connecting tanks. Then kept planning deliveries like we couldn't see inside them]]></description><link>https://www.readthefuelstack.com/p/every-operator-has-atg-data-almost</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/every-operator-has-atg-data-almost</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 29 Sep 2026 11:08:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EAW8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EAW8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EAW8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EAW8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EAW8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EAW8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EAW8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1655648,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/217985747?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EAW8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EAW8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EAW8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EAW8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11bc0f4-ac92-4f30-9516-3f25938fa5b3_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>The data is coming in from every tank. The question is whether anyone is using it to decide what happens next.</em></figcaption></figure></div><p></p><p>A few months ago I was sitting with a dispatcher at a mid-sized fuel operation.</p><p>She pulled up the tank monitoring screen. Forty-some sites. Every tank had a live reading. Product level, available gallons, last update time. Most had been reporting through the night.</p><p>It looked exactly like the kind of visibility software vendors put on the cover of a brochure.</p><p>I asked her how she used it.</p><p><em><strong>&#8220;I check it when somebody calls worried they&#8217;re going to run out.&#8221;</strong></em></p><p>That was the whole answer.</p><p>The data was there every hour, for every tank. But it was not deciding which sites got a load tomorrow. It was not telling her which stops belonged on the same truck. It was not flagging which customer was going to call at 8am before the customer knew they needed to call.</p><p>Those decisions still came from standing orders, experience, and whoever picked up the phone first.</p><p><strong>The ATG was being used like a thermometer. You looked at it when you already suspected something was wrong.</strong></p><p>She was not doing anything wrong. That is what makes this interesting.</p><h4><strong>What the data actually tells you versus what you need to know</strong></h4><p>A tank at 37% is a fact.</p><p>But a dispatcher does not need a fact. She needs an answer to a different question.</p><p><em>When will this become a problem?</em></p><p>A tank at 37% burning 120 gallons a day is fine. The same tank burning 900 gallons a day needs to be on tomorrow&#8217;s board. And that same tank might behave completely differently on Tuesday than it does on Saturday when the customer&#8217;s crew is running double shifts.</p><p>The percentage is just the starting point.</p><p>What you actually need is the tank level, the consumption rate, the delivery constraints, the truck capacity, and what else is already scheduled in that area.</p><blockquote><p><strong>A 37% reading does not tell you when to send a truck. It tells you where to start looking.</strong></p></blockquote><h4><strong>Why the data dies before it reaches dispatch</strong></h4><p>I keep seeing the same gap across fuel operations. The tank is connected. The readings are coming in. And none of it is making its way into the dispatch decision.</p><p>Here is why.</p><p>The monitoring system knows: Tank 3. ULSD. 31%. 2,480 gallons.</p><p>Dispatch needs to know: Which customer? Which ship-to location? <em><strong>Is this a keep-full account or will-call?</strong></em> Is there already an order scheduled? What are the delivery hours? Which terminal supplies it? Which truck can access the site?</p><p>Pulling a tank reading through a connection is the easy part. The harder part is building the relationship between the monitor and everything else the operation needs to know.</p><p><strong>Monitor &#8594; Tank &#8594; Product &#8594; Customer &#8594; Order &#8594; Delivery</strong></p><p>Without that connection, you have visibility. You do not have a workflow.</p><p>And then there is the trust problem.</p><p>Probes fail. Readings drift. Connectivity drops. After enough exceptions, dispatchers start building their own mental correction layer. That one always reads a little low. Do not trust that reading right after a delivery. That monitor has not reported since yesterday.</p><p>Eventually the dispatcher trusts experience more than the screen. And experience is very hard to integrate with anything.</p><div class="callout-block" data-callout="true"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Y07!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Y07!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg" width="1200" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182864,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/215603770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf1834e-3d60-47d6-9f95-bd14a06617a6_1200x1200.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9Y07!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Have a lesson worth sharing?<br><br></strong>Some of the best lessons in fuel operations never make it into a playbook.</p><p>They live in the experience, <strong>workarounds, mistakes, and tribal knowledge</strong> of people doing the work every day.</p><p>If you have something you have learned that could help another fuel marketer, I would love to hear it. <br><br><em>It may become part of a future issue of <strong>The Fuel Stack.</strong><br><br><a href="https://www.linkedin.com/in/dibyesh/">Dibyesh Giri.</a></em></p><p><strong><a href="https://tidycal.com/fueleo/fueleo-intro-call">Book a conversation &#8594;</a></strong></p></div><h4><strong>What the data should actually do</strong></h4><p>I would not want a system automatically creating orders because a tank crossed 30%.</p><p>That just replaces one rigid rule with another.</p><p>What I would want is the system telling the dispatcher every morning:</p><p>Seven tanks are likely to need attention in the next 48 hours.</p><p>Then explain why.</p><p>Tank A is projected to hit its reorder point tomorrow afternoon based on this week&#8217;s consumption.</p><p>Tank B&#8217;s usage jumped 34% over its normal pattern. Worth a call.</p><p>Tank C has enough fuel until Friday but there is already a truck going within five miles of it tomorrow.</p><p>Tank D looks low but there is already an order on the board.</p><p>Tank E has not reported in eleven hours.</p><p>Now the dispatcher is not opening two hundred tank screens looking for trouble. She is looking at five things that deserve her judgment.</p><blockquote><p><strong>ATG data should reduce the search space. Not replace the dispatcher.</strong></p></blockquote><p>That is the immediate value. Not full automation. Just better information reaching the right person earlier in the day so the decision gets made before the customer calls instead of after.</p><h4><strong>The loop that almost nobody closes</strong></h4><p>Here is the part I find most interesting.</p><p>The tank predicted a delivery. The dispatcher approved it. The truck lifted the product. The driver delivered it.</p><p>Now ask: did the gallons reconcile?</p><p>The customer tank showed 1,900 gallons before the truck arrived. The meter says 4,100 gallons were delivered. What did the tank show afterward?</p><p>Not necessarily exactly 6,000 gallons. Product may have been consumed during delivery. Temperature matters. Measurement has tolerance. But you now have two independent signals you can compare.</p><p>And on a full route: terminal BOL, truck inventory, metered delivery, customer tank movement.</p><p><strong>The ATG is not just telling you when to deliver. It is helping you validate what happened after you delivered.</strong></p><p>That matters for inventory. It matters for billing. It matters for finding the tanks whose readings you cannot trust and figuring out why.</p><p>Over time the data starts auditing itself. The tanks that consistently reconcile earn confidence. The ones that consistently show unexplained differences get flagged. Maybe the probe needs calibration. Maybe the product mapping is wrong. Maybe the reading is being assigned to the wrong asset.</p><p>The system builds a picture of which monitors are trustworthy without the dispatcher having to maintain that list in her head.</p><h4><strong>Try it with ten tanks</strong></h4><p>You do not need a new platform to start seeing whether this matters.</p><p>Pick ten tanks you already monitor. For two weeks, record the morning reading and the actual delivery.</p><p>Then ask a few simple questions.</p><p>How many deliveries happened because the customer called? How many could you have anticipated from the consumption pattern? How much usable capacity was still in the tank when the truck arrived? How often did you go into an area and then return to roughly the same area a day or two later? Did the metered delivery roughly match what the tank showed?</p><p>Do not automate anything yet. Just look.</p><p>You will start seeing where the decisions are hiding.</p><h4><strong>The expensive part is already done</strong></h4><p>The probes are in the tanks. The connectivity exists. The readings are coming in. The history is accumulating.</p><p>In most operations I visit, the data already exists to answer much more useful questions than how much fuel is in this tank right now.</p><p>The questions worth asking are simpler.</p><p>Which tank needs fuel next? When will it need it? How much should we send? Can it fit into a load we are already planning? And after we deliver, did the gallons agree?</p><p><strong>Until those questions get answered from the data, ATG is not really tank monitoring. It is a very expensive thermometer that tells you something is wrong after someone calls to tell you something is wrong.</strong></p><p>The readings have been coming in for years.</p><p>It is time to start using them.</p>]]></content:encoded></item><item><title><![CDATA[If Your Software Needs a Workaround, It Probably Doesn't Understand Your Operation.]]></title><description><![CDATA[The spreadsheet beside the dispatch system is not a sign that your team is disorganized. It is a sign that your software was not built for what your operation actually does.]]></description><link>https://www.readthefuelstack.com/p/if-your-software-needs-a-workaround</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/if-your-software-needs-a-workaround</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 22 Sep 2026 13:04:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ej0Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ej0Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1471351,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/216842220?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!Ej0Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dc26998-209e-4811-bb8d-38b25ed302f5_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>The spreadsheet. The group text. The notes pad. Every fuel operation has a version of all three. This issue is about what they are actually telling you.</em></figcaption></figure></div><p>Every fuel operation I visit has one.</p><p>Sometimes it is a spreadsheet open on a second monitor. Sometimes it is a shared Google Sheet three people edit simultaneously and nobody fully trusts. Sometimes it is a laminated sheet taped to the wall beside the dispatch desk. Sometimes it is a group text that has been running for two years and contains more operational decisions than any system in the building.</p><p>I stopped calling these workarounds a long time ago.</p><p>I started calling them signals.</p><blockquote><p><strong>Every workaround in a fuel operation is a signal that the software stopped where the operation did not.</strong></p></blockquote><p></p><h4><strong>What the workaround is actually telling you</strong></h4><p>When a dispatch manager opens a spreadsheet before assigning a load, he is not doing it because he enjoys maintaining two sources of truth.</p><p>He is doing it because the dispatch system does not know that this customer only accepts deliveries before 6am. Or that this driver cannot go to that terminal because of an incident three months ago that was never logged anywhere official. Or that this load needs to be split across two compartments in a specific sequence because the customer has two tanks and one of them has a slow intake valve.</p><p>The dispatch system handles what it was built for. The spreadsheet handles what the dispatch system does not understand.</p><p>That boundary, the edge of what the software can do, is exactly where the workaround begins.</p><p>Every morning before the first truck rolls, the dispatcher is doing two jobs simultaneously. The visible job is assigning loads in the system. The invisible job is applying a layer of operational knowledge the system has never been taught.</p><p>Which driver fits which customer. Which terminal to avoid after 10am. Which load needs a phone call before the truck leaves the yard. Which delivery window is non-negotiable and which one has a thirty-minute buffer the customer will never mention but always expects.</p><p>None of that is in the dispatch system. It is in the spreadsheet. Or in the dispatcher&#8217;s head. Or in a notes field that one person maintains and nobody else reads.</p><p><strong>The dispatcher is not the problem. The software did not understand the operation well enough to hold what the dispatcher was carrying manually.</strong></p><p>And as long as that knowledge lives outside the system, the operation is one retirement, one resignation, or one bad morning away from a day that does not run the way it should.</p><div class="callout-block" data-callout="true"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Y07!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Y07!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg" width="1200" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182864,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/215603770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf1834e-3d60-47d6-9f95-bd14a06617a6_1200x1200.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!9Y07!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Have a lesson worth sharing?<br></strong></h4><p>Some of the best lessons in fuel operations never make it into a playbook.</p><p>They live in the experience, <strong>workarounds, mistakes, and tribal knowledge</strong> of people doing the work every day.</p><p>If you have something you have learned that could help another fuel marketer, I would love to hear it. <br><br><em>It may become part of a future issue of <strong>The Fuel Stack.</strong><br><br><a href="https://www.linkedin.com/in/dibyesh/">Dibyesh G.</a> </em></p><p><strong><a href="https://tidycal.com/fueleo/fueleo-intro-call">Book a conversation &#8594;</a></strong></p></div><h4><strong>The group text that runs the dispatch</strong></h4><p>One of the most revealing workarounds I have seen in fuel distribution is not a spreadsheet. It is a phone.</p><p>A dispatcher in East Texas managed a fleet of twelve trucks through a combination of a dispatch system and a group text that had been running for three years. The dispatch system handled the scheduled loads. The group text handled everything else.</p><p>Driver calls in sick at 5am. Group text.</p><p>Terminal goes down at 7am. Group text.</p><p>Customer changes the order after the truck has already left the yard. Group text.</p><p>The dispatch system was technically capable of handling some of these scenarios. But it was not fast enough, flexible enough, or visible enough to the right people at the right moment. So the group text filled the gap.</p><p>By the time I saw it, the group text had become the real dispatch system. The software had become the record-keeping layer that documented decisions that had already been made somewhere else.</p><blockquote><p><strong>That is what a workaround looks like when it has been running long enough. It stops feeling like a workaround. It becomes the system.</strong></p></blockquote><p></p><h4><strong>The binder that ran the pricing</strong></h4><p>I visited a mid-market fuel wholesaler in Washington state last year.</p><p>Their pricing manager had a binder.</p><p>Not a binder of reference material. A binder of decisions. Thirty-seven customer accounts, each with a page that described how that customer&#8217;s price was calculated. Which rack posting to use. Which differential applied. Whether freight was included or billed separately. Whether the customer was on gross or net gallons. Whether there were volume tiers that changed the margin at certain thresholds.</p><p>Every one of those pages represented a decision the pricing system could not make on its own.</p><p>When an order came in, the pricing manager opened the binder, found the right page, and manually applied the correct logic before the invoice was generated.</p><p>She had been doing it for four years. She was fast. She was accurate. She knew every account well enough to catch errors before they reached the customer.</p><p>I asked her what would happen if she was not there.</p><p>She thought about it.</p><p><em>&#8220;They would call me.&#8221;</em></p><p><strong>The binder was not a failure of organization. It was four years of operational knowledge that the pricing system had never been built to hold.</strong></p><h4><strong>Why software creates workarounds in fuel distribution specifically</strong></h4><p>Most back-office software was not built for fuel distribution.</p><p>It was built for businesses that sell discrete products at fixed prices to customers with standard billing requirements.</p><p>Fuel distribution does not work that way.</p><p>The price changes intraday. The product that leaves the terminal is measured differently than the product that arrives at the customer&#8217;s tank. The customer&#8217;s billing requirements vary by account, by location, by product type, and by a contract that was negotiated at a specific moment in the market. The freight cost depends on which carrier ran the load, which route they took, and whether there were detention charges the customer may or may not be responsible for.</p><p>Generic software handles the standard case. Fuel distribution is full of cases that are not standard.</p><p><strong>The workaround is what happens every time the software encounters a case it was not built for and the team has to bridge the gap manually.</strong></p><p>In a small operation with low volume, the workarounds are manageable. The dispatcher knows the spreadsheet. The pricing manager knows the binder. The team carries the knowledge and the operation runs.</p><p>Then the operation grows.</p><p>More trucks. More customers. More loads per day. More edge cases per week. More people who need to share knowledge that used to live in one person&#8217;s head.</p><p>The workarounds do not scale the way the business does.</p><h4><strong>What happens when the workaround fails</strong></h4><p>Most workaround failures in fuel distribution are not dramatic.</p><p>They are quiet.</p><p>The pricing manager goes on vacation and a new hire applies the standard rate to three accounts that have negotiated differentials. Nobody notices for two weeks. The customer calls on week three.</p><p>The dispatcher&#8217;s group text loses a message during a busy morning and a driver does not get the update about the terminal that went down. The load gets turned away. The driver waits. The delivery misses the window.</p><p>The billing spreadsheet and the accounting system go out of sync during a month-end rush and nobody has time to reconcile them until the following week. Three invoices go out late.</p><p>None of those are catastrophic. All of them are expensive. And all of them were predictable consequences of an operation that had grown past what its workarounds could reliably handle.</p><blockquote><p><strong>The workaround works until it does not. And when it stops working, it usually stops working at the worst possible moment.</strong></p></blockquote><p></p><h4><strong>What the software should do instead</strong></h4><p>The answer is not better training on the existing software.</p><p>The answer is not adding more features to software that was not built for fuel distribution in the first place.</p><p>The answer is software that understands the operation well enough that the workaround is no longer necessary.</p><p>For the dispatcher with the spreadsheet: customer delivery windows, driver restrictions, terminal preferences, and split-load logic should live in the dispatch system and apply automatically when a load is assigned. Not in a spreadsheet he maintains separately.</p><p>For the dispatcher with the group text: mid-route changes, terminal alerts, and driver availability updates should be visible to everyone who needs them inside the dispatch system in real time. Not communicated through a text chain that nobody can search or audit.</p><p>For the pricing manager with the binder: every customer&#8217;s pricing logic, differentials, volume tiers, freight treatment, and gross or net billing preference should live in the pricing system and apply automatically when an order is created. Not reconstructed manually from a printed page every time a load is dispatched.</p><p><strong>The workaround disappears when the software understands what the team was doing manually and builds it into the workflow.</strong></p><p>That is the standard we hold ourselves to at Fueleo.</p><p>Every time we see a spreadsheet beside a dispatch system, a group text running alongside a load board, or a binder of pricing decisions sitting next to a software platform, we ask the same question.</p><p>What did the software not understand that the workaround was compensating for?</p><p>The answer to that question is a gap worth closing.</p><h4><strong>The question worth asking this week</strong></h4><p>Walk through your operation and count the workarounds.</p><p>The spreadsheets that live beside your systems. The group texts that coordinate decisions your software should be coordinating. The binders, the printed sheets, the sticky notes, the shared drives full of documents that exist because your software does not carry that information automatically.</p><p>Count them.</p><p>Then ask about each one: what does this workaround know that my software does not?</p><p><strong>That list is not a list of your team&#8217;s inefficiencies. It is a list of the gaps in your software&#8217;s understanding of your operation.</strong></p><p>And until those gaps close, the workarounds will keep running. Getting faster. Getting better. Getting more embedded in how the operation actually works.</p><p>Until the day they stop working.</p><p></p>]]></content:encoded></item><item><title><![CDATA[You're Selling Gallons. Your Cost Is Driver Time.]]></title><description><![CDATA[Wet hosing is usually priced around gallons. But gallons are often not what makes the stop expensive.]]></description><link>https://www.readthefuelstack.com/p/youre-selling-gallons-your-cost-is</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/youre-selling-gallons-your-cost-is</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Mon, 14 Sep 2026 12:15:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!keu0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!keu0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!keu0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!keu0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!keu0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!keu0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!keu0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1683855,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/215603770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!keu0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!keu0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!keu0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!keu0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffecb77ad-fd9f-4c09-abca-8ae8df30ddd7_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Wet hosing is billed by gallons, but the cost lives in driver time.</strong></figcaption></figure></div><p>I keep thinking about one construction site delivery.</p><p>640 gallons. Eighteen pieces of equipment. The driver was on site for two hours and twelve minutes.</p><p>Then I looked at the invoice.</p><p>One line for diesel. 640 gallons. A delivered price that looked perfectly reasonable against the rack.</p><p>If you only looked at the invoice, the job looked fine.</p><p>But that invoice was missing the most expensive part of the delivery.</p><p><strong>Two hours and twelve minutes of somebody&#8217;s day.</strong></p><p>And that is where wet hosing gets interesting.</p><h4><strong>Wet hosing is not a bulk delivery problem</strong></h4><p>A bulk load is fairly easy to understand economically.</p><p>Load the truck. Drive to the customer. Drop several thousand gallons into a tank. Move on. Volume helps. If you are already sending the truck, delivering 4,000 gallons is almost always better than delivering 600.</p><p>Wet hosing behaves differently.</p><p>The driver arrives at a construction site and fuels individual assets one by one. Not tanks. Machines spread across an entire job site. Some labeled clearly. Some not. Some accessible immediately. Some requiring a supervisor to unlock them, a piece of equipment to be repositioned, or a conversation with a site manager who is in the middle of something else.</p><p>Unlike bulk delivery, wet hosing is often demanded at night when equipment is idle and trucks will not block day-to-day operations. A stop that takes two hours in daylight can take longer at night with limited visibility and reduced site access.</p><p>The driver is not simply delivering diesel. He is navigating a job site, finding equipment, coordinating with people, and fueling assets one at a time.</p><p>The gallons matter. But the clock matters too.</p><p><strong>Sometimes more.</strong></p><h4><strong>The driver behind the wheel is not cheap</strong></h4><p>Before we get to the margin math, one thing is worth naming directly.</p><p>A wet hosing driver is not a standard delivery driver.</p><p>CDL. Hazmat endorsement. Tanker certification. The licensing requirements narrow the labor pool and raise the cost of the hour before the truck ever leaves the yard.</p><p>Add the overtime premium for night fueling, higher turnover from demanding hours, and the cost of training replacements, and the driver hour is already expensive before the stop begins.</p><p><strong>A per-gallon margin designed for bulk operations is not carrying those costs accurately.</strong></p><h4><strong>The stop that should have looked different on paper</strong></h4><p>The driver arrived at 7:14am. He left at 9:26am.</p><p>Eighteen assets. Three generators. Two light towers. One machine that needed a supervisor to unlock it. Two pieces of equipment that had been moved since the order was created. Finding them took twenty minutes.</p><p>Total delivered: 640 gallons.</p><p>Put a normal rack-plus-margin calculation on those gallons and the delivery looked acceptable.</p><p>But think about what the truck and driver were doing for those two hours and twelve minutes.</p><p>They were not available for another customer. Wages were running. The truck was running. Insurance, maintenance, and overhead did not stop because the hose was moving from one asset to another.</p><blockquote><p><strong>A margin that works when you drop 4,000 gallons into one tank can disappear quickly when 640 gallons takes more than two hours to deliver.</strong></p></blockquote><p>And that is the daytime version of this problem. Run the same stop at midnight with limited lighting and a crew that is not there to help locate equipment. The time goes up. The cost goes up. The invoice stays the same.</p><h4><strong>This is where wet hosing pricing gets dangerous</strong></h4><p>Most wet hosing pricing still has its roots in traditional fuel distribution. Rack plus margin. Maybe a delivery fee. Customers understand it. Operators understand it.</p><p>The problem is that wet hosing introduces a cost that does not move neatly with gallons.</p><p>Time.</p><p>Consider two deliveries on the same day.</p><p><strong>Stop A:</strong> 800 gallons. Six assets. Everything staged and accessible. Driver finished in 45 minutes.</p><p><strong>Stop B:</strong> 800 gallons. Twenty-two assets. Equipment spread across the site. Three assets need to be located. Driver waits for a supervisor. Total time: two hours and twenty minutes.</p><p>Same gallons. Same invoice structure. Completely different economics.</p><p>Yet if both customers are priced on the same rack-plus-margin, those two invoices look nearly identical.</p><p>That is why wet hosing operators need to know one number that rarely shows up on a fuel invoice.</p><blockquote><p><strong>Margin per driver hour.</strong></p></blockquote><h4><strong>I would not stop charging by the gallon</strong></h4><p>Customers understand gallons. Nobody needs to turn a fuel invoice into a consulting invoice with twelve different service charges.</p><p>But behind the customer-facing price, the operator needs to understand what the stop actually requires.</p><p>How many assets are normally fueled? How long does the driver spend on site? How often are assets inaccessible? Does the site regularly make the driver wait? Does a 500-gallon delivery take 40 minutes or two hours? Does the account regularly request after-hours fueling?</p><p>Once you know those answers, the pricing structure becomes clearer.</p><p>A minimum stop charge. A per-asset fee. A site-service fee. An after-hours premium for night fueling requests. A minimum-gallon requirement. Maybe certain accounts need a different margin altogether.</p><p>The exact model will differ by operation. The point is simpler.</p><p><strong>You cannot price the account intelligently if you only understand the gallons.</strong></p><div class="callout-block" data-callout="true"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9Y07!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9Y07!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg" width="1200" height="1200" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:182864,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/215603770?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6cf1834e-3d60-47d6-9f95-bd14a06617a6_1200x1200.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9Y07!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9Y07!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F570f66fb-e197-4c8b-ada9-ef3625a74454_1200x1200.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>Have a lesson worth sharing?<br><br></strong>Some of the best lessons in fuel operations never make it into a playbook.</p><p>They live in the experience, <strong>workarounds, mistakes, and tribal knowledge</strong> of people doing the work every day.<br></p><p>If you have something you have learned that could help another fuel marketer, I would love to hear it. <br><br><em>It may become part of a future issue of <strong>The Fuel Stack.</strong><br><br>Dibyesh G.</em></p><p><strong><a href="https://tidycal.com/fueleo/fueleo-intro-call"><span>Book a conversation &#8594;</span></a></strong></p></div><h4><strong>The documentation problem nobody talks about</strong></h4><p>Even when the pricing is right, somebody still has to record the complexity of the stop.</p><p>A driver finishes fueling eighteen assets at 9:26am. At that moment he knows exactly what happened. Which equipment was fueled. Which machine was missing. Which asset was locked. How long he waited.</p><p>Then he drives to the next stop.</p><p>By 4pm some of those details are already fuzzy. By the next morning the stop has become: 640 gallons at the construction site.</p><p>This is one reason same-day invoicing matters in wet hosing beyond the cash flow argument.</p><div class="pullquote"><p><strong>If the invoice is built while the stop is still fresh, eighteen assets are still eighteen assets. Two hours and twelve minutes are still two hours and twelve minutes. A waiting charge or complexity fee has a chance of making it onto the invoice instead of disappearing into somebody&#8217;s memory.</strong></p></div><p>Same-day invoicing is partly about getting paid faster. In wet hosing it is also about preserving the economics of the stop before they compress into a single line.</p><h4><strong>The dangerous account is the one that looks fine</strong></h4><p>A wet hosing account can look like a good customer for years.</p><p>Plenty of fuel. Pays on time. Nobody complains. Gross margin looks decent.</p><p>Then you break it down stop by stop.</p><p>The high-volume, easy-access sites are excellent. The moderate sites are fine. Then there are the smaller deliveries where the driver spent two hours navigating a job site to deliver 640 gallons across eighteen assets while a supervisor was tracked down and two machines were located on the wrong side of the yard.</p><p>The good stops are subsidizing the bad ones.</p><p>At the account level everything still looks healthy. Until somebody asks:</p><blockquote><p><strong>What are we actually making per driver hour?</strong></p></blockquote><p>That question can be surprisingly hard to answer. Driver time is in one system. Gallons are somewhere else. Asset-level delivery data is in the driver app or on paper. Pricing is in accounting. Supplier cost is somewhere else again.</p><p>An operator who understands his business completely still has to pull information from three places and build a spreadsheet just to find out whether a customer is worth serving.</p><p><strong>That should make people uncomfortable.</strong></p><h4><strong>Before you price the next wet hosing account</strong></h4><p>Take one existing customer. Pull the last month of deliveries.</p><p>For every stop: gallons delivered, assets fueled, driver arrival time, driver departure time, gross margin.</p><p>Then calculate the margin per driver hour.</p><p>You may find the account is even better than you thought. You may also find that a few stops are quietly eating the economics of the entire relationship.</p><p>Either answer is useful.</p><p>Because wet hosing may be billed in gallons.</p><p><strong>But most of the cost is sitting behind the steering wheel. And if you do not measure that time, it is very easy to give it away.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[A Delivery Fee Is Never Just a Delivery Fee.]]></title><description><![CDATA[What looks like one line on an invoice can hide a dozen operational decisions, customer agreements, and quiet margin leaks.]]></description><link>https://www.readthefuelstack.com/p/a-delivery-fee-is-never-just-a-delivery</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/a-delivery-fee-is-never-just-a-delivery</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Mon, 07 Sep 2026 14:32:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!P6sT!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010ab553-207d-46bf-b7a8-c542449c1975_301x301.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dave dispatches for a fuel wholesaler in East Texas.</p><p>When I sat with him for the first time and asked about their delivery fee structure, he gave me the same answer I have heard from almost every dispatcher I have met.</p><p><em>&#8220;We charge a flat rate. Pretty straightforward.&#8221;</em></p><p>Then I asked what happens after hours.</p><p><em>&#8220;Oh, that is different.&#8221;</em></p><p>What about weekends?</p><p><em>&#8220;Different rate.&#8221;</em></p><p>Emergency deliveries?</p><p><em>&#8220;That depends on the customer.&#8221;</em></p><p>What if the load is under a certain gallon threshold?</p><p>He paused.</p><p><em>&#8220;That one is complicated. We handle it case by case.&#8221;</em></p><p>By the end of that conversation, what started as one flat rate had become seven distinct scenarios. Some of them lived in Dave&#8217;s head. Some of them lived in a spreadsheet the billing manager maintained. Some of them lived in email threads between the owner and specific customers that nobody else had read.</p><p><strong>The fee was not complicated because the operation was disorganized. It was complicated because the operation was real.</strong></p><h4><strong>Which fee wins</strong></h4><p>The hardest part of Dave&#8217;s fee structure was not calculating each fee in isolation.</p><p>It was deciding which fee should win when multiple conditions were true at the same time.</p><p>A customer called on Sunday morning requesting 300 gallons immediately. Three fee conditions applied simultaneously: the weekend rate, the emergency delivery rate, and the minimum-delivery charge for loads under a certain gallon threshold.</p><p>Should the customer pay all three? Should the emergency rate replace the weekend rate? Should the minimum-delivery charge still apply if the emergency rate already accounts for the short load? And what if that customer had a negotiated agreement that overrode the standard rates entirely?</p><p>Dave knew the answer. He had handled that customer before. But the system did not know. Billing had to call Dave every time a similar situation came up to make sure the invoice reflected the right decision.</p><blockquote><p>That decision should be configured once and applied automatically. Not reconstructed by billing after every delivery.</p></blockquote><h4><strong>Joey&#8217;s construction site</strong></h4><p>Joey runs a wet hosing operation out of San Antonio.</p><p>His drivers fuel construction sites, data centers, equipment rental yards, and generator accounts across Central Texas.</p><p>I went out on a delivery with one of Joey&#8217;s drivers on a Tuesday morning. A construction site in the Hill Country. When we pulled in, the site manager walked the driver through the equipment that needed fuel.</p><p>Eighteen pieces of equipment. Three generators. Two light towers. One machine that required a supervisor to unlock before the driver could access it. Two pieces of equipment that had been moved since the dispatch record was created and took twenty minutes to locate.</p><p>The driver was on-site for over two hours. He delivered 640 gallons.</p><p>On a per-gallon basis that delivery looked marginal. On an actual cost basis, accounting for driver time, truck time, and the complexity of the stop, the economics were different.</p><p>But the invoice that went out showed one line.</p><p><em>Diesel. 640 gallons. $X.</em></p><p>The fee structure did not reflect the work. Whether that complexity should have been billed separately depended on the customer agreement. But Joey had no reliable way to measure it, price it, or determine whether the account was still profitable.</p><p><strong>A controller needs to know whether the margin on a wet hosing account reflects what actually happens at the stop. Without capturing time on-site, assets fueled, and stop complexity, that calculation is always an estimate.</strong></p><h4><strong>Why the spreadsheet survives</strong></h4><p>Every fuel operation I have visited has a version of the same document.</p><p>It lives in billing. Sometimes in dispatch. Sometimes in a shared folder with a name like Fee Exceptions or Customer Agreements or Do Not Change This.</p><p>It is the bridge between what the software calculates and what the customer was actually promised.</p><p>It works because the person who maintains it is experienced enough to know which rule applies in which situation. They have been doing it long enough that the exceptions feel like routine.</p><p>The problem is not the spreadsheet. <strong>The problem is what happens when the person maintaining it leaves, or gets sick, or the operation grows past the point where one person can hold it all together.</strong></p><p>That is when charges start slipping through. Not because anyone is careless. Because the rules were never in the system.</p><div class="callout-block" data-callout="true"><p><em>If any of this sounds familiar in your operation, I would like to hear about it.</em></p><p><em>Every issue of The Fuel Stack starts with a conversation. If you want to talk through your fee structure, your billing workflow, or anything else that is quietly costing you margin, book a time directly.</em></p><p><strong><a href="https://tidycal.com/fueleo/fueleo-intro-call"><span data-color="#ea580c" style="color: rgb(234, 88, 12);">Book a conversation &#8594;</span></a></strong></p></div><h4><strong>Juan&#8217;s margin problem</strong></h4><p>Juan manages operations at a Southern California-based fuel distributor.</p><p>California adds its own layer of complexity to fuel fees. Environmental fees. Regulatory surcharges. Carrier costs that vary by route, by terminal, by time of day. Pass-through charges from carriers that have to be billed to the customer with a margin applied.</p><p>When I sat with Juan and his controller, we pulled up six months of carrier invoices.</p><p>The carrier had billed detention charges on fourteen loads over that period. Terminal delays, site access issues, customers who were not ready when the truck arrived.</p><p>Juan&#8217;s team had paid every one of those invoices.</p><p>Eight of the fourteen had been passed through to the customer. Six had not. Not because anyone decided to absorb the cost. Because by the time the carrier invoice arrived, the customer invoice had already gone out. The charge landed in accounts payable. Nobody connected it to accounts receivable.</p><p><strong>Roughly $2,200 in legitimate pass-through charges that never made it to the customer. Not because the fee was wrong. Because AP and AR were not connected.</strong></p><p>A controller should be able to run a report showing every carrier fee received, whether it was passed through, the amount billed to the customer, and the margin recovered. If that requires manually comparing AP and AR, the leakage will remain invisible until someone goes looking for it.</p><blockquote><p>Across a full year, Juan estimated the leakage was significantly larger than anyone had realized before we sat down and looked at it together.</p></blockquote><h4><strong><br>The fee that is also a decision</strong></h4><p>A delivery fee is not just a number. It is a record of a decision.</p><p>When did the order come in? When was it dispatched? What did the driver encounter on-site? What did the customer agree to? What did the carrier charge? Who approved the exception?</p><p>Every one of those questions has an answer. In most fuel operations, the answers live in different places and nobody connects them before the invoice goes out.</p><p>The software calculates one thing. Billing knows it is wrong. Someone fixes it manually. Sometimes the fix makes it to the invoice. Sometimes it does not.</p><blockquote><p>That gap, between what the system calculates and what the operation actually did, is where margin leaks. Not dramatically. Quietly. Across dozens of deliveries and months that close before anyone looks closely at the pattern.</p></blockquote><h4><strong><br>What the right system actually does</strong></h4><p>The answer is not simply a larger fee table with more rows.</p><p><strong>The answer is a system that understands the operation well enough to apply the right rule at the right time without asking billing to remember it.</strong></p><p>When Dave dispatches an after-hours emergency delivery to a customer with a negotiated rate that overrides the standard weekend fee, the system should know that. Not because Dave told it just now. Because the customer agreement was captured at account setup and applied automatically when the conditions are met.</p><p>When Joey&#8217;s driver leaves a construction site after fueling eighteen assets over two hours, the delivery record should carry that information. The number of assets. The time on-site. The equipment that required extra coordination. Whether the fee structure accounts for that complexity should reflect the customer agreement. But the data to make that decision should exist and be visible.</p><p>When Juan&#8217;s carrier invoices detention charges, the system should surface them alongside the customer invoice for that load. Not buried in an AP queue that nobody connects to AR. Visible. Reconcilable. Billable.</p><blockquote><p>The fee on the invoice should be the last step of a connected workflow. Not the first place someone tries to figure out what the customer owes.</p></blockquote><h4><strong><br>The question worth asking this week</strong></h4><p>Pull three of your most complex deliveries from last month.</p><p>For each one, ask: does the fee on the invoice reflect what actually happened at that stop?</p><p>The driver time. The assets fueled. The hour of the day. The customer agreement that applied. The carrier charge that was passed through or should have been.</p><p><strong>If answering that question requires opening a spreadsheet, calling the dispatcher, or asking the billing manager to remember, the fee structure in your operation is living outside your system.</strong></p><p>And what lives outside your system does not always make it to the invoice.</p><div class="callout-block" data-callout="true"><p><em><strong>The names in this article have been changed. The problems have not.</strong></em></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The People Who Keep Fuel Moving. A Labor Day Note.]]></title><description><![CDATA[Behind every delivery is someone who showed up before the rest of us were awake.]]></description><link>https://www.readthefuelstack.com/p/the-people-who-keep-fuel-moving-a</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/the-people-who-keep-fuel-moving-a</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Mon, 07 Sep 2026 08:44:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FCNc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FCNc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FCNc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!FCNc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!FCNc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!FCNc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FCNc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1371413,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/214539818?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FCNc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!FCNc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!FCNc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!FCNc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe1b016e-a715-4861-baa0-ebcb95e937ec_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Dispatchers. Drivers. Terminal operators. Billing managers. The full operational chain of fuel distribution. Labor Day is for all of them.</em></figcaption></figure></div><p>Most Labor Day celebrations run on fuel.</p><p>The grill that starts at noon. The generator keeping the lights on at the campsite. The boats on the lake. The trucks moving food to stores that stayed open. The equipment sitting idle on a job site, ready to start again Tuesday morning.</p><blockquote><p>None of it moves without the people who moved the fuel first.</p></blockquote><p>I have spent the last few years sitting beside the people who do this work.</p><p>Dispatchers who start before 6am and do not stop until the last truck is accounted for.</p><p>Drivers who show up on holidays because the customer&#8217;s tank does not know it is a holiday.</p><p>Billing managers who stay late because the invoice has to go out today, regardless of what day it is.</p><p>Terminal operators who work through the weekend because the rack does not close for Labor Day.</p><p>And when something goes wrong, a terminal goes down, an allocation changes, a truck gets delayed, or a customer suddenly needs another load, someone has to figure it out.</p><p>Usually quickly.</p><p>This industry does not get talked about much outside of itself.</p><p>And the people running it rarely get recognized outside of the operations they hold together.</p><p>So today, before the weekend ends and the workweek starts again, I just want to say something simple.</p><p>To the fuel marketer who dispatched a driver at 5am so a construction crew could work Tuesday morning.</p><p>To the dispatcher who rerouted three loads when a terminal went down on Saturday.</p><p>To the driver who spent two hours on a job site fueling equipment in the heat so the project stayed on schedule.</p><p>To the billing manager who caught an error Friday afternoon and fixed it before the customer ever saw it.</p><blockquote><p><strong>That work is not glamorous. It does not get headlines. But it is the work that keeps everything else moving.</strong></p></blockquote><p>Before fuel becomes transportation, construction, agriculture, emergency power, or another day&#8217;s business, somebody has to get it from the rack to where it is needed.</p><p>Happy Labor Day to everyone in fuel distribution.</p><p>Thank you for showing up when it matters.</p><p><em>See you Tuesday.</em></p><p><em>&#8212; Dibyesh</em></p>]]></content:encoded></item><item><title><![CDATA[This Week I Cannot Write About Fuel.]]></title><description><![CDATA[A personal note from Nepal, and a friend I am hoping comes home.]]></description><link>https://www.readthefuelstack.com/p/this-week-i-cannot-write-about-fuel</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/this-week-i-cannot-write-about-fuel</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Mon, 31 Aug 2026 15:51:57 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JPzh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This week I do not have a Fuel Stack article.</p><p>I tried to sit down and write about fuel operations, technology, customers, and the things I normally think about every day. But I could not get myself to do it.</p><p>I am from Nepal, and the past few days have been incredibly difficult for many of us.</p><p>Recent floods and landslides triggered by a glacier collapse along the Nepal-Tibet border have devastated communities across the region.</p><p>The death toll has risen to at least 734. Nearly 2,500 people remain missing. Homes, roads, and infrastructure have been destroyed. Families are waiting desperately for news about their loved ones. <a href="https://www.nbcnews.com/world/asia/nepal-floods-death-toll-climbs-missing-rescue-efforts-rcna594990">NBC News</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JPzh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JPzh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JPzh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JPzh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JPzh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JPzh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg" width="1456" height="1032" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1032,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:493024,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/213566516?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JPzh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 424w, https://substackcdn.com/image/fetch/$s_!JPzh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 848w, https://substackcdn.com/image/fetch/$s_!JPzh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!JPzh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F290b3bb3-4ca7-409b-9930-02d22f94e9a8_2048x1451.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Before and after the flood in Nepal &#8212; August 26, 2026. In a matter of hours, homes, roads, businesses, and years of community life were swept away.</strong></figcaption></figure></div><p></p><p><strong>For me, this tragedy has become deeply personal.</strong></p><p>One of my friends, someone who started the early part of his career working with me at one of my startups in Nepal, has been missing for the past four or five days. We believe he may be trapped inside a hydropower tunnel.</p><p>There has been very little information.</p><p>So much of the last few days has been spent making calls, following updates from Nepal, speaking with people on the ground, and hoping for any piece of good news.</p><p>It is difficult to explain the feeling of knowing someone you care about may still be somewhere inside a mountain, while families and rescue teams are doing everything they can to reach them.</p><p><strong>So this week, instead of writing about fuel, I just wanted to write this note.</strong></p><p>Events like this also make climate change feel much less like an abstract conversation.</p><p>Countries like Nepal contribute only a tiny fraction of global greenhouse gas emissions, yet communities across the Himalayas are increasingly exposed to extreme rainfall, glacial lake risks, floods, landslides, and other climate-related disasters.</p><p>Researchers have found that glaciers across the Hindu Kush Himalaya region are melting faster, with ice loss rates doubling since 2000. <a href="https://www.cbc.ca/news/world/nepal-tibet-flood-missing-killed-9.7322278">CBC News</a></p><p><strong>The people paying the highest price are often the people who contributed the least to creating the problem.</strong></p><p>There are obviously many factors behind any individual disaster, and I do not want to turn this into a policy essay. But a warming climate is changing the risk environment for fragile mountain communities, and countries like Nepal have very limited resources to prepare for and recover from events of this magnitude.</p><p>Estimates suggest Nepal may need $4 to $5 billion to rebuild following this disaster. <a href="https://www.nbcnews.com/world/asia/nepal-floods-death-toll-climbs-missing-rescue-efforts-rcna594990">NBC News</a></p><p>For me, though, none of those numbers matter very much this week.</p><p>Right now, there is a friend I am hoping comes home.</p><p>There are families waiting for their sons, daughters, brothers, sisters, fathers, and friends.</p><p>If you are someone who prays, please keep Nepal and the people affected by this tragedy in your prayers.</p><p>And please say a prayer for my friend.</p><p><strong>If you would like to support the relief efforts, the Government of Nepal has set up a Prime Minister&#8217;s Disaster Relief Fund.</strong></p><p><a href="https://pmdrf.nchl.com.np">Donate to the Nepal PM Disaster Relief Fund &#8594;</a></p><p>Every contribution, however small, helps families on the ground who are waiting for help right now.</p><p>I hope to return to our regular Fuel Stack conversations next week.</p><p>Thank you for understanding.</p><p><em>&#8212; Dibyesh</em></p>]]></content:encoded></item><item><title><![CDATA[Everyone Is Talking About AI in Fuel Distribution. Here Is What I Would Actually Watch Out For.]]></title><description><![CDATA[The opportunity is real. So is the way it goes wrong.]]></description><link>https://www.readthefuelstack.com/p/everyone-is-talking-about-ai-in-fuel</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/everyone-is-talking-about-ai-in-fuel</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 25 Aug 2026 14:44:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!FHMH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FHMH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FHMH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 424w, https://substackcdn.com/image/fetch/$s_!FHMH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 848w, https://substackcdn.com/image/fetch/$s_!FHMH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 1272w, https://substackcdn.com/image/fetch/$s_!FHMH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FHMH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2357026,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/212700027?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FHMH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 424w, https://substackcdn.com/image/fetch/$s_!FHMH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 848w, https://substackcdn.com/image/fetch/$s_!FHMH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 1272w, https://substackcdn.com/image/fetch/$s_!FHMH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5e7f39ba-ea23-4f74-865b-1b1ab924576d_1630x1087.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>AI will not fix a broken workflow. It will expose whether your operation is ready.</strong></figcaption></figure></div><p>I want to be honest about something.</p><p>When fuel marketers started asking me about AI, my first instinct was not to get excited. It was to slow down.</p><p>I have watched enough software get sold to this industry to know how the cycle works. Someone shows a demo. The demo is clean. The salesperson answers every question with yes. The contract gets signed.</p><p>Six months later the team is managing a tool that promised to fix three problems and created two new ones.</p><p>I am not writing this to tell you AI is overhyped. Parts of it are genuinely useful and I will get to that. But before I do, here is the one thing worth understanding first.</p><p><strong>You do not have to be first to AI. You need to be ready for AI.</strong></p><p>Those are different things. And right now most of the pressure fuel marketers are feeling is about the first one.</p><blockquote><p><strong>The trap is not AI. The trap is buying AI on top of a workflow that was already broken and hoping the AI fixes it.The pressure you are feeling is real</strong></p></blockquote><h4><strong>The driver app is the best lesson I have seen</strong></h4><p>Earlier in this series I wrote about Danny.</p><p>His company spent real money rolling out a driver app. Real-time delivery confirmation. GPS timestamps. BOL photos. Management looked at the adoption dashboard and saw seventy percent usage. They assumed the problem was solved.</p><p>Here is what was actually happening.</p><p>Danny was tapping through the app screens as fast as he could at every stop. Product confirmed. Gallons confirmed. Close the stop. Move on.</p><p>The app recorded a verification. The verification was not real. It was a tap.</p><p>Nobody designed the app badly on purpose. But nobody designed it around what a delivery actually looks like at 7am in the Texas heat with gloves on and a customer waiting.</p><p><strong>AI has the exact same failure mode.</strong></p><p>An AI that generates invoices automatically sounds like same-day billing. But if Danny tapped through without entering the right gallons, if the product code in the dispatch record does not match what was actually loaded at the terminal, that AI will generate a wrong invoice faster than any billing clerk would have caught it manually.</p><blockquote><p><strong>Speed is only valuable when what is underneath it is right.</strong></p></blockquote><p>This is the mental model worth keeping in mind when any vendor pitches you AI.</p><p><strong>Bad data plus AI automation equals mistakes that move faster.</strong></p><p><strong>Operational truth plus AI interpretation plus rule validation equals exceptions that surface before they become problems.</strong></p><p>The difference between those two outcomes is not the AI. It is whether the data the AI is working with reflects what actually happened in the field.</p><h4><strong>Where this actually costs you money</strong></h4><p>I have seen versions of this repeatedly across mid-market fuel operations.</p><p>A fuel marketer adopts an automated collections tool. Follow-up emails go out on a schedule. Aging buckets trigger reminders automatically. The owner feels like AR is finally handling itself.</p><p>DSO is still sitting at 52 days. It has not moved.</p><p>When you sit with the AR manager and go through the oldest outstanding accounts one by one, the pattern is the same every time.</p><p>An invoice with a wrong PO number the customer refused to process. An open credit sitting in billing that the collections team could not see. A delivery discrepancy from three weeks earlier that nobody resolved. An invoice formatted in a way the customer&#8217;s AP system kept rejecting.</p><p><strong>The automated tool was sending reminders on schedule. Politely. Persistently. To invoices that were never going to get paid in the state they were in.</strong></p><p>DSO is rarely a collections problem. <strong>It starts as an invoice problem and shows up in the aging report weeks later</strong>, by which point it looks like a collections problem because that is where it becomes visible.</p><p>For a fuel marketer running $50M in annual revenue, DSO sitting at 45 days instead of 33 is roughly <strong>$1.7M in working capital</strong> sitting in your aging report instead of your bank account. That cash is not earning anything. It is not buying product. It is just waiting.</p><h4><strong>What AI actually does well today</strong></h4><p>There are things AI does genuinely well in fuel operations today.</p><p>Reading a supplier invoice that arrives as a PDF in an inconsistent format and pulling the right numbers out of it. Matching that invoice against a purchase order and flagging it when the price or volume does not agree. Surfacing an open credit tied to an outstanding invoice before a collections rep picks up the phone blind. Catching an expired tax exemption certificate before a load goes out against it.</p><p>But here is the more important framing for all of those examples.</p><p><strong>The real value of AI in fuel distribution right now is not AI doing the work. It is AI telling your people exactly where the workflow broke.</strong></p><p>Here are 700 transactions. Tell me which 14 need someone&#8217;s attention.</p><p>A BOL where gallons do not match what was delivered. A supplier invoice where the price does not match the expected rack. A freight invoice that does not match the dispatched trip. A delivery that closed but an invoice was never generated. A customer who has disputed the same fee type three times in two months. An invoice stuck because a PO is missing. A tax exemption expiring before the next scheduled delivery.</p><p><strong>That is AI being useful.</strong> Not running your operation. Finding the specific places where your operation needs a human to look.</p><blockquote><p><strong>The best AI in fuel distribution may not be the system doing the work. It may be the system telling your people exactly where the workflow broke.</strong></p></blockquote><h4><strong>Three questions worth asking before you buy anything</strong></h4><p>Every AI vendor will tell you their system is accurate, saves time, and pays for itself.</p><p>Ask them three questions before you sign anything.</p><p><em><strong>What data does this need to work correctly, and where does that data live in my operation today?</strong></em></p><p>If it lives in a connected system that is already accurate, the AI has a real chance. If it lives in a spreadsheet, a paper ticket book, or someone&#8217;s memory, the AI inherits those problems.</p><p><em><strong>How does the output get validated before it becomes a transaction?</strong></em></p><p>The right architecture is not a human approving every transaction. It is AI interpreting the information, business rules validating whether it is safe to transact, and exceptions going to humans. Clean transactions should flow automatically. Problems should surface to the right person immediately. Know exactly how your vendor handles that.</p><p><em><strong>What happens when it is wrong?</strong></em></p><p>How does the error get caught? Is there an audit trail? Can a bad invoice reach your customer or your accounting system before anyone notices?</p><blockquote><p><strong>A vendor who cannot answer this question clearly is selling you confidence. Not a system.</strong></p></blockquote><h4><strong>The thing worth remembering</strong></h4><p>The operators who will get the most out of AI in the next few years are not the ones adopting it fastest. They are the ones spending this year capturing operational truth. Clean BOLs. Connected dispatch records. Invoices that reflect what actually happened in the field. Driver workflows that record what was delivered rather than what someone tapped through.</p><p>Once that foundation is in place, AI has something real to work with.</p><p><strong>Fix the workflow. Then let the AI run.</strong></p><p>Because automating a broken process does not make it intelligent.</p><p><strong>It just makes you faster at the wrong thing.</strong></p>]]></content:encoded></item><item><title><![CDATA[Your Fuel Was Delivered. Why Is the Invoice Still Not Ready?]]></title><description><![CDATA[Delivery completion does not guarantee invoice readiness. Customer-specific billing rules are quietly delaying payment.]]></description><link>https://www.readthefuelstack.com/p/your-fuel-was-delivered-why-is-the</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/your-fuel-was-delivered-why-is-the</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 18 Aug 2026 14:28:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!EAzr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EAzr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EAzr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EAzr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EAzr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EAzr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EAzr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1278664,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/210933223?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!EAzr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!EAzr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!EAzr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!EAzr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd71d5b82-0809-4ca2-b6a7-6deb2be173cf_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Fuel delivery ends at the site. Invoice readiness depends on everything AP needs next.</figcaption></figure></div><p>Cate sent me an email on a Thursday morning.</p><p>She runs billing for a Texas fueling company. One of her largest customers had a specific requirement for how they wanted invoices presented. Not a different price. Not a different product. A different format. The layout the customer&#8217;s AP team expected before they would process payment.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p><em>&#8220;Dibyesh, can we create a bulk invoice in this format?&#8221;</em></p><p>Simple request. Reasonable customer. The kind of thing you do when an account matters enough to go the extra mile.</p><p>The problem was that going the extra mile meant someone on Cate&#8217;s team manually rebuilding the invoice every billing cycle.</p><p>Cate&#8217;s request was not unusual. <strong>It was the fourth version of the same conversation I had heard in two months.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OKvF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OKvF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 424w, https://substackcdn.com/image/fetch/$s_!OKvF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 848w, https://substackcdn.com/image/fetch/$s_!OKvF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 1272w, https://substackcdn.com/image/fetch/$s_!OKvF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OKvF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png" width="1456" height="625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:625,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:971668,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/210933223?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OKvF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 424w, https://substackcdn.com/image/fetch/$s_!OKvF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 848w, https://substackcdn.com/image/fetch/$s_!OKvF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 1272w, https://substackcdn.com/image/fetch/$s_!OKvF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9f4084b-8148-414f-abc0-5da3fc57ec79_1914x822.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Daily fuel deliveries, consolidated into one AP-ready invoice for the billing period.</strong></figcaption></figure></div><h4><strong><br>Four companies. Four different definitions of an acceptable invoice.</strong></h4><p>Garrett at<a href="https://americanpetroleumllc.com"> American Petroleum </a>started serving equipment rental companies. His customer&#8217;s AP team would send the PO number only after receiving the invoice. His billing team had to reopen the invoice, add the PO, generate a new copy, and resend it. Every single time. <strong>Three days lost before the invoice even entered the customer&#8217;s payment workflow.</strong></p><p>Carina is the CFO of an East Coast fuel company. One of her largest customers wanted applicable tax calculated and displayed after every individual delivery line. Not summarized at the bottom the way every accounting system defaults to. Her billing team was manually reworking invoices for that account every billing cycle.</p><p>Andy runs a fuel wholesale operation in Washington state. His B2B customers pull their vehicles into his cardlock facilities, swipe a card, and fuel up. Every transaction is tracked: which card, which vehicle, how many gallons, what time. At the end of the billing period his customers want one invoice. Total gallons. Total charges. And underneath that, the full transaction-level breakdown. Every card swipe. Every vehicle. Every gallon traceable to a specific fueling event.</p><p>QuickBooks sees one invoice. <strong>Andy&#8217;s customer needs one invoice that contains hundreds of individual events.</strong></p><p>At first these looked like four unrelated requests. They were not.</p><blockquote><p><strong>They were four versions of the same operational problem: the rules for getting paid lived in people&#8217;s heads instead of in the system.</strong></p></blockquote><h4><strong>The gap between delivery software and accounting software</strong></h4><p>Generic accounting systems were built around a simple model.</p><p>Customer plus items plus quantity plus price plus tax equals invoice.</p><p>That model works when every customer receives the same invoice format and the only variables are what was sold and at what price.</p><p>Fuel distribution does not work that way.</p><p>The invoice may depend on whether deliveries are billed individually or consolidated. Whether it is organized by customer, by location, by asset, by department, or by PO number. Whether the BOL and delivery ticket are attached. Whether the customer provided a PO before or after delivery. Whether tax appears summarized at the bottom or calculated and displayed after each delivery line. Whether cardlock transactions are consolidated by billing period or broken out by vehicle and card.</p><p>QuickBooks and most general-purpose ERPs can record the final invoice. Ou<strong>t of the box they usually do not know how to combine delivery records, BOLs, cardlock transactions, pricing rules, tax treatment, and account-specific billing instructions into a customer-ready invoice.</strong></p><p>When the system cannot handle the complexity, the billing team absorbs it. Manually. Every billing cycle. For every account that falls outside the default.</p><h4><strong>What that actually costs</strong></h4><p>The manual work is visible. Someone rebuilds Cate&#8217;s bulk invoice. Someone adds Garrett&#8217;s PO number and resends. Someone recalculates Karena&#8217;s tax lines. Someone pulls Andy&#8217;s cardlock transaction history and assembles the consolidated breakdown.</p><p>The cost underneath is less visible.</p><p>In practice, many AP teams will not release an invoice into their payment workflow until all required information and supporting documents are present. If regeneration and resubmission takes three days, that is three days lost before the invoice even entered the customer&#8217;s payment workflow on a delivery that was completed on time.</p><p>Across multiple accounts with multiple billing requirements, that slip compounds. A fuel marketer running significant monthly receivables can have tens of thousands of dollars waiting outside the customer&#8217;s payment workflow not because customers are not paying but because invoices are not ready to be paid.</p><blockquote><p><strong>The delivery was on time. The fuel was correct. The invoice failed the last test before payment.</strong></p></blockquote><h4><strong>What a billing rules engine actually does</strong></h4><p>When Cate sent that email I realized the problem was not a one-off customization request.</p><p>It was a structural gap in how invoicing software thinks about fuel customers.</p><p>We stopped treating these as invoice customizations and started treating them as account-level billing rules.</p><p><strong>In Fueleo, each customer profile defines its billing cadence, consolidation method, required PO fields, tax presentation, supporting documents, transaction detail, and approval requirements. When a delivery is completed, the system already knows what must happen before that invoice can be released.</strong></p><p>Cate&#8217;s consolidated format generates automatically from the customer profile. No manual rebuilding.</p><p>For Garrett, Fueleo generates a preliminary billing document when the delivery is complete. When the customer returns the PO number, it is applied to the final invoice without rebuilding the document or re-entering the delivery data.</p><p>For Karena, tax is calculated and associated with each delivery line, then presented in the exact structure her customer&#8217;s AP team requires. It is not manually moved after invoice generation.</p><p>For Andy, cardlock activity is consolidated into one invoice with a traceable transaction appendix. Every card swipe visible. Nobody assembles it manually.</p><blockquote><p>The accounting system still receives the financial transaction. <strong>Fueleo handles the operational work required to make that transaction billable.</strong></p></blockquote><h4><strong><br>The question worth asking</strong></h4><p>If you are a fuel marketer running accounts with specific billing requirements, one question is worth sitting with honestly.</p><p><em>Where do your customers&#8217; billing rules live today: in your system, or in someone&#8217;s memory?</em></p><p>Because QuickBooks and most general-purpose ERPs do not carry those rules. They record the invoice after the fact. The customer-specific requirements that have to be met before the invoice is ready to go out live somewhere else. Usually in the billing team&#8217;s memory. Usually applied manually. Usually working fine until the person who knows it all is out sick, or leaves, or the account volume grows beyond what one person can handle.</p><p><strong>Customer-specific billing should not require manual billing.</strong></p><p>The fuel was delivered on time. The invoice should be ready the same day, even when every customer wants it differently.</p><p>Cate&#8217;s email was not simply a request for another template. It was evidence of a structural gap between delivery completion and invoice readiness.</p><p>The invoice is the last mile of fuel delivery.</p><p><strong>Most fuel marketers are still walking it by hand.</strong></p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[AI Is Coming to Fuel Distribution. Here Is What I Think It Actually Means for Operators.]]></title><description><![CDATA[Not robots. Not replacing your dispatcher. Something more practical and more valuable than either of those things.]]></description><link>https://www.readthefuelstack.com/p/ai-is-coming-to-fuel-distribution</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/ai-is-coming-to-fuel-distribution</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Fri, 14 Aug 2026 17:08:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!62Fe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!62Fe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!62Fe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!62Fe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!62Fe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!62Fe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!62Fe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1386839,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/211203107?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!62Fe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!62Fe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!62Fe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!62Fe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13f3ce7c-9d7a-4a8e-93b4-ed659f8312aa_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">AI will not replace operators. It will remove the coordination work around them.</figcaption></figure></div><p>I want to be honest about something before I start.</p><p>When most software companies write about AI they are usually trying to sell you something. A new feature. A new platform. A reason to upgrade.</p><p>That is not what this is.</p><p>This is me writing down what I have been thinking about after three years of sitting inside fuel operations, watching how the work actually gets done, and asking myself what changes when AI becomes a real part of that workflow rather than a chatbot bolted onto the side of it.</p><p>Some of this is happening now. Some of it is two or three years away. All of it is worth thinking about before it arrives.</p><h4><strong>The work I keep watching</strong></h4><p>Every fuel operation I visit has the same pattern underneath the surface differences.</p><p>Someone takes an order. Someone checks the price. Someone figures out where to load. A dispatcher decides which driver and truck should run it. The driver gets instructions. The truck loads. A BOL comes back. The fuel gets delivered. Someone verifies the gallons. Someone creates the invoice. Someone checks the taxes. Someone gets it into accounting.</p><p>Then three days later somebody notices the supplier invoice does not match the BOL and the whole thing backs up while someone figures out why.</p><p>None of this work is complicated in isolation. Checking a price is not complicated. Matching a BOL is not complicated. Generating an invoice is not complicated.</p><blockquote><p><strong>The complication is that all of it has to happen in the right order, with the right information, for every single delivery, every single day.</strong></p></blockquote><p>That is coordination work. And coordination work is exactly where AI becomes interesting.</p><h4><strong>What AI is not going to do</strong></h4><p>Before I get into what I think changes, let me say clearly what I do not think happens.</p><p>AI is not going to replace your dispatcher. Not in the next five years and probably not ever in the way people imagine when they hear that word.</p><p>Your dispatcher knows things no software knows. Which driver can handle a difficult customer. Which terminal backs up on Monday mornings. Which customer always changes the order after the truck leaves. That knowledge took years to build and it does not live in any database.</p><p>AI is not going to make decisions that require judgment. It is not going to know that a customer is having a hard month and needs a call from the owner rather than an automated reminder. It is not going to know that a driver is dealing with something at home and should not be pushed on a tight route this week.</p><p><strong>What AI is going to do is take the coordination work off the plate of the people doing the judgment work.</strong></p><p>That is the real opportunity. Not replacement. Subtraction of the work that should never have required a human in the first place.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2oZ0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2oZ0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!2oZ0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!2oZ0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!2oZ0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2oZ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png" width="1448" height="1086" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1086,&quot;width&quot;:1448,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1465262,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.readthefuelstack.com/i/211203107?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2oZ0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 424w, https://substackcdn.com/image/fetch/$s_!2oZ0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 848w, https://substackcdn.com/image/fetch/$s_!2oZ0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 1272w, https://substackcdn.com/image/fetch/$s_!2oZ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a89f61a-2829-46ce-b535-afa17fb374c9_1448x1086.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">AI helps fuel teams manage exceptions, not every transaction.</figcaption></figure></div><h4><strong>What that looks like in a fuel operation</strong></h4><p>Let me make this concrete because I think the abstract version of this conversation is what makes operators tune out.</p><p>Right now when a delivery closes, someone in billing has to gather the information to create the invoice. They pull the delivery record. They verify the gallons. They check the pricing agreement. They look up the tax treatment. They check whether the customer needs a PO number. They generate the invoice. They get it into accounting.</p><p>On a good day that takes a few hours for a full day&#8217;s deliveries. On a bad day, when tickets are missing or prices need to be verified or a customer has a special requirement nobody documented, it takes longer.</p><p><strong>What if the invoice was ready three minutes after the delivery was confirmed?</strong></p><p>Not because someone worked faster. Because the system already knew the pricing agreement, the tax treatment, the customer&#8217;s invoicing requirements, and the BOL matched the delivered gallons within tolerance. All the information was already there. The invoice generated automatically. Someone reviewed the exceptions. Everything else went straight through.</p><p>That is not science fiction. That is where the technology is heading and in some cases where it already is.</p><p><strong>The dispatcher who manages exceptions instead of transactions</strong></p><p>Here is another version of the same idea.</p><p>Today a dispatcher builds every route manually. They know which trucks are available. They know which drivers are on. They know the customer delivery windows. They know the terminal loading times. They hold all of that in their head or in a spreadsheet and they make dozens of small decisions every morning before the first truck rolls.</p><p>What if the system proposed the day&#8217;s dispatch plan automatically based on everything it already knows?</p><p>Not a rigid plan that cannot be changed. A starting point. A plan the dispatcher can review, adjust, and approve in fifteen minutes instead of building from scratch over two hours.</p><p>And when something goes wrong, because something always goes wrong, a driver calls in sick, a terminal goes down, a customer changes their order, <strong>the dispatcher is dealing with the exception from a position of clarity rather than trying to rebuild the entire day while fielding phone calls.</strong></p><blockquote><p><strong>The dispatcher does not disappear. The transaction management does.</strong></p></blockquote><p>What is left is the judgment work. The work that actually requires someone who knows the operation.</p><h4><strong>What the billing team&#8217;s morning looks like</strong></h4><p>Same idea, different department.</p><p>Today a billing team reviews every transaction. Most of them are clean. A small number have issues. But because the system cannot tell which is which, every transaction gets human eyes.</p><p>Tomorrow the system handles the clean ones automatically. The billing team sees only the exceptions. The delivery where the gallons do not match. The invoice where the PO number did not arrive. The customer whose exemption certificate expired.</p><blockquote><p><strong>Instead of reviewing 300 transactions and finding 11 problems, the billing team sees 11 problems and resolves them.</strong></p></blockquote><p>That is a different job. A better job. And it produces faster invoicing, cleaner AR, and less end-of-month scramble because the exceptions were caught at the time of delivery rather than discovered three weeks later.</p><h4><strong>What I think the next few years look like</strong></h4><p>I am not going to pretend I know exactly how this unfolds. Nobody does.</p><p>But based on what I am seeing in the technology and what I know about how fuel operations work, here is my honest read.</p><p><strong>In the next year or two</strong> the change is mostly about reducing the manual coordination work that slows billing, dispatch, and AR down. Invoices that generate automatically when all the conditions are met. Exceptions that surface to the right person at the right time. Supplier invoices that get matched automatically and flagged when they do not agree.</p><p><strong>In the three to five year window</strong> the change gets more interesting. The system starts making recommendations that today require a person. Not final decisions. Recommendations. The pricing engine suggests the best terminal based on margin and availability. The dispatch system proposes the optimal route plan before the dispatcher starts their morning. The inventory system flags a replenishment need before anyone has to notice the tank level.</p><p>The operator is still making the call. <strong>They are just making it from a better starting position with better information.</strong></p><p>The goal is not software that replaces the people running the operation. It is software that handles the routine so the people running the operation can focus on the things that actually require them.</p><h4><strong>The one thing I would tell any fuel operator reading this</strong></h4><p>The operators who will benefit most from what is coming are not the ones who rush to adopt every new AI tool.</p><p>They are the ones who take the time now to document how their operation actually works. The pricing rules. The customer requirements. The dispatch logic. The exception handling.</p><p>Because AI is only as good as the operational knowledge underneath it. A system that understands how your operation works can automate your routine. A system that does not understand your operation will create new problems faster than it solves old ones.</p><blockquote><p><strong>The knowledge Bob carries in his head about which terminals to avoid on Monday mornings is more valuable to an AI system than any algorithm. But only if it gets captured somewhere the system can use it.</strong></p></blockquote><p>That is the work worth doing now. Not evaluating AI platforms. Documenting what you know about your own operation before it walks out the door with the next retirement.</p><p><em><strong>Next issue: Your fuel was delivered. Why is the invoice still not ready?cha</strong></em></p><p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.readthefuelstack.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Nobody Wants to Replace QuickBooks. They Want It to Finally Work for Fuel.]]></title><description><![CDATA[The most common question I hear from fuel marketers is not which system to switch to. It is whether they even need to switch at all.]]></description><link>https://www.readthefuelstack.com/p/nobody-wants-to-replace-quickbooks</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/nobody-wants-to-replace-quickbooks</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 11 Aug 2026 14:00:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeRg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aeRg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aeRg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!aeRg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!aeRg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!aeRg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aeRg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/acd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:202444,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/209745508?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aeRg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!aeRg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!aeRg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!aeRg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Facd88795-4aef-4664-908c-89a3e9adb2a5_1672x941.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The gap is not inside QuickBooks. It is everything that happens before the invoice gets there.</figcaption></figure></div><p>Last month I was sitting with a fuel marketer in Texas.</p><p>QuickBooks open on one screen. A spreadsheet on the other. A stack of delivery tickets beside the keyboard that billing had not gotten to yet.</p><p>I asked how long they had been on QuickBooks.</p><p>Nine years, she said.</p><p>I asked if they had ever thought about switching.</p><p>She laughed.</p><p><em><strong>&#8220;We tried. Spent six months looking. Almost signed with someone. Then we looked at what migration would actually cost and what we would lose and we came back.&#8221;</strong></em></p><p>She pointed at the spreadsheet.</p><p><em><strong>&#8220;So now we have this.&#8221;</strong></em></p><p>That spreadsheet is not unusual. It is the standard solution at mid-market fuel distributors across the country. Built by someone on the team. Maintained by that same person. Quietly holding the operation together in ways nobody fully documented.</p><p>QuickBooks is on the first monitor. <strong>The spreadsheet is doing the actual work on the second.</strong></p><blockquote><p>That is not a QuickBooks problem. That is a workflow problem wearing a QuickBooks problem&#8217;s clothes.</p></blockquote><p></p><h4><strong>What QuickBooks is actually doing right</strong></h4><p>QuickBooks handles the accounting well. General ledger, accounts receivable, accounts payable, bank reconciliation, financial reporting.</p><p>For a fuel marketer who has been on it for years, that foundation matters. The team knows it. The bookkeeper knows it. The accountant can log in without a learning curve.</p><p>That is not nothing. That is years of knowledge embedded in a system that works.</p><p>The problem is not the accounting.</p><p></p><h4><strong>The problem is the ten steps between a fuel delivery and a clean transaction arriving in QuickBooks.</strong></h4><p>Rack price changes intraday. The next day rack starts coming in late afternoon. A delivery at 10am and a delivery at 3pm can carry different prices. Managing that correctly requires a system that understands rack timing.</p><p>Gallons are measured in gross at the terminal and net after temperature correction. Someone has to know which one the customer is being billed on.</p><p>The driver&#8217;s confirmation, the BOL, and the dispatch record all describe the same delivery. They all have to agree before billing can run.</p><p>Tax exemptions vary by customer, by site, by product type. They have to be applied correctly every single time.</p><p>QuickBooks was not designed to coordinate any of that. It was designed to record the result after it happens.</p><p>When a fuel marketer tries to use QuickBooks to manage that coordination, the billing team becomes the integration layer. They gather delivery data. Verify pricing. Apply exemptions. Enter the invoice. Every day. For every delivery.</p><p><strong>That is why billing is broken. Not because QuickBooks is the wrong tool. Because it is being asked to do something it was never built for.</strong></p><p></p><h4><strong>Why switching rarely fixes it</strong></h4><p>The instinct when billing breaks down is to blame the accounting system.</p><p>That instinct leads to ERP evaluations. New platforms that promise to handle everything in one place. Nine-month implementations. Budgets that grow. Go-live weekends where things break at midnight and the team works through it.</p><p>I wrote about Lisa in an earlier issue. She championed a full ERP implementation. Nine months. $240,000. <strong>Eighteen months after go-live, the spreadsheet was still open on the AP manager&#8217;s second monitor.</strong></p><p>The ERP did not fix billing because billing was not broken inside the accounting system. It was broken in the ten steps before the accounting system ever saw the transaction.</p><blockquote><p><strong>Replacing QuickBooks does not fix the workflow that feeds QuickBooks. It just means you are managing the same broken workflow inside something more expensive and less familiar.</strong></p></blockquote><p>And you gave up eight years of financial history to do it.</p><p></p><h4><strong>The question worth sitting with</strong></h4><p>Before the next software evaluation, one question is worth asking honestly.</p><p>Is billing broken because of where the invoice gets recorded? Or because of how it gets created?</p><p>In almost every fuel operation I have visited, the answer is the second one.</p><p>The invoice gets created late, or wrong, or with errors, because the workflow between the delivery and the invoice is manual and disconnected. People are filling the gaps by hand because no system was built to fill them automatically.</p><blockquote><p><strong>Fixing that does not require a new general ledger. It requires an operational layer in front of the general ledger that handles the fuel-specific complexity QuickBooks was never designed for.</strong></p></blockquote><p></p><h4><strong>What that layer actually does</strong></h4><p>The problems that break billing upstream of QuickBooks are consistent across fuel operations.</p><ol><li><p><strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">Pricing.</span> </strong>Rack changes intraday. The correct price at 10am is different from the correct price at 3pm. That has to be applied automatically, not looked up manually after the delivery happens.</p></li><li><p><strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">Delivery confirmation.</span></strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);"> </span>The driver confirms gallons. That confirmation should trigger billing immediately. Not sit in a queue until dispatch closes the load and billing pulls the ticket hours later.</p></li><li><p><strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">Document matching</span>.</strong> The BOL, dispatch record, and supplier invoice describe the same transaction. They need to agree before billing runs. In most operations they live in three different places and someone reconciles them at month-end.</p></li><li><p><strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">Tax and exemption logic</span>.</strong> A customer&#8217;s exemption status varies by site, by product, by monthly volume. That logic needs to live in the system. Not in someone&#8217;s memory.</p></li></ol><p>None of these are accounting problems. <strong>They are operational problems that show up in the accounting system as billing errors and late invoices.</strong></p><p>An operational layer that handles these problems upstream of QuickBooks does not replace the general ledger. It feeds it clean transactions instead of broken ones.</p><p></p><h4><strong>What this looks like in practice</strong></h4><p>Last year Fueleo processed over <strong>$5 million+ in invoices</strong> for our design partner customers with <strong>less than 1.45% sync error rate to QuickBooks.</strong></p><p>Not in a demo. In a live operation. Real deliveries. Real customers. Real invoices syncing cleanly into an accounting system the team already trusted and did not have to replace.</p><p>QuickBooks stayed exactly where it was.</p><p>What changed was what arrived at QuickBooks before anyone in accounting touched it.</p><p>Delivery confirmation triggered billing automatically. Pricing was validated at dispatch, not reconstructed afterward. The BOL matched the dispatch record before the invoice was created. Tax exemptions were applied correctly based on the customer profile.</p><blockquote><p><strong>The accounting team went from spending hours gathering information to spending minutes reviewing exceptions.</strong></p></blockquote><p>That is not a new general ledger. That is a workflow that finally feeds the existing one correctly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!VFnT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VFnT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!VFnT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!VFnT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!VFnT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VFnT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/110dfd0d-d721-4f83-a171-864502653315_1672x941.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:122984,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/209745508?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VFnT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!VFnT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!VFnT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!VFnT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F110dfd0d-d721-4f83-a171-864502653315_1672x941.heic 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"> <strong>The problem starts before QuickBooks.</strong></figcaption></figure></div><h4><strong>The decision that actually matters</strong></h4><p>Most fuel marketers do not need to replace QuickBooks.</p><p>They need to stop asking QuickBooks to do something it was never designed to do.</p><p>The general ledger is fine. The workflow feeding it is not.</p><p>Fixing the workflow does not mean tearing out the accounting system and starting over. It means building the layer in front of it that handles pricing, delivery confirmation, document matching, and tax logic before QuickBooks ever sees the transaction.</p><p><strong>Smaller than an ERP implementation. Faster. Less expensive. No migration. No learning curve. No eight years of history lost.</strong></p><p><strong>Garrett Daley</strong>, owner of <a href="https://americanpetroleumllc.com">American Petroleum</a>, said it directly.</p><p><em><strong>&#8220;QuickBooks does what QuickBooks does. Our problem is everything that has to happen before QuickBooks can do its job.&#8221;</strong></em></p><p>He was right. And once he understood that, the decision about what to build became clear.</p><p>The accounting system was never the problem.</p><p><strong>It was everything that had to happen before QuickBooks could do its job.</strong></p>]]></content:encoded></item><item><title><![CDATA[The Equipment Rental Account Looked Simple. The Invoice Said Otherwise.]]></title><description><![CDATA[The customers who look easiest to serve are sometimes the ones whose back office requirements you find out about after the first delivery.]]></description><link>https://www.readthefuelstack.com/p/the-equipment-rental-account-looked</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/the-equipment-rental-account-looked</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 04 Aug 2026 14:03:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pKNm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pKNm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pKNm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!pKNm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!pKNm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!pKNm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pKNm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1575389,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/209716260?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pKNm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!pKNm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!pKNm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!pKNm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0c1d5917-2865-4611-a32e-308160fee78a_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Simple delivery. Hidden requirements. Delayed cash.</strong></figcaption></figure></div><p></p><p>I have talked to enough fuel marketers serving equipment rental companies to know how this conversation usually goes.</p><p>The sales call goes well. The account looks clean. Rental company needs fuel delivered to their job sites. Fuel marketer shows up, delivers, sends an invoice. Rental company pays, marks up the fuel to their customer, everyone moves on.</p><p>That is the story in the sales meeting.</p><p>Here is what happens after the first delivery.</p><h4><strong>The invoice goes out. Then the PO arrives.</strong></h4><p>The sales call goes well. The account looks clean. Rental company needs fuel delivered to their job sites. Fuel marketer shows up, delivers, sends an invoice. Rental company pays, marks up the fuel to their customer, everyone moves on.</p><p>That is the story in the sales meeting.</p><p>Here is what happens after the first delivery.</p><h4><strong><br>The invoice goes out. Then the PO arrives.</strong></h4><p>The driver delivers. Everything goes right. Gallons match. Ticket is legible. Invoice goes out same day.</p><p>Then the rental company&#8217;s AP team responds.</p><p>Not with payment. With a PO number.</p><p>A purchase order their team generated after the delivery, which needs to appear on the invoice before their system will touch it.</p><p>Billing pulls the invoice, adds the PO, regenerates, resends.</p><p><strong>The delivery was right. The invoice was right. The only thing missing was a number that did not exist when the invoice was created.</strong></p><p>Payment terms do not start until the corrected invoice lands in AP.</p><p>Let&#8217;s say you have five equipment rental accounts. Each averages fifteen deliveries a month at $2,500 per invoice.</p><p>That is 75 invoices a month. $187,500 in monthly receivables.</p><p>If every invoice requires a PO correction cycle that adds three days before payment terms start, you are carrying $18,750 in delayed receivables every month before the customer has even looked at the invoice.</p><p><strong>That is $225,000 a year sitting in a correction queue.</strong></p><p>Not because customers are not paying. Because the invoice was not ready to be paid.</p><blockquote><p><strong>Not a collections problem. A workflow problem that shows up in the aging report.</strong></p></blockquote><p></p><h4><strong>Why this happens specifically with rental companies</strong></h4><p>Most fuel distribution customers generate PO numbers before the order is placed. The PO exists when the order is created. Invoice references it. Done.</p><p>Equipment rental companies work differently.</p><p>Their fuel subcontracting is operationally driven. A site manager decides machines need fuel. They call the rental company. The rental company calls the fuel marketer. The fuel gets delivered. Procurement catches up afterward.</p><p>What most fuel marketers do not realize is that <strong>the rental company is not just passing the invoice through. They are marking up the fuel and billing it to their own customer as an ancillary revenue line.</strong></p><p>A delayed or incorrect invoice from the fuel marketer does not just slow their payment. It delays their invoice to their customer too.</p><p><strong>The problem travels upstream.</strong></p><h4><strong>The line item problem nobody mentions</strong></h4><p>Equipment rental companies need fuel cost and delivery charge as separate line items for their own tax treatment.</p><p>If the fuel marketer sends one combined line, the AP team has to split it manually before they can process it.</p><p>One more invisible step. One more reason the invoice takes longer to move.</p><h4><strong>The asset detail request</strong></h4><p>The fuel marketer delivered 800 gallons to a construction site.</p><p>But the rental company needs to know how many gallons went into the excavator, how many into the generator, how many into the light tower.</p><p>Not because they are being difficult. Because they already track every hour of use on every piece of equipment they rent and bill their customers at the asset level. Fuel is one of twelve revenue streams in a rental operation and each one has its own billing logic.</p><blockquote><p><strong>The fuel marketer is the only vendor not delivering data at that level of detail.</strong></p></blockquote><p>The driver delivered to a site. He did not track by asset. The ticket shows total gallons at a location. Someone now has to reconstruct the breakdown from memory or make an estimate.</p><h4><strong>All three problems share the same root cause</strong></h4><p>The billing requirements were never captured before the first truck rolled. They were discovered through rejection.</p><p>Every equipment rental account is different. But the fix flows in the same direction every time.</p><p><strong>The PO requirement</strong> needs to be captured at account setup, not discovered at invoice rejection. If this customer generates PO numbers post-delivery, the invoice should sit in a billing-ready state until the PO is collected. Not sent blank and corrected later.</p><p><strong>The asset-level detail</strong> needs to flow backward into dispatch before the driver arrives. If the rental company needs gallons by asset, the dispatch record needs the asset list before the driver arrives at the site, not just the address. The driver records gallons by asset at the point of delivery. Not reconstructed afterward from memory.</p><p><strong>The line item format and compliance requirements</strong> belong in the account profile at setup. Every document the customer needs, every format requirement their AP team has, every certification a site requires, should be visible to billing and dispatch before the first delivery happens.</p><p>None of these are complicated fixes. They all require one thing:</p><blockquote><p><strong>Billing requirements flowing backward into the dispatch workflow instead of being discovered forward through invoice rejections.</strong></p></blockquote><h4><strong>The question nobody asks in the sales conversation</strong></h4><p><em>Walk me through how your AP team processes a fuel invoice.</em></p><p>That one question surfaces the PO requirement, the line item format, the asset-level data expectation, and the compliance documentation before the first delivery. The account works the way the sales conversation described.</p><p>Wait until the first invoice comes back and you are three weeks into a correction cycle that was entirely avoidable.</p><p><strong>The equipment rental company is a good account. The happy path is real. You just have to ask about the other path before you start driving.</strong></p>]]></content:encoded></item><item><title><![CDATA[Bob Has Been Dispatching for Forty Years. Here Is What Building for Him Actually Looks Like.]]></title><description><![CDATA[The best software decisions I have made came from watching someone work before I touched a single feature.]]></description><link>https://www.readthefuelstack.com/p/bob-has-been-dispatching-for-forty</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/bob-has-been-dispatching-for-forty</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 28 Jul 2026 14:31:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!j0tt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!j0tt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!j0tt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j0tt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j0tt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j0tt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!j0tt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg" width="1672" height="941" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:941,&quot;width&quot;:1672,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:255786,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/208732223?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef31481f-f9de-411f-a1ef-9957224c7459_1672x941.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!j0tt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 424w, https://substackcdn.com/image/fetch/$s_!j0tt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 848w, https://substackcdn.com/image/fetch/$s_!j0tt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!j0tt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f71a730-8588-4c38-8c47-0d31971919f9_1672x941.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><em>Bob. Forty years of dispatch. Three minutes to solve what took me seven to understand.</em></figcaption></figure></div><p>The phone rang before Bob finished his sentence.</p><p>He picked it up, said a few words, looked at the load chart on his screen, moved a station from one split to another, changed the compartment assignment on the truck, and called the driver.</p><p>Three minutes. Maybe less.</p><p>I needed another fifteen minutes afterward just to understand everything that one decision had touched.</p><p>That was my introduction to how Bob dispatches fuel in East Texas.</p><h4><strong>The office</strong></h4><p>Bob is seventy four years old. He has been running dispatch and operations at this common carrier for four decades. His desk had two monitors, a printed load sheet beside the keyboard, and a phone that did not stay quiet for long. Driver names highlighted in different colors. Terminal notes written in the margins. A stack of dispatch packets waiting to be printed.</p><p>The spreadsheet on his left monitor had forty years of revisions. New colors. New tabs. Notes tucked into cells referencing decisions made years ago. It had grown alongside the operation. You could almost read the company&#8217;s history in it.</p><p>I had expected whiteboards and sticky notes and a system that mostly lived in someone&#8217;s head.</p><p>What I found was something more interesting. Bob had turned four decades of experience into a visual system that other people could follow.</p><blockquote><p>The spreadsheet was not for him. He already knew the answers. <strong>It was for everyone else.</strong></p></blockquote><h4><strong>What four decades actually looks like</strong></h4><p>Bob started dispatching when everything was paper. Load sheets written by hand. Delivery tickets carried back by the driver at the end of the shift. Customer calls taken on a landline with a notepad on the desk.</p><p>At some point the fax machine changed things. Then spreadsheets changed things.</p><p>But the core of the job never changed.</p><p>Knowing the trucks. Knowing the terminals. Knowing the drivers. Knowing which station needs to be hit first and why. Knowing that one customer always changes the order after the packet is printed and that one terminal backs up by 10am on Fridays.</p><p><strong>The tools got faster. The judgment stayed the same.</strong></p><p>I asked Bob if he had looked at dispatch software before.</p><p>He had. More than once.</p><p><em>&#8220;The demos always looked clean,&#8221;</em> he said. <em>&#8220;The reality always looked different. The systems wanted me to work the way they were built. They did not know how my terminals worked, how my drivers worked, or why certain stations had to be delivered in a certain order.&#8221;</em></p><p>So the spreadsheet survived. Every time.</p><p>Not because Bob was resistant to change. Because nothing he had seen was built around how the job actually works.</p><h4><strong>The morning before the first truck rolls</strong></h4><p>Before I arrived I thought the hardest part of common carrier dispatch was routing. Getting trucks to the right places in the right order.</p><p>Sitting with Bob changed that.</p><p>The hard part is everything that changes after you think you have the plan.</p><p>A driver calls in sick. The terminal runs out of premium. A customer adds 1,500 gallons after the packet is already printed. Bob crossed out the original quantity that morning, rewrote the compartment split by hand, and called the driver because the paper packet was now wrong before the truck had even left the yard.</p><p>One small change does not stay small. <strong>One compartment reassignment touches three loads. One late driver shifts two routes. One terminal running slow pushes the whole day back.</strong></p><p>And all of it lands on Bob&#8217;s desk before 7am.</p><h4><strong>The load chart</strong></h4><p>The first thing Bob walked me through was the load chart.</p><p>Every truck broken down by compartment. Product assigned to each slot. Gallon capacity. Delivery sequence.</p><p>Before I understood what I was looking at I thought it was about truck capacity. It was not. <strong>It was also a training document, a quality control check, and a communication tool rolled into one.</strong></p><p><em>&#8220;I have a mix of new and old drivers,&#8221;</em> Bob said. <em>&#8220;The experienced ones know the trucks. They load and go. The new ones are still figuring things out. This chart tells them exactly which product goes in which compartment. I do not want a new driver putting diesel in the wrong compartment because nobody told them clearly.&#8221;</em></p><p>An experienced driver looked at a list of customer names and already knew the likely sequence, the terminal, the compartment setup. A new driver needed every detail written out. The same dispatch packet had to work for both.</p><p>Without the chart, the calls started.</p><p><em>&#8220;Bob, which compartment is diesel again?&#8221;</em></p><p><em>&#8220;Bob, am I loading at Mount Pleasant or Tyler?&#8221;</em></p><p><em>&#8220;Bob, which station do I hit first?&#8221;</em></p><p><strong>Every one of those calls interrupted dispatch.</strong> The load chart was Bob&#8217;s way of answering those questions before they got asked.</p><p>Bob knew his drivers the way a coach knows a roster. He knew which driver could handle a complicated split load without calling in. He knew which driver needed the terminal written at the top of the packet in large letters because he had missed it before. He knew which driver would push back on a sequence change and which one would just figure it out.</p><p>That knowledge was not in any system. It lived in Bob.</p><h4><strong>The split load logic</strong></h4><p>The second thing Bob showed me was how he groups his gas stations.</p><p>Not alphabetically. Not by account number. By proximity to each other and by which terminal serves them.</p><p><em>&#8220;Split loads,&#8221;</em> he said. <em>&#8220;If I know which stations are close together and which terminal serves them, I can plan a split load in about two minutes. Group the stations, match the terminal, figure out the compartment breakdown, done.&#8221;</em></p><p>I initially thought this was a routing problem. Bob showed me it was equally a terminal problem, a compartment problem, a product problem, and a driver-familiarity problem all at once.</p><p>The groupings in that spreadsheet were not random. <strong>They were the result of thousands of routes, dozens of terminal relationships, and forty years of learning which combinations worked and which ones created problems later in the day.</strong></p><h4><strong><br>What happens when Bob takes a vacation</strong></h4><p>I asked him what happens when he takes a week off.</p><p>He smiled.</p><p><em>&#8220;I don&#8217;t.&#8221;</em></p><p>Not complaining. Just stating something that had become true over time.</p><p>I pushed a little. What would actually happen if he did?</p><p><em>&#8220;They call me anyway.&#8221;</em></p><p>Then I asked him what he wanted the operation to look like in five years.</p><p>He thought about it for a moment.</p><p><em>&#8220;I want whoever does this job after me to be able to do it right. Not have to call me every five minutes because something is not written down anywhere.&#8221;</em></p><p>He paused.</p><p><em>&#8220;Forty years is a long time to carry something. At some point it should live somewhere else.&#8221;</em></p><blockquote><p>Bob was never the bottleneck. <strong>Bob was the system.</strong> The spreadsheets existed because nothing had ever been built to hold what he knew. So he carried it. Every day. For forty years.</p></blockquote><h4><strong><br>What the visit changed about the design</strong></h4><p>I spent the first morning tracing Bob&#8217;s process rather than showing him anything. We took one real load and followed it from customer order to terminal selection, compartment assignment, driver instruction, delivery sequence, and printed packet. Every time Bob left the main spreadsheet to check another file, make a phone call, or write something by hand, we marked it.</p><p><strong>That exercise changed the design completely.</strong></p><p>We stopped treating a dispatch as a simple order assigned to a driver. The operating unit had to include the truck, the compartments, the terminal, the product split, the sequence, the certifications, and the driver instructions, all connected to the same record.</p><p>Later I watched a driver review his packet before leaving. He did not read it top to bottom. He looked first for the terminal, then the compartment split, then the stop sequence. That changed how we structured the mobile load screen.</p><p>Not every decision belonged in an automated rule. Bob knew one customer disliked late afternoon deliveries. Another site was difficult for a newer driver to navigate. Some knowledge could be structured. <strong>Some needed to stay visible as context the dispatcher could see and act on.</strong></p><p>The system now flags an expired TCEQ certification before Bob assigns the load instead of relying on him to check a second spreadsheet every morning. It shows Bob&#8217;s station groupings, preferred terminals, and compartment logic so a new dispatcher can see the decisions without calling Bob for every one of them. Driver instructions attach directly to the load so the questions that used to require a phone call get answered before the driver asks them.</p><blockquote><p><strong>The goal was never to replace what Bob knows. It was to make sure that knowledge does not disappear the day he finally takes a vacation.</strong></p></blockquote><h4><strong><br>The thing I keep coming back to</strong></h4><p>Every common carrier has a Bob.</p><p>Sometimes he is the dispatcher. Sometimes she is the billing manager. Sometimes it is the owner who has not taken a real week off in fifteen years.</p><p>Somewhere in every operation is one person carrying decades of unwritten knowledge the business quietly depends on.</p><p>Great software does not replace that person.</p><p><strong>It makes sure the operation can still run on the day they finally do.</strong></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Collections Team Was Doing Everything Right. The System Was Making Sure It Didn't Matter.]]></title><description><![CDATA[In fuel distribution, overdue invoices often start long before collections, with missing POs, delayed billing, unresolved credits, and fragmented delivery records.]]></description><link>https://www.readthefuelstack.com/p/the-collections-team-was-doing-everything</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/the-collections-team-was-doing-everything</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 21 Jul 2026 14:30:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qdGT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qdGT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qdGT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!qdGT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!qdGT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!qdGT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qdGT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148204,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/207744572?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qdGT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!qdGT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!qdGT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!qdGT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1465ee9f-1c5e-4f90-ab03-0b53ff974feb_1672x941.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Overdue invoices often start long before collections, with missing POs, unresolved credits, billing delays, and fragmented delivery records.</figcaption></figure></div><p></p><p>Monica had the aging report open on her second monitor when I walked in.</p><p>Color-coded. Yellow for 30 days. Orange for 45. Red for 60. Dark red for 90.</p><p>There was a lot of dark red.</p><p>I asked her how she decides where to start each morning.</p><p><em>&#8220;We focus on the 90-plus day accounts first,&#8221;</em> she said. <em>&#8220;By the time we get to 30 or 60 days, the day is already gone.&#8221;</em></p><p>That stopped me. Most operations I visit begin active collections around 30 days past due. Monica&#8217;s team was not getting to accounts until they were three months overdue. Not because they did not care. Because they did not have time.</p><p>When I asked what was consuming the rest of it, she pulled up her task list.</p><p>Manual aging reports run in QuickBooks. Manual follow-up emails written from self-made templates that escalate in tone over time. Monthly statements manually generated, saved, and emailed to each customer. COD credit card authorizations routed to AR and processed by hand. ACH payments initiated by emailing Treasury with invoice details, waiting for two approvals, and confirming through the next day&#8217;s report.</p><p>By Monica&#8217;s estimate, <strong>70 to 80 percent of her team&#8217;s working time went to manual administrative work.</strong></p><p>Not collections. Not relationship management. Not the judgment calls that require someone who knows the customer. <strong>Administrative tasks that a well-designed workflow could handle automatically.</strong></p><div><hr></div><h4><strong>What upstream actually means</strong></h4><p>In fuel operations, an overdue invoice may have started failing weeks earlier. During customer setup. At order entry. In delivery documentation. In pricing. In credit processing. By the time it reaches collections it has already traveled through several hands, and the reason it is outstanding is rarely obvious to the person making the call.</p><p>Monica walked me through two accounts sitting in the dark red.</p><p>One invoice had a pricing error the customer caught before paying. <strong>The invoice used the wrong contract differential.</strong> The customer placed it on hold pending a credit. The credit request sat in billing for eight days. Monica&#8217;s team called at day 45 with no visibility into the open credit. The rep transferred the call, found the right person, and called the customer back two days later. By then the account was nearly 60 days old and the customer had explained the same problem twice.</p><p>And the one that made Monica close her eyes before she pulled it up.</p><p>A large fleet customer required a PO number on every invoice before their AP team could process it. The requirement had existed since the account was opened, but it was never captured in the customer&#8217;s billing profile. The invoice went out without one.</p><p>Monica&#8217;s team called at day 30. Waiting on a corrected invoice. Day 45. Same answer. Day 60. Escalated to the sales rep. Sales rep called the customer. Customer explained the PO requirement again. Sales rep emailed billing. Billing emailed the account setup team.</p><p>The invoice had been chased for months across four people before anyone understood what was actually wrong.</p><p><em>&#8220;That account,&#8221;</em> Monica said, <em>&#8220;has been sitting since January.&#8221;</em></p><p><strong>Months of follow-up calls and internal escalations for a piece of information that should have been captured the day the account was created.</strong></p><blockquote><p><strong>The customer was not refusing to pay. The invoice was not ready to be paid.</strong></p></blockquote><h4><strong>The context gap</strong></h4><p>Monica showed me what her team sees when they call a customer.</p><p>Invoice number. Amount. Days outstanding. Customer name.</p><p>Then she showed me what they cannot see.</p><p>Whether there is an open credit tied to the invoice. Whether the customer already contacted billing about a dispute. When the delivery was completed, when billing finalized the invoice, and when the customer actually received it. Whether the customer has a PO requirement that was never captured in their billing profile.</p><p><em>&#8220;We are calling customers about problems we do not fully understand yet,&#8221;</em> she said. <em>&#8220;And the customer has to explain it to us. Every time.&#8221;</em></p><p>The problem was not simply that the company used several systems. <strong>The problem was that no system carried the context of an invoice from delivery through payment.</strong></p><p>Credits lived in a queue Monica&#8217;s team could not see. Disputes were tracked in a spreadsheet one person maintained. Customer-specific billing requirements lived nowhere at all.</p><p>So a rep calling at day 45 was calling blind. She knew the invoice was outstanding. She did not know it had been on hold for three weeks. She did not know the customer had already emailed billing twice.</p><p><strong>That call did not collect anything.</strong> It confirmed that Monica&#8217;s team was the fourth group of people the customer had talked to about a problem that should have been resolved in week one.</p><h4><strong>What a connected workflow looks like</strong></h4><p>Before a collections rep dials a 45-day account she should be able to see:</p><p><strong>When was the delivery completed and when was the invoice actually sent?</strong></p><p><strong>Is there an open credit, its current owner, and the next required action?</strong></p><p><strong>Does this customer require a PO number and has it been validated on this invoice?</strong></p><p><strong>Is the invoice currently blocked and who owns the resolution?</strong></p><p><strong>The first call can become a resolution call instead of another discovery call.</strong> Context replaces confusion. Monica&#8217;s team stops being the fourth person and starts being the one who actually resolves it.</p><h4><strong>Where agentic workflow comes in</strong></h4><p>This is where workflow intelligence becomes useful. Not by replacing the collections rep. Not by adding another system to check. <strong>But by preventing incomplete invoices from reaching collections in the first place and surfacing unresolved exceptions before the rep picks up the phone.</strong></p><p>An agentic workflow operates continuously across the delivery-to-cash chain. It does not wait for a human to run a report or notice a problem. It watches the workflow, checks conditions against account rules, surfaces exceptions to the right people, and routes action to whoever owns the next step.</p><p>In the context of Monica&#8217;s operation that looks like this.</p><p>When a customer account requires a PO, that requirement is captured in the billing profile at account setup. When an order is placed for that customer without a valid PO, the workflow catches it before the invoice goes out. Not after months of follow-up calls. <strong>The exception is flagged and routed to the responsible team while there is still time to fix it cleanly.</strong></p><p>When an invoice has an open credit or pricing dispute, the workflow surfaces the issue, its current owner, and the next required action alongside the aging record. The collections rep sees it before dialing. <strong>The call starts with context instead of confusion.</strong></p><p>When monthly statements need to go out, the workflow generates and distributes them automatically. Monica&#8217;s team does not spend hours pulling, saving, and emailing.</p><p><strong>The agentic workflow does not make the collections call. It makes sure that when Monica&#8217;s team picks up the phone they understand why the invoice is outstanding before the customer has to explain it again.</strong></p><p>At Fueleo we built this into Leo, Fueleo&#8217;s AI workflow assistant, which operates across the procure-to-pay and order-to-cash workflows for fuel marketers. The PO validation. The credit surface. The exception routing. The automated statements. All of it running continuously in the background so the collections team can focus on the work that actually requires human judgment.</p><p>Monica&#8217;s January account would have been caught in week one. Not months later.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!B6iG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!B6iG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 424w, https://substackcdn.com/image/fetch/$s_!B6iG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 848w, https://substackcdn.com/image/fetch/$s_!B6iG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!B6iG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!B6iG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg" width="1684" height="1212" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1212,&quot;width&quot;:1684,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:294492,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/207744572?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8b413afb-fbda-4471-bb14-e5412d2476d4_1684x1236.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!B6iG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 424w, https://substackcdn.com/image/fetch/$s_!B6iG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 848w, https://substackcdn.com/image/fetch/$s_!B6iG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!B6iG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6defac00-25c1-44f8-aa58-f985446f5bee_1684x1212.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Leo AI, Fueleo&#8217;s AI workflow agent, watches the delivery-to-cash process, catches exceptions early, and routes the next action before collections has to guess.</figcaption></figure></div><p></p><h4><strong>The question worth asking this week</strong></h4><p>Pull your ten oldest outstanding invoices.</p><p>For each one ask three questions:</p><p><strong>Why is it still outstanding?</strong></p><p><strong>Who owns the next action?</strong></p><p><strong>When did the company first know about the blocker?</strong></p><p>Then ask whether your collections team can answer those three questions without calling billing, dispatch, sales, or the customer.</p><p>If the answer is no, the problem is not collections. <strong>The workflow is creating more exceptions than the team can resolve.</strong> And no escalation template or collections cadence will fix what is being created upstream.</p><p>As I was leaving Monica said something that stayed with me.</p><p><em>&#8220;I have a great team. I just wish the rest of the company understood what they were sending us to fix.&#8221;</em></p><p><strong>You cannot ask collections to recover cash from invoices the rest of the operation never made collectible.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[QuickBooks Was Not the Problem. The Path to QuickBooks Was.]]></title><description><![CDATA[What working with American Petroleum taught me about building around the system operators already trust instead of replacing it.]]></description><link>https://www.readthefuelstack.com/p/quickbooks-was-not-the-problem-the</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/quickbooks-was-not-the-problem-the</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Thu, 16 Jul 2026 14:02:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!P6sT!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F010ab553-207d-46bf-b7a8-c542449c1975_301x301.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I started working closely with Garrett Daley at American Petroleum, the first thing I expected to hear was that QuickBooks was failing them.</p><p>That is what I hear from a lot of fuel marketers. The accounting system is slow. The invoices do not match the deliveries. The billing team spends half their day reconciling paperwork that should have been in the system already. And eventually someone in leadership says the words that start a very expensive conversation: maybe we need to replace QuickBooks.</p><p><strong>Garrett never said that.</strong></p><p>What he said, about three months into our conversations, was something more specific and more honest.</p><p><em><strong>&#8220;QuickBooks does what QuickBooks does. Our problem is everything that has to happen before QuickBooks can do its job.&#8221;</strong></em></p><p>That one sentence changed how I thought about what we were building.</p><h4><strong>What QuickBooks was actually doing</strong></h4><p>American Petroleum was not running a broken accounting system. They were running a capable one that was being asked to do something it was never designed for.</p><p>QuickBooks was handling customer records, invoices, accounts receivable, payments, bank reconciliation, and financial reporting. For a mid-market fuel marketer that has been on the platform for years, that is not a small thing. Their accounting team knew it. Their accountants knew it. Years of customer balances, payment history, and financial records lived inside it.</p><p>Replacing that to solve an operational problem would have been like tearing out a working foundation because the rooms upstairs needed renovation.</p><p><strong>The accounting was not broken. The path to the accounting was.</strong></p><h4><strong>What that path actually looks like</strong></h4><p>A fuel invoice looks simple from the outside. Customer received gallons. Price applied. Invoice sent.</p><p>Here is what actually has to happen before that invoice exists.</p><p>Someone has to confirm which customer placed the order and which of their delivery sites it is going to. Which product. Which truck. Which driver. Where the truck loaded. What the supplier cost was at that terminal on that day. How many gallons were ordered versus how many were actually delivered. Which pricing agreement applied, rack plus margin, cost plus, fixed contract, or something negotiated six months ago that lives in someone&#8217;s email. Whether there is a freight charge, a minimum delivery fee, an after-hours surcharge. Which fuel taxes apply. Whether the customer or that specific delivery site has a tax exemption. Whether the signed delivery ticket exists. Whether the BOL is attached.</p><p>Only after all of that does it become an invoice.</p><p><strong>QuickBooks can record the invoice. It cannot coordinate the events that create it.</strong></p><p>That distinction is the gap where most fuel marketing billing problems actually live. Not in accounting. In the ten steps before accounting ever sees the transaction.</p><h4><strong>What was breaking at American Petroleum</strong></h4><p>The field operation and the accounting workflow were disconnected.</p><p>Drivers completed deliveries. Dispatch knew what had been scheduled. Paper tickets contained some of the final information. Text messages contained other details. Pricing might exist in a spreadsheet, an email, or the billing manager&#8217;s memory from a conversation with the customer three months ago.</p><p>Billing then had to gather all of it together before a single invoice could go out.</p><p>When one item was missing, the invoice waited. When a driver&#8217;s handwriting was unclear, the invoice waited. When the delivered quantity did not match the original order, the invoice waited. When the pricing rule was ambiguous, the invoice waited.</p><p>Garrett&#8217;s billing team was not slow. They were capable and organized. They were just spending most of their time doing something that should not have been their job: assembling the delivery story from fragments scattered across three systems, two paper packets, and a group text.</p><blockquote><p>The billing team was not the bottleneck. The missing operational layer was.</p></blockquote><h4><strong>Why we did not replace QuickBooks</strong></h4><p>When we started building Fueleo around American Petroleum&#8217;s operation, the decision not to replace QuickBooks was deliberate.</p><p>Not because QuickBooks has no limits. It does. It is not a fuel dispatch system. It does not manage driver workflows or capture BOLs as part of a structured delivery record. It cannot calculate rack-based pricing or handle complex tax exemption logic. It cannot show you the difference between gallons delivered and gallons invoiced at any given moment.</p><p>But none of those limitations are reasons to replace an accounting system the team already trusts and already knows.</p><p><strong>They are reasons to build the operational layer that sits in front of it.</strong></p><p>The workflow we designed became:</p><div class="callout-block" data-callout="true"><p><em><strong>Order &#8594; Dispatch &#8594; Delivery &#8594; Documentation &#8594; Pricing &#8594; Invoice &#8594; QuickBooks</strong></em></p></div><p>Fueleo manages the fuel-specific process. QuickBooks remains the accounting system of record. Each platform does the work it is actually built for.</p><p></p><h4><strong>What changed at American Petroleum</strong></h4><p>The biggest improvement was not faster invoicing in isolation. It was the reduction of the operational friction that was making invoicing slow.</p><p>Before the workflow was connected, billing required several hours of manual work each day. The team collected delivery information, reviewed tickets, verified quantities, applied pricing, added fees, and entered invoices one by one.</p><p>After the workflow was connected, most of that data was already present by the time billing reviewed the delivery. The process became:</p><p>Review the completed delivery. Resolve any exception. Approve the invoice. Sync to QuickBooks.</p><p>Invoices went out closer to the delivery date. The billing team spent less time entering data. Management could finally see the difference between what had been delivered and what had been invoiced, in real time, without asking anyone.</p><p>Last year, <strong>Fueleo processed over $5 million in invoices for our design partner customers with less than 1.45% sync error rate to QuickBooks.</strong></p><blockquote><p>That number is not a demo metric. It is a live operation, real deliveries, real customers, real invoices, syncing cleanly into an accounting system the team already trusted and did not have to replace.</p></blockquote><p>QuickBooks stayed exactly where it was. The operation around it became something different.</p><h4><strong>The thing Garrett said that I keep coming back to</strong></h4><p>Toward the end of one of our early conversations, Garrett said something I have repeated probably a hundred times since.</p><p><em><strong>&#8220;Same-day invoicing is not an accounting feature. It is what happens when the rest of the operation is running right.&#8221;</strong></em></p><p>He was correct. Same-day invoicing is not created by adding a button inside QuickBooks. It requires the order to be structured correctly before the truck leaves. It requires the driver to capture the final gallons at the delivery site. It requires the ticket to exist and be legible. It requires the pricing rule to be known before dispatch, not reconstructed by billing after the fact.</p><blockquote><p><strong>Same-day invoicing is the result of a connected operation. The accounting system just records what a connected operation produces.</strong></p></blockquote><p></p><h4><strong>What this means for mid-market fuel marketers</strong></h4><p>Large fuel companies have the budget and staff for a full ERP replacement. Small operators can manage with QuickBooks and a few spreadsheets. Mid-market fuel marketers are caught between those two worlds. Complex enough that basic accounting workflows create constant friction. Not quite large enough to justify tearing out the financial system and starting over.</p><p>That gap is where Fueleo fits.</p><p>Not as a replacement for what already works. As the operational layer that makes what already works actually work for a fuel business.</p><h4><strong>QuickBooks keeps the books.</strong></h4><h4><strong>Fueleo connects the work that creates them.</strong></h4><p><em>Next issue: The collections team was doing everything right. The system was making sure it did not matter.</em></p><div class="callout-block" data-callout="true"><p><strong>About the author</strong></p><p><em>I&#8217;m Dibyesh G., founder of Fueleo. I spend my time talking to fuel marketers about the operational problems hiding between their field operations and their accounting systems. This newsletter is where I write about what I find.</em></p></div>]]></content:encoded></item><item><title><![CDATA[I Went to Denver Looking for a Dispatch Problem. I Found an Outlook Calendar.]]></title><description><![CDATA[What a fuel operator taught me about looking past the workflow that looks broken and finding the one that actually costs money.]]></description><link>https://www.readthefuelstack.com/p/i-went-to-denver-looking-for-a-dispatch</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/i-went-to-denver-looking-for-a-dispatch</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 14 Jul 2026 14:30:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!TdF9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!TdF9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!TdF9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 424w, https://substackcdn.com/image/fetch/$s_!TdF9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 848w, https://substackcdn.com/image/fetch/$s_!TdF9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 1272w, https://substackcdn.com/image/fetch/$s_!TdF9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!TdF9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic" width="1200" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/22032433-147e-4658-b27c-42e8e7579486_1200x800.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:310105,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/204703689?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!TdF9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 424w, https://substackcdn.com/image/fetch/$s_!TdF9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 848w, https://substackcdn.com/image/fetch/$s_!TdF9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 1272w, https://substackcdn.com/image/fetch/$s_!TdF9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F22032433-147e-4658-b27c-42e8e7579486_1200x800.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Colorado, 2024. The trip that challenged my assumptions about fuel dispatch and changed the problem I decided to solve.</strong></figcaption></figure></div><p>In 2024 I flew to Denver to visit my friend Pete.</p><p>Pete runs a fueling company. He knows everyone in the industry and his opinion carries weight because he has been inside more fuel operations than most people will see in a career. When he offered to take me to see a friend who ran a bigger operation, I said yes immediately.</p><p>I went in thinking I knew what I was going to find.</p><p>Dispatch was the problem. I had been thinking about it for months. Mid-market fuel distributors running routes on whiteboards and phone calls. Drivers showing up to sites without clear instructions. Loads getting missed. Customers calling to find out where their fuel was.</p><p>I was going to see it in the field and it was going to confirm everything I had been thinking.<br></p><h4><strong>The Outlook calendar</strong></h4><p>We walked into the dispatch office and the owner pulled up his screen.</p><p>It was an Outlook calendar.</p><p>Every driver had the app on their phone. Recurring orders were scheduled in advance. The owner could see the day&#8217;s routes at a glance. Drivers knew their stops before they left the terminal.</p><p>I asked him about it.</p><p><em><strong>&#8220;It works for us,&#8221;</strong></em><strong> he said. </strong><em><strong>&#8220;Every driver has it. Easy to maintain recurring orders. We have been doing it this way for years.&#8221;</strong></em></p><p>He was not embarrassed. He was not describing a workaround he hoped to replace someday. He was describing a system that worked.</p><p>And he was right. Fuel was going out on time. Customers were getting their deliveries. Drivers knew where they were going.</p><blockquote><p><strong>The dispatch problem I flew to Denver to confirm did not exist.</strong></p></blockquote><p>I flew home with a lot to think about.</p><h4><strong>What I got wrong</strong></h4><p>I had made the mistake that is easy to make when you are building software for an industry you have not worked inside.</p><p>I looked at a tool and I saw a gap. I assumed that because Outlook was not designed for fuel dispatch, the people using it must be struggling.</p><p>They were not struggling. They had found something that worked and built their operation around it.</p><blockquote><p><strong>I was solving for the thing I could see. I had not yet spent enough time asking about the thing that was actually costing people money.</strong></p></blockquote><h4><strong>Two years later</strong></h4><p>In 2025 I decided to build Fueleo.</p><p>Before writing a line of code, I started having real conversations with fuel marketers. Operators, billing teams, controllers, owners. I asked them what was actually breaking in their operations. Not what looked broken from the outside. What they felt every day.</p><p>The same answer kept coming up.</p><p><em><strong><mark data-color="#ffe599" style="background-color: rgb(255, 229, 153); color: rgb(0, 0, 0);">The fuel always goes out on time. The invoice takes three to five days.</mark></strong></em></p><p>A driver delivers 5,000 gallons on a Tuesday morning. The customer has fuel in their tank by 10am. The invoice does not arrive until Friday. Sometimes the following Monday.</p><p>Not because anyone is being careless. Because the handoffs between delivery and invoice are long and nobody owns the gap between them.</p><p>The driver brings back the ticket. Dispatch closes the load. Billing checks the gallons. Pricing verifies the rack or contract rate. Someone checks freight, fuel surcharge, taxes, exemptions, fees. Then the invoice finally gets created and pushed into accounting.</p><p><strong>Each step adds hours. The hours add up to days. And the cash sits unbilled the whole time.</strong></p><p>The delivery was never the problem.</p><p><strong>The invoice was.</strong></p><h4><strong>What the Denver trip actually taught me</strong></h4><p>Looking back, the Outlook calendar was the most important thing I saw on that trip.</p><p>Not because it showed me a gap to fill. <strong>Because it showed me I was looking at the wrong gap.</strong></p><p>The operator had solved dispatch in a way that worked for his operation. What he had not solved, what nobody had solved cleanly, was the three to five day window between a completed delivery and a sent invoice.</p><p>That window is where cash flow sits unbilled. Where pricing errors go undetected until the customer calls. Where customer trust quietly erodes one late invoice at a time.</p><p>I would not have understood any of that if I had walked into Denver and found the dispatch chaos I was expecting. I would have built a dispatch tool and moved on.</p><p>Instead I walked out of an Outlook calendar demo with the most important question I have asked in this industry.</p><blockquote><p><em>If dispatch is working fine, what is actually broken?</em></p></blockquote><p>Two years of conversations with fuel marketers gave me the answer.</p><h4><strong>What I am still figuring out</strong></h4><p>I do not think I have gotten everything right since Denver.</p><p>There are parts of the fuel distribution workflow that are more complex than I understood when I started building. The way common carrier operations handle carrier settlements. The way wet hosing billing differs from tank delivery billing. The way tax exemption compliance sits between systems that were never designed to talk to each other.</p><p>Every operator conversation surfaces something I did not account for. <strong>That is not comfortable to admit when you are building software that people are trusting with their operations.</strong></p><p>But it is true.</p><p><strong>The thing I am most certain about is the thing the Denver trip taught me. The best way to understand what is broken is to go see what is working and ask why.</strong></p><p>The Outlook calendar was working. That question led me to the invoice.</p><p>I am still trying to earn the answer the same way: by walking into real operations, noticing what already works, and asking what still costs money.</p><div><hr></div><div class="callout-block" data-callout="true"><p><strong>About the author</strong></p><p><em>I&#8217;m<a href="https://www.linkedin.com/in/dibyesh/"> Dibyesh Giri.</a>, founder of Fueleo. I spend my time talking to fuel marketers about the messy handoffs between pricing, dispatch, delivery, BOLs, invoicing, inventory, and accounting. This newsletter is where I write about what I find.</em></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Finding the Right Fuel Truck Driver Is Harder Than It Looks. Ovante Johnson Told Me Why]]></title><description><![CDATA[A conversation with the operations manager of Pacific States Petroleum on hiring, culture, and what happens after the 90-day mark.]]></description><link>https://www.readthefuelstack.com/p/finding-the-right-fuel-truck-driver</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/finding-the-right-fuel-truck-driver</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Thu, 09 Jul 2026 14:31:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ibJV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ibJV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ibJV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ibJV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ibJV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ibJV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ibJV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg" width="728" height="970.6666666666666" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1448,&quot;width&quot;:1086,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:211145,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/206064361?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9dd61da-decf-41f2-921a-eb0e01206703_1086x1448.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ibJV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ibJV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ibJV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ibJV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F57677686-aaaf-4402-a59d-8e6ccea5b6ef_1086x1448.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Ovante Johnson, operations manager at Pacific States Petroleum, on hiring fuel truck drivers, setting honest expectations, and what happens after the 90-day mark.</strong></figcaption></figure></div><p><strong>Ovante Johnson</strong> knows what it is like to sit in the driver&#8217;s seat.</p><p>Before he became operations manager at<strong> <a href="https://www.pacstatespetro.com">Pacific States Petroleum</a></strong><a href="https://www.pacstatespetro.com">,</a> he drove fuel trucks himself. He has done the early mornings, the unpredictable hours, the remote delivery sites, the customer calls from the cab. He knows what the job actually requires because he has done the job.</p><p>That background matters when you are the person deciding who gets hired to do it next.</p><p>I sat down with Ovante recently to talk about something that does not get discussed enough in fuel distribution: how hard it actually is to find and keep the right driver. Not just someone with a CDL and a clean record. Someone who fits the culture, handles the complexity, and is still showing up six months later the same way they showed up on day one.</p><div class="pullquote"><p><em><strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">A note on this piece:</span></strong> this article is based on a real conversation with Ovante Johnson, operations manager at <a href="https://www.pacstatespetro.com">Pacific States Petroleum</a>. Some dialogue has been lightly reconstructed for clarity while preserving the substance of our conversation.</em></p></div><h4><strong>What the resume tells you before you pick up the phone</strong></h4><p>Ovante is direct about what he looks for on paper before anyone gets a call.</p><p><strong><span data-color="#ff0000" style="color: rgb(255, 0, 0);">Red flags</span>:</strong> multiple roles with three to six month tenures. A pattern of job hopping signals a retention risk before the interview even starts.</p><p><em>&#8220;Training a fuel truck driver costs real time and real money,&#8221;</em> he said. <em>&#8220;If someone has cycled through four companies in two years, I have to ask myself whether it is worth the investment.&#8221;</em></p><p><strong><span data-color="#38761d" style="color: rgb(56, 118, 29);">Green lights</span>:</strong> longevity at previous companies, an active CDL, and hazmat experience. Fuel distribution experience specifically is not required.</p><p><em>&#8220;A driver who spent eight years at a trucking company and never touched fuel is still a strong candidate,&#8221;</em> Ovante said. <em>&#8220;Long tenure tells me they can commit. We can teach the fuel side. We cannot teach reliability.&#8221;</em></p><blockquote><p><strong>The industry-specific knowledge is learnable. The work ethic and the willingness to show up consistently is much harder to develop after the fact.</strong></p></blockquote><h4><strong>The 90-day problem</strong></h4><p>This is the part of the conversation that stayed with me longest.</p><p>I asked Ovante what the biggest challenge in hiring actually is. Not the hardest part of screening. The hardest part of building a driver team that holds together over time.</p><p>He did not hesitate.</p><p><em>&#8220;The 90-day mark.&#8221;</em></p><p>Post-COVID, the CDL pool shifted. A meaningful share of newer drivers have five or six years of experience rather than ten or fifteen. And with that shift came a different set of expectations about what the job looks like day to day.</p><p>Ovante tells every candidate upfront: do not schedule appointments on work days. Hours are unpredictable. More hours means more pay, and the company frames that as a positive rather than a burden. But the mindset required to genuinely embrace that reality is harder to screen for than any technical skill.</p><blockquote><p><strong>The interview can reveal a lot. It cannot always reveal how someone will feel about the job three months in when the initial energy has settled and the reality of the schedule sets in.</strong></p></blockquote><p></p><h4><strong>What Pacific States is actually selling</strong></h4><p>Pacific States Petroleum is employee-owned. That fact shapes everything about how Ovante talks about the company, how existing employees describe it, and how the culture gets transmitted to new hires.</p><p><em>&#8220;If you want to be a number, go elsewhere,&#8221;</em> Ovante said. <em>&#8220;If you want to be valued, come here.&#8221;</em></p><p>The operations manager works alongside drivers and mechanics. There is no practical title hierarchy in the day to day reality of the operation. The president knows the drivers by name. The culture is hard-working and emergency-driven, because fuel distribution does not run on a predictable schedule, but it is also a community.</p><p>That community is transmitted peer to peer. Existing drivers, dispatchers, and managers carry the narrative organically. The company does not force a culture deck on new hires. <strong>The culture is absorbed by working alongside the people who already live it.</strong></p><div class="callout-block" data-callout="true"><p><em><strong>&#8220;We do not have to explain our culture in an orientation session,&#8221;</strong></em><strong> Ovante said. </strong><em><strong>&#8220;New hires figure it out pretty fast just by watching how we operate.&#8221;</strong></em></p></div><h4><strong>What this means for the industry</strong></h4><p>The fuel distribution driver shortage is real but it is not simply a supply problem. There are CDL holders in the market. The challenge is finding the ones whose expectations align with what the job actually requires, and retaining them once they understand what that means in practice.</p><p>The operators who figure this out first are not necessarily offering the highest pay. They are offering something harder to replicate: a clear culture, honest expectations, and a team environment where the work feels worth doing.</p><p>Pacific States has built that. It did not happen by accident. It happened because people like Ovante, who drove the trucks before they managed the teams, understand what the job actually asks of the people doing it.</p><p><strong>The hiring problem in fuel distribution is not that there are no good drivers. It is that finding the ones who will still be there at the 90-day mark, and the year mark, and the five-year mark, requires more than a CDL check and a phone screen.</strong></p><p>It requires knowing what you are actually hiring for. And being honest about it before anyone signs an offer letter.</p><h4><strong>The question worth asking if you hire fuel drivers</strong></h4><p>What do you tell candidates about the hours before they accept the offer?</p><p>And more importantly: do you tell them in a way that actually prepares them for a Tuesday in February, or in a way that sounds manageable until it isn&#8217;t?</p><p><strong>The 90-day problem is almost always a conversation that did not happen clearly enough in the first three weeks.</strong></p><p><em><strong>Next issue: I went to Denver looking for a dispatch problem. I found an Outlook calendar.</strong></em></p><div class="callout-block" data-callout="true"><p><strong>About the author</strong></p><p><em><span>I&#8217;m </span><a href="https://www.linkedin.com/in/dibyesh/">Dibyesh Giri</a><span>, founder of Fueleo. I spend my time talking to fuel marketers about the messy handoffs between pricing, dispatch, delivery, BOLs, invoicing, inventory, and accounting. This newsletter is where I write about what I find.</span></em></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[They Didn't Call to Complain. They Just Stopped Calling.]]></title><description><![CDATA[In fuel distribution, customers rarely announce they are leaving. First they pay slower. Then they order less. Then one day the volume is gone.]]></description><link>https://www.readthefuelstack.com/p/they-didnt-call-to-complain-they</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/they-didnt-call-to-complain-they</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 07 Jul 2026 14:03:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nHSV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nHSV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nHSV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!nHSV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!nHSV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!nHSV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nHSV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:114182,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/heic&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/204555574?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nHSV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 424w, https://substackcdn.com/image/fetch/$s_!nHSV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 848w, https://substackcdn.com/image/fetch/$s_!nHSV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 1272w, https://substackcdn.com/image/fetch/$s_!nHSV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4f445a1b-b8a6-4bb0-b7e6-30ee4087c80f_1672x941.heic 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><strong>Customers don&#8217;t always complain. First they pay slower. Then they order less. Then one day, they&#8217;re gone.</strong></figcaption></figure></div><p>I&#8217;ve spent the last year sitting beside dispatchers, billing clerks, controllers, and fuel company owners. I ask them one question over and over:</p><p><em><strong>&#8220;When did you last lose a customer and actually know why?&#8221;</strong></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>It is the thing I do most in this industry. Not building. Not selling. Asking.</p><p>The answers are almost always the same. A contract ended. A competitor undercut the price. The customer moved operations out of the area.</p><p>What almost nobody says is: we lost them because billing kept making small errors and the customer got tired of checking.</p><p>Not because it does not happen. Because they usually do not find out until it is too late.</p><h4><br><strong>One story keeps coming back to me</strong></h4><p>An ops director in Texas told me about a construction company that had been a customer for six years. Consistent volume. Paid within terms. Never caused problems. The kind of account you stop worrying about because it has always taken care of itself.</p><p>The customer never called to complain. Not about the first billing error. Not about the second. Not about the third.</p><p>He just stopped answering when the sales rep called. Payments that used to come in at net 28 started arriving at net 38, then net 45. Volume dropped thirty percent over four months. Nobody flagged it.</p><p>When he finally said he was moving to a different supplier, the ops director asked why.</p><p><em>&#8220;The invoices were always a little off,&#8221;</em> he said. <em>&#8220;Not by a lot. But every month there was something. I just got tired of having to check.&#8221;</em></p><p><strong>Six years. Three billing errors. Not a single escalation.</strong></p><h4><strong>25 out of 26</strong></h4><p>Lee Resource found that 25 out of 26 dissatisfied customers never complain.</p><p>They simply leave.</p><p>That number hits differently in the context of fuel distribution.</p><p>In fuel distribution, customers often cannot verify what they received. They were not at the site. They do not own the metering equipment. They are trusting your numbers.</p><p>Every small billing mistake becomes another entry in a mental ledger.</p><p>The wrong rack differential applied to a load. The freight surcharge pulled from last month&#8217;s rate table. Dyed diesel billed with the wrong tax treatment. Each one small enough to pay without calling. Each one just large enough to remember.</p><blockquote><p><strong>They do not call to tell you the ledger tipped. They just stop calling to order</strong></p></blockquote><h4><strong>What I keep hearing about how errors go unconnected</strong></h4><p>When I ask billing teams about disputes they almost always describe individual incidents. A credit was issued. The ticket was closed. Everyone moved on.</p><p>What I rarely hear is someone describing those incidents as a pattern connected to a specific customer&#8217;s experience over time.</p><p>The wrong rack differential applied to one load. Caught and credited. <strong>Nobody asked whether the same pricing logic had run on other accounts that month.</strong></p><p>A late invoice because dispatch closed the load a day behind. The customer&#8217;s payment came in late. Billing noted the slow payment. Nobody connected it to the late invoice.</p><p>A volume discrepancy. The invoice said 4,200 gallons. The customer&#8217;s equipment logs said 4,050. The customer paid and made a note to watch. They did not call.</p><p>Three events. Three systems flagged them. Nobody&#8217;s job was to connect them.</p><p><strong>That is how a six-year customer becomes a loss without a single escalation.</strong></p><h4><strong>The AR report is telling you something nobody is reading</strong></h4><p>When I ask ops directors and controllers to walk me through accounts that started paying slower before they left, the pattern is almost always visible in hindsight.</p><p>First, payment timing drifts.</p><p>Then, volume softens.</p><p>Finally, the customer disappears.</p><p>Nobody connected those two things to the billing friction that had been happening on the account for months.</p><p>When a historically reliable fuel customer starts paying slower, it is worth asking a different question before it goes to collections. Sometimes it is cash flow. Sometimes it is their AP process.</p><blockquote><p><strong>But often it is a relationship signal hiding inside the AR report.</strong></p></blockquote><p>A customer moving from net 28 to net 45 may not look like churn. <strong>But in fuel operations, payment drift is often one of the first visible signs that trust is weakening.</strong></p><h4><strong>What one AR manager told me</strong></h4><p>I was sitting with an AR manager at a mid-market distributor last year. I asked her how she knew when an account was starting to go sideways.</p><p>She thought about it for a moment.</p><p><em>&#8220;Honestly? When they stop calling about errors.&#8221;</em></p><p>I asked her to explain.</p><p><em>&#8220;When a customer disputes an invoice, it means they are still engaged. They care enough to call. When a customer stops disputing and just starts paying slow, that is when I get nervous. It usually means they have already decided something.&#8221;</em></p><p>That observation stayed with me.</p><blockquote><p><strong>The customer who calls to dispute an invoice is giving you a chance to fix the relationship. The customer who stops calling has already made a decision you do not know about yet.</strong></p></blockquote><h4><strong>The retention problem starts upstream of AR</strong></h4><p>When I talk to owners and ops directors about customer retention, the conversation almost always focuses on sales. Who is calling the account. When did the last check-in happen.</p><p>What rarely comes up is the operational chain the customer experiences every single time they receive a delivery.</p><p>Dispatch accuracy. Delivery confirmation. BOL capture. Pricing logic. Tax handling. Invoice timing. AR follow-up.</p><p><strong>The customer experiences all of that as one thing: can I trust this supplier to get it right without making me chase them?</strong></p><p>The fix is not another sales call. It is a connected workflow where delivered gallons, BOLs, contract pricing, taxes, fees, credits, and invoices are checked before the customer ever sees the bill. When those pieces connect, exceptions surface before the invoice goes out. The credit gets issued before the customer notices the discrepancy. The mental ledger never starts.</p><blockquote><p>The more time I spend inside fuel companies, the more convinced I become that <strong>customer retention is not primarily a sales problem. It is an operational visibility problem.</strong></p></blockquote><h4><strong>The question worth asking this week</strong></h4><p>Look at your top twenty accounts by volume. For each one:</p><p>Is their payment timing faster or slower than six months ago?</p><p>Has their volume changed in the last ninety days?</p><p>How many billing credits have they received in the last year and were those reviewed as a pattern or resolved as individual tickets?</p><p><strong>If you cannot answer those three questions without pulling data from multiple systems, you do not have a customer retention problem yet. You have a visibility problem. And the retention problem is building quietly underneath it.</strong></p><p>The warning signs were never hidden.</p><p>They were sitting in dispatch.</p><p>In billing.</p><p>In AR.</p><p>In delivery tickets.</p><p>In credit memos.</p><p>Every department saw one piece.</p><p><strong>Nobody saw the story.</strong></p><div class="callout-block" data-callout="true"><p><strong>About the author</strong></p><p><em>I&#8217;m <a href="https://www.linkedin.com/in/dibyesh/">Dibyesh Giri</a>, founder of Fueleo. I spend my time talking to fuel marketers about the messy handoffs between pricing, dispatch, delivery, BOLs, invoicing, inventory, and accounting. This newsletter is where I write about what I find.</em></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Tax Exemption That Was Valid Last Month. And the Audit That Found Out It Wasn't.]]></title><description><![CDATA[Fuel tax exemption compliance is not a complicated problem. It is a tracking problem. And the spreadsheet, the dispatch system, and the billing software are not talking to each other.]]></description><link>https://www.readthefuelstack.com/p/the-tax-exemption-that-was-valid</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/the-tax-exemption-that-was-valid</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Tue, 30 Jun 2026 07:18:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1N_4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1N_4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1N_4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!1N_4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!1N_4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!1N_4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1N_4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1306853,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/204234457?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1N_4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!1N_4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!1N_4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!1N_4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2dbc61e0-c5dc-4d68-8499-d9932640c395_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Maria runs billing for a mid-market fuel distributor in Central Texas. Her company delivers dyed diesel to agricultural customers, construction sites, and equipment rental companies across the region.</p><p>Every customer has an exemption on file. An AG number. A DD number. A signed statement. Maria tracks all of it in a spreadsheet: customer name, exemption type, number, expiration date, last delivery date.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>She updates it when she remembers. She checks it when someone asks.</p><p>Three weeks ago, a large agricultural customer called. Their latest invoice had a tax charge that wasn&#8217;t there before. Maria pulled the spreadsheet. <strong>The customer&#8217;s AG exemption had expired forty-two days earlier.</strong> Nobody had noticed. The driver didn&#8217;t know to check. Five loads had gone out in that window, tax-exempt, against an invalid certificate.</p><blockquote><p>The spreadsheet had the expiration date. The dispatch system had the delivery dates. The billing software had the invoices. <strong>Three systems, all holding a piece of the answer, none of them talking to each other.</strong></p></blockquote><h4><strong>The three-system problem nobody designed</strong></h4><p>Billing applies tax treatment based on the customer record. If it says exempt, the invoice goes out exempt. It doesn&#8217;t check expiration dates. It wasn&#8217;t built to.</p><p>Dispatch assigns drivers, routes, and loads. It has no visibility into exemption status. Compliance isn&#8217;t dispatch&#8217;s job.</p><p>The spreadsheet is supposed to be the bridge. But it&#8217;s passive. <strong>It doesn&#8217;t know when a load gets dispatched. It doesn&#8217;t update when a delivery happens. It only knows what someone typed into it, and it only gets checked when someone remembers to look.</strong></p><p>The certificate expired on a Tuesday. No alert fired anywhere. The driver picked up Wednesday&#8217;s load the same way he always had. By the time Maria found the problem, it was forty-two days and five deliveries old.</p><h4><strong>What Texas actually requires</strong></h4><p>Texas taxes diesel at twenty cents per gallon removed from a terminal, unless exempted by law.</p><p>An agricultural end user number allows up to <strong>25,000 gallons of tax-free dyed diesel per month.</strong> A non-agricultural end user number caps at <strong>10,000 gallons per month.</strong></p><p>These limits reset every calendar month. <strong>They are not cumulative across the year.</strong></p><p>Violations can exceed $10,000 per incident, plus back taxes. <strong>Federal penalties start at $1,000 per violation or $10 per gallon of improperly used fuel, whichever is greater, and apply to each separate incident.</strong></p><blockquote><p>Five loads against an expired exemption isn&#8217;t one incident. It&#8217;s five.</p></blockquote><h4><strong>Two questions, asked at the wrong time</strong></h4><ol><li><p><strong>Is the certificate valid right now?</strong> </p></li></ol><p>Not when the account was set up. Today. AG and DD numbers expire and get revoked regularly. Most billing teams check at onboarding, maybe annually. Almost nobody checks before every delivery, and dispatch certainly doesn&#8217;t, because dispatch doesn&#8217;t have the spreadsheet.</p><ol start="2"><li><p><strong>Has the customer hit their monthly limit?</strong> </p></li></ol><p>This requires pulling delivery history, summing exempt gallons, and comparing against the spreadsheet&#8217;s stated limit. At fifty or a hundred deliveries a day, that manual cross-check doesn&#8217;t happen consistently. <strong>It can&#8217;t. There aren&#8217;t enough hours.</strong></p><h4><strong>What an audit actually looks for</strong></h4><p>Fuel unaccounted for is presumed to have been sold or used for taxable purposes. <strong>The burden is on the distributor to prove an exemption was valid, not on the auditor to disprove it.</strong></p><p>An auditor wants the valid certificate at the time of each delivery, proof it hadn&#8217;t expired, a month-by-month gallon count against the limit, and an invoice that reflects it correctly. If any of that is missing, you&#8217;re looking at back taxes, penalties, and interest, not just an awkward conversation.</p><p><strong>The auditor does not care that the data was scattered across three systems. That&#8217;s your problem to solve, not theirs to accommodate.</strong></p><h4><strong>What it would have cost</strong></h4><p>Five loads, roughly 4,000 gallons each, 20,000 gallons total.</p><p>State tax exposure alone: <strong>$4,000.</strong></p><p>Federal exposure at the per-gallon rate: <strong>up to $200,000,</strong> in a worst-case reading.</p><p>In practice, enforcement varies, and a proactive first-time fix is treated differently than a pattern of evasion. But the asymmetry is the point:</p><blockquote><p>The cost of the failure dwarfs the cost of the system that would have prevented it.</p></blockquote><h4><strong>What actually closes the gap</strong></h4><p>Not a better spreadsheet. Not a fourth system. <strong>The exemption data has to live inside the same record dispatch and billing both use.</strong></p><p>When a load is assigned to an exempt customer, the system checks the certificate automatically. Expired or expiring within thirty days, the load doesn&#8217;t move without a documented override. Every closed delivery updates the customer&#8217;s monthly exempt gallon total automatically. Approaching the limit triggers a flag both billing and dispatch can see.</p><blockquote><p>The compliance logic has to live inside the workflow, not next to it.</p></blockquote><h4><strong>The question worth asking this week</strong></h4><p>Pick your ten largest dyed diesel customers in Texas. For each: when does their certificate expire, how many exempt gallons have they taken this month, and how close are they to the limit?</p><p>Now ask where each answer comes from. Spreadsheet? Billing? Dispatch?</p><p><strong>If you need three places to answer three questions about one customer, the compliance information isn&#8217;t in your workflow. It&#8217;s in the gap between your systems.</strong></p><p>Maria got lucky. The customer called before the auditor did.</p><p>For the current Texas exemption rules, gallon limits, and registration forms referenced in this issue, see the Texas Comptroller's diesel fuel page: <a href="https://comptroller.texas.gov/taxes/fuels/diesel.php">comptroller.texas.gov/taxes/fuels/diesel.php</a></p><div class="callout-block" data-callout="true"><p><strong>About the author</strong></p><p><em>I&#8217;m <a href="https://www.linkedin.com/in/dibyesh/">Dibyesh G</a>., founder of Fueleo. I spend my time working with fuel marketers on the messy handoffs between pricing, dispatch, delivery, BOLs, invoicing, inventory, and accounting. This newsletter is where I write about the operational problems hiding inside everyday fuel workflows.</em></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Fuel Dispatch Operation Was Running on Jenny's Memory]]></title><description><![CDATA[The most important system in your fuel operation is probably not software. It is a person. And she is thinking about retirement.]]></description><link>https://www.readthefuelstack.com/p/the-fuel-dispatch-operation-was-running</link><guid isPermaLink="false">https://www.readthefuelstack.com/p/the-fuel-dispatch-operation-was-running</guid><dc:creator><![CDATA[Dibyesh Giri]]></dc:creator><pubDate>Sun, 28 Jun 2026 17:02:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!hO3n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hO3n!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hO3n!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!hO3n!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!hO3n!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!hO3n!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hO3n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1354088,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://dibyesh.substack.com/i/203980244?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hO3n!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 424w, https://substackcdn.com/image/fetch/$s_!hO3n!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 848w, https://substackcdn.com/image/fetch/$s_!hO3n!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 1272w, https://substackcdn.com/image/fetch/$s_!hO3n!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F05662e00-9eda-441a-9dd1-f53b29a75311_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">When Dispatch Knowledge Lives in One Person&#8217;s Head</figcaption></figure></div><p>In fuel distribution, dispatch is not just putting trucks on a schedule.</p><p><strong>It is where customer promises, driver judgment, terminal constraints, delivery windows, and billing consequences all meet.</strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Jenny had been dispatching for the same petroleum distributor in Eastern Washington for fourteen years.</p><p>She knew every driver by name, by habit, and by the way each one sounded when something was about to go wrong on a route.</p><p>She knew which driver could handle a tight downtown delivery without getting frustrated. She knew which driver preferred certain routes because he understood the sites better. She knew which customers needed a call before the truck arrived. She knew which roads flooded in March. She knew which site had a gate code that changed every few months but never made it into the system.</p><p>She knew which terminals moved fast in the morning and which ones backed up by noon.</p><p>She knew which customer would complain if the delivery happened after 6am because their yard became too congested.</p><p>She knew which wet hose account had equipment spread across three lots even though the order only showed one address.</p><p>She knew which driver needed a warning before going to a difficult site.</p><p>And she knew the little dispatch decisions that prevented bigger problems later in billing, customer service, and operations.</p><p>None of this was documented.</p><p>It was just known. Because Jenny knew it.</p><p>The company threw her a retirement party on a Friday in October. Cake. A card signed by everyone. A gift card to a place she liked. Her manager gave a speech about what she meant to the operation.</p><p><strong>Three weeks later, dispatch started breaking.</strong></p><h4><strong>What breaking looks like in fuel dispatch</strong></h4><p>It did not happen all at once.</p><p>That is the thing about losing dispatch knowledge. <strong>It rarely shows up as one dramatic failure. It shows up as friction across the day.</strong></p><p>A driver called from a customer site with a question about the tank setup. Jenny would have known the answer immediately. The new dispatcher searched the system, found nothing useful, called the customer&#8217;s main office, and waited.</p><p>The driver sat for twenty minutes.</p><p>That twenty minutes did not stay isolated. It pushed the next stop. It changed the route. It created another customer call. It made the driver irritated. By the end of the day, <strong>one missing site note had become a dispatch problem, a customer service problem, and a driver morale problem.</strong></p><p>Another customer complained that the truck arrived too late. The new dispatcher had scheduled the delivery at 9am because, on the route board, that made the most sense.</p><p>But Jenny had always known this customer needed delivery before 6am. Their yard became too busy after that. The truck blocked movement. The customer&#8217;s team got frustrated.</p><p>It was not a written rule. It was a dispatch rule Jenny had carried in her head for years.</p><div class="callout-block" data-callout="true"><p><strong>The system showed an address. Jenny knew the operation behind the address. That is the difference.</strong></p></div><p>The third week, a pricing exception that had been applied manually every month for three years was missed. Not because anyone was careless. Because the exception lived in Jenny&#8217;s head, attached to no record anyone else could find, applied correctly every single month for years by a person who was no longer there.</p><p><strong>The fourth week, the operations manager sat down and tried to write down everything Jenny knew. He got through about a third of it before he realized he did not actually know what he did not know.</strong></p><h4><strong>Dispatch is where hidden rules live</strong></h4><p>In fuel distribution, dispatch is not just a calendar.</p><p>Real dispatch is full of hidden rules.</p><p>Customer delivery windows. Tank access instructions. Driver-site fit. Terminal preferences. Branded supplier constraints. Weather-related route judgment. Product availability. Runout risk. Equipment limitations. Truck compartment planning. Split-load decisions. Customer communication preferences. Site safety issues. Special instructions that never make it into the order.</p><p><strong>This is why dispatch is one of the most knowledge-heavy parts of a fuel operation.</strong> The dispatcher is constantly answering questions the system does not fully understand:</p><p>Can this customer wait until tomorrow? Can this driver handle that site? Will that terminal be too slow by the time the truck gets there? Can this order be combined with another stop? Is this actually urgent, or does the customer always say it is urgent? Will this delivery create a billing exception? Will the driver have enough product left after the first drop?</p><p>Jenny knew these answers because she had lived through them.</p><blockquote><p><strong>The software had records. Jenny had context.</strong></p></blockquote><h4><strong>Why dispatch knowledge disappears</strong></h4><p>Most companies do not intentionally lose dispatch knowledge. They just never capture it.</p><p>The dispatcher is too busy moving trucks. The driver calls. The customer calls. A terminal delay changes the plan. A load gets rejected. A truck breaks down. A customer needs an emergency delivery. The dispatcher solves the issue and moves on.</p><p>That is the job.</p><p>But <strong>every time a dispatcher solves something manually and the reason is not captured, the company loses an opportunity to turn experience into process.</strong> The knowledge stays in the person. Not in the customer record. Not in the site profile. Not in the route plan. Not in the next dispatcher&#8217;s hands.</p><p>As long as Jenny was there, nobody felt the pain.</p><blockquote><p>Why document what you can just ask? That is the trap. The <strong>best dispatcher makes the system feel better than it actually is.</strong></p></blockquote><p></p><h4><strong>Software training is not dispatch handover</strong></h4><p>When companies train a new dispatcher, they usually focus on the visible workflow.</p><p>Here is how to create an order. Here is how to assign a driver. Here is how to move a delivery. Here is how to update a route. Here is how to close out the day.</p><p>That matters. But <strong>that is not the hard part of fuel dispatch.</strong></p><p>The hard part is knowing why the route should be built a certain way. Why one driver should go to a certain customer. Why one site must be delivered before sunrise. Why one terminal should be avoided after 10am. Why one customer needs a phone call before the truck leaves. Why a simple dispatch change may create a billing issue later.</p><p>A new dispatcher can learn the software in a few weeks. <strong>They cannot absorb fourteen years of customer behavior, driver preferences, terminal quirks, site constraints, and operational judgment in a short handover.</strong></p><blockquote><p>The company thinks it transferred the job. But it only transferred the screens.</p></blockquote><h4><strong><br>The cost of weak dispatch knowledge</strong></h4><p>When dispatch knowledge is missing, the cost does not always show up as a failed delivery. It shows up in smaller ways first.</p><p>Drivers wait. Routes get rebuilt. Customers call for updates. Dispatchers make extra phone calls. Managers get pulled in. Invoices need corrections. Customer service has to explain what happened. Drivers lose confidence in the plan.</p><p>And then the dangerous one.</p><p><strong>Customers start feeling like the company no longer knows their operation.</strong></p><p>Fuel customers often do not judge you only by whether the fuel arrived. They judge you by whether the delivery fit their operation. Did the driver know where to go? Did dispatch understand the delivery window? Did the company remember the site constraint? Did they have to explain the same thing again?</p><p>When Jenny was there, the customer felt known.</p><p>After Jenny left, <strong>the customer started feeling like a new account again.</strong></p><blockquote><p><strong>That is how dispatch knowledge becomes customer retention.</strong></p></blockquote><h4><strong>What fuel marketers should actually capture</strong></h4><p>The answer is not to ask dispatchers to write long manuals. That will not happen consistently.</p><p><strong>The answer is to capture dispatch knowledge inside the normal workflow.</strong> At minimum, every fuel marketer should be capturing:</p><ul><li><p><strong>Customer delivery windows</strong></p></li><li><p><strong>Site access instructions</strong></p></li><li><p><strong>Tank and asset notes</strong></p></li><li><p><strong>Preferred driver or driver restrictions</strong></p></li><li><p><strong>Terminal and supplier preferences</strong></p></li><li><p><strong>Product-specific handling notes</strong></p></li><li><p><strong>Emergency delivery rules</strong></p></li><li><p><strong>Recurring route logic</strong></p></li><li><p><strong>Customer communication preferences</strong></p></li><li><p><strong>Weather or seasonal route issues</strong></p></li><li><p><strong>Special billing or pricing flags dispatch needs to know before delivery</strong></p></li><li><p><strong>Driver feedback after difficult deliveries</strong></p></li></ul><p>These should not live in notebooks, text messages, or one person&#8217;s memory<strong>. They should be attached to the customer, site, order, route, asset, and delivery record.</strong></p><blockquote><p><strong>Dispatch should not have to remember everything. The system should help dispatch remember.</strong></p></blockquote><h4><strong>The dispatch test every operator should run</strong></h4><p>Pick your most experienced dispatcher. Then ask:</p><p><em>If this person could not work for the next three weeks, what would break?</em></p><p>Would another dispatcher know which customers need early deliveries? Would drivers know the site instructions? Would someone know which routes are easy on paper but painful in reality? Would terminal-specific issues be visible before the truck is sent? Would customer communication preferences be clear? Would dispatch know which customers are sensitive, which ones are flexible, and which ones require careful handling?</p><p><strong>If the answer is no, the operation is not fully running on a dispatch system. It is running on dispatch memory.</strong></p><p>That may work for years.</p><p>Until Jenny retires.</p><h4><strong>The question worth asking this week</strong></h4><p>The operations manager in Eastern Washington eventually got most of it sorted. It took longer than it should have and cost more than anyone planned. Two customer relationships required active repair work. One took a credit note and a personal call from the owner.</p><p>None of that cost appeared on any report. It was absorbed quietly, across dozens of small decisions and extra hours and conversations that should not have been necessary.</p><p><strong>When she does retire, the problem will not be that the new dispatcher does not know the software. The problem will be that the software does not know what Jenny knew.</strong></p><p>The next Jenny is already somewhere in your fuel operation. She is moving trucks, calming drivers, protecting customer relationships, avoiding terminal delays, remembering site rules, and preventing billing problems before anyone else sees them.</p><p><strong>The question is whether that knowledge becomes part of the dispatch system, or walks out the door with her.</strong></p><p>Next issue: Why fuel marketers lose customers in silence. Not because of bad fuel or missed deliveries. Because billing friction slowly erodes trust until the customer stops calling.</p><div class="callout-block" data-callout="true"><p><strong>About the author<br></strong><em>I&#8217;m <a href="https://www.linkedin.com/in/dibyesh/">Dibyesh Gir</a>i, founder of Fueleo. I spend my time working with fuel marketers on the messy handoffs between pricing, dispatch, delivery, BOLs, invoicing, inventory, and accounting. This newsletter is where I write about the operational problems hiding inside everyday fuel workflows.</em></p></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.readthefuelstack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Fuel Stack ! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>