Most small apparel buyers don't need another explainer on why advance ship notices matter. You already know a clean ASN speeds receiving and a messy one eats your afternoon. What's actually missing is the stuff you can copy, paste, and enforce — the real column layouts, the label dimensions, the exact scan order, and the chargeback numbers that make vendors take you seriously.
This is that toolkit. It pairs with the broader Supplier ASN & packaging checklist that speeds receiving and reduces defects — think of this post as the machine‑ready layer underneath it. Everything here is designed to be dropped into a spreadsheet, a label template, or a vendor email without you having to invent the format yourself.
The ASN CSV template (the thing most vendors actually need)
Here's the uncomfortable truth: most of your small vendors can't send real EDI. They'll send you a spreadsheet or a PDF packing list and call it an ASN. That's fine — as long as you define the exact columns and refuse anything that deviates.
So instead of asking them for "an ASN," hand them a CSV spec. This is the layout that works for apparel at small volume:
``
asnid,ponumber,shipdate,cartonid,sscc,gtin,style,color,size,qtyunits,qtycartons,carrier,tracking
ASN-20451,PO-8832,2026-02-14,CTN-001,00847913000000012,00847913001234,W-TEE-01,BLACK,S,24,1,UPS,1Z999...
ASN-20451,PO-8832,2026-02-14,CTN-001,00847913000000012,00847913001235,W-TEE-01,BLACK,M,30,1,UPS,1Z999...
ASN-20451,PO-8832,2026-02-14,CTN-002,00847913000000029,00847913001236,W-TEE-01,WHITE,S,24,1,UPS,1Z999...
``
A few rules that save you real pain:
-
- One row per style/color/size per carton. Don't let vendors collapse a mixed carton into one line. If CTN‑002 has three sizes, that's three rows sharing the same
carton_idandsscc. -
-
ssccrepeats across all rows in the same carton. That's correct — the SSCC identifies the carton, not the line. -
-
qtycartonsonly counts on the first line of each carton, or you'll double‑count. Easier rule for small vendors: set it to 1 on the first row of each new cartonid and blank elsewhere. -
- No merged cells, no color coding, no header notes above row 1. The file starts at row 1 with headers. Period.
EDI → CSV column mapping
| EDI 856 segment/element | Maps to CSV column | Notes |
|---|---|---|
| BSN02 | asn_id | Shipment identifier |
| PRF01 (in O level) | po_number | Pull from the order loop |
| DTM (373) | ship_date | Date qualifier 011 = shipped |
| MAN (GM) | sscc | The carton's SSCC‑18 |
| LIN (UP/UK) | gtin | UPC or GTIN‑14 |
| SN102 | qty_units | Units in that line |
| TD3 | carrier | Equipment/carrier info |
| REF (CN) | tracking | Carrier tracking reference |
The common failure here isn't the mapping — it's the hierarchy. EDI 856 nests Shipment → Order → Tare (carton) → Item. If your vendor flattens that wrong, your SSCCs get attached to the wrong POs. Validate the nesting before you trust the file.
SSCC: how one number ties the whole shipment together
The SSCC (Serial Shipping Container Code) is the 18‑digit number on each carton label. It's what turns receiving from "open every box and count" into "scan the box, trust the contents."
Take control of your clothing store operations.
Werzly helps you manage stock, process orders, and engage customers effortlessly.
- Unified inventory and order management
- Automated customer notifications
- Sales and stock analytics
No credit card required
``
0 0847913 0000000124 5
│ │ │ └── check digit
│ │ └── serial reference (your sequence)
│ └── company prefix (GS1-assigned)
└── extension digit (you choose, often 0)
``
How the SSCC maps to everything else: one SSCC = one physical carton. Inside your ASN, that SSCC links to:
-
- The PO it fulfills (
po_number) -
- The GTINs packed inside it (
gtin) -
- The quantities per GTIN (
qty_units)
So when your receiver scans SSCC 00847913000000012, your system should instantly show: PO‑8832, 24 black tees size S + 30 black tees size M, expected. If the scan returns nothing, the carton isn't on the ASN — stop and quarantine before you cut it open.
The mistake that comes up constantly: vendors reuse SSCC serials across shipments to save effort. SSCCs are supposed to be unique for roughly a year. Reused numbers cause your receiving log to match the wrong shipment, and you won't notice until a cycle count goes sideways months later.
Carton label spec + mockup
Vendors will send you whatever label their printer spits out unless you give them exact numbers. Here's the spec sheet to attach to every PO:
Label size: 4" × 6" (standard thermal), applied to the longest side of the carton, bottom‑right, at least 1" from any edge or seam.
``
┌────────────────────────────────────┐
│ FROM: [Vendor name] │
│ TO: [Your store / DC address] │
│ │
│ PO: 8832 STYLE: W-TEE-01 │
│ COLOR: BLACK CARTON: 1 OF 2 │
│ │
│ ||| ||||| || |||| GTIN barcode │ ← min 0.75" tall
│ 0 0847913 001234 │
│ │
│ |||||||| ||| |||||| SSCC barcode │ ← min 1.25" tall
│ (00) 0 0847913 0000000124 5 │
└────────────────────────────────────┘
``
Font and barcode rules that actually matter:
-
- Human‑readable text
minimum 10pt, SSCC digits bold at 12pt so a receiver can read it at arm's length.
-
- SSCC barcode taller than the GTIN barcode — receivers find it faster when it's the dominant element.
-
- Quiet zone (blank margin) of at least 10× the narrowest bar width on each side of every barcode. This is the #1 cause of "won't scan" labels.
-
- No label placed over a carton seam or tape line. Scanners choke on the warp.
Label size: 4" × 6" (standard thermal), applied to the longest side of the carton, bottom‑right, at least 1" from any edge or seam.
Barcode symbology and fallbacks
For apparel you'll touch three symbologies. Here's what to require and what to accept as backup:
| Use case | Primary symbology | Fallback | Watch out for |
|---|---|---|---|
| Item GTIN/UPC | UPC‑A or EAN‑13 | Code 128 (GTIN‑14) | Truncated UPCs on small hangtags |
| SSCC carton | GS1‑128 (SSCC‑18) | — (no real fallback) | Missing (00) application identifier |
| Internal receiving | Code 128 | QR (for mobile scan) | Low‑res thermal prints below 203 dpi |
If a vendor physically cannot print GS1‑128 for SSCC, the honest fallback is you print and apply carton labels on receipt — but that defeats half the point of the ASN. Make the vendor's inability to print SSCC a scorecard item, not a quiet workaround.
AQL sampling for small volumes
Full AQL tables assume thousands of units. You're receiving 300 pieces, not 30,000. Here's a compressed, practical sampling table for apparel receiving at small volume, using a General Inspection Level II mindset at AQL 2.5 for major defects:
| Lot size (units received) | Sample size | Accept if defects ≤ | Reject if defects ≥ |
|---|---|---|---|
| Up to 50 | 8 | 0 | 1 |
| 51–150 | 20 | 1 | 2 |
| 151–280 | 32 | 2 | 3 |
| 281–500 | 50 | 3 | 4 |
| 501–1,200 | 80 | 5 | 6 |
"Major defect" for apparel means something that would stop a sale or trigger a return: wrong size on label vs. garment, broken stitching, visible staining, missing components. Count cosmetic lint and a loose thread separately — don't let minor stuff trigger a rejection that burns a vendor relationship over nothing.
One pattern worth remembering: if you blow past the accept number in the first few units, stop sampling and reject the lot right there. Finishing the full sample on an obviously bad batch is wasted labor.
The receiving scan workflow (exact order)
This is where most of the time gets won or lost. The order matters more than the tools. Here's the sequence that keeps problems contained:
-
1. Scan the SSCC before opening the carton. If it doesn't match the ASN → move to quarantine, don't cut the tape.
-
2. Confirm carton count (CARTON 1 OF 2, etc.) against the ASN before you deep‑dive any single box.
-
3. Open and scan one GTIN per style/size to confirm contents match the SSCC's expected line items.
-
4. Count units against
qty_units. Short or over? Flag the line, keep receiving the rest. -
5. Run the AQL sample on the lot (see table above), not on every unit.
-
6. Accept, partial‑accept, or quarantine — and log the reason code on the spot.
-
7. Reconcile ASN vs. PO vs. received before the carton leaves the receiving zone.
Visual workflow for the exact receiving order.
Quarantine rules (write these down)
-
- Carton SSCC not on ASN → quarantine, photograph label, don't open.
-
- Unit count off by more than one carton's worth → quarantine the affected lines, notify vendor same day.
-
- Failed AQL → quarantine entire lot, hold for vendor response before processing.
-
- Barcode won't scan after three tries → move to a "re‑label" bench, don't let it flow to the floor unlabeled.
Quarantine isn't a trash pile. It's a holding state with a 48‑hour clock attached to a specific person who owns resolving it.
Data validation rules to run on every incoming ASN
Before a carton ever hits your dock, the ASN file should pass these checks. You can run them in a spreadsheet with a few formulas, or bake them into whatever receiving tool you use:
-
- SSCC check digit valid (mod‑10). Catches typos instantly.
-
- Every
po_numberexists in your open PO list. -
- Sum of
qty_unitsper PO ≤ PO quantity (flags over‑ships before they arrive). -
- No duplicate SSCC across the last 12 months of ASNs.
-
- Every
gtinexists in your item master. -
-
ship_dateis not in the future and not older than 30 days. -
- Carton count in file = distinct
carton_idvalues.
The ASNs that fail silently are the dangerous ones — a valid‑looking file with a GTIN that isn't in your system means that carton can't receive cleanly, and you find out at the dock instead of in your inbox.
Low‑cost receiving tools and templates
You don't need a WMS for this. A realistic small‑store stack:
-
- A $60–$120 2D wireless scanner (reads UPC, GS1‑128, and QR).
-
- A shared spreadsheet with tabs for
ASN log, PO list, item master, quarantine log.
-
- A thermal label printer for re‑labeling (the 203 dpi models are fine, roughly $150–$250).
-
- Phone camera for evidence photos, dropped into a dated folder per ASN.
The spreadsheet receiving log needs just these columns: date, asnid, ponumber, cartonid, sscc, expectedunits, receivedunits, defectcount, status, reason_code, owner. That's enough to reconcile, enforce chargebacks, and feed your KPIs.
KPIs and target thresholds
Track these monthly per vendor. Not vanity numbers — the ones that justify a chargeback conversation:
| KPI | Definition | Target |
|---|---|---|
| ASN accuracy | % ASN lines matching received qty | ≥ 98% |
| ASN timeliness | ASN received before carton arrives | ≥ 95% |
| Carton label scan rate | Labels scanning on first try | ≥ 99% |
| SSCC uniqueness | No reused SSCCs | 100% |
| AQL pass rate | Lots passing first sample | ≥ 95% |
| Receiving cycle time | Minutes per carton, dock to floor | downward trend |
The single most useful one for small buyers is ASN accuracy by vendor. Once you can say "your ASN accuracy was 91% last quarter against a 98% target," the chargeback and remediation conversation stops being emotional and starts being factual.
Escalation and chargeback policy (sample amounts)
Enforcement only works if the numbers are written down before a problem happens. Example policy you can adapt:
-
- Missing/invalid ASN $75 per shipment.
-
- Unscannable carton labels $2 per carton requiring re‑label.
-
- Reused SSCC $50 per shipment.
-
- Failed AQL (major defects) return at vendor cost + $100 handling.
-
- Over‑shipment returned at vendor cost, no restocking credit.
SLA timelines: vendor acknowledges any flagged issue within 48 hours, provides a corrective plan within 5 business days, and the fix applies to the next shipment. Three strikes in a quarter triggers a scorecard review.
Keep the amounts modest and defensible. The point isn't to punish — it's to make the cost of sloppiness visible enough that the vendor fixes their process.
Supplier‑facing one‑page checklist
Hand this to every vendor with the PO:
-
- [ ] ASN sent as CSV matching the exact column spec (one row per style/color/size per carton)
-
- [ ] ASN sent before the carton ships
-
- [ ] Every SSCC unique and check‑digit valid
-
- [ ] GS1‑128 SSCC barcode ≥ 1.25" tall with proper quiet zone
-
- [ ] GTIN barcode present and scannable (UPC‑A / EAN‑13)
-
- [ ] Label on longest carton side, bottom‑right, off all seams
-
- [ ] Carton count labeled (X OF Y)
-
- [ ] PO number on every label and every ASN row
-
- [ ] No over‑shipment beyond PO quantity
-
- [ ] Minimal packing list enclosed
PO, carton ID, SSCC, style/color/size, qty
Hand this to every vendor with the PO:
Remediation + escalation email template
> Subject: Shipment issue — PO‑8832 / ASN‑20451 — 48hr response needed > > Hi [Vendor], > > We received ASN‑20451 against PO‑8832 and flagged the following during receiving: > > 1. Cartons CTN‑002 and CTN‑005 had SSCC labels that failed to scan (quiet zone too narrow). Photos attached. > 2. CTN‑004 contained 18 units of W‑TEE‑01 / WHITE / S; ASN stated 24. Short 6 units. > 3. SSCC on CTN‑006 duplicates a value from ASN‑20388 (shipped last month). > > Evidence attached: carton label photos, receiving log export, ASN file. > > Per our supplier terms, please: > - Acknowledge within 48 hours > - Confirm the shortage resolution (credit or reship) for item #2 > - Provide a corrective plan for labeling (#1) and SSCC uniqueness (#3) within 5 business days > > Applicable chargebacks this shipment: $4 (2 re‑label) + $50 (reused SSCC) = $54, pending your corrective plan. > > Thanks, > [You]
The evidence checklist is what makes this stick: label photo, receiving log line, the ASN file itself. Vendors argue vague complaints and fold on documented ones.
When this level of rigor makes sense — and when it doesn't
Worth doing if you're receiving from more than a couple of vendors, taking regular multi‑carton shipments, or already losing afternoons to count discrepancies and re‑labeling.
Probably overkill if you have one trusted vendor shipping you a handful of cartons a season and you've never had a receiving dispute. In that case, the one‑page checklist alone is plenty — don't build a scan workflow for twelve boxes a year.
Who should hold off: if your item master and SKU data aren't clean yet, fix that first. Validating ASNs against a messy GTIN list just generates false alarms. Get your product data solid, then layer this on top.
A realistic before/after
A small women's apparel shop buying from four overseas and two domestic vendors was spending roughly 20–25 minutes per carton on receiving — mostly opening everything, hand‑counting, and chasing discrepancies by email days later. Over a season they'd eaten a handful of unnoticed short‑ships and at least one mislabeled batch that hit the floor at the wrong price.
After they handed vendors the CSV spec and the one‑page checklist, and started scanning SSCC‑first with the quarantine rules in place, cycle time dropped to roughly 8–10 minutes a carton. The bigger win was quieter: short‑ships got caught the same day, and two vendors' ASN accuracy climbed from the low 90s to the high 90s within about two quarters — mostly because, for the first time, someone was measuring it and showing them the number.
None of this required expensive software. It required deciding the exact format, writing down the rules, and refusing anything that didn't match. The toolkit above is everything you need to start doing that this week — and it slots directly on top of the broader supplier ASN and packaging checklist if you want the full receiving picture.
Ready to elevate your apparel business?
Join 2,000+ retailers using Werzly to streamline operations, increase sales, and deepen customer loyalty.