-
Who this checklist is for
-
Step 1: Write your specs before you contact a single supplier
-
Step 2: Ask for physical swatches and lab dips, not photos
-
Step 3: Verify who you're actually buying from
-
Step 4: Demand a line-item cost breakdown (the step everyone skips)
-
Step 5: Nail down lead time—and define what "on time" means
-
Step 6: Set color tolerance in writing, with a number
-
Step 7: Put the specs and tolerances into the purchase order
-
Common mistakes to avoid
Who this checklist is for
I'm a quality and brand compliance manager at an apparel company. I review every fabric lot before it goes into production—roughly 300 swatches and sample yards a year. In 2024, we rejected about 11% of first deliveries, mostly for color and weight variance. That number used to be higher, and this checklist is the reason it dropped.
If you source shirting fabric, denim, dress fabric, or polyester wholesale for a brand or a manufacturing line, this is what I'd hand you on day one. Seven steps. Step four is the one almost everyone skips, and it's the one that saves the most money.
Step 1: Write your specs before you contact a single supplier
Most buyers do it backwards—they email five suppliers, collect quotes, then decide what they want. Here's the problem: without a written spec, every quote is quoting a different product. You're comparing apples to slightly different apples.
Your spec sheet needs, at minimum:
- Fiber content and blend ratio (with tolerances, e.g. 98/2 cotton/elastane ±1%)
- Weave or knit construction
- Weight in GSM or oz/yd²
- Width in inches or cm
- Color reference—a Pantone TCX number, not "navy blue"
- Finish (mercerized, sanforized, soft-washed, etc.)
- Shrinkage and colorfastness requirements, with test method
Yes, it takes an afternoon. Yes, it's worth it. Every quote you get after this is actually comparable.
Step 2: Ask for physical swatches and lab dips, not photos
Photos lie. Phone cameras auto-correct color, monitors are calibrated differently, and a JPEG of a linen swatch shot under office lighting tells you almost nothing about how the fabric behaves.
Ask for two things from every shortlisted supplier:
- A physical swatch of the exact construction, minimum 6×6 inches
- A lab dip in your specified color, prepared on the actual base fabric
Then handle them. Fold them. Run them under a lightbox if you have one, or just take them outside at noon. Natural daylight will show you shade variation that office lighting hides. I've lost count of how many "perfect matches" came back with a visible red cast the moment they hit real sunlight.
Step 3: Verify who you're actually buying from
This is a bigger deal than most buyers realize. Thomas Mason shirting fabric, for example, is a specific product from a specific mill. A lot of resellers advertise "Thomas Mason" in their keyword metadata when what they actually stock is a lookalike construction, or they stock genuine Thomas Mason bolts but can't tell you the lot number or the mill's own reference code for it.
Before you commit, ask three things:
- Which mill produced this fabric, and what's their reference for it?
- Can you provide the mill's own test report or spec sheet?
- If this is a licensed or heritage product, can you confirm the license or authorized distribution?
If a supplier gets vague here, that's a red flag. Genuine sourcing is traceable sourcing.
Step 4: Demand a line-item cost breakdown (the step everyone skips)
This is the one. Almost nobody asks for it, and it's the single most useful thing you can do when comparing quotes.
A line-item breakdown separates:
- Base fabric cost per yard or meter
- Dyeing and finishing
- Testing and certification (OEKO-TEX, GOTS, etc.)
- Packaging (roll, flat-fold, individual bagging)
- Freight and duties
- Minimum order quantity surcharges
Why it matters: the headline number hides everything. I've seen two polyester wholesale quotes sit $0.60/yard apart, and the breakdown revealed that the "cheaper" one charged separately for lab dips, testing, and flat-fold packaging. On our 50,000-yard annual program, the cheaper-looking quote was actually $31,000 more expensive.
For reference, polyester fabric wholesale typically runs somewhere between $1.20 and $4.50 per yard depending on GSM, finish, and yarn quality (based on supplier quotes, early 2025; verify current pricing—this moves with oil markets). Shirting cotton runs higher. But the range inside any single category is where the real negotiation happens.
I don't have hard data on how many buyers actually request breakdowns. Based on how rarely suppliers seem ready for the question, my guess is under 20%.
Step 5: Nail down lead time—and define what "on time" means
"We can deliver in 30 days" means nothing without a delivery date, a delivery point, and a definition of what the 30 days starts from.
Lock in writing:
- Lead time starts from: PO confirmation, deposit receipt, or lab dip approval—pick one
- Delivery date in calendar days, not "business days"
- Delivery point: mill dock, freight forwarder, or your warehouse
- What happens if they miss it—credit, air freight at their cost, order cancellation
Here's where I'll say something most buyers won't: in a genuinely tight situation, paying for delivery certainty is not a waste. It's a cheap insurance policy. In March 2024, we paid $400 extra for guaranteed delivery on a rush shirting order. The alternative was missing a $15,000 brand event. That's not a hard call.
After getting burned twice by "probably on time" promises, we now budget for guaranteed delivery on anything time-critical. The premium is far smaller than the loss risk, and it forces the supplier to actually plan around your date instead of working around it.
Step 6: Set color tolerance in writing, with a number
"Matches the approved sample" is not a spec. Get a number.
The industry reference is Delta E. According to Pantone Color Matching System guidelines, a Delta E under 2 is considered a match for brand-critical color. Delta E of 2 to 4 is noticeable to trained observers. Above 4 is visible to most people walking down the street.
For most apparel programs, Delta E ≤ 2 per lot against the approved lab dip is a reasonable target. For trim and linings where color is less visible, 3 to 4 may be acceptable—but you decide that, in writing, before the bulk run, not after.
Also specify the light source for evaluation. A D65 lightbox and a stack of fluorescent tubes will give you different verdicts on the same swatch.
Step 7: Put the specs and tolerances into the purchase order
On the PO itself, or in an attached spec sheet signed by both parties, include:
- The full fabric spec from step 1
- Approved lab dip reference, dated
- Delta E and light source for evaluation
- Shrinkage and colorfastness test methods and limits
- AQL (acceptable quality limit) level for inspection
- Remedy for rejection: redo at supplier cost, credit, or replacement
This gets into textile testing territory, which isn't my expertise. What I can tell you from a QC perspective is that the PO is the only place contract language actually lives. Verbal agreements evaporate.
Common mistakes to avoid
Approving based on a photo. Already covered, worth repeating. It's the number one cause of returns I see.
Comparing quotes with different specs. If the fiber blend, weight, or finish differs between quotes, you aren't comparing prices. You're comparing products.
Skipping the breakdown because you "trust" the supplier. Trust is fine. Transparency is cheaper than trust. Ask for the breakdown every time.
Assuming the cheapest lab dip is the cheapest order. Lab dip pricing and bulk pricing are often disconnected. Some mills underprice dips to win the bulk, then recover margin on the run. Watch for that pattern.
Not checking who's really behind the fabric. Especially on heritage or licensed names. If you can't trace the mill, treat the name as marketing until proven otherwise.
The bottom line: 90% of the quality problems I've dealt with over four years would've been caught by steps 1, 3, and 6. The rest were caught by having the tolerances in writing. Print the checklist, work through it once, and adjust it to your own program. It's a no-brainer. It works.
