I want to write this one because every vendor case study you read in this industry is a victory lap. The customer was a mess, we showed up, we solved it, everyone is heroic, contract renewed. Real programs are not like that. Real programs make real mistakes. This is one of ours. Names and identifying details are changed. The math, the timeline, and the decisions are not. We made a six-thousand-garment mistake on a program transition in 2023. It took us 14 months to fully unwind. The customer kept us. The reason they kept us is the part of this story that matters.
The setup.
A midstream operator with a fast-growing field workforce decided to consolidate their workwear program. They had been on three regional rental vendors. The program had drifted into the usual problems: inconsistent garments across regions, no unified compliance documentation, monthly invoices nobody could reconcile, recurring complaints from foremen that "we don't know what we're getting from where." The CFO called procurement, procurement called us, we ran the consolidation analysis. The math was real. The decision was made. We had the program.
The transition plan was a phased migration: Region 1 in February, Region 2 in May, Region 3 in August. Each region would get a full kit issuance.coverall, pants, shirts, jacket, hi-vis vest.for every worker on payroll plus a 12 percent stocking buffer. Total expected workforce across the three regions was 4,800 workers. With buffer, that was roughly 5,800 garments per primary category, times five primary categories, times the rotation factor. Real numbers.
The mistake.
The mistake was in the size run analysis on Region 2. We were doing the size run from the existing rental vendor's data.what they had been issuing to which worker, by size, over the prior two years. Standard practice. The data file had a column labeled "size" that we read as the standard adult sizing convention. Small, medium, large, extra-large, two-X, three-X, and so on, distributed in the normal industrial workforce curve.
The data file's "size" column was not adult sizing. It was the vendor's internal SKU code, which mapped to size differently. The SKU code "L-401" was not a large. It was a coded reference to a specific garment cut number that the vendor used internally. The mapping was documented somewhere in the vendor's system. It was not documented in the export they sent us. We did not catch it. The procurement team on the customer side did not catch it. The vendor's account manager did not flag it because they assumed we would not need it. Everyone made a reasonable assumption and the assumption was wrong.
We placed the Region 2 order against our misread of the size run in late April. The order was 6,000 garments across the five primary categories, weighted toward the sizes we thought we needed. The mill produced. The garments shipped. The garments arrived at the regional distribution point in mid-May. Issuance started the following Monday.
The discovery.
The first complaint came in on a Wednesday, ten days into the issuance. A foreman at a compressor station said three of his guys had gotten coveralls that were too small. The account team flagged it as a normal fit issue.happens on any program transition, you swap the garments, you move on. We had stocked buffer for exactly this.
By Friday there were 14 complaints. By the following Tuesday there were 47. The buffer was running out and the pattern was clear: the size distribution we had ordered did not match the actual workforce. We were short on three-X and four-X by a significant margin. We had way too much medium and small. Roughly 30 percent of the garments we had ordered were the wrong size for the worker they had been targeted to.
The account team pulled the data and re-ran the analysis. The discrepancy was traced back to the size column misread. The size run had been wrong from the beginning. The order we had placed was for the wrong distribution of sizes, and the field was now experiencing it as a fit problem that the buffer was not big enough to absorb.
The decision tree, in real time.
This is the part where the story gets honest. We had three options and none of them were good. The team gathered in our conference room on a Thursday morning. The customer was scheduled to escalate to their procurement director on Friday. We had 18 hours to pick a path.
Option A: Re-order at our cost.
Place a new order against the correct size run for the missing sizes. Eat the cost of the wrong-size garments. Approximate cost: $340,000 in margin loss on the bad garments plus the cost of the corrective order. The customer would never know how much we had spent. The relationship would survive. We would take a serious hit to that year's margin.
Option B: Negotiate a shared remedy.
Go to the customer with the honest read on what had happened. Propose a shared remedy: we cover most of the corrective cost, the customer agrees to take on some of the wrong-size inventory at a discount for use in other facilities where the size mix happened to match. Approximate cost split: $180,000 to us, $90,000 to the customer in discounted absorption. The relationship test was whether the customer would absorb any part of a vendor's mistake.
Option C: Push the blame on the prior vendor's data.
Frame the misread as a data quality problem from the prior vendor. Position ourselves as having been mis-led by the export. Argue that the customer's procurement team had also approved the size run. Try to negotiate a remedy where the customer covers more of the cost. Approximate cost: $80,000 to us in damage control plus an unclear long-term cost in trust erosion.
What we chose and why.
We chose Option B. The reasoning was straightforward. Option C was the kind of move a vendor makes once. It survives the immediate financial cost and destroys the relationship slowly over the next three years as the customer watches every interaction for the next deflection. Option A felt good in the room but it was actually wrong.taking the entire cost privately treats the customer as if they have no role in their own program. They had approved the size run. They had a procurement team that should have caught it. The honest accounting was that this was a shared failure, and the remedy should be a shared remedy.
The call to the customer's procurement director on Friday morning was the hardest call I have made in this business. The conversation lasted 47 minutes. The customer's first reaction was anger. The customer's second reaction, about 20 minutes in, was respect for the fact that we had not tried to push the problem onto them. By minute 45 we had a plan. By the end of the next week we had a written remediation agreement. The corrective order was placed. The wrong-size inventory was repositioned to two of the customer's other facilities where the mix happened to fit better. Both sides absorbed real cost.
What 14 months of unwinding looked like.
| Period | Activity | Cost to Brand Junkie |
|---|---|---|
| Month 1-2 | Corrective order placement, expedited mill production, air freight charges | $112,000 |
| Month 3-5 | Re-issuance to Region 2 workforce, repeat fittings, account team time | $28,000 |
| Month 6-9 | Repositioning wrong-size inventory to other customer facilities, logistics | $22,000 |
| Month 10-14 | Residual exchange cycle, donation pathway for unsellable items | $14,000 |
| Lost margin on remaining wrong-size inventory | Discount absorbed across two facilities | $31,000 |
| Total cost of the mistake to us | $207,000 |
$207,000 against a program that produced $1.4M in annual revenue. About 14 percent of the program's first-year revenue went to fix the mistake. The customer's share of the absorbed cost was $84,000 over the same period. The customer kept the program. We are now in year four of the relationship. Region 3 came online in early 2024 with a process so over-checked that the size run audit alone was a three-week project. We have not made the same mistake again.
What changed in our process forever.
- Size run audit protocol. No order placement against migrated data until we have validated the size mapping with three independent samples: a field observer, a payroll fit-out reference, and a side-by-side comparison with the prior vendor's actual issuance records.
- Joint sign-off on size runs. The customer's procurement team and our account team both formally approve the size run analysis before any mill order is placed. Both signatures. Documented.
- Phased pilot before full order. First production run is now 15 percent of the workforce, issued in 60 days, and validated on the floor before the remaining 85 percent is ordered. Trades a slightly longer go-live for the option to catch problems while they are small.
- Honest-Friday protocol. When something goes wrong on a program, the call to the customer happens by end of the next business day. Not the next quarter. Not when we have a solution. As soon as we have a clear read on what happened.
Why I am writing this.
The honest answer is two reasons. The first is that the case study version of this story, the "everyone is heroic, contract renewed" version, would be a lie. The customer did not stay with us because we performed flawlessly. They stayed because we owned the failure and the remediation faster and more transparently than they expected. That distinction matters. The vendors who learn it have a different kind of relationship than the vendors who do not.
The second reason is that the lesson is generalizable. Most program failures are not because the vendor is bad at the work. Most program failures are because somebody made a reasonable assumption that turned out to be wrong, and then the systems and incentives in the vendor relationship caused the problem to be deflected, minimized, or obscured rather than directly addressed. The relationship that survives that pattern is rare. The relationship that does not survive it is the norm.
I would rather be the vendor that wrote this article than the vendor that did not. If you are running a program right now and your vendor has never told you about a mistake they made, that is not because they have not made any. It is because they have not told you. The difference between those two vendor types is the most important variable in the long-term success of your program. I do not know how to test for it in an RFP. I do know how to recognize it in a relationship after the first 18 months.
We made a six-thousand-garment mistake in 2023. We told the customer. We fixed it. We are still their vendor. That is the only kind of vendor relationship worth having on a program of this scale. The rest is a setup for the next time something goes wrong, and something always will.