- One polo order, and where each step can live
- The same order as CMT and as full package
- The polo order's records and their owners
- Findings from the polo order's discovery walk
- How many SKUs a variant model creates
- A quotation cost build for the polo
- Quote against actual on the polo order
- Four rolls of the same "180 GSM" jersey
- Why one average consumption fails
- The polo's operations, minutes and CM
- Cutting 3,000 polos from three dye lots
- The polo's T&A calendar, worked back from ex-factory
- Embroidery out and back, with a loss allowance
- The final inspection sample for 3,000 polos
- Packing 3,000 polos, one dye lot per carton
- Landed cost on the imported fabric
- Down payment, letter of credit and exchange difference
- A chargeback, split by reason
- One purchase request, from MerchandiserOS to an ERP and back
- Migration scope for the open polo order
- A training plan by role
- A cut-over plan, day by day
- Five fit-gap rows, scored with evidence
- Test script T1: the polo order from buyer PO to cash
- Test script T4: shade split at cutting
- Test script T6: short shipment within tolerance
- The polo order with operations on top
Part 1Foundations
1Why do general ERPs struggle with garment manufacturing?
General ERPs struggle with garment manufacturing because they assume one item has one bill of materials, one routing, one unit and one cost, and a garment order breaks all four. A style comes in many colours and sizes, its fabric use changes with each size, its fabric is bought by weight and cut by length, and it is quoted, sampled and approved before any item exists.
This is a statement about data shapes, not about any one vendor. SAP, Oracle NetSuite, Microsoft Dynamics 365, Odoo, ERPNext and every other general ERP meet the same shapes, which is why fashion add-ons, fashion editions and apparel-specific systems exist. The list below is where the shapes differ. Each line is a question your implementation must answer, whatever the ERP.
Forcing a general ERP to hold all of this means heavy customisation in the one system that most needs to stay standard. Upgrades get harder, the ledger fills with data finance never reads, and the merchandisers keep their spreadsheets. The ownership split below avoids it, and the operations layer section shows it in full.
One polo order, and where each step can live
A buyer sends a tech pack for 3,000 men's piqué polos in navy, style P-2041, five sizes, ex-factory 15 December. Follow the order and ask, at each step, whether a general ERP has a natural home for it.
| Step | What happens | Natural home in a general ERP? |
|---|---|---|
| Tech pack arrives | Graded measurements, construction, artwork, trims list | No. There is no item yet |
| Costing and quote | Fabric from the marker, 18 minutes of making, quote at USD 4.26 FOB | No. The quote comes before the item |
| Lab dips, strike-off, fit and PP samples | Three lab dip rounds before navy is approved on 17 October | No. These are approvals of the product |
| Order confirmed | Size breakdown 300 / 750 / 900 / 750 / 300 | Yes: the sales order |
| Fabric and trims bought | 925 kg of jersey, rib, buttons, labels, polybags | Yes: purchase orders |
| Fabric received | 933 kg in three dye lots, rolls of different width and weight | Partly. Lots yes, shade and roll width rarely |
| Cutting and sewing | Cut by dye lot from 17 November, output by line by hour | Partly. The work order yes, the floor no |
| Embroidery at a subcontractor | Fronts out, 1% allowance, fronts back | Partly. One step works, a chain is hard |
| Final AQL inspection | 12 December: general level II, sample of 125 pieces | Rarely as standard in the ERPs we reviewed |
| Shipping and invoice | Cartons, packing list, commercial invoice, LC documents | Yes: delivery and invoice |
Four of ten steps have a natural home. The other six are where the order is won or lost, and where most apparel ERP projects spend their custom budget.
2How do business types change an ERP implementation?
The business type decides who owns the material, what is invoiced and which parts of the ERP carry the weight, so settle it in the first discovery meeting. "Apparel manufacturer" covers six very different businesses, and one factory often runs two of them at once: full package for one buyer and CMT for another.
CMT (cut, make, trim) is a model where the buyer supplies the fabric, often the trims, and the factory charges only for making the garment. Full package, also called FOB manufacturing, is a model where the factory buys every material, makes the garment and sells it at a price per piece. Job work is the South Asian term for work done on material owned by someone else; TallyPrime, for example, documents job work in and job work out as separate flows.
| Type | What it does | What it needs from the ERP | Main risk |
|---|---|---|---|
| CMT factory | Sews buyer-supplied fabric; sells labour | Buyer-owned stock held apart at no value, material reconciliation per order, labour costing from minutes, capacity, WIP, output grading, service invoicing | Disputes over fabric loss; the buyer's fabric counted in the factory's stock value |
| Full-package (vertical) factory | Buys all materials, makes, ships; sells the garment | Everything: variants, size-graded BOMs, MRP, purchasing, lots, landed cost, subcontracting, letters of credit and back-to-back credits, T&A | The largest scope and the most custom work |
| Textile mill (knitting, weaving, dyeing) | Turns yarn into fabric | Process manufacturing: yarn count and blend, dye recipes, batch genealogy, lab dips, GSM and width per batch, weight units, co-products and by-products | Recipe and batch logic beyond a discrete BOM |
| Hosiery and knit-to-shape | Knits socks, tights or sweaters from yarn | Machine programmes, yarn BOM by weight, singles to pairs to packs, pairing, toe closing and boarding as stages, a few broad sizes | The unit design (singles, pairs, packs) |
| Brand or wholesaler | Designs and sells; buys finished goods | PLM, vendor POs, landed cost, open-to-buy, wholesale EDI and chargebacks, DTC stock | Supplier follow-up living outside the ERP |
| Buying agent or buying house | Places and follows orders across factories for its buyers; earns commission | Light accounting and commission invoicing; little or no stock | The real work (T&A, samples, inspections, documents) is not transactional |
| Own-label retailer | Sells its own private-label product in its stores and online; sources it from factories | Vendor POs, landed cost, the retail stack (stores, POS, allocation, open-to-buy), DTC stock | Product development and factory follow-up squeezed between retail systems |
The table is general implementation practice. Each ERP chapter repeats it with that ERP's answers; for example, the Dynamics 365 Finance and Supply Chain chapter covers formula BOMs for dye houses, and the Tally chapter covers job work in and out.
The same order as CMT and as full package
The buyer offers the polo order two ways. As full package, the factory buys everything and sells at USD 4.26 FOB. As CMT, the buyer ships the fabric (the same three dye lots, 2,880 m) and the factory charges for making only, at an illustrative USD 1.60 a piece.
| Question | Full package | CMT |
|---|---|---|
| Who buys the fabric | The factory, on a purchase order | The buyer; no purchase order |
| How the fabric enters the ERP | A receipt that raises stock value and a payable | A receipt into a location kept out of stock value; design it explicitly |
| Invoice to the buyer | 3,000 × 4.26 = USD 12,780.00 | 3,000 × 1.60 = USD 4,800.00 |
| Material reconciliation | Internal: fabric used against the BOM | External: 2,880 m received, 2,856 m used, 24 m returned or accounted for |
| Main risk | Under-buying fabric (Example 9) | Being charged for fabric the factory cannot account for |
In CMT, the cut plan per dye lot (Example 11) is the evidence the factory shows the buyer, so it must be recorded per lot, not as one total.
3How does the method change for fashion brands, buying agents and own-label retailers?
For a brand, a buying agent or an own-label retailer the same sixteen phases apply, but the weight moves: the phases about BOMs, routings and the sewing floor shrink, and the phases about vendors, development with factories, inspections at the vendor, landed cost, EDI with retailers, chargebacks and commission grow. Nobody in these businesses cuts fabric, yet every one of them lives or dies on what the factory does.
A private-label (own-label) product is one designed or specified by a brand or retailer and made for it by a factory, sold under the brand's or retailer's name. A buying house, or sourcing agent, places and follows orders with factories on behalf of brands and retailers and is usually paid a commission on the order value. A PO, in the brand sense, is the purchase order a brand issues to a factory for finished garments; it is the factory's buyer PO.
| Area | Factory focus | Brand or own-label retailer | Buying agent or buying house |
|---|---|---|---|
| Discovery (phase 1) | Walk one order through the factory | Walk one style from brief to store or warehouse, across two or three factories | Walk one buyer's order across every factory it is split between |
| Vendor onboarding and compliance | Qualify fabric and trims suppliers and subcontractors | Qualify factories: social audits, certificates, capacity, the brand's vendor compliance manual accepted | Keep each buyer's approved-factory list and audit expiry dates; never place an order at an unapproved factory |
| Development (phases 2 and 5) | Tech pack in, costing out | Tech pack out to factories, samples and lab dips back, round by round; comparing factory quotes by open costing | Carries samples and comments between buyer and factory; logs every round |
| Costing (phase 3) | Cost build to FOB | FOB from the factory, then landed cost to the warehouse; margin at the retail price | Commission on FOB; cost comparisons across factories for the buyer |
| Production (phases 7 and 8) | Lines, cuts, bundles, WIP | A planning view across the factories the brand uses; T&A per PO; production status from each factory | The same view across every buyer and factory, with the T&A as the daily tool |
| Quality (phase 9) | Inline and final inspection in-house | Inspections at the vendor by the brand's QA or a third party, against the brand's AQL | Inline and final inspections at the factory on the buyer's behalf |
| Shipping and finance (phases 10 and 11) | Export documents, LC, receivables | Landed cost on import, duty, EDI with retail customers, chargebacks, payables to factories | Shipping follow-up; commission invoicing and receivables |
| Integrations (phase 12) | Floor system, PLM, banks | EDI 850, 856 and 810 with retailers; marketplaces; the retail stack | Buyers' portals and each factory's documents |
Retail back-office work (stores, point of sale, allocation to stores, open-to-buy planning) sits in retail systems, not in the ERP project described here and not in MerchandiserOS. MerchandiserOS covers the part of a brand's or agent's work that faces the factories: development, samples and approvals, T&A, the orders placed with factories, sourcing, a planning view across subcontracted factories, quality inspections and shipping follow-up. The ERP keeps the books in every case.
4Which system should own which part of an apparel business?
Give the ERP the financial and legal record, and give the work in progress, and the reasoning behind it, to systems built for that work. That rule, applied area by area, keeps the ERP close to standard and keeps the factory's teams out of screens that were never designed for them.
Most apparel businesses end up with some of these systems beside the ERP, whether they plan for it or not: a PLM for styles and tech packs, a shop-floor system (MES) for output, a merchandising or operations tool for T&A and approvals, CAD for markers, a warehouse system for large distribution centres, an EDI translator for retailers, and retail planning for brands. The design question is which of them you choose on purpose, and how they connect.
| Area | Recommended owner | Why there |
|---|---|---|
| Style, tech pack, samples and approvals, quotation costing | Operations layer | The work happens before an ERP item exists, and it changes daily |
| Buyer orders, procurement planning, production planning, quality, logistics | Operations layer | It needs sizes, dye lots, minutes, inspections and dates in one place |
| Shop-floor capture | The operations layer's floor screens, or a floor system such as Garment.io connected to it | Operators need a simple screen, not an office form |
| Accounts, payables and receivables, invoicing, payments, stock value, tax and e-invoicing | ERP | This is the legal and financial record, and every ERP in this guide does it as standard |
This is our recommendation, and MerchandiserOS is built on it: MerchandiserOS runs the operations, and the ERP keeps the books. The 16 phases below still show what each area takes inside an ERP, because some factories choose that route, and because a consultant needs to know what each choice costs. The operations layer section shows the model department by department.
5What is the source of truth for each record in an apparel system landscape?
Each record has exactly one system that may create and change it, and every other system reads it or receives a copy. Write this map before any integration is designed; most integration faults come from two systems that both believe they own the same quantity.
The table is general practice across apparel projects. The middle column shows the typical owner when a PLM and a shop-floor system exist beside the ERP; the right column shows the owner under the model this guide recommends.
| Record | Typical owner | With an operations layer |
|---|---|---|
| Style, spec, points of measure, revisions | PLM, passed to the ERP on release | Operations layer; the ERP gets the finished-goods item once released |
| SKU (style-colour-size) | ERP | Operations layer, mirrored to the ERP item |
| Development BOM | PLM | Operations layer |
| Production BOM | ERP | Operations layer; the ERP needs it only if it costs production |
| Pre-cost (the quote) | PLM or merchandising tool, passed to the ERP standard | Operations layer |
| Standard and actual cost for stock value | ERP | ERP |
| Customers and suppliers (legal and banking data) | ERP | ERP; the operations layer holds qualification and contacts |
| Buyer PO and sales order | ERP, or EDI into the ERP, then to MES and T&A | Operations layer for the buyer PO; the ERP gets the sales order for invoicing |
| T&A milestones | Operations tool reading ERP events | Operations layer |
| Material PO, receipts, stock, lots, rolls | ERP, or WMS | The ERP for the financial PO and stock value; the operations layer for the purchase request and the measured lot |
| Cut, bundle, WIP, operator output | MES, summarised into the ERP | Operations layer floor screens, or Garment.io read into it |
| Quality results | QMS, MES or operations tool; the ERP gets pass or fail | Operations layer; the ERP sees only a cleared shipment |
| Shipment, ASN, invoice | ERP, then EDI | Operations layer for the shipment; ERP for the invoice |
| Payment, letter of credit, chargeback | ERP | ERP |
Rules for every connection
Four rules prevent most integration faults, whatever the systems on each side.
- Link on the partner's permanent internal id. Never link on an order number, a product code or a supplier code, because users can edit them.
- One writer per field. If two systems can change the same quantity, one of them is wrong without knowing it.
- Show disagreements to a person. When the other system says something different, put it on a review list; never overwrite silently.
- Make every message replayable and safe to receive twice. A retried message must not create a second purchase order.
The polo order's records and their owners
The polo factory runs MerchandiserOS for operations, an ERP for the books and Garment.io on its sewing lines. This is who owns what on P-2041.
| Record | Owner | Copy held by | Linked on |
|---|---|---|---|
| Style P-2041, spec version 3, graded measurements | MerchandiserOS | Garment.io (style); ERP (finished-goods item) | Each system's permanent id |
| Buyer PO and order, 3,000 pieces by size | MerchandiserOS | ERP sales order; Garment.io order | ERP sales order id |
| Purchase request for 925 kg jersey | MerchandiserOS | ERP purchase order | ERP PO internal id |
| Receipt of 933 kg in lots A, B, C, measured | MerchandiserOS for the measurements; ERP for stock value | Each other | Lot and receipt ids |
| Line output and actual minutes | Garment.io | MerchandiserOS | Garment.io order id |
| Final AQL result | MerchandiserOS | ERP sees only the cleared dispatch | Not sent |
| Customer invoice, payment, LC | ERP | MerchandiserOS reads payment status | ERP invoice id |
Part 2The 16 phases
6What are the phases of an ERP implementation in a garment factory?
An apparel ERP implementation runs through sixteen phases, from discovery to hypercare, and each phase ends with decisions that a named person in the factory makes. The phases overlap in time, but their decisions must be taken in this order, because each one constrains the next: the variant model decides the BOM, the unit design decides the lot data, the costing model decides what finance can report.
| # | Phase | Key decisions | Decided by | Output |
|---|---|---|---|---|
| 1 | Discovery | Business type, order-to-cash and procure-to-pay flows, scope boundary, success criteria | Owner or MD, heads of merchandising, production and finance | Fit-gap list, signed scope, what stays outside the ERP |
| 2 | Item master and variants | Style template, variant dimensions, size scales, season attribute, code convention, when variants are created | Merchandising and IT | Variant model, the most expensive decision to change later |
| 3 | Costing model | Pre-cost, standard and actual; cost elements; currency; variance buckets; approval | Finance and merchandising; the owner approves | Costing design and approval thresholds |
| 4 | Units of measure | Purchase, stock and issue units; fixed or lot-dependent conversion; pieces, pairs, packs, cartons | Stores, purchasing, production | Unit design per material |
| 5 | BOMs and routings | One style BOM with rules or separate BOMs; size-graded consumption; wastage and shrinkage apart; operations with minutes; subcontract steps | IE (minutes), CAD (consumption), production | BOM and routing design |
| 6 | Inventory | Lot, roll and shade tracking; four-point inspection; quarantine; consigned stock; leftovers; bins | Stores and quality | Inventory and traceability rules |
| 7 | Production control | Work-order level; cut orders and markers; bundles; WIP capture; output grading; T&A | Production manager and cutting master | Production control design |
| 8 | Subcontracting | Out and return documents, loss allowance, per-piece charging, ownership while away, subcontractor approval | Production and compliance | Subcontract flow per process |
| 9 | Quality and AQL | Inspection points, ISO 2859-1 plan per buyer, who may override a failure | QA manager, from the buyer's QA manual | Inspection plan and override rights |
| 10 | Shipping documents | Packing list with ratio packs, carton labels, commercial invoice, certificate of origin, ASN, LC documents | Shipping and commercial | Document set per buyer |
| 11 | Finance | Currencies and revaluation, LC types, advances, discounting, chargebacks, landed cost | CFO | Finance design |
| 12 | Integrations | PLM, MES, EDI, carriers, banks, e-invoicing; source of truth per record | IT and the data owners | Integration map |
| 13 | Data migration | What is migrated, the cut-off rule, cleansing | Each data owner signs off | Loaded and signed data |
| 14 | Testing | The 13 end-to-end scenarios and who accepts them | Key users and the project lead | Signed test results |
| 15 | Training | By role, in the local language, on real styles; floor on kiosk or scanner only | Key users and department heads | Trained users |
| 16 | Go-live and hypercare | Date between seasons, parallel run, hypercare length and exit criteria | Sponsor | Live system and a closed first month |
Who should be on the project team?
The project needs one decision owner for every design question, and most of those owners sit in the factory, not in IT. The implementer configures and builds; the factory decides how styles, units, lots, costs and inspections work.
| Role | Usually | Decides |
|---|---|---|
| Sponsor | Owner or managing director | Scope, budget, go-live window, what stays outside the ERP, disputes between departments |
| Factory project lead | A senior manager with time freed | Day-to-day priorities, test sign-off, cut-over readiness |
| Merchandising head | Head of merchandising | Variant model, size scales, seasons, order entry, T&A ownership |
| Development and sampling lead | Sampling room head or technical manager | Sample types, approval rounds, where tech packs and revisions live |
| Production manager | Factory or production manager | Work-order level, routings, subcontract steps, floor capture |
| Industrial engineer | IE manager | Operation minutes (SMV), line capacity, efficiency assumptions |
| CAD and marker lead | CAD room head | Consumption per size, marker efficiency, cutting loss |
| Stores head | Fabric and trims store manager | Units, lot and roll rules, locations, receiving checks |
| Quality manager | QA manager | Inspection points, sampling plans, override rights |
| Shipping and commercial lead | Shipping manager | Packing rules, labels, export and LC documents |
| Finance head | CFO or chief accountant | Chart of accounts, costing method, landed cost, currencies, advances, chargebacks, tax |
| Key users | One or two per department | Test scripts, colleague training, first-line support |
| Implementer's consultant and developer | ERP partner or in-house | How each decision is configured; custom code, integrations, migration scripts |
Four rules keep decisions moving. Write one name against each decision, because "merchandising and finance will agree" produces no decision. Keep a decision log with the date, the owner, the option chosen and the options rejected. Let the sponsor settle scope and the department head settle configuration. Release key users from part of their day, because a key user running peak-season orders will not test properly.
7Phase 1: How should discovery for a garment factory ERP be run?
Run discovery as one workshop per department, each walking a real, recent order from start to finish and asking where the data comes from, who changes it and what goes wrong. Use the factory's own orders, never a demo database, and settle the business type, the scope boundary and the success criteria before any design starts.
Decisions: business type per buyer (CMT, full package, both); the order-to-cash and procure-to-pay flows as they really run; what the ERP will own and what stays in a specialist system or a spreadsheet; how success will be measured. Decided by: the owner or managing director with the heads of merchandising, production and finance. Output: a findings sheet mapped to the 52 fit-gap lines, a signed scope, and a written list of what stays outside the ERP.
What each workshop should ask
These question lists are a starting set. Add the factory's own, and keep every answer tied to a document you have seen.
- Merchandising. How does a buyer PO arrive (email, portal, EDI) and how often is it amended? Are sizes ordered by ratio pack? What quantity tolerance applies? Is one order split into several deliveries? Where does the T&A live and who updates it?
- Development and sampling. Which sample types does each buyer require, in what order? How are rounds recorded? Where do tech packs live, and what happens to a revision after PP approval? Who builds the quotation cost, from what inputs?
- Purchasing and stores. In which unit is each material bought, stocked and issued? What is measured at receipt (weight, width, GSM, shade, shrinkage, four-point)? Can the store find every roll of one dye lot today? Which materials are buyer-nominated or buyer-supplied?
- Cutting, production and subcontracting. At what level is production controlled: order, style-colour, delivery or cut? How is the cut plan made per dye lot? How is output counted? Which processes go outside, and how are pieces counted out and back?
- Industrial engineering and planning. Are minutes studied per style, taken from a library, or estimated? How is line capacity planned across the season, including subcontractors?
- Quality. Which inspections run, at which points? Which buyers set their own AQL? Who may release a failed lot, and is that logged?
- Shipping. How are cartons packed (solid size, assorted, ratio)? Which documents go with each shipment, and who checks them against the letter of credit?
- Finance. Which currencies are used? How do buyers pay: LC, advance, open account? Who deducts chargebacks? How is imported material costed? Is the factory in a free zone or under temporary admission? Which e-invoicing rules apply?
For brands and buying agents: vendor onboarding and compliance
A brand or buying agent adds one workshop a factory never needs: how a factory becomes an approved vendor. Ask which audits and certificates each buyer requires, where the vendor compliance manual is kept and who confirms a factory has accepted it, when each audit expires, and what stops an order being placed at a factory that is not approved. A vendor compliance manual is a brand's or retailer's rulebook for its suppliers, covering labels, packing, carton marks, ASN timing, testing and the chargebacks for breaking each rule.
Findings from the polo order's discovery walk
The team walked P-2041 from the buyer's PO to the booking of the shipment. Six findings came out of merchandising and development alone.
| # | Finding | Fit-gap line | Decision needed | Owner |
|---|---|---|---|---|
| M1 | The buyer PO arrives as a PDF; sizes are keyed twice, into a spreadsheet and into the costing sheet | 41 | Where the order is entered once, and by whom | Merchandising head |
| M2 | The buyer allows ±3% quantity; nobody records it | 43 | Where the tolerance is held and who checks it | Merchandising head |
| M3 | Three lab dip rounds were tracked in one merchandiser's email | 10 | Where approval rounds are recorded | Development lead |
| M4 | On an earlier order, production cut from a superseded spec sheet | 8 | How the approved spec version is fixed for an order | Development lead |
| M5 | Fabric was bought on the base-size consumption and ran short | 12 | Where size-graded consumption is calculated | CAD lead |
| M6 | The T&A is a shared spreadsheet with no dependencies | 36 | Where T&A lives | Sponsor |
Four of the six (M3, M4, M5, M6) sit on lines that general ERPs rarely meet as standard. That is the moment to settle the ownership question, before anyone designs a custom module.
8Phase 2: How should the style, colour and size variant model be designed?
Design the variant model as a style template that generates its colour-size SKUs, with size scales per product category, a season attribute kept apart from collection and delivery drop, a fixed code convention, and variants created at order confirmation rather than at design. This is the most expensive decision in the project to change later, because every order, BOM, stock record and integration is keyed on it.
A style/colour/size matrix is a grid with colours on one axis and sizes on the other, used to enter or show the quantity of each combination. A SKU (stock-keeping unit) is one sellable combination, such as P-2041, navy, size L.
Decisions: the style as the template with colour and size as variants, or the style-colour as the item with size as the only variant; the dimensions (colour, size, and fit, length, inseam or cup where used); one size scale per product category (alpha, numeric, waist, cup); how seasons, collections and drops are held; the code pattern; when variants are created; how dead variants are retired. Decided by: merchandising with IT. Output: the variant model and a size-scale register.
How the main ERPs name the same idea
Every ERP in this guide has a way to group SKUs under a style, and the names differ. The facts below come from each vendor's documentation as cited in the chapters.
| ERP | Style is a… | SKU is a… | Note |
|---|---|---|---|
| Odoo | Product template with attributes | Product variant | Variant creation per attribute: Instantly, Dynamically or Never |
| Oracle NetSuite | Matrix parent item | Matrix child item | Oracle documents a maximum of 2,000 combinations of matrix options |
| Dynamics 365 Business Central | Item | Item variant (Variant Code, for example BLUE-L) | A flat list of variants; size grids come from add-ons |
| Dynamics 365 Finance and Supply Chain | Product master | Released product variant | Five product dimensions: colour, size, style, configuration, version |
| SAP S/4HANA for fashion and vertical business | Generic article | Variant from characteristics | Seasons, segmentation and distribution curves sit on this model |
| SAP Business One | No standard matrix | Its own item code | Partners add matrix entry through add-ons |
| ERPNext | Item template | Item variant by attributes | Subcontracting needs a BOM per variant (open GitHub issue) |
Rules that hold in every ERP
- Create on order, not on design. A variant created for every colour-size combination at design time fills the master data with SKUs that never sell. Create them when an order confirms them, where the ERP allows it.
- One size scale per category. Alpha sizes, waist sizes and cup sizes never share values. Mapping old labels to one scale at a time is migration work (phase 13).
- Keep season, collection and delivery drop apart. A style number reused next season with a new cost must not inherit last season's price silently.
- Fix the code pattern. Integrations and reports should read the colour and size from structured fields, never parse them out of free text.
- Plan for retirement. Decide who archives a variant with no order in two seasons.
For brands and buying agents: development with factories
A brand develops the same style with two or three factories at once, so the style, its tech pack and its approved spec version belong to the brand's system, and each factory's samples, lab dips and quotes are rounds against it. Open costing, where a factory shows the brand its full cost build rather than one FOB price, lets the brand compare fabric, CM and margin line by line across factories. Keep the brand's style number as the master and each factory's own reference as a cross-reference, never the other way round.
How many SKUs a variant model creates
The number of SKUs is the product of the values on each axis. Four programmes from the same factory:
| Programme | Axes | SKUs per style |
|---|---|---|
| P-2041, this order | 1 colour × 5 sizes | 5 |
| P-2041, full season | 6 colours × 5 sizes | 30 |
| Chinos | 5 colours × 8 waists × 3 lengths | 120 |
| Denim jeans | 10 washes × 12 waists × 3 inseams | 360 |
With 400 jean styles a season, creating every combination up front is 400 × 360 = 144,000 SKUs, most of which never sell. Created on order, the count follows the order book. The same arithmetic tells you whether a per-style ceiling matters: 360 is well inside NetSuite's documented 2,000 combinations, while a jean with 20 washes, 14 waists and 4 inseams (1,120) is getting close.
9Phase 3: How should garment costing be designed across quote, standard and actual?
Design costing in three linked stages: the pre-cost that prices the quote, the standard cost that values stock, and the actual cost that tells you whether the order made money, with the same cost elements in all three so each can be compared line by line. Most apparel costing failures come from these three living in different places with different elements.
A garment costing sheet lists the cost of one piece by element (fabric, trims, decoration, CM, washing, testing, freight, finance cost, overhead, commission and margin) and adds up to the price quoted to the buyer. CM (cut and make) is the labour charge for making one garment, usually worked out as the garment's minutes times a cost per minute.
Decisions: the cost elements and their order; the costing currency and the exchange-rate date; costing at style or style-colour level; the variance buckets finance will report (material price, material usage, labour, subcontract, freight); who approves a quote, and at what margin thresholds. Decided by: finance and merchandising, with the owner approving thresholds. Output: a costing design and an approval matrix.
- Pre-cost. Built before any ERP item exists, from the tech pack, the marker, the minutes and supplier quotes. It needs versions, because a quote goes through several.
- Standard cost. What the ERP uses to value finished goods and work in progress. Standard costing is common for manufactured garments; average or FIFO for fabric and trims. In most ERPs the costing method is hard or impossible to change once an item has transactions, so decide it per item class before go-live.
- Actual cost. Real fabric used, real minutes from the floor, real subcontract losses, landed material cost. It must come back against the same elements as the quote.
A quotation cost build for the polo
Illustrative figures, USD per piece.
| Line | How it is worked out | USD |
|---|---|---|
| Body fabric | 0.31 kg at 4.20 per kg, plus 6% cutting loss | 1.38 |
| Collar and cuffs | 1 set | 0.25 |
| Trims | Buttons, thread, labels, polybag | 0.32 |
| Embroidery | Subcontractor price per logo | 0.18 |
| CM (cut and make) | 18 minutes at 0.07 per minute | 1.26 |
| Testing | Buyer's lab tests spread over the order | 0.10 |
| Factory overhead | 12% of CM | 0.15 |
| Freight to port and export documents | Per piece | 0.12 |
| Finance cost | 3% while waiting for payment | 0.11 |
| Margin | 10% | 0.39 |
| FOB price | 4.26 |
CM = 18 × 0.07 = 1.26 · overhead = 1.26 × 12% = 0.15
Subtotal before finance = 3.76 · finance = 3.76 × 3% = 0.11
Subtotal before margin = 3.87 · margin = 3.87 × 10% = 0.39 · FOB = 4.26
Quote against actual on the polo order
After shipment, two lines came back different. The fabric landed at USD 4.87 a kg instead of the mill's 4.20 (Example 16), and the floor averaged 19.5 minutes a polo instead of 18. Figures are illustrative.
| Line | Quote per piece | Actual per piece | Variance per piece | On 3,000 pieces |
|---|---|---|---|---|
| Body fabric | 1.38 | 1.60 | −0.22 | −660.00 |
| CM | 1.26 | 1.365 | −0.105 | −315.00 |
| Margin left | 0.39 | 0.065 | −0.325 | 195.00 of 1,170.00 |
Actual CM = 19.5 × 0.07 = 1.365 · variance 0.105 × 3,000 = 315.00
Quoted margin = 0.39 × 3,000 = 1,170.00 · left = 1,170.00 − 660.00 − 315.00 = 195.00 (0.065 a piece)
Neither variance is visible unless the quote, the landed receipt and the floor minutes sit side by side against the same elements. The lesson for the next quote is to price fabric at landed cost and to check the minutes on the first bulk day.
10Phase 4: How should units of measure be designed for fabric, yarn and garments?
Design units per material: the unit you buy in, the unit you stock in and the unit you issue in, with the conversion between them either fixed (a dozen is 12 pieces) or measured per lot (kilograms to metres of knit fabric). The conversion from kilograms to metres depends on each roll's GSM and width, so a single factor per fabric is wrong whenever a roll differs from its nominal specification.
GSM (grams per square metre) is the weight of one square metre of fabric. Cuttable width is the width of fabric usable for pattern pieces, after the selvedge; tubular knit is measured flat and opened, so record whether width is tubular or open.
180 GSM jersey at 1.80 m → 1000 ÷ (180 × 1.80) = 3.086 m per kg
Decisions: purchase, stock and issue unit for each material class; which conversions are fixed and which are per lot; where GSM and width are recorded; pieces, pairs, packs and cartons for finished goods; dozens where buyers still order in them. Decided by: stores, purchasing and production together. Output: a unit register per material.
- Knit fabric is usually bought by weight and cut by length. Either stock in kilograms and let cutting work in metres, or record GSM and width per roll and convert per roll.
- Woven fabric is usually bought and cut by length (metres or yards), which is simpler; width still matters for the marker.
- Yarn is bought and issued by weight; hosiery and knit-to-shape BOMs are yarn by weight.
- Hosiery is knitted as singles, paired, and sold as pairs or multi-packs; losses counted in the wrong unit are a classic fault.
- Finished goods may be ordered in ratio packs, made in pieces and stored in cartons, three units on one order line.
Whether your ERP can convert between weight and length at all differs by product and version. Odoo 17 and 18, for example, convert only inside a unit category, and Odoo 19 reworked units; NetSuite and Business Central use unit types or groups with separate purchase and consumption units. The ERP chapters give the details.
Four rolls of the same "180 GSM" jersey
The purchase order says 180 GSM, 1.80 m. The rolls that arrive are close, not equal.
| Roll | kg | Measured GSM | Width (m) | m per kg | Metres |
|---|---|---|---|---|---|
| R-101 | 25.0 | 176 | 1.82 | 3.122 | 78.0 |
| R-102 | 24.6 | 184 | 1.78 | 3.053 | 75.1 |
| R-103 | 25.3 | 181 | 1.80 | 3.069 | 77.7 |
| R-104 | 24.8 | 188 | 1.76 | 3.022 | 75.0 |
| Total | 99.7 | 305.8 |
On 925 kg the gap is about 17 m: 925 × (3.086 − 305.8 ÷ 99.7) = 925 × 0.019 ≈ 17 m, about 18 size-L polos at 0.95 m
The stock report says 18 polos can be cut that the cutting table cannot find. Record measured GSM and width per roll at receipt, and convert per roll.
11Phase 5: How should BOMs and routings be designed for garments?
Design one style BOM whose lines apply by colour or size, with fabric consumption graded by size, wastage and shrinkage held as separate factors, and a routing that lists the garment's operations with their standard minutes, including outside steps. If the ERP holds only one quantity per BOM line, generate the size lines from a consumption table instead of typing them.
A BOM (bill of materials) for a garment lists every fabric, trim and packing material in one piece, with its quantity per piece. Marker efficiency is the share of fabric in a cutting marker that ends up in garment pieces; shrinkage is the length or width a fabric loses in washing or finishing, planned into the pattern. SMV (standard minute value) is the time a trained operator needs for one operation at a normal pace, including allowances.
Decisions: one style BOM with colour and size rules, or separate BOMs per SKU; where size-graded consumption comes from; wastage and shrinkage as separate factors; trims that change by colourway; operations and minutes; subcontract steps as routing operations or as purchase orders. Decided by: the industrial engineer (minutes), the CAD lead (consumption) and the production manager. Output: BOM and routing design, and a consumption table per style.
- Size-graded consumption. Fabric grows with size. One average consumption under-buys the large sizes and over-buys the small ones.
- Wastage and shrinkage apart. They come from different people (CAD and the lab), change for different reasons and are argued about with different suppliers. One combined "scrap %" hides both.
- Colourway trims. Thread, zip, label and button change with colour. Most ERPs can restrict a BOM line to certain variants.
- Operations. List operations with minutes at the level the factory plans and costs. A polo has 15 to 25 sewing operations; grouping them per department keeps work orders manageable.
Why one average consumption fails
Body fabric per polo, from the marker: S 0.82 m, M 0.88 m, L 0.95 m, XL 1.02 m, XXL 1.10 m.
| Size | Pieces | m per piece | Metres |
|---|---|---|---|
| S | 300 | 0.82 | 246 |
| M | 750 | 0.88 | 660 |
| L | 900 | 0.95 | 855 |
| XL | 750 | 1.02 | 765 |
| XXL | 300 | 1.10 | 330 |
| By size | 3,000 | 2,856 | |
| Base size M for all | 3,000 | 0.88 | 2,640 |
2,856 m ÷ 3.086 m per kg = 925.5 kg → the 925 kg purchase order
The shortage appears on the cutting table three weeks before shipment, with a mill lead time longer than that.
The polo's operations, minutes and CM
The 18 minutes in the quote are the sum of these operations, grouped into three departments.
| Department | Operation | Minutes |
|---|---|---|
| Cutting | Spread, cut, number and bundle | 1.20 |
| Sewing | Shoulder join · placket · collar attach · sleeve attach · side seam and sleeve close · cuff attach · bottom hem · buttonholes and buttons | 13.50 |
| Finishing | Thread trim and inspection · press · fold, tag and bag | 3.30 |
| Total | 18.00 |
Line capacity: 25 operators × 480 min × 60% efficiency = 7,200 min a day ÷ 13.50 = 533 polos a day
3,000 ÷ 533.3 = 5.6 line-days of sewing
CM: 18 × USD 0.07 = 1.26 a polo · 3,000 × 18 = 54,000 min = 900 hours × USD 4.20 = 3,780.00
The minutes cost the garment. The line-days and the choice of line come from planning, which is why a routing in the ERP is not a production plan (phase 7).
12Phase 6: How should fabric lots, rolls, shade and quality status be tracked?
Track every fabric receipt by lot, use each lot as one dye lot, make the lot mandatory on every issue to cutting, and hold roll length, width, GSM, shade group and defects either on the lot or in the system that inspects fabric. Cutting must stay within one dye lot, and the ERP must know which lot went to which cut.
A dye lot is a batch of fabric dyed together; fabric from two dye lots can differ in shade, so panels from two lots in one garment show a visible colour difference. A shade band is the set of approved shade references for one fabric colour, used to judge each new lot, and buyers often allow shade groups within the band (A, B, C). Four-point inspection is a fabric inspection method that scores each defect from one to four points by its length and accepts a roll on its points per 100 square yards.
Decisions: lot, serial or package for rolls; which roll data is mandatory at receipt; the four-point acceptance limit; quality status and quarantine locations; how buyer-supplied (consigned) stock is held out of stock value; reserved against free stock; what happens to leftovers after an order ships; bins. Decided by: the stores head and the quality manager. Output: inventory and traceability rules.
- Lot as dye lot. Allow new lots only at receipt, and only existing lots at issue.
- Roll data. Length, cuttable width, GSM, shade group and four-point score belong to the roll. Few ERPs hold them as standard lot fields; the chapters say which.
- Quality status. Fabric waiting for inspection must not be issued. A quarantine location or a status that blocks issue does this.
- Consigned stock. In CMT, the buyer's fabric is received and issued without entering the factory's stock value.
- Leftovers. Decide whether leftover fabric is returned, kept at a value, or sold as a stock lot, and who decides.
Cutting 3,000 polos from three dye lots
The mill ships 933 kg, 8 kg over the 925 kg ordered and within its tolerance, as 2,880 m in three dye lots: A 1,210 m, B 1,030 m, C 640 m. Every garment's panels come from one lot, and bundles from different lots never meet on a line.
| Lot | Cut from it | Metres used | Left |
|---|---|---|---|
| A (1,210 m) | XXL 300 · XL 750 · M 23 · S 87 | 1,186.6 | 23.4 |
| B (1,030 m) | L 900 · S 213 | 1,029.7 | 0.3 |
| C (640 m) | M 727 | 639.8 | 0.2 |
| Total | 3,000 pieces | 2,856.1 | 23.9 |
B: 900 × 0.95 + 213 × 0.82 = 855 + 174.66 = 1,029.66
C: 727 × 0.88 = 639.76 · total 2,856.0 m used, 24 m left (rounded per lot above)
Sizes M and S span two lots, which is fine as long as their bundles stay apart and each carton is packed from one lot (Example 15). The ERP must know the lot on every issue; the cut plan itself is operations work.
13Phase 7: At what level should garment production be controlled, and where does T&A live?
Decide the level of the work order first (per order, per style-colour, per delivery or per cut), then how cut orders, markers, bundles and WIP are captured, how output is graded into first quality, seconds and rejects, and where the T&A calendar with its critical path lives. The work order in an ERP records what was made and what it consumed; it does not balance a sewing line or tell a merchandiser what is late.
A T&A (time and action) calendar is the list of an order's milestones, each with a planned date worked back from the ex-factory date, an actual date and an owner. A bundle is a numbered stack of cut pieces from one lot and size that moves through the sewing line together, with a ticket per bundle. WIP (work in progress) is the goods between cutting and packing.
Decisions: work-order level; cut orders, lay plans and marker efficiency (usually a CAD system); bundles and tickets; WIP capture by bundle scan or at end of line; output grading; who owns T&A and which events update it. Decided by: the production manager and the cutting master, with merchandising for T&A. Output: the production control design.
- Floor capture. Supervisors will not fill office forms hour by hour. Output arrives through kiosk screens, scanners or a shop-floor system, or it does not arrive.
- Grading. Produced is not shippable. Record first quality, seconds, repairs and rejects at output, and clear a shipment on first quality only.
- T&A. Milestones should take their actual dates from events (an approval, a receipt, a cut) rather than from someone typing them.
The polo's T&A calendar, worked back from ex-factory
| Date | Milestone | Waits on it |
|---|---|---|
| 1 Oct | Order confirmed | Everything |
| 8 Oct, 13 Oct | Lab dip rounds 1 and 2 sent | Bulk dyeing |
| 17 Oct | Lab dip round 3 approved | Bulk dyeing |
| 20 Oct | Bulk fabric dyeing starts | Fabric in-house |
| 24 Oct | Embroidery strike-off approved | Embroidery booking |
| 10 Nov | Bulk fabric in-house, inspected by lot | Cutting |
| 14 Nov | PP sample approved, with comments | Cutting |
| 17 Nov | Cutting starts | Sewing |
| 20 Nov to 10 Dec | Sewing, shared line; TOP sample from the first bulk | Packing |
| 12 Dec | Final AQL inspection | Shipment |
| 15 Dec | Ex-factory |
The critical path runs lab dip → dyeing → fabric in-house → cutting. A third lab dip round pushed dyeing back about five days; the order absorbed it only because cutting also waited for the PP approval on 14 November. The sewing window is three weeks for 5.6 line-days of work (Example 10) because the line is shared.
14Phase 8: How should subcontracting, CMT and job work be tracked?
Track every outside process as a subcontract order with a balance: what went out, what came back good, what was rejected and why, and whether the loss is inside the agreed allowance, with the factory still owning the goods while they are away. Modelled as a plain purchase and a separate receipt, the goods at the processor become invisible and losses are argued from memory.
Decisions: the documents for out and return; the loss allowance per process; charging per good piece or per piece sent; who owns the goods while away and how they are valued; subcontractor approval, because many buyers must approve each subcontractor for compliance; multi-step chains (printer, then sewing unit, then washer). Decided by: the production manager and compliance. Output: a subcontract flow per process.
ERPs differ widely here. Odoo documents basic, resupply and dropship subcontracting; NetSuite has Outsourced Manufacturing; Business Central has classic work-centre subcontracting and a reworked subcontracting feature in 2026 release wave 1; Dynamics 365 Finance and Supply Chain has two subcontracting models; ERPNext has subcontracting orders; TallyPrime records job work in and out. A single outside step usually fits; a chain of processors usually needs intermediate items or custom work in all of them. See the comparison.
For brands and buying agents. The whole order is outsourced, so the factory itself is the subcontractor. The questions become: which approved factory holds each PO, which of that factory's own subcontractors (printers, washers) the buyer has approved, and what the factory reports back each week. A planning view across the factories replaces the factory's line plan.
Embroidery out and back, with a loss allowance
The polo's chest logo is embroidered outside, with a 1% allowance for rejects.
| Step | Fronts | Note |
|---|---|---|
| Sent to the embroiderer | 3,030 | 3,000 plus 1% |
| Returned good | 3,004 | |
| Rejected | 26 | Thread breaks and misplacement, reason recorded per reject |
| Balance at the embroiderer | 0 | 26 rejects inside the allowance of 30 |
Billed at 0.18 on 3,000 good pieces = USD 540.00
15Phase 9: How should quality inspection and AQL be set up?
Set up inspections at every stage where a defect is cheaper to catch than at the end, take the final sampling plan from each buyer's quality manual under ISO 2859-1, and decide in writing who may release a lot that failed and how that decision is logged. AQL (acceptance quality limit) is an inspection method that checks a random sample from a lot and accepts or rejects the whole lot on the number of defects found, using the sampling tables in ISO 2859-1.
Decisions: the inspection points; the sampling plan per buyer (general inspection level II is the usual default, and apparel commonly uses AQL 2.5 for major and 4.0 for minor defects, as each buyer specifies); how measurement checks against the size tolerances are recorded; who may override a failure; which lab tests and certificates each order needs. Decided by: the QA manager, from the buyer's QA manual. Output: an inspection plan per buyer and a list of override rights.
| Inspection | When | What it checks |
|---|---|---|
| Incoming fabric | At receipt | Shade against the shade band, GSM, width, shrinkage, four-point defects |
| Incoming trims | At receipt | Colour, size and count against the approved trims card |
| Returned panels | Back from a printer or embroiderer | Placement, registration, colour against the strike-off |
| Cutting | After cutting, before bundling | Pattern accuracy, notches, shade within the bundle |
| Inline | During sewing | Operation-level defects, found early |
| End of line | As garments leave the line | Every garment, graded pass, repair or reject |
| Measurement | End of line and final | Points of measure against the tolerance per size |
| DUPRO | Once part of the order is packed | Early warning before final |
| Final AQL | When the order is packed | Sample per ISO 2859-1 at the buyer's level |
For brands and buying agents. The same inspections happen at the vendor, carried out by the brand's own QA team, the agent's inspectors or a third-party inspection company, against the brand's AQL and measurement specs. The brand needs every report linked to its PO and style, the failure reasons in one list per factory, and a rule that a failed final inspection holds the shipment until a named person decides.
The final inspection sample for 3,000 polos
The buyer's manual asks for ISO 2859-1, single sampling, normal inspection, general inspection level II, AQL 2.5 major and 4.0 minor.
| Step | Lookup | Result |
|---|---|---|
| Lot size | 3,000 falls in the band 1,201 to 3,200 | Band 1,201–3,200 |
| Code letter | That band at general level II | K |
| Sample size | Code letter K | 125 pieces |
| Major defects, AQL 2.5 | Sample of 125 | Accept at 7 or fewer, reject at 8 |
| Minor defects, AQL 4.0 | Sample of 125 | Accept at 10 or fewer, reject at 11 |
Eight major defects fail the lot even if minor defects are well inside their limit. What happens next (100% check and re-inspection, or a release by the buyer) is recorded with the name of the person who decided. Acceptance numbers are from ISO 2859-1 Table II-A as reproduced in common AQL references (see sources).
16Phase 10: Which shipping documents must an apparel ERP produce?
An apparel shipment needs a packing list by carton, buyer carton labels, a commercial invoice, a certificate of origin, often an advance shipping notice, and a transport document, and under a letter of credit each must match the credit's terms exactly. Design the documents per buyer, from the carton up, before go-live.
An ASN (advance shipping notice) is a message sent to the buyer before the goods arrive, listing the content of each carton; in EDI it is the 856 transaction. An SSCC (serial shipping container code) is a GS1 barcode number that identifies one carton or pallet.
Decisions: carton rules (solid size, assorted, ratio); label format and SSCC per buyer; packing list layout; who prepares the commercial invoice and certificate of origin; which buyers need an ASN, and how; the document check against the LC before presenting. Decided by: the shipping and commercial lead. Output: a document set per buyer.
| Document | Built from | Usually produced in |
|---|---|---|
| Packing list by carton | Carton number, size and colour content, lot, weights, dimensions | The system that packs; buyer layouts are custom |
| Carton labels | Buyer's label rules, often with an SSCC | The packing system or a label tool |
| Commercial invoice | Sales invoice with Incoterm, marks and numbers | ERP |
| Certificate of origin | Issued by a chamber or authority | Outside; attach the copy |
| ASN | Carton-level content | EDI connector or buyer portal |
| Bill of lading or air waybill | Issued by the carrier or forwarder | Outside; attach the copy |
Packing 3,000 polos, one dye lot per carton
Solid-size cartons of 10 pieces, each carton from a single dye lot, following the cut plan in Example 11.
| Size and lot | Pieces | Full cartons | Part carton |
|---|---|---|---|
| S, lot A | 87 | 8 | 1 of 7 |
| S, lot B | 213 | 21 | 1 of 3 |
| M, lot A | 23 | 2 | 1 of 3 |
| M, lot C | 727 | 72 | 1 of 7 |
| L, lot B | 900 | 90 | None |
| XL, lot A | 750 | 75 | None |
| XXL, lot A | 300 | 30 | None |
| Total | 3,000 | 298 | 4 (20 pieces) |
A size-only plan predicts 300 cartons; the lot rule makes it 302. Agree part cartons with the buyer before packing starts, and print the lot per carton on the packing list.
17Phase 11: How should finance handle currencies, letters of credit, landed cost, chargebacks and commission?
Finance design for apparel covers foreign currencies and their revaluation, letters of credit (sight, usance and back-to-back), advances and invoice discounting, landed cost capitalised into material cost, reason-coded chargebacks, and, for buying agents, commission. Every order touches at least two currencies, and most garment exports are paid either against documents or net of deductions.
A letter of credit (LC) is a bank's promise to pay the exporter when documents that match the credit's terms are presented; most credits follow the ICC's UCP 600 rules. A back-to-back LC is a second credit, opened by the factory to its fabric supplier on the strength of the buyer's credit. Landed cost is every cost of bringing goods to the warehouse beyond the supplier's price: freight, insurance, duty, clearing and bank charges. A chargeback is an amount a buyer deducts from a payment for a claimed failure, such as a late shipment or a wrong label. FOB (free on board) is an Incoterm under which the seller's price covers the goods loaded at the port of shipment, and in garment trade it is the usual price per piece; DDP (delivered duty paid) is an Incoterm under which the seller delivers to the buyer's named place with duty paid.
Decisions: functional and reporting currencies, rate source and revaluation; how LCs are recorded and checked before presentation; advances and discounting; which receipts take landed cost and how each charge is split; the chargeback reason codes; commission rates and when commission is earned. Decided by: the CFO. Output: the finance design.
- Landed cost for importers. A brand importing finished garments carries the largest landed cost of anyone: freight, insurance, duty and clearing on every PO. Allocate it to the goods, not to expenses, or the margin per style is overstated.
- Chargebacks. Record every deduction against a reason (label, ASN, late delivery, compliance), keep the notice attached, and keep disputed amounts open.
- Commission for agents. A buying agent invoices commission, usually a percentage of the FOB value, when an agreed event happens (shipment or the buyer's payment). The design question is which event, and how a short shipment or a chargeback changes the commission.
If only 2,940 pieces ship (Example 26): 2,940 × 4.26 = 12,524.40 × 5% = USD 626.22
Landed cost on the imported fabric
The navy jersey and the rib collar and cuff sets arrive in one shipment. Duty is zero because the factory imports under temporary admission. Prices are illustrative.
| Receipt line | Quantity | Weight (kg) | Value (USD) |
|---|---|---|---|
| Navy jersey 180 GSM | 925 kg | 925.0 | 3,885.00 |
| Rib collar and cuff sets | 3,060 sets | 76.5 | 765.00 |
| Total | 1,001.5 | 4,650.00 |
| Charge | USD | Split by | Jersey | Rib sets |
|---|---|---|---|---|
| Sea freight | 420.00 | Weight | 387.92 | 32.08 |
| Clearing and port | 180.00 | Value | 150.39 | 29.61 |
| LC bank charges | 95.00 | Value | 79.37 | 15.63 |
| Total | 695.00 | 617.68 | 77.32 |
Clearing = 180 × 0.8355 = 150.39 · bank = 95 × 0.8355 = 79.37
Jersey landed = 3,885.00 + 617.68 = 4,502.68 ÷ 925 = USD 4.87 per kg (mill price 4.20)
Rib landed = 765.00 + 77.32 = 842.32 ÷ 3,060 = USD 0.28 per set
This is the 4.87 that turned the quoted fabric line of 1.38 into an actual 1.60 in Example 7.
Down payment, letter of credit and exchange difference
The order is worth 3,000 × USD 4.26 = USD 12,780.00. The buyer pays 30% in advance and the balance under a sight LC. The factory's books are in EGP. Exchange rates are illustrative.
| Step | USD | EGP |
|---|---|---|
| Down payment invoiced and received, 30% | 3,834.00 | |
| Final invoice at shipment, 15 Dec, less the down payment | 8,946.00 | at 48.80 = 436,564.80 |
| LC documents presented within 21 days of shipment | ||
| LC paid | 8,946.00 | at 49.10 = 439,248.60 |
| Exchange gain | 2,683.80 |
Gain = 8,946.00 × (49.10 − 48.80) = 2,683.80
Under UCP 600, documents are presented within 21 calendar days after shipment unless the credit says otherwise, and never after expiry. Whatever the ERP, the credit number, amount, latest shipment date, expiry, presentation period and required documents must be recorded somewhere the shipping team sees before the ship date.
A chargeback, split by reason
The same balance shipped to a retailer on open account. The retailer pays short.
| Deduction | Reason given | USD |
|---|---|---|
| Carton label error | 2 cartons with a wrong size label, 50 per carton | 100.00 |
| Late ASN | 1% of the invoice | 89.46 |
| Total deducted | 189.46 |
Post 100.00 to "chargebacks: labelling" and 89.46 to "chargebacks: ASN". If the label claim is disputed with carton photos, it stays open. After a season, the reasons show whether the business loses money to labels or to lateness.
18Phase 12: Which integrations does an apparel ERP need, and how should they be built?
An apparel ERP typically connects to a PLM or tech-pack system, a shop-floor system, EDI with retailers, carriers or a 3PL, banks, the country's e-invoicing platform, and an operations layer. Build each connection from the source-of-truth map: one owner per field, links on permanent internal ids, disagreements shown to a person, and receivers that are safe to call twice.
EDI (electronic data interchange) is the exchange of business documents in a standard format between trading partners. In retail apparel the core set is the 850 purchase order, the 855 acknowledgement, the 856 ship notice (ASN) and the 810 invoice. Each retailer adds its own segments, label rules and chargebacks for breaking them.
Decisions: which systems connect; the source of truth per record; push (webhooks, events) or pull (polling on a change date); the identifiers each link is stored on; who monitors failures; e-invoicing per country, which must be checked with a local adviser. Decided by: IT with the data owners. Output: the integration map.
For brands. EDI with retail customers and the chargebacks attached to it often matter more than any other integration: a wrong ASN costs money on every shipment. Validate the ASN against the packed cartons before it is sent, and code every deduction on the way back.
Each ERP chapter covers that ERP's API, authentication, limits, identifiers and push or pull options. In brief: Odoo 19 adds a JSON-2 API and deprecates XML-RPC; NetSuite is moving new integrations to REST with OAuth 2.0; Business Central has API v2.0 with webhook subscriptions; SAP Business One has the Service Layer; ERPNext generates a REST API per document type; TallyPrime exchanges XML over HTTP on the local network.
One purchase request, from MerchandiserOS to an ERP and back
The pattern is the same for every ERP; only the ERP's side of step 3 changes.
- In MerchandiserOS, purchase request
PR-1042for 925 kg of navy jersey is approved. - The ERP's integration job collects it:
GET /api/v1/erp/documentsreturns the request with quantities, units and the supplier code. - The ERP creates and approves its purchase order, number
PO-10457, whose permanent internal id is88412. - The ERP sends the answer back:
POST /api/v1/erp/po-status
Idempotency-Key: erp-po-88412-open
{"rows": [{"request_ref": "PR-1042",
"erp_po_id": "88412",
"erp_po_number": "PO-10457",
"status": "Open",
"date": "2026-10-21"}]}
- A person in MerchandiserOS approves it on the ERP review list. The request now shows "ERP PO PO-10457, open".
- The ERP reads the decision with
GET /api/v1/erp/proposals/{id}.
The link is stored on the ERP's internal id 88412, not on the text PO-10457, so renaming the PO breaks nothing. The Idempotency-Key makes a retried call harmless. No price travels. Where nobody can program the ERP side, a file exchange does the same job with no code.
19Phase 13: What data should be migrated into a new apparel ERP?
Migrate only open and active data: active styles, open buyer orders and purchase orders, stock counted by lot, roll and shade at the cut-off, open receivables and payables. History stays in the old system or an archive. Load in dependency order, clean before loading, and have each data owner sign the loaded totals.
A cut-off rule states the exact moment after which every transaction is entered in the new system and not in the old one. Write it as a date and time, name what happens to documents in flight (a truck at the gate, an inspection half done), and count stock at that moment.
Decisions: the migration scope per object; the cut-off moment; open work orders reloaded or finished the old way; cleansing rules. Decided by: each data owner, who signs off. Output: loaded and signed data.
| # | Object | Scope | Signed off by |
|---|---|---|---|
| 1 | Chart of accounts, taxes, opening balance plan | Current | Finance head |
| 2 | Units, dimensions and size scales | Final design | Merchandising and stores heads |
| 3 | Customers and suppliers | Active in the last two seasons | Merchandising, purchasing |
| 4 | Materials | Used in active styles or in stock | Stores head |
| 5 | Styles and variants | Active and carry-over only | Merchandising head |
| 6 | BOMs and routings | Styles with open orders | Production manager, CAD lead |
| 7 | Stock by lot, roll and location | Counted at cut-off | Stores and finance heads |
| 8 | Open purchase orders | Undelivered quantities only | Purchasing |
| 9 | Open buyer orders | Undelivered quantities only | Merchandising head |
| 10 | Open work orders or WIP | Reload, or finish the old way | Production manager |
| 11 | Open receivables and payables | Per invoice, at cut-off | Finance head |
Cleansing usually means merging duplicate suppliers and materials ("Navy Jersey 180" and "Jersey 180 NVY"), retiring styles with no order in two seasons, giving every fabric one purchase unit and every roll in stock its lot, mapping old size labels to the new scales one at a time, and splitting partly delivered order lines into delivered and open quantities.
Migration scope for the open polo order
Cut-off 18:00 on 31 October; go-live 1 November. The order is confirmed, the fabric is ordered but not received, the buttons are in stock.
| Object | What is loaded | Check |
|---|---|---|
| Style and variants | P-2041 navy, 5 SKUs S to XXL | 5 records, one per size |
| Open buyer order | 300 / 750 / 900 / 750 / 300 at 4.26 | 1,278 + 3,195 + 3,834 + 3,195 + 1,278 = USD 12,780.00 |
| Down payment | Received 3,834.00, open against the order | Matches the bank statement |
| Open purchase order | 925 kg navy jersey, 0 received | Matches the supplier's confirmation |
| Stock | Buttons 15 mm navy, 9,504 pieces, counted | Counted figure, not the old system's |
The merchandising head signs that the order total matches the confirmed buyer order to the cent.
20Phase 14: How should an apparel ERP be tested?
Test with end-to-end scenarios that follow one real order from the buyer's PO to cash, run by the factory's own key users on migrated data, each with the expected result written before the test starts. Screen-by-screen tests prove the configuration; only end-to-end scenarios prove the business works.
Decisions: the scenarios, the data they use, who runs them and who accepts them. Decided by: the factory project lead and the key users. Output: signed test results. The 13 scenarios and three full scripts are in Part 4.
21Phase 15: How should garment factory staff be trained on a new ERP?
Train each role only on the screens and scenarios it will use, in the local language, on the factory's own styles and orders, and have key users teach their colleagues. Floor operators and supervisors are trained on the kiosk or scanner screen that captures their output, never on office forms.
Decisions: the plan per role, the language, the trainers, and what counts as passed. Decided by: key users and department heads. Output: trained users.
A training plan by role
Hours are practice for the polo factory, not a standard; adjust them to the team and the scope.
| Role | What they learn | Hours | Pass when they can |
|---|---|---|---|
| Merchandisers | Orders by size and colour, changes, delivery status | 6 | Enter the polo order from the buyer PO without help |
| Purchasing | Purchase orders, units, supplier bills, landed cost | 6 | Buy 925 kg of jersey and apply the import charges |
| Stores | Receipts with lots, issues, returns, counts | 8 | Receive three dye lots and issue each to its cut |
| Planners | Production orders, subcontracting | 6 | Send the embroidery out and receive it back |
| Quality | Inspections, holds, releases | 4 | Hold a lot and release it with a named decision |
| Shipping | Packing, labels, documents | 4 | Pack by lot and print the packing list |
| Finance | Invoices, advances, payments, exchange, reports | 10 | Take the polo order from down payment to closed |
| Key users | Their whole area, plus first-line support | 16 | Teach their team and log issues correctly |
22Phase 16: When should a garment factory go live, and how long is hypercare?
Go live between seasons, in the lowest-volume weeks and before a new wave of cutting, after one full rehearsal of the cut-over, and keep the implementation team on hand until at least the first month-end close is done in the new system. Hypercare is the period right after go-live when the project team stays close to fix issues daily.
- Timing. Avoid the weeks before a main shipment window, the financial year-end and any audit.
- Parallel running. A short, bounded parallel run of the books helps finance compare figures. Running the whole factory in two systems rarely works, because people keep using the one they trust.
- Duration. Practitioners commonly plan four to eight weeks of hypercare. That range is practitioner judgement, not a measured standard; the firm rule is that nobody leaves before the first month-end close.
- Issue log. One list: date, who, what happened, severity, owner, status. Review it daily in the first two weeks.
- Exit criteria. Month-end closes on time, no issue blocks shipping or invoicing, key users handle first-line questions.
A cut-over plan, day by day
The polo factory goes live on 1 November, before the polo fabric arrives on 10 November and cutting starts on 17 November.
| Day | Date | Steps | Owner |
|---|---|---|---|
| T−10 | 22 Oct | Rehearsal load complete; go or no-go for the plan | Factory project lead |
| T−7 | 25 Oct | Master data frozen in the old system; final load of partners, materials, styles, BOMs | Merchandising and stores heads |
| T−3 | 29 Oct | Open orders extracted and checked against source documents | Purchasing, merchandising |
| T−1 | 31 Oct | Cut-off at 18:00; physical count of fabric by lot and roll, trims and finished goods | Stores head |
| T0 | 1 Nov, morning | Counted stock, open orders and open balances loaded; owners sign totals | All owners |
| T0 | 1 Nov, noon | Go or no-go on the signed checks | Sponsor |
| T0 | 1 Nov, afternoon | First live receipt, issue, order and invoice | Key users |
| T+9 | 10 Nov | Polo fabric received with lots: the first real test of the lot rules | Stores head |
If the counted stock and open orders do not reconcile at noon, the factory keeps working in the old system for another week rather than going live on figures nobody trusts.
Part 3The fit-gap
23What is on an apparel ERP fit-gap checklist?
An apparel ERP fit-gap checklist lists every requirement a garment or fashion business has and records, line by line, whether the ERP meets it as standard, meets it with configuration, needs an add-on or custom code, or is better handled in an operations system. The 52 lines below cover product, BOM and costing, materials, production, quality, sales and shipping, and finance, and they are the same 52 lines every ERP chapter of this guide scores.
A fit-gap analysis is only useful with evidence. For each line, ask the vendor or partner to show it on your own data (the "show me" column), record what you saw, write the decision and name its owner. The last column is our judgement of where the line usually lands across the general ERPs in this guide; the ERP chapters replace it with each ERP's documented answer.
Key: Standard usually works as delivered · Configure usually settings or fields · Add-on or custom usually an add-on, extension or code · Operations layer usually better run in an apparel operations system and passed to the ERP
| # | Requirement | Ask them to show you | Usually |
|---|---|---|---|
| Product | |||
| 1 | Style master with a colour-size variant matrix | Create P-2041 in navy and white, S to XXL, and report sales by style | Standard |
| 2 | Size scales per product category | Alpha sizes on a polo and waist-by-inseam on a jean, in one company | Configure |
| 3 | Season or collection, and style reuse across seasons | Reuse P-2041 next season with a new cost, and keep last season's cost on last season's orders | Configure |
| 4 | Carry-over styles with a new price or BOM | A new BOM version that applies only to new orders | Configure |
| 5 | Prepacks and ratio packs | Sell a 1:2:2:1 pack, make pieces, pack cartons, print a pack-level packing list | Add-on or custom |
| 6 | Pairs and multi-packs | Knit singles, pair them, sell a 3-pair pack | Configure |
| 7 | Buyer's own style and colour codes | The buyer's style number on the order, the packing list and the invoice | Configure |
| 8 | Tech-pack revision linked to the order | An approved spec version fixed on an order while the style moves on | Operations layer |
| 9 | Points of measure with a tolerance per size | The polo's graded measurement chart with ± tolerances | Operations layer |
| 10 | Sample types and rounds with buyer approval | Three lab dip rounds and a PP approval, with courier and verdict | Operations layer |
| BOM and costing | |||
| 11 | BOM lines that apply by colour or size | Navy thread only on navy SKUs, from one style BOM | Configure |
| 12 | Size-graded fabric consumption | 0.82 to 1.10 m by size, and the 2,856 m total from Example 9 | Add-on or custom |
| 13 | Wastage and shrinkage held separately | Marker efficiency and shrinkage as two factors, not one scrap % | Add-on or custom |
| 14 | Trims that change by colourway | A different label and button per colour | Configure |
| 15 | Pre-costing with many elements and currencies | The cost build in Example 6, before any item exists | Operations layer |
| 16 | Standard against actual cost per order | Example 7: quote, actual and variance per element | Configure |
| 17 | Labour cost from operation minutes | 18 minutes at 0.07 giving 1.26 a piece | Configure |
| 18 | Landed cost on receipts | Example 16: freight by weight, clearing by value | Standard |
| 19 | Quote versions and approval | Three quote versions, approval above a margin threshold | Operations layer |
| Materials | |||
| 20 | Purchase, stock and issue units with per-lot conversion | Buy in kg, cut in metres, convert per roll (Example 8) | Add-on or custom |
| 21 | GSM and width per lot or roll | Measured GSM and width on each of four rolls | Add-on or custom |
| 22 | Roll tracking | Issue two rolls and return a part roll | Configure |
| 23 | Dye lot and shade | Refuse a cut that mixes lots A and B | Configure |
| 24 | Four-point fabric inspection | Defect points per roll and an accept or reject per roll | Add-on or custom |
| 25 | Quality hold and quarantine | Fabric that cannot be issued until inspected | Configure |
| 26 | Buyer-supplied (consigned) stock | 2,880 m of buyer fabric received and issued with no change to stock value | Configure |
| 27 | Reserved against free stock | Fabric reserved for P-2041 that another order cannot take | Standard |
| 28 | Leftovers and stock-lot disposal | 24 m left after the order, sold or held at a value | Configure |
| Production | |||
| 29 | Work orders per style-colour or delivery | One order, two deliveries, two work orders | Configure |
| 30 | Cut orders, lay plans, marker efficiency | A cut order per dye lot with its marker | Add-on or custom |
| 31 | Bundles and bundle tickets | Print tickets for bundle 214 and scan it at the line | Add-on or custom |
| 32 | WIP by stage and line | How many polos sit between sewing and finishing, by line | Operations layer |
| 33 | Graded output (first quality, seconds, rejects) | 2,960 first quality and 40 seconds, only the 2,960 shippable | Operations layer |
| 34 | Subcontract out and back with loss | Example 13: 3,030 out, 3,004 back, 26 rejects with reasons | Configure |
| 35 | Capacity by line from minutes | Load 3,000 polos at 13.5 sewing minutes on a shared line | Operations layer |
| 36 | T&A with a critical path | Example 12, with the effect of a third lab dip round | Operations layer |
| Quality | |||
| 37 | Inline and end-of-line capture | An operator or checker records defects on a tablet | Configure |
| 38 | Final AQL to ISO 2859-1 at the buyer's level | Example 14: code letter K, 125 pieces, accept 7, reject 8 | Operations layer |
| 39 | Logged override of a failed inspection | Release a failed lot with a named person and reason | Add-on or custom |
| 40 | Lab tests and certificates per order | Test reports attached to the order they cover | Configure |
| Sales and shipping | |||
| 41 | Grid order entry by colour and size | Enter 300 / 750 / 900 / 750 / 300 in one grid, on sales and purchase orders | Configure |
| 42 | Several deliveries per order | One buyer order, two ship dates, two destinations | Configure |
| 43 | Over and under-shipment tolerance | Example 26: 2,940 accepted, 2,900 blocked | Add-on or custom |
| 44 | Carton packing and labels (SSCC) | Example 15's 302 cartons with SSCC labels | Configure |
| 45 | EDI 850, 855, 856, 810 | One retailer's full cycle, end to end | Add-on or custom |
| 46 | Buyer label and ASN rules | Two retailers with different label rules | Add-on or custom |
| Finance | |||
| 47 | Multi-currency and exchange differences | Example 17: USD invoice, EGP books, the 2,683.80 gain | Standard |
| 48 | Letter of credit terms and document checking | An LC record that warns before the latest shipment date | Add-on or custom |
| 49 | Advances and down payments | A 30% down payment deducted from the final invoice | Standard |
| 50 | Reason-coded chargebacks | Example 18 split by reason, one amount under dispute | Configure |
| 51 | Profitability per order | Revenue and cost of P-2041 on one report | Configure |
| 52 | E-invoicing per country | A live e-invoice accepted by your tax authority's test system | Configure |
Counted from this table, 5 lines usually work as standard, 24 need configuration, 13 need an add-on or custom code and 10 are usually better run in an operations layer. That count is our judgement for a typical full-package factory across general ERPs, not a survey, and it moves by ERP: an apparel-specific ERP or a fashion edition scores more lines as standard, and a small accounting-led system scores fewer. A CMT factory drops most costing and material lines; a textile mill adds process lines this list does not cover; a brand or buying agent drops most production lines and adds vendor compliance, EDI and commission.
Five fit-gap rows, scored with evidence
A fit-gap row is only useful with evidence, a decision and an owner. These five come from the polo factory's workshops.
| # | Requirement | Evidence from the factory | Decision | Owner |
|---|---|---|---|---|
| 12 | Size-graded consumption | Fabric under-bought on the base size (Example 9) | Consumption per size calculated in the operations layer; purchase quantity passed to the ERP | CAD lead |
| 21 | GSM and width per roll | Four rolls held 1.9 m less than the fixed factor said (Example 8) | Measured per roll at receipt; the ERP holds the lot | Stores head |
| 23 | Dye lot and shade | Shade complaint on an earlier order | Lot as dye lot, mandatory at receipt and issue | Stores head |
| 38 | Final AQL | Buyer requires level II, AQL 2.5 major | Inspection in the operations layer; pass or fail gates the shipment | QA manager |
| 49 | Down payments | Buyer pays 30% in advance on this programme | Standard ERP down payment | Finance head |
24How do you choose an ERP on the fit-gap evidence?
Choose on five tests run on your own data: the style-colour-size model against a real BOM, rolls and dye lots at receipt and cutting, subcontracting out and back, local tax and e-invoicing, and the shape of the integration. Most shortlists are decided by the fourth test before anyone looks at features, because an ERP without a compliant e-invoicing path in your country is not a candidate.
- Size and colour on a real BOM. Can one style BOM hold per-size consumption and per-colour trims? If not, count how many BOMs one season would need.
- Rolls and dye lots. Where are shade, width and roll length held at receipt, and can issue to cutting be restricted to one dye lot? Vendors rarely document this; demo it.
- Subcontracting and CMT. Send panels out, receive fewer back, and reconcile the loss.
- Local compliance. E-invoicing and tax reporting in your country, checked with a local adviser.
- Integration shape. REST with webhooks is event-driven; REST or OData with polling needs a schedule; an on-premise system reached over the local network needs a connector on site.
The hub's choose-your-ERP table maps company size and business type to a shortlist, and the comparison page sets the main ERPs side by side on these tests with a source for every cell. The apparel-specific ERP chapter covers the fashion systems that score more of the 52 lines as standard.
Outgrow signals, from practice: tens of thousands of SKUs a season, more than one plant or country, buyers demanding EDI or portals, a need for hourly WIP, or a planning spreadsheet that has become the real system.
Part 4Testing
25Which end-to-end scenarios should an apparel ERP pass before go-live?
Thirteen scenarios cover the flows where apparel ERP projects usually break: an FOB order to cash, a CMT order on buyer fabric, a prepack order, a shade split at cutting, subcontracted embroidery with loss, short and over-shipment, a seconds sale, an LC discrepancy, a chargeback, a mid-season spec revision, a cancelled order with committed materials, and currency at month-end. Run each twice, once by the implementer to find faults and once by the key users to accept the result.
| # | Scenario | What it proves | Expected result, in short |
|---|---|---|---|
| T1 | FOB order to payment | The whole chain works | Order, purchase, receipt, production, delivery, invoice and payment reconcile to the order value (Example 24) |
| T2 | CMT order with buyer fabric | Consigned stock stays out of stock value | Fabric received and issued with no change in stock value; the invoice carries only CM |
| T3 | Prepack order | Packs, pieces and cartons agree | The buyer orders packs, production makes pieces, the packing list shows packs per carton |
| T4 | Shade split in cutting | Dye lots are never mixed | A cut mixing two lots is refused; leftover per lot matches the cut plan (Example 25) |
| T5 | Subcontract embroidery with loss | Out, back and loss reconcile | Example 13: balance zero, rejects inside the allowance, each with a reason |
| T6 | Short shipment within tolerance | Tolerance applied, invoice follows the shipped quantity | Accepted with no backorder; invoiced on shipped pieces (Example 26) |
| T7 | Over-shipment | The upper limit is enforced | Above tolerance, blocked or approved by a named person |
| T8 | Seconds sale | Second quality is valued and sold apart | Seconds held apart, sold at their own price, never counted as shippable first quality |
| T9 | LC discrepancy | Document checks catch a mismatch | A shipment date later than the LC allows is flagged before documents are presented |
| T10 | Chargeback | Deductions are coded | A short payment is split by reason (Example 18) |
| T11 | Mid-season spec revision | The approved version is protected | A new spec applies to new orders only; the open order keeps its approved version |
| T12 | Cancelled order with committed materials | Committed stock is visible | Fabric already bought shows as free stock with its cost; open purchase orders are listed for decision |
| T13 | FX at month-end | Currency figures close correctly | Realised differences posted; open balances revalued as finance decided |
For brands and buying agents, replace T2, T4 and T5 with three of your own: a PO placed with a factory whose audit has expired (refused), a failed final inspection at the vendor (shipment held until a named decision), and a retailer EDI cycle from 850 to 810 with an ASN checked against the packed cartons.
Test script T1: the polo order from buyer PO to cash
Run on a test copy with migrated master data. Figures as used throughout this page.
| Step | Action | Expected result |
|---|---|---|
| 1 | Enter the buyer order by size: S 300, M 750, L 900, XL 750, XXL 300 at 4.26 | 5 lines, 3,000 pieces, USD 12,780.00 |
| 2 | Invoice a 30% down payment and record the payment | USD 3,834.00, paid |
| 3 | Raise and approve the purchase order for 925 kg navy jersey | An open PO for 925 kg |
| 4 | Receive 933 kg in lots A, B and C | Refused without a lot on every line; three lots in stock |
| 5 | Apply the landed costs of Example 16 | Jersey valued at USD 4,502.68 for 925 kg (4.87 a kg) |
| 6 | Issue fabric to cutting by lot | Refused without a lot; only existing lots offered |
| 7 | Record 3,000 pieces produced, graded first quality | Finished stock 3,000 |
| 8 | Pack and dispatch | 302 cartons; dispatch for 3,000 |
| 9 | Raise the final invoice | 12,780.00 less 3,834.00 = 8,946.00 due |
| 10 | Record the payment at a different rate | Exchange difference posted to gain or loss |
| 11 | Run the order's profitability report | Revenue, material and labour against this order |
The 8 kg received over the 925 ordered (933 kg) tests the receiving tolerance too: decide beforehand whether the ERP accepts it, warns or asks for approval.
Test script T4: shade split at cutting
Using the three dye lots and the cut plan of Example 11.
| Step | Action | Expected result |
|---|---|---|
| 1 | Issue lot A to the cut for XXL 300, XL 750, M 23, S 87 | Accepted; lot A shown on the cut |
| 2 | Try to add fabric from lot B to the same cut | Refused, with a message naming both lots |
| 3 | Issue lot B to a new cut for L 900 and S 213 | Accepted |
| 4 | Issue lot C to a new cut for M 727 | Accepted |
| 5 | Return the remaining fabric per lot | A 23.4 m, B 0.3 m, C 0.2 m, each converted with its own lot's factor |
| 6 | Pack size S | Two groups of cartons (lot A 87, lot B 213); no carton holds both |
Test script T6: short shipment within tolerance
The buyer allows ±3%. The factory ships 2,940 pieces, 30 short in M and 30 short in L.
| Step | Action | Expected result |
|---|---|---|
| 1 | Dispatch 2,940 of 3,000 | Short by 60 = 2.0%; inside 3% |
| 2 | Close the order without a backorder | No open delivery for the 60 pieces |
| 3 | Raise the final invoice | 2,940 × 4.26 = 12,524.40, less 3,834.00 = 8,690.40 due |
| 4 | Repeat with 2,900 pieces | Short by 100 = 3.3%; blocked, or approved by a named person |
Part 5Risks
26Why do ERP implementations fail in garment factories and fashion businesses?
Apparel ERP projects fail in the same fifteen ways whatever the ERP, and almost every one traces back to a data shape from the start of this page that was forced into a general model. The table gives the symptom, the root cause and the prevention, with the variant a brand or buying agent sees. It is practitioner knowledge; we deliberately quote no industry failure rate, because we found no primary source for apparel.
| # | Symptom | Root cause | Prevention | Brand or agent variant |
|---|---|---|---|---|
| 1 | SKU swamp | Every variant created as an independent item | Style template, variants created at order confirmation (phase 2) | Each factory's SKU codes loaded beside the brand's |
| 2 | Large sizes short of fabric | Average consumption | Size-graded consumption (phase 5) | The factory's consumption never checked; open costing shows it |
| 3 | kg and m never reconcile | Fixed conversion | GSM and width per lot or roll, converted per lot (phase 4) | Nominated fabric bought by the brand, reconciled against nothing |
| 4 | Shade mixing | No shade rule at issue | Mandatory dye lot, cut within one shade (phase 6) | Shade approved at lab dip, never checked at the vendor inspection |
| 5 | Costing illusion | Quote, standard and actual not linked | Three-stage cost with variance per order (phase 3) | FOB and landed cost not linked; margin per style overstated |
| 6 | Buyer fabric counted as owned | CMT fabric received like a purchase | Ownership type and a memo location (phase 6) | Fabric supplied to vendors not tracked to the PO it serves |
| 7 | Goods lost at subcontractors | Out and return not linked | Subcontract order with a balance and loss allowance (phase 8) | A factory's unapproved subcontractor found by the retailer's audit |
| 8 | Produced is not shippable | No output grading | First, second and reject at output; ship on first quality only (phase 7) | A vendor reports "complete" before the final inspection |
| 9 | Spec drift | Spec revision not linked to the order | Pin the approved revision to the order; flag changes | A factory sews from last month's tech pack |
| 10 | Excel shadow system | No T&A or order view | Provide the view, or integrate one; do not ban Excel without a replacement | T&A per vendor kept in email |
| 11 | Chargeback leakage | No reason codes or ASN validation | Validate the ASN against the pack; code every deduction (phase 11) | Retailer deductions never passed back to the vendor that caused them |
| 12 | LC discrepancies | LC terms not linked to the shipment | Store LC terms; check documents before presenting | An agent forwards factory documents that do not match the credit |
| 13 | Floor data never arrives | Office screens on the floor | Scanners, kiosks or a shop-floor system with minimal entry | Weekly vendor status never arrives in a structured form |
| 14 | Big-bang in peak season | A plan-driven date | Go live between seasons with a rehearsed cut-over (phase 16) | Go-live during the buying season or a delivery window |
| 15 | Migrated garbage | Legacy loaded as-is | Cleanse; open and active data only; owners sign (phase 13) | Duplicate vendors, dead styles and expired audits loaded as current |
Part 6The recommended model
27The operations layer: what runs on top of any ERP
The simplest way to run a garment factory, a fashion brand or a buying house on any ERP is to let the ERP keep the books and run operations, from style to shipment, in a system built for apparel. Parts 2 to 5 of this page show what it takes to bend an ERP toward apparel instead. This is the model we recommend, and MerchandiserOS is built for it.
The polo order with operations on top
| Step | In MerchandiserOS | What the ERP sees |
|---|---|---|
| Tech pack and quote | Style P-2041 with versions, graded measurements, cost build at 4.26 FOB | Nothing yet |
| Samples | Three lab dip rounds, strike-off, PP approved 14 Nov, locking the style version for the order | Nothing |
| Order | Buyer PO, 3,000 pieces by size and colour, tolerance band, T&A to 15 Dec | Sales order for invoicing |
| Procurement | Net-to-buy of 925 kg, purchase request PR-1042, receipt measured per lot against the shade band | Purchase order, receipt, payable |
| Planning and production | Line booked on the heat-map, cut by dye lot, job cards per department | Material issued, for stock value |
| Shop floor | Output on MerchandiserOS floor screens, or from Garment.io | Nothing |
| Quality | Final AQL at level II: 125 pieces; only first quality counts as shippable | Nothing |
| Logistics | 302 cartons packed by lot, ship clearance against the buyer's terms | Dispatch and customer invoice |
Who does what
Each area has one home. MerchandiserOS runs the work; the ERP records the financial result.
| Area | Runs in MerchandiserOS | Recorded in the ERP |
|---|---|---|
| Style | Styles with versions and frozen snapshots, tech pack sections, graded points of measure with tolerances, colourways and lab dips, a two-level bill of materials (fabric and trims, yarn linked to fabric), consumption from marker efficiency, shrinkage and woven construction; woven, knit and knit-to-shape, pairs for socks | The finished-goods item, once released |
| Development approvals | Lab dip, strike-off, sample and shipping mark, round by round, with parcel and courier details, the buyer's verdict and T&A wiring | Nothing |
| Costing | Cost engine from fabric through trims, decoration, CMT, overhead and margin to FOB, with landed cost and dated exchange rates; standard cost sheet; quotations; approval gates with thresholds | Nothing until an order exists |
| Orders | Buyer POs as parent records; orders by size and colour with a tolerance band, provisional to confirmed quantity and per-shipment deliveries; ratio packs | The sales order, for invoicing |
| Sourcing and materials | Qualified suppliers, materials master, purchase requests, purchase orders, GRN receiving, material issue and return; MRP net-to-buy across the order book; shade bands and a measured lot record per receipt; incoming inspection carrying the dye lot | The financial purchase order, the payable, stock value |
| Planning and production | Planning heat-map of lines and subcontractors over 52 weeks, production orders with job cards per department, WIP board, T&A with critical path | Material movements, for stock value |
| Shop floor | MerchandiserOS floor screens, or Garment.io feeding output and actual minutes in | Nothing |
| Quality | Typed inspections (incoming, cutting, PP, DUPRO, final AQL, pre-shipment, measurement), AQL engine on ISO 2859-1 at the buyer's level, CAPA, needle and metal control, quality grades so produced is not taken for shippable | Nothing; the shipment is cleared or held |
| Logistics | Shipments per delivery, packing and cartonisation, ship clearance against the buyer's terms | The dispatch and the customer invoice |
For brands, buying agents and own-label retailers
The same split works when nobody in the business sews. MerchandiserOS runs development, samples and approvals, T&A, the orders placed with factories, sourcing, the planning view across subcontracted factories, quality inspections and shipping follow-up; the ERP keeps the books. Retail back-office work (stores, point of sale, allocation, open-to-buy) is outside MerchandiserOS's scope and stays in retail systems.
What changes in the ERP project
With operations on top, the hardest lines of the fit-gap leave the ERP project. The ERP no longer needs size-graded BOMs, per-roll unit conversion, shade control at cutting, chained subcontracting, sampling, T&A, AQL or bundle tracking. It keeps accounting, the purchase order as a financial record, invoicing, payments, stock value and local tax. The project is smaller, upgrades stay clean, and each department works in a tool built for its day.
What stays in the ERP project: finance design, letters of credit, chargeback reasons, commission for agents, local statutory reports, e-invoicing and the connection to the operations layer.
How they connect
- ERP ↔ MerchandiserOS. Either a file exchange, which needs no programming, or the public MerchandiserOS ERP API: the ERP signs in with an integration login, collects purchase requests and orders, and sends back its PO numbers, payment dates and invoice status. Every inbound change lands on a review list and is approved by a person, with an approver per kind of change, and a "what changed" feed lets the ERP catch up. No money amounts travel through the API; they stay in the ERP.
- Shop floor. Factories without a floor system use MerchandiserOS's own floor screens. Factories running Garment.io keep it: MerchandiserOS integrates with Garment.io, sending orders and styles to it and reading floor output and actual minutes back.
·Frequently asked questions about implementing an ERP for apparel
The questions consultants, factory owners and brand teams ask most often about an apparel ERP implementation. Each answer stands on its own.
What are the steps to implement an ERP in a garment factory?
An ERP implementation in a garment factory runs through sixteen phases: discovery, the item and variant model, the costing model, units of measure, BOMs and routings, inventory with lots and rolls, production control, subcontracting, quality and AQL, shipping documents, finance, integrations, data migration, testing, training, and go-live with hypercare. Each phase ends with decisions a named person in the factory makes, and the variant model is the most expensive one to change later.
What should an ERP implementation checklist for a garment factory include?
An ERP implementation checklist for a garment factory should include the business type per buyer, a decision owner per area, one discovery workshop per department, a fit-gap of about 50 apparel requirements scored with evidence, the decisions that are hard to change after go-live, 13 end-to-end test scenarios, a rehearsed cut-over and a hypercare plan. MerchandiserOS publishes a free Excel version with the 52-line fit-gap, 17 decisions, 13 test scenarios and a 30-item go-live list.
What is a fit-gap analysis in an ERP project?
A fit-gap analysis lists every requirement the business has and records whether the ERP meets it as standard, with configuration, with an add-on or custom code, or better in another system, with the evidence seen in a demo, the decision taken and its owner. For apparel it should cover product and variants, BOM and costing, materials, production, quality, sales and shipping, and finance.
How do you calculate fabric consumption per size for a garment BOM?
Take the fabric per piece for each size from the marker, multiply by the pieces ordered in that size, and add the sizes together, keeping cutting waste and shrinkage as separate factors. For 3,000 polos at 0.82, 0.88, 0.95, 1.02 and 1.10 metres for sizes S to XXL in a 300, 750, 900, 750, 300 split, the need is 2,856 metres; using the base size M for every size gives 2,640 metres, 216 metres short.
What is CMT costing and how is it calculated?
CMT costing prices the labour of cutting, making and trimming a garment, usually as the garment's standard minutes multiplied by a cost per minute that covers wages and factory overhead. A polo of 18 minutes at USD 0.07 a minute costs USD 1.26 to make; in a CMT order the buyer supplies the fabric, so the factory's price is based on this making cost plus its margin.
What is a garment costing sheet?
A garment costing sheet lists the cost of one piece by element (fabric, trims, decoration, cut and make, washing, testing, freight, finance cost, overhead, commission and margin) and adds up to the price quoted to the buyer. It is built before the order exists, so it needs versions, and after production the same elements should come back as actual costs to show whether the order made money.
How do you convert fabric from kilograms to metres?
Metres per kilogram equal 1000 divided by the product of the fabric's GSM and its width in metres. A 180 GSM jersey at 1.80 metres gives 1000 ÷ (180 × 1.80) = 3.086 metres per kilogram, but every roll has its own GSM and width, so an ERP should record them per roll and convert per roll rather than use one factor per fabric.
What is AQL inspection and how is the sample size chosen?
AQL inspection checks a random sample from a lot and accepts or rejects the whole lot on the number of defects found, using the tables in ISO 2859-1. The sample size comes from the lot size and the inspection level: a lot of 3,000 pieces at general inspection level II gives code letter K and a sample of 125, and at AQL 2.5 the lot is accepted with 7 or fewer major defects and rejected at 8.
How should job work and subcontractors be tracked in an ERP?
Each outside process should be a subcontract order with a running balance of pieces sent, pieces returned good, pieces rejected with a reason, and the loss allowed, while the goods stay owned by the sender. For 3,000 embroidered fronts with a 1% allowance, 3,030 go out, 3,004 come back and 26 rejects sit inside the allowance of 30, leaving a balance of zero.
How does ERP implementation differ for a fashion brand or buying house?
A fashion brand or buying house uses the same phases, but the weight moves from BOMs, routings and the sewing floor to vendor onboarding and compliance, development with factories, inspections at the vendor, landed cost, EDI with retailers, chargebacks and, for agents, commission. Retail back-office work such as stores, point of sale, allocation and open-to-buy belongs to retail systems.
When should a garment factory go live on a new ERP?
A garment factory should go live between seasons, in its lowest-volume weeks and before a new wave of cutting, away from the financial year-end and any audit, after one full rehearsal of the cut-over. The implementation team should stay in close support at least until the first month-end close in the new system; practitioners commonly plan four to eight weeks of hypercare.
What data should be migrated into a new apparel ERP?
Migrate only open and active data: active and carry-over styles, customers and suppliers active in the last two seasons, materials in use, stock counted by lot and roll at the cut-off, open purchase and buyer orders with their undelivered quantities, and open receivables and payables. Keep history in the old system or an archive, clean the data before loading, and have each owner sign the loaded totals.
Who should own an ERP project in a garment factory?
The owner or managing director should sponsor it and settle scope, a senior manager with freed time should lead it day to day, and each design decision should have one named owner in the business: the merchandising head for variants and orders, the CAD lead for consumption, the stores head for units and lots, the QA manager for inspections and the finance head for costing and currencies. The implementer configures; the factory decides.
·Checklists: the method on one page
The checklists below repeat the decisions from each part of this page, in project order.
Discovery
- Business type settled for each buyer: CMT, full package, both, or brand, agent or own-label retail.
- One decision owner named for each area, and a decision log started.
- One workshop per department, walking a real recent order.
- All 52 fit-gap lines answered with evidence, decision and owner.
- The ownership split decided: what the ERP owns, what runs in an operations layer.
- The source-of-truth map written, one owner per record.
Design
- Variant model, size scales, season rules and code pattern locked.
- Costing elements, method per item class and approval thresholds agreed.
- Unit design per material, including per-roll conversion for knits.
- Lot as dye lot; roll data and quality status rules.
- Size-graded consumption source; wastage and shrinkage apart.
- Work-order level, floor capture and output grading.
- Subcontract flows with loss allowances; approved subcontractors per buyer.
- Inspection plan per buyer and override rights.
- Carton rules and document set per buyer.
- Currencies, LC records, advances, landed cost, chargeback reasons, commission, e-invoicing.
Build, data and testing
- Integrations link on permanent ids, with one writer per field and a review list for disagreements.
- Migration loaded in dependency order, with a cut-off rule and signed totals.
- All 13 end-to-end scenarios passed by key users.
Go-live
- Training done per role, in the local language, on the factory's own orders.
- Cut-over rehearsed once in full, with a go or no-go point and a fall-back.
- Go-live between seasons, away from year-end and audits.
- Hypercare runs at least to the first month-end close.
Next: pick your ERP's chapter from the guide hub, compare the systems on the comparison page, or look up a term in the glossary.
·Sources
This page is ERP-neutral; vendor facts it mentions in passing are sourced in the ERP chapters and on the comparison page. Sources were checked on 26 September 2026.
- ISO 2859-1, Sampling procedures for inspection by attributes: iso.org
- Inspection levels explained: qualityinspection.org
- AQL tables and acceptance numbers: qima.com · tetrainspection.com
- UCP 600, documentary credits: uscib.org · tradefinanceglobal.com
- EDI 850 and the transaction sets: 1edisource.com · truecommerce.com
- EDI 856 advance ship notice: celigo.com
- Oracle NetSuite, matrix items (2,000 combinations): docs.oracle.com
- Odoo 18, product variants: odoo.com
- Microsoft, Business Central item variants: learn.microsoft.com
- Microsoft, Supply Chain Management product dimensions: learn.microsoft.com
- ERPNext, item variants: docs.frappe.io · issue #54715: github.com
- TallyPrime, job work out (principal manufacturer): help.tallysolutions.com
Corrections. If you find a statement on this page that your experience or a vendor's documentation contradicts, report a correction and mention the page and the version you checked. We correct the guide and date the change. The method is re-checked at least once a year.
SAP, SAP Business One and SAP S/4HANA are trademarks of SAP SE; Oracle and NetSuite of Oracle; Microsoft and Dynamics 365 of Microsoft; Odoo of Odoo S.A.; ERPNext and Frappe, TallyPrime, and all other product names of their owners. They are used here only to name the products. This guide is not endorsed by any of them. Garment.io is named because MerchandiserOS integrates with it; this guide is not endorsed by Garment.io.