Romo material note

The Cheapest Fabric Quote Is Almost Never the Cheapest Order — A Procurement Post-Mortem

2026-09-30 · Lucia Bianchi

Why the Lowest Fabric Quote Almost Never Wins the Project

I'm a procurement manager at a 240-person hospitality interiors firm. I've managed our textile sourcing budget ($1.8M annually) for 7 years, negotiated with 60+ fabric and rug vendors, and documented every order in our cost tracking system.

In 2023, we ran a tender for blackout curtain fabric on a 180-room hotel refurbishment. Three suppliers. Quotes within 4% of each other on a per-metre basis. We picked the cheapest. By project close, that "cheapest" fabric had cost us 19% more per metre than the most expensive quote on the table.

I want to walk through exactly how that happened — because it wasn't a one-off. It's structural. And most procurement teams are still running the same playbook that got us there.

What You Think the Problem Is

When you're comparing fabric quotes, the instinct is simple: normalise everything to per-metre cost, check the spec sheet, pick the lowest number. That's what the spreadsheet tells you to do.

I did that for years. It works fine — until it doesn't.

The issue is that fabric isn't a commodity. Two rolls both labelled "100% blackout velvet" can behave completely differently in production, and the per-metre price captures almost none of that difference. It's the visible tip of a cost iceberg that doesn't surface until after you've signed.

What's Actually Driving the Cost

The Colour Tolerance Trap

Our 2023 hotel project needed roughly 1,200 metres of blackout curtain fabric. Quotes came in at €18.20, €17.50, and €19.80 per metre. We went with the middle one — the cheapest, at €17.50 — saving roughly €840 versus the highest quote.

First delivery arrived with a visible colour shift against our reference sample. Not "slightly different under office lighting." Visibly different when hung side-by-side in adjacent rooms.

Here's the thing: the industry uses Delta E to measure colour difference. Delta E under 2 is generally acceptable for brand-critical colours. Between 2 and 4, trained eyes can spot it. Above 4, most people can. This batch tested at 5.6.

Reference: Pantone Color Matching System guidelines on Delta E tolerance for textile and brand-critical colour applications.

The whole batch was compromised. We couldn't return it — the contract said "commercially reasonable match to approved sample," which is about as enforceable as a handshake.

I still kick myself for not specifying a Delta E threshold in the purchase order. If I'd written "Delta E ≤ 2.0 against approved lab dip," we'd have had grounds to reject the shipment outright. Instead we ate the cost and re-sequenced the installation to hide the mismatch across non-adjacent floors.

Net result: €2,400 in additional labour and rework. The €840 we "saved" was gone twice over.

The Replenishment Blind Spot

Fabric procurement is never one-and-done. Projects change. Pieces get damaged. You need more — six weeks later, six months later.

Low-cost suppliers rarely guarantee batch-to-batch consistency on replenishment orders. Velvet is the worst offender — the pile direction, sheen, and hand feel can shift noticeably between dye lots, even from the same mill. Romo velvet fabric has a reputation in the trade for batch consistency, which is one reason their per-metre pricing sits higher. You're partly paying for the fact that a reorder six months later will actually match what you installed.

We tested this ourselves. Called 60+ B2B fabric suppliers across multiple categories and asked a simple question: can you guarantee colour consistency on a replenishment order placed within 6 months? Fewer than 10 said yes without qualifications. Most said "we'll do our best to match."

That's not a guarantee. That's a coin flip with a professional smile.

The Specification Gap

"Blackout" is not a standardised term. Supplier A means 85% light reduction. Supplier B means 99%. Supplier C means "it blocks some light, probably." The price differences between these three products are real — but so is the performance difference, and the quote sheet doesn't tell you which is which.

A proper blackout curtain fabric specification guide should pin down: light reduction percentage, fabric weight (gsm), composition, fire retardancy standard (BS 5852 for UK, NFPA 701 for US contract), colour fastness rating, tensile strength, and shrinkage. Without those numbers on the page, you're not comparing products. You're comparing prices for things that happen to share a label.

What This Actually Costs You

Let me put real numbers to the problem. Across our 2023–2024 projects, I tracked every instance where a fabric-related issue triggered a change order or rework. Out of 34 fabric orders, 11 had some kind of post-delivery problem. Of those 11:

  • 7 were colour-related (batch mismatch or sample deviation)
  • 3 were specification failures (product didn't meet stated performance)
  • 1 was a replenishment mismatch on velvet upholstery

Total unplanned cost across those 11 orders: approximately $47,000. Against a combined fabric spend of roughly $220,000. That's 21% in avoidable overruns, hidden entirely from the per-metre comparison that drove the original purchase decisions.

The numbers said go cheap. My gut said the cheaper quote felt off — slower responses, vaguer spec sheets, no batch samples offered unless I specifically asked. I went with the numbers. Turns out the gut was reading the same warning signs the spreadsheet ignored.

What I Do Differently Now

Three changes. They're not complicated, but they've cut our fabric-related overruns by roughly 60% since Q1 2024.

  1. Require batch-specific lab dips before order confirmation. Not a generic colour card. An actual dyed sample from the production batch. If the supplier won't provide one, that tells you something about how they handle quality control.
  2. Write Delta E tolerances into the contract. Specifically, Delta E ≤ 2.0 for brand-critical colours, ≤ 3.0 for non-critical. Include the rejection remedy in the same clause. No ambiguity.
  3. Calculate true landed cost, not per-metre cost. That means factoring in: cutting waste rate (varies 5–15% by fabric type), replenishment risk, colour-match probability, and the labour cost of dealing with problems when they arise.

When I ran those numbers retrospectively on the 2023 hotel project, the Romo fabric option we'd dismissed as "too expensive" would have actually landed about 8% cheaper on a total-cost basis. Not because the per-metre price was lower — it wasn't — but because the replenishment consistency and specification documentation eliminated the rework and delay costs that we ended up paying anyway.

The Broader Picture

This pattern repeats across categories. Awning fabric wholesale buyers chasing the lowest per-metre price often discover that UV resistance and coating durability vary enormously — and a cheap awning fabric that fades in 18 months isn't cheap. Bedding fabric distributors dealing with hospitality clients know that colour consistency across repeat orders is worth paying for, because a mismatched batch in a 200-room hotel is a refund, not a reorder.

Romo rugs and similar design-led floorcoverings follow the same logic. Higher upfront cost, lower total cost of ownership — if you actually measure it.

What's Changed in the Industry

Five years ago, most buyers didn't have the tools to calculate fabric TCO. Spec sheets were PDFs of varying quality, batch sampling was informal, and supplier transparency was limited. That's shifting. Digital specification libraries, online sample ordering with batch references, and more suppliers publishing standardised performance data — these are real improvements.

What was best practice in 2020 — compare per-metre, negotiate hard, move on — doesn't hold up in 2025. The information is available now. The procurement teams still winning on price alone are the ones who haven't updated their process.

The fundamentals haven't changed: you still need fabric that performs. But the execution has transformed. You can actually verify performance before you buy, not after you install.

Use that.