What Even Is a Supply Chain? The Story of a Forgotten Coffee Shop Crisis
The rain in Portland doesn’t just fall—it seeps into your bones, into the cracks of the sidewalk, and on this particular Wednesday in late October, into Luna’s Grind, the 20-seat specialty coffee shop Luna had opened three years prior with the savings from her barista shifts and a small loan from her grandmother, at 7:02 a.m. sharp. She’d arrived at 6:30, wiping down the reclaimed oak counter, calibrating the espresso grinder to the exact 18-gram setting she’d spent three weeks perfecting, and restocking the pastry case with the cardamom buns she’d picked up from the local bakery that morning. She’d done a quick inventory check the night before, scribbling a note on her whiteboard that she had 12 full cases of her best-selling Oat Cloud Latte’s signature oat milk left—enough to last 12 days, at her average sales rate of 10 cartons a day. The first customer pushed through the door at 7:03, a regular named Maya, a freelance graphic designer who stopped by every Wednesday on her way to a co-working space downtown. “The usual, please,” she said, already pulling her laptop out of her bag to set up on the small table by the window. Luna reached for the oat milk carton under the counter, and her hand closed on empty shelf space.
The next 20 minutes played out like a slow-motion car crash. The second customer, a construction worker named Rico who stopped by before his 7 a.m. shift, ordered the same latte. The third, a university student with a stack of textbooks, did too. By 7:15, there were 10 people queued up outside the door, all asking for the Oat Cloud Latte, and Luna’s cheeks were flushed with a mix of embarrassment and panic. She’d restocked the fridge three days prior, she was sure of it. She’d counted the cases herself. She ran to the back storage room, yanking open the pantry door, flipping through boxes of cold brew concentrate, bags of single-origin espresso, and stacks of compostable cups—no oat milk. She checked the walk-in fridge behind the counter, the under-counter storage by the espresso machine, even the recycling bin out back, where she’d thrown away an empty carton two days prior. Nothing.
Maya was the first to snap. She’d been waiting 10 minutes, her laptop open, her co-working space membership costing her $2 a minute for a desk she wasn’t using. “Luna, what’s going on?” she asked, her voice sharp. “I have a client call in 20 minutes. I need this.”
“I’m so sorry,” Luna said, her voice wobbly. “We’re out of oat milk. I can make you a regular latte, or a cold brew, on the house, and I’ll comp your next order—”
“No, thanks,” Maya said, snapping her laptop shut. “I’ve been coming here for eight months. You’ve bragged about how your oat milk is the best in the city. If you can’t keep your best seller in stock, I’m going to start going to the place down the street. They never run out of anything.” She turned and walked out, and two other customers in line followed her, muttering about wasted time and bad management.
Luna locked the door at 7:45 a.m., hanging a handwritten sign in the window that read *“Sorry, out of oat milk. Back tomorrow!”* She didn’t open again until 4 p.m., when the delivery truck from her oat milk supplier finally arrived. She spent the entire afternoon tracing the crisis back through six months of small, ignored mistakes, each one a tiny crack in the invisible line that connected the oat farm in Minnesota to the latte in Maya’s hand. By the time she closed up that night, she’d realized the problem wasn’t that she’d “run out of oat milk overnight.” The problem was that her entire supply chain had been broken for months, and she’d never even noticed.
The 6-Month Slow-Motion Collapse
Luna’s first mistake had happened six months prior, when she’d expanded her shop from 10 seats to 20, adding two new tables and hiring a part-time barista named Sophie to cover weekend shifts. Her sales had jumped 60% almost overnight, and her original oat milk supplier, a small local distributor that delivered every Wednesday without fail, had told her they couldn’t keep up with her new order volume. They could only deliver 10 cases a week, half of what she needed. Panicked, Luna had found a new national distributor that offered the same organic oat milk for $2 less per case, and could deliver as much as she needed, whenever she needed it. She’d signed the contract without reading the fine print, which stated that delivery would be made “within 3 business days of order confirmation,” not “guaranteed every Wednesday” like her old contract had. She’d also turned off the low-stock alerts on her free Google Sheets inventory tracker, because she’d found them “annoying” when they pinged her every time she sold a case of beans. She’d thought she was being efficient. She’d just removed the first safety net that would have warned her she was running low.
Two months prior, the security camera covering the back delivery door had broken. Luna had meant to fix it, but the repair quote was $200, and she’d had to pay for a new espresso portafilter the week before, so she’d put it off. The back door was where all her deliveries were left, and without the camera, she had no way to verify if a delivery had arrived if the driver didn’t knock or get a signature. A week later, her supplier had sent an email saying they’d be skipping a Wednesday delivery due to a truck driver shortage, and would deliver the order on Friday instead. Luna never saw the email. She’d set up a Gmail filter a month prior that automatically archived any email with the word “invoice” in the subject line, to cut down on clutter. Her supplier’s notification had the word “invoice” in the fine print at the bottom of the email, so it got sent straight to her archive, unread.
The Friday of the delayed delivery, Sophie had been working the morning shift alone, and a group of 15 people had come in for a pre-hike coffee run. She’d been swamped, and when the delivery driver had dropped off 18 cases of oat milk at the back door, he’d left a signed receipt tucked under the door mat and driven off before Sophie could come out to greet him. Sophie had thought the receipt was a takeout menu someone had left, and thrown it away. She didn’t know she was supposed to sign for deliveries, because Luna had never written down the inventory receiving process, and had only mentioned it in passing once when they’d first hired her. Luna didn’t find out about the delivery until she was going through the trash that night, looking for the receipt the supplier had asked her to send over as proof of delivery. By then, she’d already sold through 10 of the 18 cases, assuming her inventory count was correct (she’d forgotten to update her spreadsheet after the rainy week, when sales had spiked 80% and she’d sold through far more oat milk than usual). She’d assumed the extra sales were just a fluke, a one-time spike from the rain, and hadn’t adjusted her inventory forecast.
That night, sitting on her store’s front step with a cup of cold brew, Luna counted up the losses. She’d missed out on roughly $1,200 in sales that day, from the 120 lattes she could have sold if she’d had enough oat milk. Maya and two other regulars had already texted to say they were switching to the café down the street, which would cost her an estimated $2,000 a year in lost revenue from those customers alone. She’d spent $500 on free drink vouchers for regulars to apologize for the inconvenience, and she’d have to pay $200 to fix the back door camera. Total losses for the day: $3,900, almost exactly equal to her monthly profit margin. She’d almost lost her entire business because of six small, fixable mistakes she’d ignored for months.
> Sidebar (Digital Edition): Luna’s Quick Loss Calculator > If you’re running a small business, it’s easy to write off small supply chain mistakes as “no big deal.” But they add up fast. Use this simple formula to calculate the cost of your own supply chain breakdowns: > ``` > Total Loss = (Lost Sa