MerchandiserOS

ERP guide/Oracle NetSuite

ERP implementation guide · textile & apparel

How to Implement NetSuite for Garment & Apparel Business (2026 Guide)

A full implementation guide to Oracle NetSuite for consultants and factory teams: discovery, the 52-line fit-gap, matrix items and their 2,000 limit, prepacks, dye lots, Advanced BOM, Outsourced Manufacturing, costing, the API and its 2027 deadlines. It also explains why most apparel factories get further by keeping NetSuite for the books and running operations on top of it.

As of NetSuite online help, 2026 releases Last checked 26 Sep 2026 Published by MerchandiserOS
Who wrote this. This guide is published by MerchandiserOS, an operations platform for garment factories and brands that connects to ERPs, including NetSuite, through a public API. It is independent implementation advice. We are not an Oracle or NetSuite partner and do not resell NetSuite. Every NetSuite-specific claim links to Oracle's own NetSuite documentation, checked on the date above. Where a statement comes from implementation practice, the text says so. Sources · Report a correction
32 worked examples in this chapter, all following one order: 3,000 navy men's piqué polos, style P-2041, sizes S–XXL (300 / 750 / 900 / 750 / 300), ex-factory 15 December. Prices are illustrative.
  1. One polo order, and where each step can live in NetSuite
  2. The same order as CMT and as full package
  3. Output of the merchandising workshop
  4. Five fit-gap rows, scored for the polo factory
  5. Bill of materials for one style: men's piqué polo, style P-2041
  6. Item record types, units and tracking for the polo
  7. Where the 2,000-combination ceiling bites: a jean range
  8. The polo sales order entered through a grid
  9. Four rolls of the same "180 GSM" jersey
  10. Cutting 3,000 navy polos from three dye lots
  11. Why one average consumption fails, and the BOMs it takes
  12. A BOM revision around the PP approval
  13. The polo order as 150 ratio packs of 20
  14. The polo's routing, minutes and line capacity
  15. The polo order's approval calendar, worked back from ex-factory
  16. 2,000 printed T-shirts through two outside processors
  17. A quotation cost build for the polo (illustrative figures, USD per piece)
  18. Choosing the costing method per item class, once
  19. Landed cost on the imported fabric: one method against per-line allocation
  20. The final inspection sample for 3,000 polos, and why one NetSuite template is not enough
  21. Packing 3,000 polos into cartons, one dye lot per carton
  22. Customer deposit, letter of credit and exchange difference
  23. A chargeback on an open-account shipment
  24. Migration template rows for the open polo order
  25. Test script: the polo order from sales order to cash
  26. Test script: shade split at cutting
  27. A training plan by role
  28. A cut-over plan, day by day
  29. A concurrency budget for a brand-and-factory account
  30. One purchase request, from MerchandiserOS to NetSuite and back
  31. The polo order from the brand's side, with the buying agent's commission
  32. The polo order with operations on top

Part 1Before you start

1Who NetSuite fits

Oracle NetSuite fits apparel brands, wholesalers and multi-company groups best, and fits garment manufacturers when the factory accepts that cutting, sewing and floor control need extra SuiteApps, partner products or a separate operations system. It is a cloud ERP sold as a subscription, with strong order-to-cash, procure-to-pay, multi-location stock and multi-subsidiary accounting through OneWorld.

For apparel, NetSuite's natural model is the matrix item: a parent item for the style and a child item for each option combination, such as navy in size L. Oracle adds a Grid Order Management SuiteApp for grid entry on orders, and a SuiteSuccess edition for Apparel, Footwear and Accessories that preconfigures an account for the industry. Manufacturing depth comes from assembly items, work orders, Advanced Bill of Materials, Manufacturing WIP and Routing, the Advanced Manufacturing SuiteApp and Outsourced Manufacturing.

Works wellMatrix items, grid entry on orders, multi-location stock, lot-numbered items, landed cost, OneWorld subsidiaries and currencies, customer deposits, outsourced assemblies.
Needs design careThe 2,000-combination matrix ceiling, kg-to-metre per roll, size-graded BOMs, prepack item type, costing method locked per item, API concurrency budget.
Usually outside NetSuiteTech packs, quotation costing, T&A, sample approvals, line planning, cut planning, shop-floor capture, AQL. See section 36.

Signs NetSuite is a good choice

NetSuite tends to work when the business values one cloud ledger across companies and channels more than deep factory control.

  • The group has several legal entities, currencies or countries, for example a brand in Europe with a sourcing office and a factory in another country. OneWorld is built for that.
  • A large share of revenue is wholesale, e-commerce or retail, where NetSuite's order management, commerce connectors and multi-location stock carry weight.
  • The factory accepts a SaaS model: no server of its own, upgrades on Oracle's release calendar, and customisation through SuiteCloud rather than changes to core code.
  • An implementation partner with manufacturing and apparel experience is available, or the factory will run production in a separate system and keep NetSuite for finance, purchasing and stock.

Signs to slow down

Slow down when the expectations placed on NetSuite belong to a planning, floor or development system.

  • The factory expects NetSuite to plan sewing lines, balance operations and track bundles. Work orders and routings do not do that (section 16).
  • The style range is wide enough that one style's colour, size and length combinations approach 2,000 (section 11).
  • Knit fabric is bought by weight and cut by length, and nobody has decided how kilograms become metres per roll (section 12).
  • An existing integration uses SOAP or token-based authentication and nobody has planned the move before the 2027.1 and 2028.2 deadlines (section 34).
  • The go-live date falls inside peak season.

2Why no ERP fits apparel on its own

No general ERP fits apparel out of the box, because an ERP is built around a known item with one bill of materials, while a garment order starts as a style that is quoted, sampled and approved before any item exists. This is not a NetSuite weakness. NetSuite even ships an apparel edition and a grid SuiteApp, and the matrix still arrives after the costing, the lab dips and the fit samples are done. SAP, Dynamics 365, Odoo and every general ERP meet the same wall. Brands, buying agents and own-label retailers meet it too: their development, sampling and follow-up across factories happen before and around the transactions the ERP records (section 35).

An ERP is built around the transaction: a known item, a fixed bill of materials, a price, a receipt, an invoice. It is right to be strict about that, because strictness keeps the books correct. A garment order does not start there.

What an ERP is built for
What an apparel order needs
An item that exists before it is sold
A style that is quoted, sampled and approved weeks before any item exists
One bill of materials per item
Fabric use that changes by size, trims that change by colour, a spec revised three times
Units that convert by a fixed factor
Fabric bought by kilogram and cut by metre, where the factor changes with every roll
Stock that is interchangeable
Dye lots that must never be mixed in one garment, and rolls with their own width and weight
Approvals of money: a PO, a payment
Approvals of product: lab dips, strike-offs, fit and PP samples, given by the buyer, round by round
Work inside one company
Work across mills, dye houses, printers, washers, CMT units, inspection agencies and forwarders
A daily or monthly close
A floor where the answer changes every hour

Forcing an ERP to do all of this means heavy customisation in the one system that most needs to stay standard. In NetSuite that customisation is SuiteScript and custom records, which run under governance limits and must be retested at every twice-yearly release. The ledger fills with data finance never reads, and the merchandisers keep their spreadsheets anyway. The durable answer is to give the ERP the books and give the operations to a system built for them. Section 3 summarises that model and section 36 shows it in full.

Example 1

One polo order, and where each step can live in NetSuite

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 NetSuite has a natural record for it.

StepWhat happensNatural record in NetSuite?
Tech pack arrivesMeasurements by size, construction, artwork, trims listNo. There is no item yet
Costing and quoteFabric use from a marker, CM from operation minutes, quote at USD 4.26 FOBNo. A NetSuite estimate prices items that already exist
Lab dips, strike-off, fit sampleThree lab dip rounds before navy is approvedNo. These are approvals of the product
Order confirmedSize breakdown 300 / 750 / 900 / 750 / 300Yes: a sales order on matrix children, entered through a grid
Fabric and trims bought925 kg of jersey, rib, buttons, labels, polybagsYes: purchase orders
Fabric receivedThree dye lots, rolls of different width and weightPartly. Lot-numbered items yes, measured GSM and width per roll only as custom fields
PP sample, cutting, sewingCut by dye lot, 18 minutes per polo, output by line by hourPartly. The work order and routing yes, the line and the bundle no
Embroidery at a subcontractorPanels out, 1% loss, panels backYes, with Outsourced Manufacturing, as an outsourced assembly
Final AQL inspectionGeneral level II, AQL 2.5, sample of 125 piecesPartly. The Quality Management SuiteApp samples by number or percentage, not by ISO tables
Shipping and invoiceCartons, packing list, commercial invoiceYes: item fulfilment and invoice

Four steps have a natural home, four are partial, and two have none. The two with none, plus the partial ones, are where the order is actually won or lost.

3The recommended architecture, in short

Before discovery starts, agree which system owns which part of the business. Our recommendation is a split along the line in Example 1: NetSuite keeps the books, and an operations system built for apparel runs everything from the style to the shipment.

AreaOwned byWhy there
Style, tech pack, samples and approvals, quotation costingOperations layerThis work happens before a NetSuite item exists, and it changes daily
Buyer orders, procurement planning, production planning, shop floor, quality, logisticsOperations layerIt needs sizes, dye lots, minutes, inspections and dates in one place
Shop-floor captureThe operations layer's floor screens, or a floor system such as Garment.io connected to itOperators need a simple screen, not an office form
Accounts, payables and receivables, invoicing, payments, stock value, tax and e-invoicingNetSuiteThis is the legal and financial record, and NetSuite does it well as standard, across subsidiaries and currencies

With this split, the NetSuite project stays close to standard: fewer SuiteScripts, fewer custom records, a smaller call on the account's API concurrency and a cleaner path through each release. The rest of this guide still explains how to bend NetSuite toward garment production, because some factories choose to, and because a consultant needs to know what each choice costs. Where an area moves out of NetSuite under the recommended model, the section ends with a short note. Section 35 describes the model in full, department by department.

4Business types, and what each needs from NetSuite

"Apparel business" covers very different companies, and the business type decides which parts of NetSuite carry weight. Settle it in the first discovery meeting, because one group often runs two types at once, for example a brand subsidiary that buys finished goods and a factory subsidiary that sews them.

TypeWhat it doesWhat it needs from NetSuiteWhere it struggles
CMT (cut, make, trim)Sews buyer-supplied fabric and often trims; sells labourBuyer-owned stock kept out of stock value, material reconciliation per order, service invoicing, labour costing from minutesNetSuite has no consigned-inventory record for customer-owned goods in the standard flow we checked; design it (a non-valued location or tracking outside NetSuite)
Full-package (FOB) factoryBuys all materials, makes, ships; sells the garmentMatrix items, assemblies with size-graded BOMs, purchasing, lot-numbered fabric, landed cost, outsourcing, customer deposits and LC-backed sales, currenciesThe largest scope and the most extension work; the riskiest type to implement
Textile mill (knitting, weaving, dyeing)Turns yarn into fabricProcess manufacturing: yarn count and blend, dye recipes, batch genealogy, weight units, lab dips, GSM and width per batch, by-productsRecipe and batch logic goes beyond an assembly BOM; check a process-manufacturing SuiteApp or partner product
Hosiery and knit-to-shapeKnits socks, tights or sweaters directly from yarnYarn BOM by weight, singles to pairs to packs, pairing, toe closing and boarding as routing steps, few broad sizesThe unit design (singles, pairs, packs) is the main trap
Brand or wholesalerDesigns and sells; factories make for itMatrix items, vendor purchase orders, landed cost, wholesale and DTC sales, multi-location stock, EDI with retailersThis is NetSuite's strongest apparel fit; development and supplier follow-up still sit in PLM or an operations tool
Buying agentPlaces and follows orders across factories for buyers; earns commissionLight accounting and commission invoicing; little or no stockThe real work (T&A, samples, inspections, documents) is not transactional
Own-label retailerA retailer that develops its own label and places it with factories or agentsVendor purchase orders on matrix items, landed cost, multi-location stock; the retail side often in NetSuite's commerce and store features or another retail systemDevelopment, sampling and factory follow-up sit outside the ERP; store operations are a separate project

The list above is general implementation practice. Treat it as a starting point for the discovery questions in section 6, not as a scope. Brands, buying agents and own-label retailers that make nothing themselves have their own Part in this guide (section 35). A group that runs a brand and a factory as separate subsidiaries in OneWorld can give each subsidiary its own flows while sharing items and suppliers; decide that structure early, because the subsidiary hierarchy and each subsidiary's base currency are hard to change later (section 8).

Example 2

The same order as CMT and as full package

Suppose 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 in total) and the factory charges for making only, at an illustrative USD 1.60 a piece.

QuestionFull packageCMT
Who buys the fabricThe factory, on a NetSuite purchase orderThe buyer; no purchase order in NetSuite
How the fabric enters NetSuiteAn item receipt that raises stock value; the vendor bill raises the payableA receipt into a location or item kept out of stock value, or tracked outside NetSuite; design this explicitly with finance
Items on the sales orderMatrix children of the polo, at 4.26A service item for making, per size or per piece
Invoice to the buyer3,000 × 4.26 = USD 12,780.003,000 × 1.60 = USD 4,800.00
Material reconciliationInternal: fabric issued against the work ordersExternal: 2,880 m received, 2,856 m used, 24 m returned to the buyer or accounted for
Main riskUnder-buying fabric (Example 11)Being charged for fabric the factory cannot account for

The 2,856 m used and the 24 m left come from the cut plan in Example 10. In CMT, that plan is the evidence the factory shows the buyer, so it must be recorded per dye lot, not as one total.

Part 2Discovery

5Who should be on a NetSuite apparel project team?

A NetSuite apparel project needs one decision owner for every design question, and most of those owners sit in the business, not in IT. The partner configures, scripts and integrates; the factory or brand decides how styles, units, lots, costs and inspections work.

The table lists the roles we see on projects that go well. One person can hold several roles in a small company. What matters is that every question in the fit-gap has a named person who can say yes.

RoleUsuallyDecides
SponsorOwner or managing directorScope, budget, go-live window, what stays outside NetSuite, the subsidiary structure, disputes between departments
Project leadA senior manager with time freed for the projectDay-to-day priorities, test sign-off, readiness for cut-over
Merchandising headHead of merchandisingMatrix design, size scales, season rules, order entry, T&A ownership
Development and sampling leadSampling room head or technical managerSample types, approval rounds, where tech packs and revisions live
Production managerFactory or production managerWork order level, WIP or not, routings, outsourced steps, floor capture
Industrial engineerIE managerOperation minutes (SMV), line capacity, the rates in cost templates
CAD and marker leadCAD room headConsumption per size, marker efficiency, cutting loss, BOM quantities
Stores headFabric and trims store managerUnit types, lot and bin rules, locations, what is recorded at receipt
Quality managerQA managerInspection types, sampling plans, who may override a failed inspection
Shipping and commercial leadShipping or commercial managerPacking rules, carton labels, export documents, LC document requirements
Finance headCFO or chief accountantSubsidiaries, base currencies, chart of accounts and segments, costing method per item class, landed cost, deposits, chargebacks, tax
NetSuite administratorIn-houseRoles and permissions, feature switches, sandbox refreshes, release testing, integration records
Key usersOne or two per departmentTest scripts, training of colleagues, first-line support after go-live
Partner functional consultantNetSuite partnerHow a decision is configured; which SuiteApp or script it needs
Partner developerNetSuite partner or in-houseSuiteScript, SuiteFlow, SDF projects, integrations, CSV import templates

Rules that keep decisions moving

Most delays in apparel projects come from decisions nobody owns. Five rules prevent them.

  • One owner per decision. "Merchandising and finance will agree" produces no decision. Write one name against each fit-gap line.
  • Decide in writing. Keep a decision log with the date, the owner, the option chosen and the options rejected.
  • The sponsor settles scope, not configuration. The sponsor decides whether T&A lives in NetSuite or elsewhere. The merchandising head decides how it works.
  • Name an in-house administrator from day one. NetSuite is SaaS, so the release calendar is Oracle's. Someone inside the business must own sandbox testing of each release after the partner leaves.
  • Key users are released from part of their day. A key user who is also running peak-season orders will not test properly.

6What should discovery workshops for a NetSuite apparel project cover?

Discovery for an apparel NetSuite project is 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 business's own orders, not a demo account. The polo order in this guide is the kind of order to bring.

Each workshop produces three things: the current flow as it really runs (including the spreadsheets), a list of findings mapped to the fit-gap lines in section 7, and a list of decisions with an owner. The question lists below are a starting set; add the business's own, and add the NetSuite-specific questions at the end of each list.

Merchandising

Merchandising questions establish how orders arrive, change and are tracked.

  • How does an order arrive: buyer PO by email, portal, EDI? What fields does it carry, and how often is it amended after confirmation?
  • How are sizes and colours broken down, and do buyers order in ratio packs?
  • What quantity tolerance do buyers allow, and how is a short or over shipment agreed?
  • Is one buyer order split into several deliveries, each with its own date and destination?
  • Where is the T&A calendar kept, who updates it, and who looks at it each morning?
  • NetSuite: how many colours, sizes and lengths does the widest style carry, and how many new colours arrive mid-season? This sizes the matrix against the 2,000 ceiling.

Development and sampling

Development questions establish what happens before an order exists.

  • Which sample types does each buyer require, and in what order?
  • How are sample rounds recorded: sent date, courier, comments, verdict?
  • Where do tech packs live, and how is a revision after PP approval handled?
  • Who prepares the quotation cost, from what inputs, and how many versions does a quote go through?

Purchasing and stores

Stores questions establish units, lots and what is measured at receipt.

  • In which unit is each material bought, stocked and issued? Which suppliers invoice in a different unit from the one they deliver in?
  • What is checked at receipt: weight, width, GSM, shade, shrinkage, four-point inspection? Who records it and where?
  • How are dye lots and rolls labelled, and can the store find every roll of one lot today?
  • Which materials are nominated or supplied by the buyer?
  • NetSuite: will bins be used (Advanced Bin / Numbered Inventory Management), and is a roll a lot, a bin or a custom record?

Cutting, production and subcontracting

Production questions establish the level of control and how output is counted.

  • At what level is production controlled: per order, per style-colour, per delivery, per cut?
  • How is the cut plan made per dye lot, and who checks that lots are not mixed?
  • How is output counted today: per line per hour, per operator, at end of line?
  • Which processes go outside (print, embroidery, wash, CMT) and how are pieces counted out and back?
  • NetSuite: should materials sit in a WIP account between issue and completion (Manufacturing WIP), or is a one-step assembly build enough?

Industrial engineering and planning

IE questions establish where minutes and capacity come from.

  • Are operation minutes (SMV) studied per style, taken from a library, or estimated?
  • How is line capacity planned across the season, including subcontractors?
  • What efficiency figure is used for planning, and how is actual efficiency measured?

Quality

Quality questions establish inspections, buyer standards and who may release a failed lot.

  • Which inspections run: incoming fabric, cutting, inline, end of line, pre-final, final, measurement?
  • Which buyers set their own AQL levels, and where are their quality manuals kept?
  • Who may release a lot that failed inspection, and is that decision logged?
  • Which lab tests and certificates are required per order?

Shipping

Shipping questions establish packing rules and documents per buyer.

  • How are cartons packed: solid size, assorted, ratio? What carton labels does each buyer require?
  • Which export documents are prepared per shipment, and who checks them against the letter of credit?
  • Does any buyer require an advance shipping notice by EDI?

Finance

Finance questions establish entities, currencies, payment terms, import costing and tax.

  • How many legal entities are there, in which countries and base currencies? Which trade with each other?
  • Which currencies are used for sales, purchases and wages? How are exchange differences booked today?
  • How are buyers paid: letter of credit, advance, open account? Which buyers deduct chargebacks?
  • How is imported material costed: are freight, duty and clearing added to the material cost, and by weight, quantity or value?
  • Which costing method does each class of item need: standard for finished garments, average or lot costing for fabric?
  • Is the factory in a free zone or under a temporary-admission regime, and what reports does that require? Which e-invoicing rules apply?
Example 3

Output of the merchandising workshop

The team walked the polo order from the buyer's PO to the booking of the shipment. The findings sheet looked like this.

#FindingFit-gap lineDecision neededOwner
M1The buyer PO arrives as a PDF; sizes are keyed by hand into a spreadsheet, then again into the costing sheet41Where the order is entered once, and whether grid entry is needed in NetSuiteMerchandising head
M2The buyer allows ±3% quantity; nobody records it, so shipping asks each time43Where the tolerance is held and who checks it before fulfilmentMerchandising head
M3Three lab dip rounds were tracked in one merchandiser's email10Where approval rounds are recordedDevelopment lead
M4The spec changed after the fit sample; production cut from the earlier sheet on a previous order8How the approved spec version is fixed for an orderDevelopment lead
M5Fabric was ordered on the base-size consumption on a previous order and ran short12Where size-dependent consumption is calculatedCAD lead
M6The widest knit style runs 40 colours in 8 sizes and 2 lengths, and grows mid-season1Matrix design: which options sit on the matrix, and how a style splits before it reaches 2,000Merchandising head
M7The T&A lives in a shared spreadsheet with no dependencies36Where T&A lives: in NetSuite with custom records, or in an operations systemSponsor

Four of the seven findings (M3, M4, M5, M7) sit on fit-gap lines where NetSuite has no standard answer. That is the moment to decide the architecture question in section 3, before anyone designs a custom record. M6 is arithmetic: 40 × 8 × 2 = 640 combinations today, comfortably under 2,000, but the same style with 5 lengths would reach 1,600.

7The apparel fit-gap checklist for NetSuite: 52 lines

A fit-gap checklist lists every requirement an apparel business has and records, line by line, whether NetSuite meets it as standard, meets it with configuration or a SuiteApp, needs custom build, or is better handled outside NetSuite. The 52 lines below cover product, BOM and costing, materials, production, quality, sales and shipping, and finance.

The answers are our assessment of NetSuite, as documented in Oracle's online help in September 2026, for a typical full-package garment factory. "Configure" includes Oracle SuiteApps such as Grid Order Management, Advanced Manufacturing and Quality Management, which are separate installs and in some cases separately licensed; check each with Oracle or your partner. Confirm every line against your account before you sign a scope.

Key: Standard works with NetSuite features switched on · Configure settings, custom fields, saved searches or an Oracle SuiteApp · Custom build SuiteScript, custom records or a partner product · Operations layer better run in an apparel operations system and passed to NetSuite

#RequirementNetSuite answerNotes
Product
1Style master with a colour-size variant matrixStandardMatrix items: a parent and a child per combination; at most 2,000 combinations (section 11)
2Size scales per product categoryConfigureOne matrix option (custom list) per size scale, assigned per parent
3Season or collection, and style reuse across seasonsConfigureA custom item field or custom segment; rules for reusing a style number with a new cost need design
4Carry-over styles with a new price or BOMConfigureAdvanced BOM revisions with effective dates (section 14)
5Prepacks and ratio packsConfigureItem group, kit or assembly, chosen by how the pack is sold and stocked (section 15)
6Pairs and multi-packs (hosiery, gloves)ConfigureA pair unit in a unit type, kits or assemblies for multi-packs; pairing as a routing step
7Buyer's own style and colour codesConfigureCustom item fields, or customer part numbers on the item
8Tech-pack revision linked to the orderOperations layerBOM revisions version the materials, not the tech pack
9Points of measure with tolerance per sizeOperations layerNo native measurement-spec record
10Sample types and rounds with buyer approvalOperations layerNo native record; custom records or outside (section 17)
BOM and costing
11BOM lines that apply by colour or sizeConfigureOne BOM per child assembly or per group of children; Advanced BOM lets one BOM serve several assemblies
12Size-graded fabric consumptionCustom buildGenerate a BOM per size from a consumption table by script or CSV; or calculate outside
13Wastage and shrinkage held separatelyConfigureComponent yield on the BOM revision covers one loss factor; a second needs custom fields
14Trims that change by colourwayConfigureDifferent components on the BOMs of each colour's children
15Pre-costing with many elements and currenciesOperations layerHappens before the item exists
16Standard against actual cost per orderConfigureStandard costing and variances are native; quote-against-actual by order needs reporting or an operations system
17Labour cost from operation minutesConfigureRouting steps with times and cost templates (Manufacturing Routing)
18Landed cost on receiptsStandardBy weight, quantity or value on item receipts or vendor bills; per-line allocation as a preference
19Quote versions and approvalOperations layerNetSuite estimates price existing items; the cost build comes first
Materials
20Purchase, stock and issue units with per-lot conversionCustom buildUnit types convert at fixed rates; a per-roll kg-to-metre factor needs script (section 12)
21GSM and width per lot or rollConfigureItem number fields on the lot number record
22Roll trackingConfigureA lot per roll, or a bin per roll with Advanced Bin / Numbered Inventory Management; a design choice
23Dye lot and shadeConfigureLot-numbered item with the lot as the dye lot; shade group as an item number field
24Four-point fabric inspectionConfigureAn inspection in the Quality Management SuiteApp with data fields; defect points per roll need design
25Quality hold and quarantineConfigureA quarantine location or bin, or inventory status; check your features
26Buyer-supplied (consigned) stockCustom buildNeeds a deliberate design so it stays out of stock value
27Reserved against free stockStandardCommitted against available quantities on orders and work orders
28Leftovers and stock-lot disposalConfigureA leftover location and item class, sold on a normal sales flow
Production
29Work orders per style-colour or deliveryConfigureWork orders per child assembly; grouping by delivery is a design choice
30Cut orders, lay plans, marker efficiencyCustom buildA CAD system plus a partner product or custom records
31Bundles and bundle ticketsCustom buildA shop-floor system or partner product
32WIP by stage and lineOperations layerOperation tasks show routing progress, not the line or the bundle
33Graded output (first quality, seconds, rejects)Operations layerProduced is not the same as shippable
34Subcontract out and back with lossStandardOutsourced Manufacturing, including moves between subcontractors (section 18)
35Capacity by line from minutesOperations layerAdvanced Manufacturing compares capacity with demand by resource; seasonal line loading across lines and subcontractors does not come with it
36T&A with a critical pathOperations layerNo native T&A record
Quality
37Inline and end-of-line captureConfigureQuality Management SuiteApp inspections; operator-level capture is limited
38Final AQL to ISO 2859-1 at the buyer's levelCustom buildThe statistical sampling workflow uses a fixed number or percentage, not ISO tables (section 20)
39Logged override of a failed inspectionCustom buildDesign who may release and how it is recorded
40Lab tests and certificates per orderConfigureFile attachments on the order or a custom record
Sales and shipping
41Grid order entry by colour and sizeConfigureGrid Order Management SuiteApp on sales, purchase and transfer orders and quotes, with limits (section 11)
42Several deliveries per orderConfigureSeparate lines or orders per drop; decide before migration
43Over and under-shipment toleranceCustom buildA field and a check before fulfilment, by script or workflow
44Carton packing and labels (SSCC)ConfigurePack and ship features and printing templates; buyer label formats and SSCC numbers are custom or a partner product
45EDI 850, 855, 856, 810Custom buildAn EDI provider or connector
46Buyer label and ASN rulesCustom buildPer buyer
Finance
47Multi-currency and exchange differencesStandardMultiple currencies, and OneWorld for several subsidiaries
48Letter of credit terms and document checkingCustom buildWe found no LC record in NetSuite's help; a custom record
49Advances and down paymentsStandardCustomer deposits against sales orders, applied to the invoice
50Reason-coded chargebacksConfigureCredit memos or write-offs with a custom reason list
51Profitability per orderConfigureClasses, departments or custom segments, plus saved searches; design with finance
52E-invoicing per countryConfigureThe Electronic Invoicing SuiteApp is a framework; country formats come from localisation SuiteApps or templates (section 23)

Counted from this table, 6 of the 52 lines are standard, 26 need configuration or an Oracle SuiteApp, 11 need custom build and 9 are better run outside NetSuite. That count is our assessment for a typical full-package factory, not a survey. A brand buying finished goods drops most of the production lines and scores far better; a CMT factory drops most of the costing and material lines; a mill adds process lines this list does not cover.

Example 4

Five fit-gap rows, scored for the polo factory

A fit-gap row is only useful with evidence, a decision and an owner. These five rows come from the workshops in Example 3.

#RequirementEvidence from the factoryDecisionOwner
1Style matrixThe widest style has 640 combinations and grows mid-seasonMatrix items with colour and size as options; length kept as a separate parent when it would push a style past 2,000Merchandising head
12Size-graded consumptionFabric under-bought on the base size (Example 11)Consumption per size calculated outside NetSuite; purchase quantity passed inCAD lead
23Dye lot and shadeShade complaint on a previous orderFabric as lot-numbered items, the lot as the dye lot, shade group as an item number fieldStores head
38Final AQLBuyer manual requires general level II, AQL 2.5 majorInspection run outside NetSuite; pass or fail gates the fulfilmentQA manager
49Down paymentsBuyer pays 30% in advance on this programmeStandard customer deposit on the sales orderFinance head

8NetSuite editions, SuiteApps, OneWorld and service tiers for apparel

A NetSuite apparel project chooses four things beyond the base licence: whether to start from the SuiteSuccess Apparel, Footwear and Accessories edition, whether OneWorld is needed for several subsidiaries, which Oracle SuiteApps the fit-gap calls for, and which service tier the account runs on, because the tier sets the API concurrency every integration shares. Oracle does not publish NetSuite list prices, so every cost line below is a question for Oracle or the partner.

What is the NetSuite Apparel, Footwear and Accessories edition?

The Apparel, Footwear and Accessories (AFA) edition is one of NetSuite's SuiteSuccess editions: a NetSuite account configured for the industry, with predefined roles, dashboards, KPI scorecards, reports, saved searches, forms and preferences, and business processes delivered through SuiteApps. Oracle's help lists it as one of eight SuiteSuccess industries. It is a starting configuration of NetSuite, not a separate product, and it is often called SuiteSuccess Apparel. It is not the same thing as SAP's older AFS add-on, which is an unrelated SAP product.

We could not read Oracle's AFA brochure (the file refused access when checked), so we do not list what the edition contains beyond Oracle's general SuiteSuccess description. Ask Oracle for the current AFA scope in writing and map it against the 52 lines in section 7. In our experience the gaps in the operations-layer column remain open in any edition, because they are about the product before the item exists.

Which SuiteApps and features does an apparel project usually switch on?

A garment manufacturer running production in NetSuite usually needs the items, assembly and work-order features plus several Oracle SuiteApps; a brand needs fewer.

Feature or SuiteAppWhat it addsBrandFactory
Matrix itemsParent style with a child item per option combinationYesYes
Grid Order Management SuiteAppGrid entry on sales, purchase and transfer orders, quotes and inventory adjustmentsYesYes
Multiple Units of MeasureUnit types with purchase, stock, sale and consumption unitsSometimesYes
Lot Numbered Inventory; Advanced Bin / Numbered Inventory ManagementDye lots with their own cost; rolls in binsRarelyYes
Multi-Location Inventory, Advanced ReceivingStores, WIP and subcontractor locations; receipts as their own transactionYesYes
Assembly Items, Work Orders, Advanced Bill of MaterialsGarments as assemblies; BOMs with dated revisionsNoYes
Manufacturing WIP and RoutingIssue, completion and close through a WIP account; routings, work centres, cost templatesNoUsually
Advanced Manufacturing SuiteAppWorkbench, work instructions, capacity against demand, scheduler, mobile data captureNoSometimes
Outsourced ManufacturingSubcontracted assemblies, components sent to subcontractors, moves between themSometimesYes
Landed CostFreight, duty and charges added to stock valueYesYes
Quality Management SuiteAppSpecifications, inspections and samplingSometimesUsually
OneWorldSeveral subsidiaries, base currencies and intercompanyIf several entitiesIf several entities
Electronic Invoicing SuiteAppA framework for outbound and inbound e-documentsWhere requiredWhere required

Oracle notes that the Advanced Manufacturing SuiteApp's post-implementation setup is configured together with NetSuite Professional Services. Plan for that in the timeline.

When does an apparel business need NetSuite OneWorld?

An apparel business needs OneWorld when it runs more than one legal entity in NetSuite, for example a brand company and a factory company, or factories in two countries. Each subsidiary has its own base currency, and Oracle's help is explicit that a subsidiary's base currency cannot be changed after the subsidiary record is first saved. Treat the subsidiary structure and base currencies as the first decision of the project, not a setting to tidy up later.

What does the service tier have to do with an apparel project?

The service tier sets how many web-service and RESTlet requests the account accepts at the same time, and every integration shares that number. A factory that connects e-commerce, EDI, a floor system and an operations layer can run out of concurrency before it runs out of anything else. Oracle's published base limits are 5 for Standard, 15 for Premium, 20 for Enterprise and 20 for Ultimate on the current tiers, and each SuiteCloud Plus licence adds 10. Section 34 works through a budget.

How much does NetSuite cost for a garment business?

The cost depends on the base licence, the modules and SuiteApps licensed, the number of full users, the service tier, any SuiteCloud Plus licences and the partner work; Oracle quotes NetSuite privately and does not publish a price list, so we give no figures. Put these lines in the comparison:

Cost driverWhat decides it
Base licence and editionStandard NetSuite or a SuiteSuccess edition such as AFA; OneWorld if several subsidiaries
Modules and SuiteAppsManufacturing, WIP and routing, Advanced Manufacturing, Quality Management, Grid Order Management, e-invoicing for more than one country
UsersCount office users; floor operators should not need full NetSuite logins if capture happens elsewhere
Service tier and SuiteCloud PlusDriven by data volume, sandboxes and the concurrency your integrations need
Partner implementationDiscovery, configuration, migration, testing, training, hypercare; scales with the custom-build lines in the fit-gap
SuiteScript and custom recordsBuilt once, retested at every release; the recurring cost most budgets miss
Integrations and connectorsEDI, commerce, floor system, banks, e-invoicing, operations layer; each needs build, a concurrency share and upkeep

Questions to settle with Oracle and the partner

Settle these before signing, because each changes the cost and the path through future releases.

  • Which SuiteApps does the fit-gap need, which are licensed separately, and which need Professional Services?
  • What does the AFA edition contain today, in writing, line by line against the fit-gap?
  • Which service tier, how many sandboxes, and how much API concurrency is left once every planned integration is counted?
  • Which scripts and custom records are planned, who owns their code, and who retests them at each release?
  • Is any existing integration on SOAP or token-based authentication, and what is the plan before 2027.1?

9NetSuite vs SAP Business One for apparel

NetSuite has a native parent-and-child matrix item, a grid-entry SuiteApp, Advanced BOM with dated revisions, WIP and routing, and Outsourced Manufacturing, and it runs only as Oracle's cloud service; SAP Business One, per its partners, has no native colour-size matrix, so apparel users add a partner add-on or code each colour and size as its own item. Both handle batches or lots, units of measure, landed costs and production orders, and neither covers sampling, T&A, size-graded consumption or AQL out of the box. SAP Business One is SAP's ERP for small and mid-size companies, extended by partner add-ons.

AspectOracle NetSuiteSAP Business One
Style, colour, sizeMatrix items: parent and children; at most 2,000 combinations per parentPer partners, no standard item matrix; each colour and size its own item code, or a partner add-on (several exist)
Grid entryGrid Order Management SuiteApp: sales, purchase and transfer orders, quotes, inventory adjustments; English only; no mobileFrom the partner add-on
Bills of materialsAssembly items; Advanced BOM with revisions, effective dates and component yieldProduct trees (the B1 name for BOMs)
ProductionWork orders; Manufacturing WIP with issue, completion and close; routings and cost templates; Advanced Manufacturing SuiteAppProduction orders; shop-floor capture from add-ons
Subcontracting (CMT)Outsourced Manufacturing: subcontract orders, components to the subcontractor, moves between subcontractors, a daily consolidator that turns outsourced work orders into POsCommonly an add-on need, per partners
Lots and dye lotsLot-numbered items with cost per lot and custom item number fieldsBatches and serial numbers
UnitsUnit types with purchase, stock, sale and consumption unitsUoM groups
Landed costBy weight, quantity or value; per-line allocation as a preferenceLanded costs document
Multi-companyOneWorld subsidiaries with their own base currencySeparate company databases; check intercompany options with your partner
IntegrationSuiteTalk REST with OAuth 2.0, RESTlets, SuiteQL; SOAP retires in 2028.2Service Layer (OData; v1 on OData 3, v2 on OData 4) and the Integration Framework (B1if)
Extension modelSuiteScript 2.x, SuiteFlow, custom records, SDF projects; runs under governance limitsPartner add-ons and SDK; check each add-on's support for your B1 version

Which should an apparel business choose?

Choose on the fit-gap, the partner and the business type. From practice, NetSuite tends to suit a brand, a wholesaler or a multi-entity group that wants one cloud ledger and accepts Oracle's release calendar; SAP Business One tends to suit a single-entity manufacturer or distributor that has found a strong apparel add-on and a partner who maintains it. In both, the size-colour question is answered before anything else: in NetSuite by the matrix design and its 2,000 ceiling, in B1 by the choice of add-on, which then has to follow every B1 upgrade. Read the SAP Business One chapter for its side in full, and the comparison table for the other ERPs.

SAP Business One facts come from SAP's help and from SAP partners, as listed in sources. The lack of a standard item matrix in B1 is stated by partners; confirm it on your B1 release with SAP.

Part 3Design, area by area

10How should item types and materials be set up in NetSuite for apparel?

Set up NetSuite items by how each material is bought, stocked, costed and tracked: fabric and yarn as lot-numbered inventory items, trims and packaging as inventory items, finished garments as assembly matrix items (or inventory matrix items for a brand), and subcontract and import charges as service or other-charge items. In NetSuite the item record type, the costing method and the unit type are chosen per item, and two of them cannot be changed casually once the item is saved, so design the classes before the first import.

Apparel is not one product type. The garment category decides the size system, the main material, the unit it is bought in and the processes it goes through.

CategoryMain materialSize systemWhat changes the setup
Woven tops and bottomsWoven fabric, m or ydAlpha (S–XXL) or numericFabric width drives the marker; collars and cuffs need interlining
Knit tops, polos, fleeceKnit fabric, bought in kgAlphaGSM and width per roll; rib and collar trims sized per garment size
DenimWoven denim, weight in oz/yd²Waist × inseam, two axesWashing changes shade and size; two size axes multiply the matrix
Knitwear and sweatersYarn, in kgAlphaNo fabric stage; consumption is yarn weight per size and machine gauge
Hosiery and socksYarn, in kgFew broad sizes, e.g. 39–42Knitted in singles, sold in pairs and multi-packs
IntimatesKnit and lace, many small componentsBand × cupLong bills of materials; two size axes
OuterwearWoven shell, lining, padding by weightAlphaMany trims per garment; padding bought by weight
Home textilesWoven or knit, by mFlat dimensions in cmNo garment sizes; sold as sets, such as a duvet cover with pillowcases

Materials, and how each is bought and used

Each material has its own purchase unit, usage unit and receipt checks, and the NetSuite item must follow them.

MaterialBought inUsed inTrack at receipt
Woven fabricm or ydmComposition, width, weight, shade and dye lot, shrinkage
Knit fabrickgmGSM, open or tubular width, composition, shade and dye lot, shrinkage
Yarnkg, on coneskg or gCount and system (Ne, Nm, denier), ply, composition, shade
Sewing threadConesMetres per garmentTicket number, colour matched to each shade
Trims: zips, buttons, labels, hangtagsPieces, dozens, gross (144)PiecesSize and colour per colourway; often from a supplier the buyer nominates
Packaging: polybags, tissue, cartonsPiecesPiecesCarton dimensions, buyer-specific printing
Buyer-supplied material (CMT)Received, not boughtAs aboveOwned by the buyer: hold it apart at zero value and reconcile what was used
ATMA
Learn the materials properly. ATMA, the merchandising academy from the MerchandiserOS team, has courses on fibres, yarns and fabrics, from GSM and yarn counts to shade and shrinkage. atma.courses
Example 5

Bill of materials for one style: men's piqué polo, style P-2041

ComponentMaterialBought inPer piece (size L)Varies by
BodyCotton piqué 180 GSM, 1.80 m open widthkg0.95 mSize, colour
Collar and cuffsFlat-knit rib collar and cuffssets1 setSize, colour
Buttons4-hole polyester, 15 mmgross (144)3 pcsColour
Sewing threadPolyester core-spun, tkt 120cones165 mColour
Main labelWoven, buyer-nominated supplierpieces1 pcNone
Size and care labelPrinted satinpieces1 pcSize
EmbroideryChest logo, subcontractedservice1 pcColour
PolybagRecycled LDPE, with warning printpieces1 pcNone

Eight lines, three units of purchase, and four lines that change with size or colour. Example 6 turns them into NetSuite items.

What each item class carries in NetSuite

Four choices sit on each NetSuite item record and shape the apparel design: the record type, the costing method, the unit type and whether the item tracks lots. Oracle's help states that the costing method cannot be changed after it is saved on the item record, and that Average is the default. Choose per class of item, and put the choice in the CSV import template so nobody picks it by hand (section 19).

  • Record type. Inventory item, lot-numbered inventory item, assembly item (lot-numbered or not), non-inventory item, service item and other-charge item are the types an apparel account uses. Grid Order Management supports inventory and assembly items, including lot-numbered and serialised ones, and inventory and assembly matrix items; it does not support non-inventory, other-charge or service matrix items.
  • Landed cost. An item takes a share of freight and duty only if its Track Landed Cost box is checked. Set it on fabric and imported trims.
  • Units. With the Multiple Units of Measure feature, each item gets a unit type and, from it, a purchase unit, a stock unit, a sale unit and a consumption unit (section 12).
Example 6

Item record types, units and tracking for the polo

One setup that follows the rules above. The costing choices are argued in section 19.

Item classRecord typeCostingTrackingPurchase unitStock / consumption unitLanded cost
Knit fabricLot-numbered inventory itemLot Numbered or AverageLot = dye lotkgkg, or m (see section 12)Tracked
Woven fabricLot-numbered inventory itemLot Numbered or AverageLot = dye lotmmTracked
Rib collar and cuff setsLot-numbered inventory matrix item (colour, size)AverageLot, to match the body dye lotsetssetsTracked
ButtonsInventory itemAverageNonegrosseachTracked
Labels, thread, polybagsInventory itemsAverageNoneeach, coneseach, conesIf imported
Embroidery by a subcontractorOutsourcing charge item (Outsourced Manufacturing) or service itemn/an/aeachn/aNo
Freight, clearing, bank chargesLanded cost categories; other-charge items on the billn/an/an/an/aThey are the landed cost
Finished poloAssembly matrix item (colour, size)StandardNone, or lots per production batchn/aeachNo
Buyer-supplied fabric (CMT)Kept out of stock value by design; agree the approach with finance

Buttons: the order needs 3 per piece, 9,000 in all. With a 5% allowance the factory buys 9,450 pieces, which is 9,450 ÷ 144 = 65.6 gross, so the purchase order says 66 gross (9,504 pieces). In a "Count" unit type with each as the base unit and gross at a conversion rate of 144, NetSuite converts the purchase unit to the stock unit on receipt.

With operations on top: the style, its bill of materials by category and its consumption are built in the operations layer. NetSuite still needs the item classes above for everything it buys, stocks and values, because it holds stock value and the payables.

11How do you set up matrix items for sizes and colours in NetSuite?

Model the style as the parent matrix item and colour and size as matrix options; NetSuite creates a child item for each combination and tracks each one separately. Oracle's help puts it plainly: "The parent item doesn't appear on transactions. Only child items that show each option can be chosen on transactions." A matrix item in NetSuite is an item record family made of one parent and its subitems, one per option combination.

Two rules from Oracle's help shape every apparel design:

  • The 2,000 ceiling. "The maximum number of the total combinations of matrix options is 2000." Oracle's CSV import guidance repeats it as a limit of 2,000 child matrix items per parent.
  • No matrix of groups or kits. "Matrix items can't be created for groups or kits." A prepack sold by colour is therefore a separate item per colour (section 15).

Do the arithmetic before designing. A polo in 12 colours and 5 sizes is 60 children and never troubles the ceiling. A jean with many washes, 13 waists and 6 inseams reaches it quickly (Example 7). A style that must grow past the ceiling mid-season cannot, so the design has to leave room.

Changes after go-live are harder than they look. Oracle's import tips state that the CSV import cannot change matrix option values for existing child items, cannot move a child to a different parent and cannot change the matrix type of an existing item. Settle the option lists, the code pattern and which options sit on the matrix before the first import.

Naming and codes

Agree a code pattern before the first import, for example P2041-NVY-L for style, colour and size, and hold the buyer's own style number in a custom item field. Keep one matrix option list per size scale, so an "S" on a polo and an "S" on a bra band never share a value by accident. Integrations never link on the item name; they link on NetSuite's internal ID (section 34).

Example 7

Where the 2,000-combination ceiling bites: a jean range

A five-pocket jean with waist 28 to 40 in every inch (13 values) and inseams 28, 29, 30, 32, 34 and 36 (6 values). Each wash is a colour option.

DesignChildren per parentInside 2,000?
One parent per style; wash, waist and inseam as options, 25 washes25 × 13 × 6 = 1,950Yes, with 50 to spare
Same, with one more wash added mid-season26 × 13 × 6 = 2,028No: the 26th wash cannot be added
One parent per style and wash family (for example light, mid, dark)at most 25 washes × 78 per parentYes; each family has its own ceiling
One parent per style-wash; waist and inseam as options13 × 6 = 78Yes, always
Sizes per wash = 13 waists × 6 inseams = 78
Washes that fit under the ceiling = 2,000 ÷ 78 = 25.6, so 25

The last design splits the range where the business already splits it: each wash has its own fabric treatment, cost and often its own buyer price. Choose the parent level from how the business costs and sells, then check the ceiling with the largest realistic season, not today's.

How does grid order entry work in NetSuite?

Grid entry in NetSuite comes from the Grid Order Management SuiteApp, which lets a user type quantities into a colour-by-size grid built from a grid template, on sales orders, purchase orders, transfer orders, quotes and inventory adjustments. A size/colour matrix, in this sense, is a grid with colours on one axis and sizes on the other, into which the quantity for each combination is typed. Oracle documents these limits:

Limit (Oracle's help)What it means for apparel
Supports inventory and assembly items (including lot-numbered and serialised) and inventory and assembly matrix items; not non-inventory, other-charge or service matrix itemsA CMT service priced per size cannot use the grid
Customisations on order transaction forms are not reflected on the Grid Order Entry formCustom fields added to the sales order form, such as a buyer PO reference, need entering outside the grid
Multi-grid order entry is available only for sales ordersPurchase orders to a mill or a CMT unit take one grid at a time
With multiple currencies, the selected currency applies across all order-related transactions and cannot be changedOne currency per grid order
The Grid Order Entry form does not show on mobile devicesNo grid entry on a tablet in the showroom or on the floor
English only; cannot be translatedA factory working in Arabic, Turkish or Vietnamese uses the grid in English
With Advanced Bin / Numbered Inventory Management, grid matrix templates for inventory adjustments do not support serialised and lot-numbered itemsStock counts of lot-numbered fabric or trims are not done through the grid
Example 8

The polo sales order entered through a grid

The grid template for the polo has colours as rows and sizes S to XXL as columns. The merchandiser types one row for navy.

ColourSMLXLXXLTotal
Navy3007509007503003,000
Order value = 3,000 × USD 4.26 = USD 12,780.00
Lines created = 5, one per child item: P2041-NVY-S, -M, -L, -XL, -XXL

The sales order carries five lines on five child items; the parent never appears. The order is in USD, and because the grid fixes one currency per order, a buyer who pays part in EUR gets a second order. The same grid on the purchase order to a finished-goods supplier works the same way, one grid at a time.

With operations on top: styles, colourways and size breakdowns live in the operations layer, and NetSuite only needs the child items that are actually bought, stocked and invoiced. The matrix in NetSuite shrinks to what ships, which keeps every style far from the 2,000 ceiling.

12How do you convert kilograms to metres for fabric in NetSuite?

NetSuite converts units inside a unit type at a fixed conversion rate, so it can hold kilograms and metres for one fabric only at a nominal factor; a factor that changes with every roll needs a script or a system outside NetSuite. Knitted fabric is usually bought by weight and cut by length. The conversion depends on the fabric's weight per square metre (GSM) and its width, so it differs for every fabric and often for every roll.

GSM means grams per square metre: the weight of one square metre of the fabric. A 180 GSM jersey weighs 180 g per square metre.

metres per kg = 1000 ÷ (GSM × width in m)
180 GSM jersey, 1.80 m open width → 1000 ÷ (180 × 1.80) = 3.09 m per kg
220 GSM fleece, 1.60 m open width → 1000 ÷ (220 × 1.60) = 2.84 m per kg

How NetSuite units work, from Oracle's help: with the Multiple Units of Measure feature on, a unit type groups related units. Each unit type has one base unit, whose conversion rate is locked at 1; every other unit has a conversion rate equal to the quantity of base units in one of it. An item gets one unit type, and from it a purchase unit, a stock unit, a sale unit and a consumption unit. For ordinary items the base unit must be the smallest unit. Lot-numbered items are more flexible: Oracle's help says their base unit does not have to be the smallest and they can use fractional quantities, with purchase, stock and sale in different units.

Because conversion rates live on the unit type, kg and m can share a unit type only if the business accepts one factor for everything that uses that type. That is the design decision.

Three workable designs

There are three workable ways to hold knit fabric in NetSuite, each with a trade-off. The designs are implementation practice, not Oracle guidance.

DesignHow it worksTrade-off
Buy, stock and consume in kgA weight unit type; cutting receives kg; metres are worked out on the cutting floorSimple and accurate in stock value; the BOM is in kg, so size consumption must be converted to kg per size
A unit type per fabric quality, with kg at a nominal rate in metresFor example a type "Jersey 180/1.80" with base m and 1 kg = 3.086 m; purchase unit kg, consumption unit mEasy to read in metres; wrong whenever a roll differs from the nominal GSM and width; one unit type per quality to maintain
Buy in kg, record GSM and width per lot, convert per lot by scriptItem number fields on the lot record, and a SuiteScript that converts at receipt or issueAccurate; custom code under governance limits, and discipline at receipt
Example 9

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.

RollkgMeasured GSMWidth (m)m per kgMetres
R-10125.01761.823.12278.0
R-10224.61841.783.05375.1
R-10325.31811.803.06977.7
R-10424.81881.763.02275.0
Total99.7305.8

A unit type with a fixed rate of 3.086 m per kg (180 GSM × 1.80 m) says these rolls hold 99.7 × 3.086 = 307.7 m. They hold 305.8 m. On the full polo order of 925 kg the gap is about 17 m, which is 18 size-L polos that the stock report says you can cut and the cutting table says you cannot. Record measured GSM and width per lot at receipt, in item number fields, and convert per lot, or keep fabric in kilograms in NetSuite.

Pairs, dozens and packs

Count units convert cleanly inside one unit type. Buttons bought by the gross and issued by the piece, or socks knitted as singles and sold in pairs, sit in a count unit type whose base is the smallest unit (each or single) with gross at 144, dozen at 12 and pair at 2. A multi-pack of three pairs is a product, not a unit, and belongs with the prepacks in section 15.

With operations on top: the operations layer records a measured lot record per receipt (GSM, width, shrinkage) and works consumption in the unit the cutting room uses. NetSuite can stay in the purchase unit, kilograms, for stock value and payables, with no conversion script.

13How do you track dye lots and fabric rolls in NetSuite?

Make fabric a lot-numbered inventory item, use each lot number as one dye lot, and require the lot on every receipt and every issue to production; record GSM, width and shade group in item number fields on the lot record. A dye lot is a batch of fabric dyed together; fabric from two dye lots can differ slightly in shade, so pieces cut from two lots show a colour difference once sewn into one garment. Cutting must stay within one lot.

From Oracle's help, lot-numbered item records track the quantity and the specific cost of each lot as goods are bought and sold. The lot number record can hold an expiration date and notes, shows on-hand, on-order and available quantities per location, and can be extended with custom item number fields, which Oracle describes for information such as quality control procedures. Those fields can then be used to search for lots. Lot quantities are chosen on transactions through the Inventory Detail on each line. With Advanced Bin / Numbered Inventory Management, lots can also be tracked by bin.

Tracking each roll is a design choice, and the table below sets out the options from implementation practice.

Roll designHow it worksTrade-off
Lot = dye lot; rolls not tracked in NetSuiteOne lot number per dye lot; roll labels and measurements live elsewhereSimplest; no roll-level issue or return in NetSuite
Lot = dye lot; one bin per rollAdvanced Bin / Numbered Inventory Management; each roll in its own bin within the lotRoll-level stock and issue; many bins to create and count
Lot = roll; dye lot in an item number fieldOne lot number per roll, dye lot searched by fieldRoll cost and quantity exact; the shade rule at issue must check the field, which standard NetSuite does not do

A shade band is a set of approved shade references for one fabric colour, used to judge whether a new lot is close enough to the standard. Buyers often allow shade groups within the band (for example A, B and C), and a garment must stay within one group. NetSuite has no shade-band record; a shade group is an item number field on the lot, and the band itself sits in another system or a custom record.

Standard NetSuite lets a user pick any available lot on a work order issue. A rule that refuses two dye lots on one cut is a SuiteScript or workflow, or it lives in the operations layer.

Example 10

Cutting 3,000 navy polos from three dye lots

The order needs 2,856 m. The mill ships 933 kg, 8 kg over the 925 kg ordered and within its delivery tolerance, as 2,880 m in three dye lots: A 1,210 m, B 1,030 m, C 640 m. In NetSuite the receipt carries three lot numbers, each with its own quantity and cost. Rule: every garment's panels come from one lot, and bundles from different lots never meet on a line.

LotCut from itMetres usedLeft
A (1,210 m)XXL 300 · XL 750 · M 23 · S 871,186.623.4
B (1,030 m)L 900 · S 2131,029.70.3
C (640 m)M 727639.80.2
Total3,000 pieces2,85624
Lot A = 300 × 1.10 + 750 × 1.02 + 23 × 0.88 + 87 × 0.82 = 330 + 765 + 20.24 + 71.34 = 1,186.58
Lot B = 900 × 0.95 + 213 × 0.82 = 855 + 174.66 = 1,029.66
Lot C = 727 × 0.88 = 639.76

Sizes M and S span two lots, which is fine as long as the bundles stay apart and each carton is packed from one lot. In NetSuite that means separate work orders, or separate work order issues, per lot, each with its lot in the Inventory Detail. The cut plan itself is operations work.

With operations on top: shade bands per fabric, the measured lot record and the incoming inspection that carries the dye lot sit in the operations layer. NetSuite still holds the lot on receipts and issues, so stock value and traceability stay correct.

14How do you handle size-dependent fabric consumption with NetSuite Advanced BOM?

NetSuite's Advanced Bill of Materials keeps BOMs as separate records with dated revisions, lets one BOM serve several assemblies and one assembly have several BOMs, and holds a component yield per line; fabric that grows with size therefore needs one BOM per size (or per size group), generated from a consumption table rather than typed. A bill of materials lists the components and quantities needed to make one unit of an assembly.

What Oracle's help says Advanced BOM does:

  • The Advanced BOM record replaces the older Assembly/Bill of Materials record once the feature is enabled, and existing BOMs become read-only legacy records. Treat enabling it as a one-way decision and try it first in a sandbox.
  • A BOM can have several revisions with effective start and end dates, used for stages such as an engineering BOM, a production BOM or a subcontracting BOM.
  • Revisions cannot overlap. To add a revision starting on a date, first set the end date of the current revision to the day before.
  • A component yield on the revision accounts for material loss in ordering and planning.
  • One BOM can be used by several assemblies, an assembly can have several BOMs, and a default BOM can be set per assembly or per location.

For a garment, the children of the matrix differ in two ways. Colour changes components (navy thread and navy rib for navy children). Size changes quantities (more fabric for XL). One BOM per colour-size child is exact and heavy to maintain: 12 colours in 5 sizes is 60 BOMs for one style. Projects that go well generate those BOMs by CSV import or script from a consumption table (base size, grading per size, marker efficiency) and never type them.

Marker efficiency is the share of the fabric in a cutting marker that ends up in garment pieces; the rest is waste between the pieces. Shrinkage is the fabric the garment loses in washing or finishing, planned into the pattern. Keep the two apart: they come from different people (CAD and lab), change for different reasons, and are argued about with different suppliers. NetSuite's component yield holds one loss factor per line; a second one is a custom field.

Example 11

Why one average consumption fails, and the BOMs it takes

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.

SizePiecesm per pieceMetresNetSuite BOM
S3000.82246BOM P2041-NVY-S
M7500.88660BOM P2041-NVY-M
L9000.95855BOM P2041-NVY-L
XL7501.02765BOM P2041-NVY-XL
XXL3001.10330BOM P2041-NVY-XXL
By size3,0002,8565 BOMs
Base size M for all3,0000.882,6401 BOM shared by all sizes
Shortfall = 2,856 − 2,640 = 216 m = 7.6% of 2,856
216 ÷ 0.95 = 227 size-L polos without fabric

Using the base size for every size under-buys by 216 m. Advanced BOM's ability to share one BOM across several assemblies makes the shortcut tempting: attach one BOM to all five sizes and the planning run looks tidy. It is wrong by 216 m, found out on the cutting table three weeks before shipment, with a mill lead time longer than that. Share BOMs across colours only where the components are the same, and never across sizes for fabric.

Example 12

A BOM revision around the PP approval

The buyer approves the PP sample on 14 November with one comment: use the new woven main label instead of the printed one. Cutting starts on 17 November. The polo BOMs carry revision R1, created without dates during development.

StepRevisionEffective startEffective endChange
BeforeR1nonenonePrinted main label
1. End-date R1R1none16 NovNo component change
2. Add R2R217 NovnoneWoven main label replaces printed label

NetSuite refuses R2 until R1 has an end date, because revisions cannot overlap. The order then builds to R2 from the first cut. Check on your account which date a work order uses to choose the revision, and create the work orders after the revision exists. Which spec version the buyer approved is not in the BOM: the label change is visible, the approval behind it is not.

With operations on top: the consumption engine (marker efficiency, shrinkage, woven construction) and the net-to-buy across the order book run in the operations layer, which passes the purchase quantity to NetSuite. The approved PP round locks the style version for the order there. NetSuite needs no size-graded BOMs and no BOM revisions for garments at all.

15Should a prepack be an item group, a kit or an assembly in NetSuite?

Use an item group when the buyer orders a ratio pack but you want sales reported by size, a kit when the pack is priced and sold as one product with its own income account, and an assembly when packs are physically packed and stocked as cartons, because neither a group nor a kit is stocked as a packed unit. A prepack (or ratio pack) is a pack or carton holding sizes in a fixed ratio, for example 2 S, 5 M, 6 L, 5 XL and 2 XXL.

The differences Oracle documents between groups and kits:

QuestionItem groupKit/packageAssembly (practice)
PriceThe members' prices, totalledIts own price, independent of the components, with several price levelsIts own price
Income accountNo separate accountA separate income account can be setIts own accounts
StockTracks sales of the group and stock of the membersEach sale updates the members' stockStocked as a finished pack; building it consumes the members
MatrixMatrix items cannot be created for groups or kits: one group or kit per colourCan be an assembly matrix item
FitsRatio packs where the buyer wants SKU-level sell-through on the invoiceA branded multi-pack priced as one productCartons packed ahead of orders and held in stock

The "Fits" row is our judgement from practice, not Oracle guidance. Test the choice against the buyer's EDI: an 856 ship notice that describes packs and a factory that stocks pieces must agree on what a pack is before go-live.

Example 13

The polo order as 150 ratio packs of 20

The size breakdown 300 / 750 / 900 / 750 / 300 reduces to a ratio of 2 : 5 : 6 : 5 : 2, which is 20 pieces per pack.

SizePer pack× 150 packsOrder
S2300300
M5750750
L6900900
XL5750750
XXL2300300
Total203,0003,000
Packs = 3,000 ÷ 20 = 150
Item group price = 20 × USD 4.26 = USD 85.20 per pack; 150 × 85.20 = USD 12,780.00
  • As an item group "P2041-NVY-PK20": the sales order shows 150 packs, the invoice shows the five sizes at 4.26, and sales reports by size. Stock is the pieces.
  • As a kit: the buyer is invoiced 150 kits at a kit price the factory sets; income posts to the kit's account. Stock is still the pieces.
  • As an assembly: 150 assembly builds consume 300 / 750 / 900 / 750 / 300 pieces and put 150 packed cartons in stock, which is what the warehouse actually holds.

With operations on top: packs (ratio packs) are defined on the order in the operations layer, and packing and cartonisation happen there. NetSuite receives the dispatch in whatever item design finance chose for invoicing.

16How do you model cutting, sewing and finishing with NetSuite WIP, routings and Advanced Manufacturing?

Model the garment as an assembly with a manufacturing routing whose steps (cutting, sewing, finishing, packing) run at work centres with times and cost templates; with Manufacturing WIP, materials move through a WIP account from work order issue to completion to close. This gives a labour cost and operation progress per work order, but it does not balance a sewing line or track bundles.

What Oracle's help describes:

  • Work orders track the quantities of an assembly to build and the components needed, through the statuses Planned, Released, In Process, Built and Closed. Without WIP, an assembly build records the production in one step.
  • Manufacturing WIP splits production into three transactions: issue the work order (move materials to the work area), complete it (assemble and stock finished goods) and close it (reconcile variances). The WIP location on a line must match on all issue, completion and close transactions of the work order.
  • Manufacturing Routing lists the steps to build an assembly. Work centres group labour resources for scheduling and cost tracking; cost templates assign labour and machine rates; operation tasks record what is done, when and how much is complete, and actual time against expected time. Costs post to WIP during assembly and move to the assembly asset account on completion.
  • The Advanced Manufacturing SuiteApp adds a workbench, work instructions, material usage, capacity against demand, a scheduler for planned start and end times, mobile shop-floor data capture and performance reports. Oracle states its setup is done with NetSuite Professional Services.

What an operation time means in a garment factory

SMV (standard minute value) is the time a trained operator needs for one operation at a normal pace, including allowances. A polo has 15 to 25 sewing operations. You can list each one as a routing step, or group them into a few steps per department. Grouping keeps operation tasks manageable; listing every operation gives a detailed cost but floods the task list.

QuestionWhat NetSuite givesWhat stays outside
How much labour is in one polo?Routing step times and cost-template ratesThe minute study itself
How many polos can line 3 sew this week?Work centre capacity; capacity against demand in Advanced ManufacturingLine balancing across 25 operators, absenteeism, learning curves
Where is bundle 214?The operation task's progressBundle tracking and operator output
Which line takes which order in week 47?Scheduling on work centresSeasonal line loading across lines and subcontractors
Example 14

The polo's routing, minutes and line capacity

The 18 minutes in Example 1 are the sum of these operations, grouped into three routing steps.

Routing step (work centre)OperationsMinutes
10 CuttingSpread, cut, number and bundle1.20
20 Sewing lineShoulder join 0.90 · placket 3.10 · collar attach 2.20 · sleeve attach 1.80 · side seam and sleeve close 1.60 · cuff attach 1.40 · bottom hem 1.00 · buttonholes and buttons 1.5013.50
30 FinishingThread trim and inspection 1.20 · press 1.00 · fold, tag and bag 1.103.30
Total18.00
Line capacity: 25 operators × 480 min × 60% efficiency = 7,200 min a day
7,200 ÷ 13.50 sewing minutes = 533 polos a day
3,000 ÷ 533.3 = 5.6 line-days of sewing
Labour at USD 4.20 an hour (0.07 a minute): 18 × 0.07 = USD 1.26 a polo
Order: 3,000 × 18 min = 54,000 min = 900 hours × 4.20 = USD 3,780

Set the step times per unit and a cost template with a labour rate of USD 4.20 an hour, and the work orders for the order carry USD 3,780 of labour, which is 1.26 a piece: the CM line in Example 17. The 5.6 line-days and the choice of line come from planning, not from the work order. The sewing window in Example 15 is three weeks because the line is shared with other orders.

With operations on top: the planning heat-map (lines and subcontractors, 52 weeks), production orders with job cards per department and the WIP board run in the operations layer. NetSuite receives material issues for stock value and does not need routings or WIP for garments.

17Where do sampling, approvals and the T&A calendar live in a NetSuite project?

NetSuite has no record for garment samples, buyer approvals or a T&A calendar, so a NetSuite project either builds them as custom records with SuiteFlow or SuiteScript, uses a partner product, or keeps them in an operations system. Before a single bulk garment is cut, the buyer approves the product in stages. Each stage can take several rounds, and each approval unlocks the next step of the order.

A PP (pre-production) sample is a garment made in the actual bulk fabric and trims, which the buyer approves as the reference that bulk production must match. 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.

Sample or approvalWhat it decidesWhat waits for it
Proto / development sampleThe look and the constructionCosting and the quote
Lab dipThe shade, within tolerance under the buyer's light sourceBulk fabric dyeing
Strike-offPrint or embroidery artwork, colours and placementBulk printing or embroidery
Trims approvalButtons, zips, labels and hangtagsThe bulk trims order
Fit sampleMeasurements and fit on the buyer's modelPattern correction
Size setGrading across every sizeThe production marker
PP (pre-production) sampleThe reference bulk must matchCutting
TOP (top of production)That the first bulk pieces match the PP sampleThe rest of the run
Shipment sampleThe reference for any claim after deliveryShipping

Every round has a sent date, a courier and tracking number, the pieces sent, the buyer's comments and a verdict: approved, approved with comments, or rejected. The T&A calendar hangs on these dates. The typical failure is bulk fabric ordered, or cutting started, on the strength of an approval nobody can find.

What a custom sampling build in NetSuite must hold

If the project builds sampling inside NetSuite, it needs a small set of custom records (customrecord types) linked to the item and the sales order. The list below is the minimum we would design.

  • A sample request per style and colourway, with its type (lab dip, strike-off, fit, size set, PP, TOP, shipment), linked to the parent matrix item.
  • Rounds under each request: sent date, courier, tracking number, pieces sent, buyer comments, verdict, verdict date, who recorded it.
  • A link from the approved round to the BOM revision and spec version it approved.
  • A block on the next step: a workflow that stops a bulk fabric purchase order or a work order release until the approval exists.
  • T&A milestones that take their actual dates from the rounds, with a saved search per merchandiser each morning.

Each of these runs as SuiteFlow or SuiteScript under the governance limits in section 25, and each must be retested at every NetSuite release.

ATMA
Sampling, step by step. ATMA's courses walk through the sampling sequence, lab dips and PP meetings the way a merchandiser runs them. atma.courses
Example 15

The polo order's approval calendar, worked back from ex-factory

DateMilestoneIf it slips
1 OctOrder confirmed
8 OctLab dip round 1 sent; round 2 on 13 OctBulk dyeing cannot start
17 OctLab dip round 3 approvedEach extra round costs about 5 days
20 OctBulk fabric dyeing starts
24 OctEmbroidery strike-off approvedEmbroidery cannot be booked
7 NovPP sample sent in bulk fabric
10 NovBulk fabric in-houseCutting waits
14 NovPP sample approved, with commentsCutting cannot start
17 NovCutting starts
20 Nov to 10 DecSewing; TOP sample from the first bulk pieces
12 DecFinal AQL inspectionShipment held
15 DecEx-factory

Three lab dip rounds instead of two pushed dyeing back five days, and the order absorbed it only because cutting had slack before the PP approval. In NetSuite, the only records on this calendar are the sales order (1 Oct), the fabric receipt (10 Nov), the work orders (from 17 Nov) and the fulfilment (15 Dec). The PP approval of 14 November, which gates cutting, has no record unless one is built.

With operations on top: dev approvals (lab dip, strike-off, sample, shipping mark) with rounds, courier details and the buyer's verdict, the T&A calendar with its critical path, and the PP approval that locks the style version for the order all live in the operations layer. NetSuite needs none of it.

18How does NetSuite Outsourced Manufacturing work for CMT, embroidery, printing and washing?

NetSuite's Outsourced Manufacturing feature treats a subcontracted step as an outsourced work order for an assembly: it orders the components for the subcontractor, consumes them automatically when the goods come back, can move part-finished goods from one subcontractor to the next, and turns outsourced work orders into purchase orders through a daily consolidator. It is the closest native NetSuite match to CMT and job work.

CMT (cut, make, trim) means the factory sews garments from fabric the buyer supplies and charges only for the labour; in subcontracting, the same term describes a factory that sends cut panels to another unit to be sewn. Job work is the South Asian term for the same arrangement.

What Oracle's help documents:

  • What it does. Creates subcontracting orders for assemblies from vendors, manages component ordering for the subcontractor, transfers half-finished assemblies to other subcontractors, and drop-ships or warehouses the finished assemblies. Components are consumed automatically on production.
  • Prerequisites. Purchase Orders and Advanced Receiving (Transactions subtab of Enable Features), and Multi-Location Inventory, Assembly Items, Advanced Bill of Materials and Work Orders (Items & Inventory subtab). Outsourced Manufacturing itself is then enabled on the Items & Inventory subtab, under Setup > Company > Enable Features.
  • Setup. An outsourcing location for the vendor, an outsourcing charge item, the vendor's outsourcing settings, and an Outsourcing subtab on the work order.
  • The consolidator. The Outsourced Manufacturing Consolidator "aggregates outsourced work orders into purchase orders" and "is scheduled to run every day at 2:00 a.m. in your organization's time zone". It can be run at once with Run Consolidator Now from Setup > Manufacturing > Outsourced Manufacturing Management.

The consolidator timing matters on the floor. An outsourced work order created at 10:00 does not become a purchase order the printer can see until the next 2:00 a.m. run unless someone runs the consolidator by hand. Put that in the training and in the T&A lead time.

Example 16

2,000 printed T-shirts through two outside processors

StepWhereOutBackIn NetSuite
Cut front panelsFactory2,020Work order for the cut panel assembly; 1% print allowance on top of 2,000
Screen printPrinter A2,0202,008Outsourced work order for the printed panel; consolidated into a PO to Printer A; 12 rejected for misregistration
SewFactory2,0082,003Work order for the T-shirt; 5 panels damaged in sewing
Garment washWasher B2,0032,001Outsourced work order for the washed T-shirt; 2 lost in wash
Ready to pack2,0011 spare over the order
Printer: 2,020 − 2,008 = 12 · Sewing: 2,008 − 2,003 = 5 · Washer: 2,003 − 2,001 = 2
Total loss = 19 pieces on 2,020 cut = 0.94%

Each outside step is its own assembly with its own outsourced work order, so the printed panel and the washed T-shirt each exist as stock and each processor has a purchase order. Where the printer and the sewing unit are both subcontractors, the half-finished panels can move from one to the other without coming back. The 12 misprints need a reason and an owner: the balance at the printer's location shows the quantity, but the reject reasons and the agreed allowance are custom fields or another system.

Subcontractor tracking a factory expects

A factory expects to see, per processor, what went out, what came back, what was lost and whether the loss is inside the agreed allowance. NetSuite shows stock at the subcontractor's outsourcing location and the purchase order status; the allowance, the reject reasons and the balance per buyer order are design work or a saved search to build.

With operations on top: subcontract steps sit on the production order in the operations layer, and subcontractors appear on the planning heat-map beside the factory's own lines. NetSuite receives the subcontractor's purchase order and the payable, and does not need outsourced assemblies.

19How do you cost a garment in NetSuite, and why is the costing method a one-way choice?

NetSuite values stock by the costing method chosen on each item (Average, FIFO, LIFO, Group Average, Standard, Lot Numbered or Specific), and Oracle's help states that "you can't change the costing method after you save it on the item record", so the choice per item class is permanent. The garment costing sheet used to quote a buyer is built before any NetSuite item exists and usually lives outside NetSuite. A garment costing sheet lists fabric, trims, making, washing, testing, freight, finance cost and margin per piece, and adds up to the price quoted to the buyer.

Oracle lists these costing methods: Average (the default), FIFO, Group Average (one average cost across a group of locations), LIFO (not in the Australia edition), Specific (the cost of a serial number), Lot Numbered (the cost of a lot) and Standard (standard cost with variances between expected and actual). A wrong choice is fixed only by creating a new item and moving stock and history to it, which in an apparel account means new matrix children and new BOMs.

ATMA
Costing a garment. ATMA, the merchandising academy from the MerchandiserOS team, teaches garment costing from fabric consumption and minutes to FOB and landed cost. atma.courses
Example 17

A quotation cost build for the polo (illustrative figures, USD per piece)

LineHow it is worked outUSD
Body fabric0.31 kg at 4.20 per kg, plus 6% cutting loss1.38
Collar and cuffs1 set0.25
TrimsButtons, thread, labels, polybag0.32
EmbroiderySubcontractor price per logo0.18
CM (cut and make)18 minutes at 0.07 per minute1.26
TestingBuyer's lab tests spread over the order0.10
Factory overhead12% of CM0.15
Freight to port and export documents0.12
Finance cost3% while waiting for payment0.11
Margin10%0.39
FOB price4.26
Fabric = 0.31 × 4.20 × 1.06 = 1.38 · overhead = 1.26 × 12% = 0.15
Subtotal before finance = 1.38 + 0.25 + 0.32 + 0.18 + 1.26 + 0.10 + 0.15 + 0.12 = 3.76
Finance = 3.76 × 3% = 0.11 · margin = (3.76 + 0.11) × 10% = 0.39 · FOB = 3.87 + 0.39 = 4.26

Every line except the last is an estimate made before the order exists. After production, the same lines come back as actuals: the real fabric used, the real minutes from the floor, the real embroidery rejects. A NetSuite estimate can carry the price of 4.26 on existing child items, but not this build.

Example 18

Choosing the costing method per item class, once

Our recommendation from practice for the polo factory. It is locked when each item is saved, so the finance head signs this table before the first import.

Item classMethodWhy
Knit and woven fabricLot Numbered, or AverageLot Numbered keeps each dye lot at its own landed cost; Average is simpler when lots are consumed whole
Trims and packagingAverageMany small receipts; no lot-level cost needed
Cut and printed panels (intermediate assemblies)Standard or AverageMatch the finished garment if routings carry labour
Finished garments made with routingsStandardLabour and overhead come from cost templates; variances show where the order lost money
Finished garments bought from other factories (brand side)Average or FIFOThe landed purchase cost is the cost

How do you configure landed cost in NetSuite for imported fabric and duty?

Turn on the Landed Cost feature, create landed cost categories (freight, clearing, duty, insurance, bank charges), check Track Landed Cost on each fabric and imported trim, and enter the charges on the item receipt or the vendor bill with a cost allocation method of Weight, Quantity or Value. A landed cost is any cost of bringing goods to the factory beyond the supplier's price: freight, insurance, customs duty, clearing and bank charges.

From Oracle's help:

  • Landed cost can be entered on item receipts and vendor bills. With Advanced Receiving on, allocation happens on the receipt.
  • The allocation methods are Weight, Quantity and Value, and a transaction allocates with one method at a time.
  • Only items with Track Landed Cost checked take a share.
  • The Landed Cost Allocation per Line preference, under Setup > Accounting > Preferences > Accounting Preferences, Order Management subtab, lets you enter landed cost amounts per line, with several cost categories on the same line.

The one-method rule matters for apparel. Sea freight follows weight; clearing and bank charges usually follow value. On a single receipt with one method, one of them is allocated wrongly unless you use per-line allocation, or split the charges across transactions. For a factory in a free zone or under temporary admission, duty may be zero or suspended; agree the local reporting rules with the customs broker and finance before configuring.

Example 19

Landed cost on the imported fabric: one method against per-line allocation

The polo's navy jersey and its rib collars and cuffs arrive on one receipt. Duty is zero because the factory imports under temporary admission. All prices are illustrative.

Receipt lineQuantityWeight (kg)Value (USD)
Navy jersey 180 GSM925 kg925.03,885.00
Rib collar and cuff sets3,060 sets76.5765.00
Total1,001.54,650.00

Charges: sea freight 420.00, clearing and port 180.00, LC bank charges 95.00; total USD 695.00.

ApproachTo jerseyTo rib setsJersey per kgRib per set
A. Whole receipt by Weight (one method)641.9153.094.890.27
B. Per line: freight by weight, clearing and bank by value617.6877.324.870.28
Weight share of jersey = 925 ÷ 1,001.5 = 92.36% · value share = 3,885 ÷ 4,650 = 83.55%
A: 695 × 0.9236 = 641.91 → (3,885 + 641.91) ÷ 925 = 4.89 per kg · rib (765 + 53.09) ÷ 3,060 = 0.27
B: freight 420 × 0.9236 = 387.92; clearing 180 × 0.8355 = 150.39; bank 95 × 0.8355 = 79.37 → 617.68
B: (3,885 + 617.68) ÷ 925 = 4,502.68 ÷ 925 = 4.87 per kg · rib (765 + 77.32) ÷ 3,060 = 842.32 ÷ 3,060 = 0.28

Allocating everything by weight moves USD 24.23 of clearing and bank charges onto the jersey that belongs to the rib sets, because the ribs are light and valuable. The difference is small here and large on a receipt of heavy fabric with expensive trims. Both results sit well above the mill price of USD 4.20 a kg: at the landed USD 4.87, the fabric line in Example 17 becomes 0.31 × 4.87 × 1.06 = USD 1.60, which is 0.22 more per polo and USD 660 on the order, and the 10% margin of 0.39 would shrink to 0.17. Quote on landed material cost, not on the supplier's price.

With operations on top: the cost engine (fabric, trims, decoration, CMT, overhead, margin to FOB, with landed cost and dated exchange rates), the standard cost sheet and quotations with approval thresholds run in the operations layer. NetSuite holds the landed cost that actually hit the receipts, for stock value, and the costing method still has to be chosen right for every item it values.

20Can NetSuite run quality control and AQL inspection for garments?

NetSuite's Quality Management SuiteApp creates specifications and inspections for incoming and outgoing shipments and shop-floor processes, with a statistical sampling workflow, but that workflow samples a fixed number or a fixed percentage and applies defect thresholds you enter; it does not look up ISO 2859-1 sample sizes from the lot size. AQL (acceptance quality limit) inspection checks a random sample drawn from a lot and accepts or rejects the whole lot according to how many defects the sample contains.

From Oracle's help: a quality specification is a collection of related inspections measured against shop-floor processes and incoming and outgoing shipments. In the statistical sampling workflow, a setting decides whether the sampling rate is a number of samples or a percentage of the quantity to inspect, and Oracle notes that this is a one-time setting made when the template is created. Templates carry allowable critical, major and minor defects; above the limit, the inspection fails. Oracle's best-practice page suggests up to 40 data fields per inspection (30 as the optimum) and up to 35 inspections per specification (20 as the optimum).

Quality control at cutting, stitching, dyeing and printing

A garment factory inspects at each stage where a defect is cheaper to catch than at the end. Dyeing and printing usually happen outside the factory, so those checks land on the receipt of the goods coming back.

InspectionWhenWhat it checksNetSuite fit
Incoming fabricAt receiptShade against the shade band, GSM, width, shrinkage, four-point defectsAn inspection on the receipt; four-point scoring and shade groups as data fields
Incoming trimsAt receiptColour, size, count against the approved trims cardPass-fail inspection
Printed or embroidered panelsOn return from the processorPlacement, registration, colour against the strike-offAn inspection on the outsourced receipt
CuttingAfter cutting, before bundlingPattern accuracy, notches, shade within the bundleAn inspection on the routing step
Inline (stitching)During sewingOperation-level defects, found earlyLimited; operator-level capture is not native
End of lineAs garments leave the lineEvery garment, graded pass, repair or rejectLimited; grading is custom
MeasurementEnd of line and finalPoints of measure against tolerance per sizeData fields; size-by-size tolerance tables need design
DUPROOnce a share of the order is packedEarly warning before finalCustom
Final AQLWhen the order is packedSample per ISO 2859-1 at the buyer's levelCustom, or a template per lot-size band
Example 20

The final inspection sample for 3,000 polos, and why one NetSuite template is not enough

The buyer's quality manual asks for ISO 2859-1, single sampling, normal inspection, general inspection level II, AQL 2.5 for major defects and 4.0 for minor defects.

StepLookupResult
Lot size3,000 pieces falls in the band 1,201 to 3,200Band 1,201–3,200
Code letterThat band at general level IIK
Sample sizeCode letter K125 pieces
Major defects, AQL 2.5Sample of 125Accept at 7 or fewer, reject at 8
Minor defects, AQL 4.0Sample of 125Accept at 10 or fewer, reject at 11
Sample share = 125 ÷ 3,000 = 4.17% of the lot
Next order, 1,000 pieces: band 501–1,200 → code J → sample 80; AQL 2.5 major: accept 5, reject 6

A NetSuite sampling template set to 125 samples with 7 allowable major defects reproduces this lot. The next order of 1,000 pieces needs 80 samples and an acceptance number of 5, so it needs a different template; a percentage template of 4.17% would sample 42 pieces from it, which is not an AQL plan. Either keep one template per lot-size band and inspection level, or calculate the plan outside NetSuite. What happens after a failure (re-inspection after 100% checking, or a release decided by the buyer) must be recorded with the person who decided.

Acceptance numbers as published in ISO 2859-1 Table II-A, reproduced in common AQL references (see sources).

ATMA
Quality in a garment factory. ATMA covers inspection stages, AQL and how to read a buyer's quality manual. atma.courses

With operations on top: typed inspections (incoming, cutting, PP, DUPRO, final AQL, pre-shipment, measurement), the AQL engine on ISO 2859-1 at the buyer's level, CAPA, needle and metal control and quality grades (only first-quality pieces count as shippable) run in the operations layer. NetSuite sees the fulfilment only once it is cleared.

21How do you handle cartons, packing lists and shipping documents in NetSuite?

NetSuite fulfils sales orders through item fulfilments and prints packing slips and picking tickets, and the Grid Order Management SuiteApp adds grid printing on sales orders, packing slips and invoices; assorted cartons, buyer carton labels with SSCC codes and carton-level packing lists by dye lot usually need a partner product or custom work. An item fulfilment is NetSuite's record of goods leaving the warehouse against an order.

Documents a garment shipment needs

An export shipment of garments carries a standard set of documents, and a letter of credit may require each to match exactly.

DocumentBuilt fromNetSuite fit
Packing list by cartonCarton number, size and colour content, lot, weights, dimensionsPacking slip or grid print; carton-level layouts per buyer are custom templates
Carton labelsBuyer's label rules, often with an SSCC barcodeCustom or a partner product
Commercial invoiceThe invoice with incoterm, marks and numbersA custom print template on the invoice
Certificate of originIssued by a chamber or authorityOutside NetSuite; attach the file
Advance shipping notice (ASN)Carton-level content sent to the buyer before arrivalEDI provider or portal upload
Bill of lading or air waybillIssued by the carrier or forwarderOutside NetSuite; attach the file
Example 21

Packing 3,000 polos into cartons, one dye lot per carton

The buyer wants solid-size cartons of 10 pieces. Following the cut plan in Example 10, each carton must hold a single dye lot.

Size and lotPiecesFull cartons of 10Part carton
S, lot A8781 of 7
S, lot B213211 of 3
M, lot A2321 of 3
M, lot C727721 of 7
L, lot B90090none
XL, lot A75075none
XXL, lot A30030none
Total3,0002984 (20 pieces)

298 full cartons hold 2,980 pieces and four part cartons hold the other 20, so the shipment is 302 cartons instead of the 300 a size-only plan predicts. If the finished polo is not lot-tracked in NetSuite, the fulfilment knows nothing about lots, and the carton-to-lot link lives only on the packing list. Agree part cartons with the buyer before packing starts.

With operations on top: shipments per delivery, packing and cartonisation, and ship clearance against the buyer's terms run in the operations layer. NetSuite receives the dispatch as an item fulfilment and raises the customer invoice.

22How does NetSuite handle currencies, customer deposits, letters of credit and chargebacks?

NetSuite handles foreign currencies and, with OneWorld, subsidiaries with their own base currency as standard, and takes advance payments as customer deposits against sales orders; letters of credit and reason-coded chargebacks need design, because we found no letter-of-credit record in NetSuite's help. Garment exporters usually sell in USD or EUR, buy some materials abroad and pay wages locally, so every order touches at least two currencies.

Multi-currency and OneWorld

Each subsidiary in OneWorld has a base currency that, per Oracle's help, cannot be changed after the subsidiary record is first saved; customers and vendors can transact in other currencies. Exchange-rate differences between an invoice and its payment are posted as realised gains or losses. For period-end revaluation of open foreign balances, confirm the process for your account with the partner and finance.

Customer deposits

A customer deposit in NetSuite records money received in advance for an order. Oracle's help describes it as a liability until the goods are delivered, with no effect on the customer's receivable balance; a Create Deposit button on the sales order records it, and it is applied against the invoice later. Oracle adds that the unapplied part of a deposit created from a sales order can be used as a credit on a customer payment only when the sales order is billed, cancelled or closed.

Letters of credit

A letter of credit is a bank's promise to pay the exporter when documents that match the credit's terms are presented. Under ICC's UCP 600 rules, which most credits follow, documents must be presented within 21 calendar days after the shipment date unless the credit says otherwise, and never after the credit expires. In NetSuite the credit number, amount, latest shipment date, expiry, presentation period and required documents become a custom record linked to the sales order, with a saved search or workflow that warns before the latest shipment date.

Example 22

Customer deposit, letter of credit and exchange difference

The polo order is worth 3,000 × USD 4.26 = USD 12,780.00. The buyer pays 30% in advance by transfer and the balance under a sight letter of credit. The factory's subsidiary has EGP as its base currency. Exchange rates are illustrative.

StepIn NetSuiteUSDEGP
Order confirmed, 1 OctSales order in USD, 3,000 polos at 4.2612,780.00
Advance receivedCustomer deposit from the sales order, 30%3,834.00
Shipment, 15 DecInvoice for 12,780.00; the deposit is applied; balance open8,946.00at 48.80 = 436,564.80
LC documents presentedCustom LC record: presentation within 21 days of shipment
LC paidCustomer payment of the balance8,946.00at 49.10 = 439,248.60
Exchange differenceRealised gain posted on the payment2,683.80
Deposit = 12,780.00 × 30% = 3,834.00
Balance = 12,780.00 − 3,834.00 = 8,946.00
Gain = 8,946.00 × (49.10 − 48.80) = 8,946.00 × 0.30 = EGP 2,683.80

The deposit itself was booked at the rate of its own date, so applying it to the invoice can create a second, smaller exchange difference; finance should agree how that is presented. The bank's negotiation charges are a separate expense. What NetSuite does not do as standard is warn the shipping team that the credit expires, or that the latest shipment date is close; that is the custom part.

Chargebacks

A chargeback is an amount a buyer deducts from a payment for a claimed failure: a late shipment, a wrong carton label, a missing or wrong advance shipping notice. It arrives as a short payment. Record the shortfall with a reason from a custom list, as a credit memo or a write-off to one account per reason, and keep the buyer's deduction notice attached. Without reason codes, nobody can tell whether the business loses money to labels or to lateness.

Example 23

A chargeback on an open-account shipment

Suppose the same balance of USD 8,946.00 were shipped to a retailer on open account instead of against a letter of credit. The retailer pays short.

DeductionReason givenUSD
Carton label error2 cartons with wrong size label, 50 per carton100.00
Late ASN1% of the invoice89.46
Total deducted189.46
Late ASN = 8,946.00 × 1% = 89.46
Received = 8,946.00 − 189.46 = 8,756.54

In NetSuite, record the customer payment of 8,756.54 and leave 189.46 open on the invoice, then issue credit memos with the reasons "Chargeback: labelling" (100.00) and "Chargeback: ASN" (89.46), each posting to its own account. If the factory disputes the label claim with carton photos, the 100.00 stays open under dispute instead of being credited.

With operations on top: finance stays in NetSuite in full. The operations layer sends the orders, dispatches and purchase requests that the invoices and payables are built on; no money amounts travel through its ERP API.

23Does NetSuite support e-invoicing and localisation for garment exporting countries?

NetSuite's Electronic Invoicing SuiteApp is a framework for sending and receiving e-documents; Oracle's help states it does not include native support for any country's requirements, which come from localisation SuiteApps for some countries or from templates you build. For each garment-exporting country, check Oracle's localisation list and a local partner before assuming compliance.

From Oracle's help: the SuiteApp handles outbound e-documents (generated and sent to customers, vendors or tax agencies) and inbound ones (received from vendors and turned into bills), using templates, with samples included. It is free for a single country; using e-documents across several countries needs a licence. Oracle lists dedicated localisation SuiteApps for countries including Malaysia, Israel, Mexico, India and Brazil.

We have not verified NetSuite coverage for Egypt, Turkey, Pakistan, Bangladesh, Vietnam, Morocco or Tunisia in this guide. For each, ask Oracle and the partner which statutory reports and e-invoice formats they have delivered for other clients, who maintains the template when the tax authority changes its rules, and test an e-invoice end to end in a sandbox before go-live. Egypt's e-invoicing, for example, involves registration with the Egyptian Tax Authority and signing of each invoice; confirm how a NetSuite account meets that before choosing NetSuite for an Egyptian subsidiary.

Factories in free zones or under temporary admission often report the import and re-export of materials to customs. NetSuite transactions carry the quantities, but the report format is local and usually a saved search or custom report.

Part 4Build

24In what order should you configure NetSuite for a garment business?

Configure NetSuite for a garment business from the ledger outward: subsidiaries and base currencies first, then features, then units, matrix options and item classes, then locations, landed cost and manufacturing features, and only then the items, BOMs and open transactions. Each step depends on the one before it, and several cannot be undone once data exists: a subsidiary's base currency, an item's costing method, Advanced BOM and the matrix structure of an item.

Most features are switched on under Setup > Company > Enable Features, on subtabs such as Transactions and Items & Inventory; we name the subtab only where we checked it in Oracle's help. Labels move between releases, so check each on your account.

#ConfigureWhere, as checkedWhy at this point
1Subsidiary hierarchy and base currency per subsidiary (OneWorld)Subsidiary recordsA subsidiary's base currency cannot change after its first save
2Chart of accounts, classes, departments, locations, custom segments for season or order profitabilityAccounting lists and setupEvery later transaction posts to these
3Currencies and exchange-rate updatesMultiple Currencies featureForeign-currency buyers and suppliers need them
4Purchase Orders, Advanced ReceivingEnable Features, Transactions subtabPrerequisites for Outsourced Manufacturing and for landed cost on receipts
5Multi-Location Inventory, Assembly Items, Work Orders, Lot Numbered Inventory, Multiple Units of Measure, matrix itemsEnable Features, Items & Inventory subtab (first three checked)Items are created with these settings from day one
6Advanced Bill of MaterialsEnable Features, Items & Inventory subtabReplaces legacy BOMs; decide before any BOM is loaded
7Manufacturing WIP and Routing, if usedEnable FeaturesRoutings and WIP transactions depend on it
8Outsourced ManufacturingEnable Features, Items & Inventory subtab, Inventory sectionNeeds the features in rows 4 to 6
9Unit types: weight, length, count, and any per-fabric typesUnit type recordsItems carry their unit type from creation
10Matrix options: one custom list per size scale, one for colour, one for length where usedCustom lists and item optionsChildren are generated from these; values cannot be changed on existing children by import
11Item number fields on lots (GSM, width, shade group), custom item fields (buyer style, season)Customisation, custom fieldsFabric lots are received with these from the first receipt
12Landed cost categories; Landed Cost Allocation per Line if chosenSetup > Accounting > Preferences > Accounting Preferences, Order Management subtab (per-line preference)Fabric items must have Track Landed Cost checked when created
13Locations: stores, WIP, quarantine, leftover, each subcontractor's outsourcing locationLocation recordsReceipts, WIP and outsourcing need them
14Work centres, cost templates, routingsManufacturing setupRoutings reference work centres and cost templates
15SuiteApps: Grid Order Management and grid templates, Quality Management, Advanced Manufacturing (with Professional Services), Electronic InvoicingSuiteApp installationThey reference items, locations and forms that now exist
16Integration records, OAuth 2.0 clients, per-integration concurrencySetup > Integration > Integration Management > Integration Governance (concurrency)Before any data flows in or out
17Master data: customers, vendors, materials, matrix parents and children, BOMsCSV Import Assistant, in dependency orderLast, so every record lands on final settings

Two item-level choices decide most rework: the costing method (it cannot change after save) and Track Landed Cost (without it the item takes no freight or duty). Put both in the CSV import template, not in a person's memory.

25How is NetSuite extended for apparel: custom fields, SuiteFlow, SuiteScript or SDF?

NetSuite is extended through SuiteCloud: custom fields and custom records for data, SuiteFlow for approvals and simple rules without code, SuiteScript 2.x for logic such as unit conversion or AQL, and the SuiteCloud Development Framework (SDF) to keep all of it as versioned files deployed from sandbox to production. Everything runs inside Oracle's cloud under governance limits, so the design must respect them.

Custom fields and custom records

Custom fields carry a prefix by where they sit, which Oracle's naming conventions set out: custitem on items, custentity on customers and vendors, custbody on a transaction header and custcol on transaction lines. Custom records (IDs such as customrecord_…) hold things NetSuite has no record for, such as sample rounds or letters of credit. Item number fields on lot records hold GSM, width and shade group.

Apparel needWhere it goes
Buyer's style number, seasoncustitem field on the matrix parent
Buyer PO reference, delivery drop, quantity tolerancecustbody fields on the sales order
Dye lot shade group per line on a work order issuecustcol field, or read from the lot
GSM, width, shade group per lotItem number fields on the lot number record
Sample requests and rounds, LC terms, chargeback reasonsCustom records and custom lists

SuiteScript governance, and why it shapes apparel scripts

Every SuiteScript runs on a budget of usage units, set by script type, and a script that exceeds it stops. Oracle's limits per script type include:

Script typeUsage units per runTypical apparel use
User event1,000Checks on save: refuse two dye lots on one issue, check quantity tolerance
Client1,000Warnings on the form while a user types
Suitelet1,000A custom page, such as a sample round entry screen
RESTlet5,000A custom endpoint for an integration
Scheduled10,000Nightly jobs
Map/reduceno overall limitBulk work, such as generating BOMs for a season or updating hundreds of children; each stage invocation is governed separately

For map/reduce scripts, Oracle also limits keys to 3,000 characters and values to 10 MB. The practical rule from projects: anything that touches every child of a matrix, or every BOM of a season, belongs in a map/reduce script, not in a user event script on save. A season rollover written as a user event runs out of units and leaves half the children updated.

SuiteFlow or SuiteScript?

ChangeSuiteFlowSuiteScript
Approval of a purchase order above a thresholdYesEither
Block a bulk fabric PO until the lab dip record is approvedYes, if the approval is a field it can readEither
Convert kg to metres per lotNoYes
Generate BOMs per size from a consumption tableNoYes (map/reduce or CSV)
Refuse two dye lots on one cutLimitedYes (user event)
AQL sample size and verdict from ISO tablesNoYes

SDF, sandboxes and releases

SuiteCloud Development Framework (SDF) keeps custom objects, such as custom records, forms, workflows and scripts, as XML and script files in a project. Oracle describes account customization projects for accounts you own, deployed to development, sandbox or production accounts, with a command-line interface that can automate validation and deployment. From practice: keep every apparel customisation in an SDF project under version control, deploy to a sandbox first, and rerun the end-to-end tests in section 28 in the sandbox before each NetSuite release reaches production.

26Which systems does a NetSuite apparel implementation integrate with?

A NetSuite apparel implementation typically connects to a PLM or tech-pack system, a shop-floor system, EDI with retailers, e-commerce and marketplaces, banks, and an operations layer; each connection needs one owner per field, links stored on NetSuite internal IDs, and a share of the account's concurrency budget. The table shows the usual source of truth for each kind of record, based on general practice.

RecordSource of truthGoes to NetSuite as
Style, spec, points of measure, revisionsPLM or operations layerMatrix parent and children, once released
Pre-cost and quoteOperations layerNothing, or a standard cost once the order is confirmed
Buyer orderOperations layer, or EDI into NetSuiteThe sales order
Material requirementsOperations layerPurchase requests that become NetSuite purchase orders
Receipts, stock, lotsNetSuite, with measurements from the operations layerItem receipts with Inventory Detail
Cut, bundle, WIP, operator outputShop-floor system or operations layerMaterial issues, summarised
Quality resultsOperations layer or quality systemOnly the clearance to ship
Shipment, invoiceNetSuite for the invoice; operations layer for the shipmentItem fulfilment and invoice
Payments, deposits, LC, chargebacksNetSuiteNative
Web store and marketplace ordersCommerce platformSales orders, often through a connector such as the Oracle NetSuite Connector

Rules for every connection

Five rules prevent most integration faults on NetSuite. They apply whether the other side is a PLM, a floor system, an iPaaS or an operations layer.

  • Link on NetSuite's internal ID, never on a document number or an item name a user can edit (section 34).
  • One writer per field. If two systems can change the same quantity, one of them is wrong without knowing it.
  • One owner per external ID. Oracle's help states that only a single integrated application should set external ID values for each record type.
  • Show disagreements to a person. When the other system says something different, put it on a review list; never overwrite silently.
  • Budget concurrency. Every integration draws on the same account limit; give each a share in Integration Governance and make receivers safe to call twice, because throttled calls get retried.

Part 5Data migration

27How do you migrate apparel data into NetSuite?

Migrate only open and active apparel data into NetSuite (active styles as matrix parents and children, open orders, open purchase orders and stock by lot), load it in dependency order with the CSV Import Assistant and external IDs, and have each department head sign off the loaded figures. History stays in the old system or an archive.

Oracle's guidance on importing matrix items shapes the files: unlike the user interface, which creates children when options are chosen on the parent, a CSV import needs a separate line for each parent and each child, with a Matrix Type column (Parent Matrix Item or Child Matrix Item) and a Subitem of column naming the parent. Each child can carry its own pricing. The import cannot change option values on existing children, cannot move a child to another parent and cannot delete matrix options. Oracle also notes that the Units Type is set separately on parent and child during import, so map it for both.

Load order

Each object depends on the ones above it. Load and check each level before starting the next.

#ObjectScopeSigned off by
1Subsidiaries, chart of accounts, opening balances planCurrentFinance head
2Unit types, matrix option lists, custom fieldsFinal designMerchandising head, stores head
3Customers and vendorsActive in the last two seasonsMerchandising head, purchasing
4Materials (fabrics, yarns, trims, packaging)Used in active styles or in stockStores head
5Matrix parents, then childrenActive and carry-over onlyMerchandising head
6Work centres, routings, BOMs and revisionsStyles with open ordersProduction manager, CAD lead
7Open stock by lot and locationCounted at cut-offStores head, finance head
8Open purchase ordersUndelivered quantities onlyPurchasing
9Open sales orders and customer depositsUndelivered quantities; deposits receivedMerchandising head, finance head
10Open work orders or WIPDecide: reload, or finish in the old wayProduction manager
11Open receivables and payablesPer invoice, at cut-offFinance head

The cut-off rule

A cut-off rule states the exact moment after which every transaction is entered in NetSuite and not in the old system. Write it as a date and time, name what happens to documents in flight (a truck at the gate, an inspection half done), and stop receiving into the old system at that moment. Stock is counted at the cut-off and loaded as it was counted, lot by lot, not as the old system said.

Cleansing

Clean data before it is loaded, never after. The usual work in an apparel migration is listed below.

  • Merge duplicate vendors and materials ("Navy Jersey 180", "Jersey 180 NVY").
  • Retire styles with no order in two seasons.
  • Give every fabric one unit type and one costing method, and every roll in stock its lot.
  • Map old size labels to the new matrix option values, one scale at a time; check that no style will exceed 2,000 children.
  • Split any "open" order line that is already partly delivered into delivered and open quantities.
Example 24

Migration template rows for the open polo order

The cut-off is 18:00 on 31 October and NetSuite goes live on 1 November. The polo order is confirmed, the fabric is ordered but not yet received, and the buttons are in stock.

Matrix items (one line per parent and per child):

External ID,Item Name/Number,Matrix Type,Subitem of,Colour,Size,Costing Method,Units Type
p2041,P2041,Parent Matrix Item,,,,Standard,Count
p2041_nvy_s,P2041-NVY-S,Child Matrix Item,P2041,Navy,S,Standard,Count
p2041_nvy_m,P2041-NVY-M,Child Matrix Item,P2041,Navy,M,Standard,Count
p2041_nvy_l,P2041-NVY-L,Child Matrix Item,P2041,Navy,L,Standard,Count
p2041_nvy_xl,P2041-NVY-XL,Child Matrix Item,P2041,Navy,XL,Standard,Count
p2041_nvy_xxl,P2041-NVY-XXL,Child Matrix Item,P2041,Navy,XXL,Standard,Count

Open sales order lines:

External ID,Customer,Item,Quantity,Rate,Amount,Currency
so_p2041,BUYER-01,P2041-NVY-S,300,4.26,1278.00,USD
so_p2041,BUYER-01,P2041-NVY-M,750,4.26,3195.00,USD
so_p2041,BUYER-01,P2041-NVY-L,900,4.26,3834.00,USD
so_p2041,BUYER-01,P2041-NVY-XL,750,4.26,3195.00,USD
so_p2041,BUYER-01,P2041-NVY-XXL,300,4.26,1278.00,USD

Open purchase order, deposit and stock:

Open PO:   navy jersey 180 GSM, 925 kg ordered, 0 kg received
Deposit:   USD 3,834.00 received against so_p2041
Stock:     buttons 15 mm navy, 9,504 each, location Main Store, no lot
Sales order check: 1,278 + 3,195 + 3,834 + 3,195 + 1,278 = 12,780.00 = 3,000 × 4.26
Children check: 5 of a possible 2,000 for this parent

Column names here are illustrative; map them to the fields your CSV Import Assistant offers. Put the costing method and units type in the file for every row, because the costing method cannot be changed after the item is saved.

Sign-off

Each owner signs a one-page check of their data: record counts against the old system, totals (stock value, open order value, open payables, deposits) and five records picked at random and checked on screen. A migration with no signatures is a migration nobody owns when the first figure is wrong.

Part 6Testing

28How should you test a NetSuite apparel implementation end to end?

Test a NetSuite apparel implementation in a sandbox with end-to-end scenarios that follow one real order from the buyer's PO to cash, run by the key users on migrated data, each step with an expected result written down before the test starts. Testing screens one by one proves the configuration works; only end-to-end scenarios prove the business works. Rerun the same scenarios in the sandbox before every NetSuite release reaches production.

The 13 scenarios below cover the flows where apparel projects usually break. Run each at least twice: once by the partner to find faults, once by the key users to accept the result.

#ScenarioWhat it provesExpected result, in short
T1FOB order to paymentThe whole chain worksOrder, purchase, receipt, production, fulfilment, invoice and payment reconcile to the order value (Example 25)
T2CMT order with buyer fabricConsigned stock stays out of stock valueFabric received and issued with no change in stock value; the invoice carries only CM
T3Prepack orderPacks, pieces and cartons agreeBuyer orders 150 packs, production makes 3,000 pieces, the packing list shows packs per carton
T4Shade split in cuttingDye lots are never mixedAn issue mixing two lots on one cut is refused; leftover per lot matches the cut plan (Example 26)
T5Subcontract embroidery with lossOut, back and loss reconcileComponents out, good pieces back, rejects recorded with a reason, balance zero
T6Short shipment within toleranceTolerance is applied and invoicing follows the shipped quantityFulfilment accepted, remaining quantity closed, invoice on shipped pieces
T7Over-shipmentThe upper limit is enforcedAbove the tolerance, the fulfilment is blocked or needs a named approval
T8Seconds saleSecond-quality pieces are valued and sold apartSeconds move to their own item or location and sell at their own price
T9LC discrepancyDocument checks catch a mismatchA late shipment date against the LC record is flagged before documents are presented
T10ChargebackDeductions are codedA short payment is split by reason into credit memos (Example 23)
T11Mid-season spec revisionThe approved version is protectedA new BOM revision applies from its start date; open work orders keep what they were created with
T12Cancelled order with committed materialsCommitted stock is visibleFabric already bought shows as available with its cost; open purchase orders are listed for decision
T13FX at month-endCurrency figures close correctlyRealised differences posted; open foreign balances handled as the finance head decided
Example 25

Test script: the polo order from sales order to cash

Scenario T1, run in the sandbox with migrated master data. Figures are the ones used throughout this guide.

StepActionExpected result
1Enter the sales order through the grid: S 300, M 750, L 900, XL 750, XXL 300 at 4.265 lines on 5 child items, 3,000 pieces, USD 12,780.00
2Create a customer deposit of 30% from the sales orderDeposit USD 3,834.00, posted as a liability
3Create the purchase order for 925 kg navy jerseyPO in kg, at the vendor's currency
4Receive 925 kg in three lots A, B, CReceipt refused without Inventory Detail on the line; three lots in stock
5Enter the landed cost with per-line allocation from Example 19Jersey valued at USD 4,502.68 (4.87 per kg)
6Create the work orders and issue fabric by lotIssue refused without a lot; lots offered from stock
7Complete 3,000 pieces and close the work ordersFinished stock 3,000 at standard cost; variances posted on close
8Fulfil the sales orderItem fulfilment for 3,000
9Invoice and apply the depositUSD 12,780.00 less the 3,834.00 deposit = 8,946.00 open
10Record the payment at a different exchange rateInvoice paid; realised exchange difference posted
11Run the order's profitability saved searchRevenue, material and labour cost appear against this order's class or segment

Steps 4 and 6 depend on lot-numbered items and the Inventory Detail. Step 11 depends on how finance designed classes or custom segments.

Example 26

Test script: shade split at cutting

Scenario T4, using the three dye lots and the cut plan from Example 10.

StepActionExpected result
1Issue lot A to the work orders for XXL 300, XL 750, M 23, S 87Issue accepted; lot A shown in the Inventory Detail
2Try to add fabric from lot B to the same cutRefused, with a message naming both lots
3Issue lot B to the work orders for L 900 and S 213Accepted
4Issue lot C to the work order for M 727Accepted
5Return the remaining fabric per lotLeftover matches the cut plan: A 23.4 m, B 0.3 m, C 0.2 m
6Pack size STwo groups of cartons (lot A 87, lot B 213); no carton holds both lots

Step 2 needs a user event script, as in section 25, or an operations layer; standard NetSuite lets a user pick any available lot.

Test script: subcontract embroidery with loss

Scenario T5 proves that panels sent out, panels returned and panels lost add up, using Outsourced Manufacturing. The polo's chest logo is embroidered outside, with a 1% allowance.

StepActionExpected result
1Create the outsourced work order for 3,000 embroidered frontsComponents planned: 3,030 cut fronts (3,000 plus 1%)
2Run the consolidator (or wait for 2:00 a.m.)A purchase order to the embroiderer for 3,000 at the outsourcing charge
3Move 3,030 fronts to the embroiderer's outsourcing location3,030 fronts shown at that location
4Receive 3,004 good fronts; record 26 rejects with a reason3,004 embroidered fronts in stock; 26 recorded as "thread break" or "misplacement"
5Check the balance at the embroiderer0 fronts left; 26 rejects inside the allowance of 30
6Receive the embroiderer's billBilled for 3,000 good pieces, as the purchase order says

The reject reasons in step 4 and the allowance check in step 5 are custom fields or a saved search; Outsourced Manufacturing consumes components but does not hold a loss allowance.

Test script: short shipment within tolerance

Scenario T6 proves that a short shipment inside the buyer's tolerance is invoiced on what shipped. The buyer allows ±3%; the factory ships 2,940 pieces, 30 short in M and 30 short in L.

StepActionExpected result
1Fulfil 2,940 of 3,000Short by 60 pieces, which is 2.0%; inside the 3% tolerance
2Close the remaining 60 on the sales order linesNo open quantity remains
3Invoice and apply the deposit2,940 × 4.26 = USD 12,524.40, less the 3,834.00 deposit = 8,690.40 due
4Repeat with 2,900 piecesShort by 3.3%; fulfilment blocked or needs a named approval

Step 4 of T6 needs the tolerance field and check from section 25; standard NetSuite has no quantity-tolerance field on a sales order.

Part 7Training, go-live and hypercare

29How should you train a garment business's staff on NetSuite?

Train each role only on the NetSuite centres, forms and saved searches it will use, on the business's own styles and orders, and have key users teach their colleagues; build role-specific dashboards so each person opens NetSuite on their own work. A merchandiser does not need the accounting menus, and a floor supervisor needs one screen that works, not a NetSuite role.

Train close to go-live, so that what people learn is still fresh, but not so close that there is no time to repeat a session. Remember that the Grid Order Management form is English only, so plan grid training in English with local-language notes where teams work in another language.

Example 27

A training plan by role

An example plan for the polo factory. Hours are practice, not a standard; adjust them to the team and the scope.

RoleWhat they learnHoursPass when they can
MerchandisersSales orders through the grid, order changes, fulfilment status, their dashboard6Enter the polo order from the buyer PO without help
PurchasingPurchase orders, unit types, vendor bills, landed cost6Buy 925 kg of jersey and allocate the import charges
StoresReceipts with Inventory Detail, issues, returns, counts, bins8Receive three dye lots and issue each to its cut
Production plannersWork orders, WIP transactions, outsourced work orders, the consolidator6Run the embroidery outsourcing from work order to receipt
QualityQuality Management inspections, if used4Record an incoming fabric inspection and a failure
ShippingFulfilments, packing slips, grid prints4Fulfil by lot and print the packing list
FinanceInvoices, deposits, payments, currencies, subsidiaries, reports10Take the polo order from deposit to closed
Administrator and key usersAll of the above for their area, roles and permissions, sandbox release testing, first-line support16Teach their team, log issues correctly and run the release test

Floor operators and supervisors are trained on whatever captures floor output. If that is a kiosk or scanner screen, the training is minutes, not hours; if it is NetSuite forms on the floor, expect the data never to arrive.

30What does a NetSuite cut-over plan look like for a garment business?

A NetSuite cut-over plan is a day-by-day list of the steps that move the business from the old system to NetSuite: freeze, final imports, stock count, opening balances, checks and the first live transactions, each with an owner and a go or no-go point. Rehearse it once in full in a sandbox before the real weekend, and time the imports there, because a matrix of thousands of children takes longer to load than people expect.

Example 28

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. A template, to adapt.

DayDateStepsOwner
T−1022 OctRehearsal import complete in the sandbox; open issues reviewed; go or no-go for the planProject lead
T−725 OctMaster data frozen in the old system; final import of customers, vendors, materials, matrix items, BOMsMerchandising head, stores head
T−329 OctOpen purchase and sales orders and deposits extracted and checked against source documentsPurchasing, merchandising, finance
T−131 OctCut-off at 18:00: no more receipts or issues in the old system; physical count of fabric by lot and roll, trims and finished goodsStores head
T01 Nov, morningImport counted stock by lot, open orders, deposits and open receivables and payables; owners sign totalsAll owners, finance head
T01 Nov, noonGo or no-go by the sponsor on the signed checks; integrations switched on only after goSponsor
T01 Nov, afternoonFirst live transactions: one receipt, one issue, one sales order, one invoiceKey users
T+12 NovDaily issue meeting starts; partner on siteProject lead
T+910 NovPolo fabric received with lots and landed cost: the first real test of the lot and cost rulesStores head, finance head

The fall-back decision belongs at the noon go or no-go: if the counted stock and the open orders do not reconcile, the business keeps working in the old system for another week rather than going live on figures nobody trusts.

31When should a garment business go live on NetSuite, and how long is hypercare?

Go live between seasons, in the lowest-volume weeks, away from year-end and away from a NetSuite release weekend, and keep the partner in close support until at least the first month-end close is done in NetSuite. Hypercare is the period right after go-live when the project team stays on hand to fix issues daily.

  • Timing. Avoid the weeks before a main shipment window, the month-end of the financial year and any audit. Check Oracle's release schedule for your account and keep go-live clear of the upgrade of your production account.
  • Parallel running. A short, bounded parallel run of the books can help finance compare figures. Running the whole business in two systems rarely works, because people keep using the one they trust.
  • Duration. Practitioners commonly plan hypercare of four to eight weeks. That range is judgement, not a measured standard; the rule that matters is that nobody leaves before the first month-end close in NetSuite is complete.
  • Issue log. Keep one list: date, who, what happened, severity, owner, status. Review it daily in the first two weeks. Watch script errors and concurrency errors in the logs as closely as user issues.
  • Exit criteria. Hypercare ends when the month-end closes on time, no issue blocks shipping or invoicing, and the administrator and key users handle first-line questions without the partner.

Part 8Risks

32What are the most common mistakes when implementing NetSuite for apparel?

The most common mistakes in apparel NetSuite projects are a matrix design that hits the 2,000-combination ceiling, the wrong costing method on items (it cannot be changed), expecting the Grid Order Management SuiteApp to work everywhere, heavy scripts that break governance or concurrency limits, the wrong item type for prepacks, and treating the AFA edition as a complete apparel solution. The list below comes from implementation practice; each point links to the Oracle fact behind it.

  1. A matrix that hits 2,000.Too many options on one parent, typically length or inseam; the next colour cannot be added mid-season (section 11).
  2. Grid limits discovered late.No grid on mobile, English only, multi-grid on sales orders only, one currency per grid order, form customisations not on the grid form.
  3. The wrong costing method.It cannot be changed after the item is saved; fixing it means new items (section 19).
  4. One kg-to-metre factor for every fabric.Stock value looks right while the cutting room runs short (section 12).
  5. One BOM shared across sizes.Advanced BOM makes it easy; fabric runs short on large sizes (section 14).
  6. Dye lots not enforced at issue.Standard NetSuite lets a user pick any lot; shade differences are found at final inspection.
  7. Prepacks on the wrong item type.A kit or group where packed cartons are stocked, or an assembly where SKU sales reporting was needed (section 15).
  8. Season-wide scripts on save.A user event script with 1,000 usage units updating a whole matrix; use map/reduce.
  9. Concurrency spent before go-live.E-commerce, EDI, iPaaS and the floor system share one account limit; nobody budgeted it (section 34).
  10. New integrations on SOAP or token-based authentication.Oracle is closing both; build on REST with OAuth 2.0.
  11. Treating the AFA edition as complete.It configures NetSuite for the industry; tech packs, cut planning, sampling and AQL still need a partner product or an operations system.
  12. Outsourcing PO timing.The consolidator runs at 2:00 a.m.; the subcontractor gets the purchase order a day later than the planner expects.

The 15 general failure modes, and how each shows up in NetSuite

Apparel ERP projects fail in the same fifteen ways whatever the ERP. The table maps each one to where it appears in a NetSuite project and how to prevent it.

#SymptomRoot causeHow it shows in NetSuitePrevention
1SKU swampEvery variant created as an independent itemThousands of children per parent, nearing 2,000; children never inactivatedParent at the level the business costs and sells; only sold children created (section 11)
2Large sizes short of fabricAverage consumptionOne BOM shared by every sizeA BOM per size, generated from a table (section 14)
3kg and m never reconcileFixed conversionOne conversion rate in a unit typeStay in kg, or convert per lot from GSM and width (section 12)
4Shade mixingNo shade rule at issueAny lot can be picked on a work order issueLot as dye lot, shade group field, a user event check (section 13)
5Costing illusionQuote, standard and actual not linkedStandard cost on the assembly, no quote to compareKeep the quote beside the actuals per order (section 19)
6Buyer fabric counted as ownedCMT fabric received like a purchaseStock value includes the buyer's fabricA deliberate consigned-stock design (section 4)
7Goods lost at subcontractorsOut and back not linkedPurchase orders to processors with no component flowOutsourced Manufacturing, one assembly per step (section 18)
8Produced is not shippableNo output gradingEvery completed piece counts as finished stockGrade output; fulfil first quality only (section 20)
9Spec driftRevision not linked to the orderBOM edited instead of revisedDated BOM revisions; the approval recorded with the revision (section 14)
10Excel shadow systemNo T&A or order viewMerchandisers keep their sheets beside the dashboardsProvide the view, in custom records or an operations layer (section 17)
11Chargeback leakageNo reason codesShort payments written off to one accountReason-coded credit memos (section 22)
12LC discrepanciesLC terms not linked to the shipmentNo LC recordA custom LC record and a check before presenting
13Floor data never arrivesOffice screens on the floorSupervisors asked to enter operation tasksKiosk, scanner, Advanced Manufacturing mobile capture or a floor system (section 16)
14Big-bang in peak seasonA plan-driven dateGo-live during a shipment window or a release weekendGo live between seasons, with a rehearsed cut-over (section 30)
15Migrated garbageLegacy loaded as it wasDuplicate vendors and materials; wrong costing method loaded and lockedCleanse first; owners sign off (section 27)

33What must be decided before a NetSuite apparel go-live?

Decide the subsidiary structure and base currencies, the matrix design against the 2,000 ceiling, the costing method per item class, the unit design for every fabric, the lot and bin rules, whether to enable Advanced BOM and WIP, the prepack item type, the concurrency budget, and which system owns sampling, T&A and floor capture before go-live, because each is expensive or impossible to change once transactions exist. The full list:

  • Subsidiaries and each subsidiary's base currency (cannot change after first save).
  • The matrix parent level per category and the options on each; the largest realistic season checked against 2,000.
  • The costing method per item class (cannot change after save), and which items track landed cost.
  • The unit type for every fabric and yarn, and how kg becomes metres.
  • Lot, bin or custom record for rolls; which item number fields are mandatory at receipt.
  • Advanced BOM (a one-way switch), BOM per size or per group, and how BOMs are generated.
  • Manufacturing WIP and Routing, or one-step assembly builds.
  • Item group, kit or assembly for each kind of prepack.
  • Outsourced Manufacturing for subcontract steps, and who runs the consolidator by hand when needed.
  • Which system owns sampling, T&A, planning, floor capture and quality: NetSuite custom records, a partner product or an operations layer.
  • How buyer-supplied fabric is held so it never enters stock value.
  • The quantity tolerance rule and who may approve a shipment outside it.
  • How profitability per order is tagged: class, department or custom segment.
  • The service tier, SuiteCloud Plus licences and each integration's concurrency share.
  • REST with OAuth 2.0 for every new integration, and the plan for any existing SOAP or TBA integration.
  • Who owns sandbox release testing after the partner leaves.

Part 9Integration and API

34Which NetSuite API should an apparel integration use, and what are its limits?

Build every new NetSuite integration on SuiteTalk REST web services (or RESTlets) with OAuth 2.0, store NetSuite's internal ID as the link, and plan inside the account's concurrency limit, because Oracle is retiring SOAP web services and token-based authentication on published dates. SuiteTalk is the name of NetSuite's web-services family, and a RESTlet is a SuiteScript that exposes a custom REST endpoint.

What does Oracle say about SOAP and token-based authentication?

Oracle's help is explicit on both, and the dates matter to any apparel business with an older connector:

  • SOAP. "The 2025.2 SOAP endpoint is the last planned SOAP endpoint." "With the 2027.1 release, only the 2025.2 endpoint will be supported. With the 2028.2 release, SOAP will no longer be available in NetSuite and existing SOAP integrations with NetSuite will stop working." Oracle adds: "All newly built integrations should use REST web services with OAuth 2.0 for authentication."
  • Token-based authentication (TBA). "Starting in NetSuite 2027.1, you will no longer be able to create new integrations that use TBA for SOAP and REST web services, and RESTlets." Support for existing TBA integrations ends later, "tentatively NetSuite 2028.2", excluding SuiteAnalytics Connect (ODBC/JDBC). Oracle's advice is to move affected integrations to OAuth 2.0. Some partners quote other dates; we quote Oracle.

Authentication, endpoints and identifiers

TopicWhat to useFrom Oracle's help
Authentication for a server-to-server integrationOAuth 2.0 client credentials (machine to machine)No user interaction; an RSA certificate whose public part is uploaded; at most five active certificates per integration record. OAuth 2.0 applies to RESTlets and REST web services
Reading and writing recordsREST Record API, /services/rest/record/v1/<record>Record IDs such as purchaseOrder and inventoryItem; check each record and its fields in the REST API Browser
Querying changesSuiteQL through REST: POST /services/rest/query/v1/suiteqlQuery in the q body parameter, the Prefer: transient header, and limit and offset for paging
Idempotent create or updateAn external ID with the eid: prefix and PUTPUT on …/customer/eid:CID002 adds the record if missing and updates it if present; only one integrated application should set external IDs per record type
The link to storeNetSuite's internal IDAssigned by NetSuite; the document number shown to users is a display value
Custom logic or bulk writesA RESTlet (5,000 usage units per call) or map/reduce behind itGoverned as SuiteScript (section 25)

Internal ID versus document number. A purchase order has an internal ID, a number NetSuite assigns and users do not edit, and a document number (the transaction's tranid) that people see and that numbering settings or users can change. The same goes for items: the internal ID is stable, the item name is text. An integration that stores "PO-00457" breaks the day someone renumbers; one that stores the internal ID does not. Use the external ID as the idempotency key your side sets, and the internal ID as the link you store.

Concurrency: the budget every integration shares

NetSuite limits how many web-service and RESTlet requests an account runs at the same time. Oracle's published base limits are 5 (Standard), 15 (Premium), 20 (Enterprise) and 20 (Ultimate) on the current service tiers, with legacy tiers listed separately, and each SuiteCloud Plus licence adds 10; development and partner accounts stay fixed at 5. A limit per integration can be set under Setup > Integration > Integration Management > Integration Governance, and Oracle notes that allocating to one application reduces what the others can use, that at least one unit always stays unallocated, and that as a best practice a single account limit without individual limits is preferable. Oracle's concurrency page describes SOAP web services and RESTlets; confirm with Oracle how REST web-service calls count on your account.

Example 29

A concurrency budget for a brand-and-factory account

A group runs NetSuite on the Premium tier with one SuiteCloud Plus licence. Four integrations need a share.

IntegrationPatternAllocated
Web store connectorOrder bursts at sale times8
EDI providerBatches of 850s and 810s several times a day5
MerchandiserOS (operations layer)A scheduled poll and writes of PO numbers3
Everything else (reports, ad hoc scripts, new integrations)Unallocated pool9
Account limit25
Account limit = 15 (Premium) + 1 × 10 (SuiteCloud Plus) = 25
Allocated = 8 + 5 + 3 = 16 · unallocated = 25 − 16 = 9
The MAX Concurrency Limit field on a new integration record shows 9 − 1 = 8

Shop-floor output does not need a share of its own here: floor screens or Garment.io report into MerchandiserOS, which sends NetSuite only summarised material issues. Every integration still retries politely when it is throttled, and the receiving side is safe to call twice.

Push or pull?

Pulling is the dependable baseline: a scheduled job queries changes with SuiteQL or a saved search on the last-modified date and processes them in order. Pushing from NetSuite uses a user event SuiteScript that calls out when a record changes; it is faster, but it runs inside the user's save and its governance, so keep it small and let a scheduled job catch anything it missed. iPaaS products (Oracle NetSuite Connector for commerce and marketplaces, and third-party platforms) sit in between; each still draws on the same concurrency.

Example 30

One purchase request, from MerchandiserOS to NetSuite and back

  1. In MerchandiserOS, request PR-1042 for 925 kg of navy jersey is approved.
  2. NetSuite's integration job (a scheduled script, a RESTlet caller or an iPaaS flow) collects it: GET /api/v1/erp/documents returns the request with quantities, units and the supplier code.
  3. The job creates the purchase order in NetSuite through /services/rest/record/v1/purchaseOrder. NetSuite assigns internal ID 48213; users see the document number PO-00457; status Pending Receipt.
  4. The job sends the answer back:
POST /api/v1/erp/po-status
Idempotency-Key: netsuite-po-48213-created

{"rows": [{"request_ref": "PR-1042",
           "erp_po_id": "48213",
           "erp_po_number": "PO-00457",
           "status": "Pending Receipt",
           "date": "2026-10-21"}]}
  1. A person in MerchandiserOS approves it on the ERP review list. The request now shows "NetSuite PO PO-00457, Pending Receipt".
  2. NetSuite's job reads the decision back from GET /api/v1/erp/proposals/{id}.

The link is stored on NetSuite's internal ID 48213, not on the text PO-00457, so renumbering the PO in NetSuite breaks nothing. A retry with the same Idempotency-Key is recorded once. No price travels in this exchange; the PO's money stays in NetSuite.

For a business that does not want to build an integration, the same exchange works as a file exchange: MerchandiserOS produces the purchase requests as a file, the NetSuite team imports them with the CSV Import Assistant, and a saved-search export of PO numbers and statuses comes back the same way. Every inbound change is still approved by a person. The API guide at /developers describes both.

Part 10If you don't manufacture

35If you don't manufacture: brands, buying agents and own-label retailers on NetSuite

A business that designs, sources or sells garments without making them should use NetSuite for matrix items, purchase orders to factories, landed cost, vendor bills and payments, wholesale sales orders, customer deposits and currencies, and should skip the manufacturing modules entirely. What NetSuite handles poorly for them is the work around the purchase order: development and sampling with many factories, T&A across factories, following production that happens elsewhere, inspections at the vendor, and one status per order across many factories and buyers. This is where NetSuite as an ERP for fashion brands is strongest, and where the gap is least obvious.

Who is this Part for?

Three kinds of apparel business make nothing themselves, and each uses NetSuite differently.

BusinessWhat it doesWhat it owns
Brand or wholesalerDesigns and sells; factories make for it on FOB or CMT termsThe finished goods from the moment the factory hands them over, stock in its warehouses, receivables from retailers
Buying agent or buying houseSources and follows orders for buyers across factories; earns a commissionNo goods, no goods payables or receivables; a commission receivable
Own-label retailerDevelops a private label and places it with factories or agentsFinished goods and store stock; the retail side is its own system project

What does a clothing brand need from NetSuite, and what should it skip?

A brand needs the purchasing, landed cost, stock, sales and finance halves of NetSuite, and none of the manufacturing half. As an ERP for clothing brands, NetSuite's relevant pieces are these:

NeedNetSuite featureNote
Styles by colour and sizeInventory matrix itemsThe 2,000 ceiling applies (section 11)
Purchase orders to factories, FOB or CMTPurchase orders, with grid entry from the Grid Order Management SuiteAppOne grid per purchase order; multi-grid is sales orders only
Freight, duty, insurance into stock costLanded Cost: weight, quantity or value on receipts or vendor billsOne method per transaction unless per-line allocation is on (section 19)
Paying factories; import LCsVendor bills and payments; a custom record for LC termsWe found no LC record in NetSuite's help
Wholesale orders and advancesSales orders on matrix children; customer depositsStandard
EDI 850, 856, 810 with retailers, and chargebacksAn EDI provider or connector; credit memos with reason codesBudget its concurrency share (section 34)
Several companies and currenciesMultiple currencies; OneWorld for a groupBase currency per subsidiary is fixed after first save
Forecasts and replenishmentDemand PlanningFor stock the brand holds

Skip: assembly items, work orders, Advanced Bill of Materials, Manufacturing WIP and Routing, the Advanced Manufacturing SuiteApp and Outsourced Manufacturing. A brand that buys finished garments has no BOM to maintain and no WIP to value, and each of those features adds setup, licences and release testing for nothing. The exception is a brand that supplies fabric or trims to its CMT factories: it needs purchase orders for those materials, a location per factory for the goods it has sent, and a reconciliation of what came back as garments, which is a design question for finance, not a reason to switch on manufacturing.

What does a buying agent need?

A buying house needs commission accounting and little else from an ERP: a commission invoice to the buyer, usually a percentage of the FOB value of what shipped, in the buyer's currency. In NetSuite that is an invoice with a service item for the commission, with no inventory items, no goods purchase orders and no goods receivables. The agent's real work, following orders across factories, sits outside any ERP; buying house ERP and sourcing agent software searches usually end at tools for that follow-up, not at accounting.

What does an own-label retailer need?

For private label sourcing, the retailer needs what a brand needs on the purchasing side, plus a retail system for stores. Store operations, POS, allocation and open-to-buy are a separate project, in NetSuite (Oracle lists a SuiteSuccess edition for retail) or in another retail system; this guide does not cover them.

What does NetSuite handle poorly for brands and agents?

NetSuite records the purchase order to the factory well; it does not follow the order at the factory. Five things stay open for a business that makes nothing itself:

  • Development and sampling with many factories. Tech packs, lab dips, strike-offs and PP samples, round by round, with several factories quoting and sampling the same style. NetSuite has no record for any of it (section 17).
  • T&A across factories. A calendar per order, worked back from the ex-factory date, with milestones owned by people at different factories.
  • Following production that happens outside. Cutting, sewing and packing at the factory are invisible in NetSuite until the goods are received; Outsourced Manufacturing is built for subcontracted assemblies inside a manufacturer, not for a brand following finished-goods factories.
  • Inspections at the vendor. Final AQL at the factory before shipment, at the buyer's level, with the result gating the goods leaving. NetSuite's Quality Management SuiteApp is built around inspections on the account's own receipts and operations.
  • One status per order across factories and buyers. A buying agent with twenty factories and eight buyers needs one view of where every order stands. Saved searches over purchase orders show what was ordered and received, not what is happening in between.

How does the MerchandiserOS model work for a brand or agent?

MerchandiserOS runs the work around the order and NetSuite keeps the books. For a brand, buying agent or own-label retailer, MerchandiserOS runs development, samples and approvals, the T&A calendar, the orders placed with factories, sourcing, the planning view across subcontracted factories, quality inspections and shipping follow-up. NetSuite keeps purchase orders as the financial record, landed cost, stock value, invoicing, payments, deposits, currencies and tax. MerchandiserOS has workspace set-ups for a Brand and a Buying agent, so neither sees factory screens it does not need. Retail back-office work, such as stores, POS, allocation and open-to-buy, is outside MerchandiserOS's scope.

Example 31

The polo order from the brand's side, with the buying agent's commission

The brand places the 3,000 polos with the factory at USD 4.26 FOB through a buying agent, and brings them into its own warehouse. Freight, duty rate, clearing, insurance and the commission rate are illustrative.

LineHow it is worked outUSD
Purchase order to the factory3,000 × 4.26, grid-entered on five matrix children12,780.00
Ocean freightForwarder's bill450.00
Import duty12% of FOB (illustrative rate)1,533.60
Clearing and portBroker's bill180.00
Cargo insurance0.3% of FOB38.34
Landed cost into the warehouse14,981.94
Buying agent's commission5% of FOB (illustrative)639.00
Landed cost including commissionIf finance capitalises the commission15,620.94
Duty = 12,780.00 × 12% = 1,533.60 · insurance = 12,780.00 × 0.3% = 38.34
Charges = 450.00 + 1,533.60 + 180.00 + 38.34 = 2,201.94
Landed = 12,780.00 + 2,201.94 = 14,981.94 → ÷ 3,000 = USD 4.99 per polo
Commission = 3,000 × 4.26 × 5% = 639.00 → 15,620.94 ÷ 3,000 = USD 5.21 per polo

In the brand's NetSuite: a purchase order in USD to the factory; a vendor bill from the factory; the forwarder's, broker's and insurer's charges entered as landed cost on the item receipt, allocated by Quantity so each polo carries 2,201.94 ÷ 3,000 = USD 0.73 whatever its size; the polos land at USD 4.99. Whether the agent's 639.00 joins the landed cost (USD 5.21 a polo) or is expensed is a finance decision; set it up as its own landed cost category if it is capitalised.

In the buying agent's NetSuite: one invoice to the brand for 639.00 on a service item "Buying commission", in USD. No inventory, no goods purchase order, no goods receivable.

In MerchandiserOS: the style and its samples with the factory, the T&A to ex-factory 15 December, the final AQL at the factory (125 pieces at level II), and the shipment follow-up to the warehouse. The brand's NetSuite sees the purchase order, the receipt and the bills; the agent's NetSuite sees the commission invoice.

For the other side of the same order, see Parts 3 to 7, and for how other ERPs serve brands, the Business Central chapter and the apparel-specific ERP chapter.

Part 11The recommended model

36The operations layer: what runs on top of NetSuite

The simplest way to run a garment business on NetSuite is to let NetSuite keep the books and run operations, from style to shipment, in a system built for apparel. Parts 3 to 7 of this guide show what it takes to bend NetSuite toward garment production instead: matrix designs under a ceiling, per-size BOMs, per-lot unit scripts, custom records for samples and letters of credit, and a concurrency budget for all of it. This is the model we recommend: let NetSuite do what it does best, the books across subsidiaries and currencies, and give the factory's operations to a system built for them.

Example 32

The polo order with operations on top

StepIn MerchandiserOSWhat NetSuite sees
Tech pack and quoteStyle P-2041, graded measurements, cost build at 4.26 FOBNothing yet
SamplesThree lab dip rounds, strike-off, PP approved 14 Nov and locked to spec version 3Nothing
Order3,000 pieces by size, T&A calendar to 15 DecSales order on five child items, and the customer deposit
Procurement925 kg jersey, trims, embroidery; receipts measured per roll and dye lotPurchase orders, item receipts with lots, landed cost, vendor bills
Planning and productionLine booked, cut by dye lot, job cards by departmentMaterial issued, for stock value
Shop floorOutput per line per hour, on MerchandiserOS floor screens or from Garment.ioNothing
QualityFinal AQL at level II, 2.5: 125 pieces inspected; only first-quality pieces ready to shipNothing
LogisticsCartons packed by lot, ship clearance against the buyer's termsItem fulfilment and customer invoice
After shipmentQuote against actuals for fabric, minutes and rejectsPayment received, reported back

Who does what

Each area has one home. MerchandiserOS runs the work; NetSuite records the financial result.

AreaRuns in MerchandiserOSRecorded in NetSuite
StyleStyles with versions and frozen snapshots, tech pack sections, graded points of measure with tolerances, colourways and lab dips, a classified two-level bill of materials (fabric and trims, with yarn linked to fabric), consumption from marker efficiency, shrinkage and woven construction, make-type aware (woven, knit, knit-to-shape, pairs for socks)The matrix children that are bought, stocked or sold, once released
Samples and approvalsLab dip, strike-off, sample and shipping mark approvals with rounds, parcel and courier details, the buyer's verdict and T&A wiring; an approved order-level PP round locks the style version for that order—
QuotationCost build from fabric to trims, decoration, CMT, overhead and margin to FOB, with landed cost and dated exchange rates; standard cost sheet; quotations with approval gates and thresholdsNothing until an order exists
OrdersBuyer POs as parent records; orders with size-by-colour breakdown, tolerance band, provisional to confirmed quantity and per-shipment deliveries; ratio packsThe sales order and customer deposit, for invoicing
ProcurementSuppliers with qualification, materials master, MRP net-to-buy across the order book, purchase requests, purchase orders, GRN receiving, material issue and return; shade bands per fabric and a measured lot record (GSM, width, shrinkage) per receipt; incoming inspection carrying the dye lotThe financial purchase order, the vendor bill, landed cost, stock value
PlanningPlanning heat-map of lines and subcontractors over 52 weeks, production orders, T&A with critical path—
ProductionProduction orders and per-department job cards, WIP boardMaterial movements, for stock value
Shop floorMerchandiserOS floor capture screens, or Garment.io, which receives orders and styles and sends floor output and actual minutes back—
QualityTyped inspections (incoming, cutting, PP, DUPRO, final AQL, pre-shipment, measurement), the 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—
LogisticsPer-delivery shipments, packing and cartonisation, ship clearance against buyer termsThe item fulfilment and the customer invoice

A day in the life, department by department

With operations on top, each department works in the tool built for its job, and finance works in NetSuite. This is what a normal day looks like on the polo order.

DepartmentWhat they do in MerchandiserOSWhat reaches NetSuite
MerchandisingRecords the buyer PO as the parent record, the order with its size-by-colour breakdown and tolerance band, moves the quantity from provisional to confirmed, splits deliveries per shipment and watches the T&A critical pathThe sales order, once confirmed
DevelopmentKeeps style P-2041 with its versions, tech pack sections and graded points of measure; logs each lab dip and strike-off round with courier details and the buyer's verdict; the approved PP round locks the style version for the orderNothing
CostingBuilds the cost from fabric to FOB with landed cost and dated exchange rates, keeps the standard cost sheet, sends the quotation through approval gates with thresholdsNothing until the order exists
Purchasing and storesRuns net-to-buy across the order book, raises purchase requests, receives against the purchase order, records the measured lot (GSM, width, shrinkage) and judges it against the shade band, issues and returns material; suppliers carry their qualificationPurchase requests become NetSuite purchase orders; receipts and issues for stock value
PlanningLoads lines and subcontractors on the 52-week heat-map, opens production orders with job cards per departmentNothing
Production floorCaptures output on floor screens and follows the WIP board; or reads output and actual minutes from Garment.ioNothing
QualityRuns incoming, cutting, PP, DUPRO, measurement and final AQL inspections on ISO 2859-1 at the buyer's level, raises CAPA, keeps needle and metal control, grades output so only first quality shipsNothing; the shipment is cleared or held
ShippingPacks and cartonises per delivery, clears the shipment against the buyer's termsThe dispatch, from which the fulfilment and invoice are raised
FinanceWorks in NetSuite: invoices, deposits, vendor bills, payments, stock value, currencies, tax and e-invoicingNetSuite is the record; PO numbers, payment dates and invoice status go back

What changes in the NetSuite project

With operations on top, the hard parts of this chapter mostly move out of NetSuite. You no longer need size-graded BOMs, per-lot unit scripts, shade control at issue or custom records for samples inside NetSuite. NetSuite keeps accounting, purchasing as the financial record, invoicing, payments, stock value and local tax. The project is smaller, each release is easier to test, the matrix stays far from its ceiling, and the account's concurrency is spent on fewer, calmer integrations.

Measured against the extensions in Parts 3 and 4, the NetSuite project no longer needs to build:

  • Per-lot kg-to-metre conversion scripts and roll-level custom records.
  • BOM generation per size, and BOM revisions for garments.
  • Manufacturing WIP, routings and cost templates for sewing, unless finance wants them for costing.
  • A dye-lot check on work order issues.
  • Custom records and workflows for sampling, approvals and T&A.
  • Outsourced assemblies with loss allowances for each processor.
  • ISO 2859-1 AQL logic and logged overrides.
  • Quantity-tolerance checks and cartonisation.

What stays in the NetSuite project: subsidiaries and currencies, costing method per item class, landed cost, customer deposits, letters of credit and chargeback reasons, e-invoicing and local reports, and the connection to the operations layer.

How they connect

NetSuite and MerchandiserOS connect through the MerchandiserOS ERP API or a file exchange, and the shop floor connects through MerchandiserOS.

  • NetSuite ↔ MerchandiserOS. NetSuite collects purchase requests and sales orders from MerchandiserOS and sends back its purchase-order numbers, keyed on NetSuite internal IDs, with payment dates and invoice status, through the MerchandiserOS ERP API with an integration login. A person approves every change from NetSuite on the review list before it lands, with an approver per kind of change, and a "what changed" feed shows the history. Money amounts stay in NetSuite. A file exchange does the same job with no programming.
  • 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 the floor and reading output and actual minutes back.
ATMA
Go deeper. For the merchandising behind all of this, from fibres and costing to sampling, quality and shipping, see the courses at ATMA, the academy from the MerchandiserOS team. atma.courses

·Frequently asked questions about NetSuite for apparel

These are the questions consultants, factory managers and brand teams ask most often about NetSuite for apparel. Each answer stands on its own.

How do I set up matrix items for sizes and colours in NetSuite?

Create the style as a parent matrix item and add colour and size as matrix options, using one custom list per size scale; NetSuite then creates a child item for each colour-size combination and tracks each one separately. Only the children appear on transactions; the parent never does. Settle the option lists and code pattern before the first import, because a CSV import cannot change the option values of existing children or move a child to another parent.

What is the maximum number of matrix items in NetSuite?

Oracle's help states that the maximum number of the total combinations of matrix options is 2,000, and its import guidance allows 2,000 child matrix items per parent. A jean with 13 waists and 6 inseams has 78 sizes per wash, so a single parent holds at most 25 washes. Split wide ranges into one parent per style-colour or per colour family, and keep length or inseam off the matrix when it would push a style past the limit.

Does NetSuite support grid order entry for apparel?

Yes, through the Grid Order Management SuiteApp, which provides colour-by-size grid entry on sales orders, purchase orders, transfer orders, quotes and inventory adjustments, driven by grid templates. Oracle documents its limits: multi-grid entry on sales orders only, one currency per grid order, no mobile form, English only, form customisations not shown on the grid form, and no non-inventory, other-charge or service matrix items.

Should a prepack be an item group, a kit or an assembly in NetSuite?

Use an item group when the buyer orders ratio packs but you want the invoice and sales reports by size, because a group's price is the total of its members. Use a kit when the pack is sold as one product with its own price levels and income account. Use an assembly when packed cartons are built and held in stock, because neither a group nor a kit is stocked as a packed unit. Matrix items cannot be created for groups or kits, so each colour's pack is its own item.

How do I track fabric dye lots in NetSuite?

Make each fabric a lot-numbered inventory item and use each lot number as one dye lot; NetSuite then tracks the quantity and the specific cost of each lot, chosen on receipts and issues through the Inventory Detail. Add item number fields to the lot record for GSM, width and shade group. Standard NetSuite lets a user issue any lot, so a rule that refuses two dye lots on one cut needs a script or an operations system.

How do I convert kilograms to metres for fabric in NetSuite?

NetSuite converts units inside a unit type at a fixed conversion rate, so kilograms and metres can share a unit type only at one nominal factor, such as 3.086 m per kg for a 180 GSM jersey 1.80 m wide. Real rolls differ from that factor, so either keep knit fabric in kilograms in NetSuite, or record GSM and width per lot and convert per lot with a script. The formula is metres per kg = 1000 ÷ (GSM × width in metres).

Can I change an item's costing method in NetSuite?

No. Oracle's help states that you can't change the costing method after you save it on the item record, so a wrong choice means creating a new item and moving stock to it. Choose per item class before the first import: for example Standard for garments made with routings, Average or Lot Numbered for fabric, Average for trims, and Average or FIFO for finished goods a brand buys in.

How does landed cost work in NetSuite for imported fabric?

Enable the Landed Cost feature, create cost categories such as freight, duty and clearing, check Track Landed Cost on each fabric, and enter the charges on the item receipt or vendor bill with an allocation method of Weight, Quantity or Value. A transaction uses one method at a time, so freight by weight and bank charges by value need the Landed Cost Allocation per Line preference or separate transactions. In this guide's example, USD 695 of charges raised navy jersey from USD 4.20 to USD 4.87 per kg.

How do I manage CMT and subcontracting in NetSuite?

Use Outsourced Manufacturing, which creates outsourced work orders for subcontracted assemblies, orders or sends the components to the subcontractor, consumes them automatically on receipt and can move part-finished goods from one subcontractor to the next. It needs Purchase Orders, Advanced Receiving, Multi-Location Inventory, Assembly Items, Advanced Bill of Materials and Work Orders. A consolidator turns outsourced work orders into purchase orders every day at 2:00 a.m., or on demand.

Is NetSuite good for apparel manufacturing?

NetSuite is a strong fit for apparel brands, wholesalers and multi-company groups, and a partial fit for garment manufacturers. It covers matrix items, grid entry, lots, landed cost, work orders, WIP and routings, Outsourced Manufacturing and OneWorld as standard or through Oracle SuiteApps. Tech packs, sampling approvals, T&A calendars, size-graded consumption, cut planning, shop-floor capture and ISO 2859-1 AQL need partner products, custom SuiteScript or a separate operations system.

Is NetSuite good for a clothing brand that outsources production?

Yes, for the books and the buying: inventory matrix items, purchase orders to factories with grid entry, landed cost, vendor bills and payments, wholesale sales orders, customer deposits, currencies and OneWorld, with EDI through a provider. A brand should skip the manufacturing modules. What NetSuite does not do is follow the order at the factory: development and sampling with many factories, T&A across factories, inspections at the vendor and one status per order, which sit in an operations system.

Can NetSuite handle a buying agent's commission?

Yes. A buying agent invoices the buyer for commission as a service item on a normal NetSuite invoice, in the buyer's currency, with no inventory, no goods purchase orders and no goods receivables. On an order of 3,000 polos at USD 4.26 FOB, an illustrative 5% commission is 3,000 × 4.26 × 5% = USD 639.00. The agent's follow-up work across factories, such as samples, T&A and inspections, is not something NetSuite records.

What is the NetSuite Apparel, Footwear and Accessories (SuiteSuccess) edition?

It is one of NetSuite's SuiteSuccess editions: a NetSuite account preconfigured for the apparel, footwear and accessories industry with roles, dashboards, KPI scorecards, reports, saved searches, forms, preferences and business processes delivered through SuiteApps. It is a configuration of NetSuite, not a separate product, and it is unrelated to SAP's older AFS add-on. Ask Oracle for its current scope in writing and map it against your fit-gap.

When does NetSuite retire SOAP web services and token-based authentication?

Oracle's help says the 2025.2 SOAP endpoint is the last planned one, only it is supported from 2027.1, and SOAP stops working with the 2028.2 release. From 2027.1 you can no longer create new integrations that use token-based authentication for SOAP, REST web services and RESTlets, and support for existing TBA integrations ends tentatively in 2028.2, excluding SuiteAnalytics Connect. Build new integrations on REST web services with OAuth 2.0.

NetSuite vs SAP Business One for apparel: which is better?

Neither is better for every business. NetSuite has native matrix items with a 2,000-combination limit, a grid-entry SuiteApp, Advanced BOM, WIP and routings, Outsourced Manufacturing and OneWorld, and runs only as Oracle's cloud service. SAP Business One, per its partners, has no standard colour-size matrix, so apparel users add a partner add-on. Neither covers sampling, T&A, size-graded consumption or AQL out of the box, so choose on the fit-gap, the partner and the business type.

·Glossary of apparel and NetSuite terms

Short definitions of the apparel and NetSuite terms used in this guide.

Advanced BOM
NetSuite's Advanced Bill of Materials feature: BOMs as separate records with dated revisions, shared across assemblies, with a default per assembly or location.
AQL
Acceptance quality limit: an inspection method that checks a random sample from a lot and accepts or rejects the lot on the number of defects found, using ISO 2859-1 tables.
Assembly item
A NetSuite item built from components on a BOM; in apparel, the garment or an intermediate such as a printed panel.
BOM revision
A version of a NetSuite BOM with effective start and end dates; revisions of one BOM cannot overlap.
CM, CMT
Cut and make, or cut, make and trim: the labour charge for making a garment, and a factory model where the buyer supplies the fabric and the factory charges only for making.
Colourway
One colour version of a style, with its own fabric shade and trims.
Component yield
A value on a NetSuite BOM revision line that accounts for material loss in ordering and planning.
Consolidator
The Outsourced Manufacturing job that turns outsourced work orders into purchase orders, daily at 2:00 a.m. or on demand.
Cost template
A NetSuite record of labour and machine rates used by routing steps to cost production.
Customer deposit
A NetSuite record of money received in advance for a sales order, held as a liability and applied to the invoice.
Cut-over
The planned switch from the old system to NetSuite, around a fixed cut-off moment.
Dye lot
A batch of fabric dyed together; pieces from different dye lots can differ in shade and must not be mixed in one garment.
Ex-factory
The date goods leave the factory for shipment.
External ID
An identifier set by an integrating application on a NetSuite record, used with the eid: prefix for create-or-update calls.
FOB
Free on board: the price of goods loaded at the port of shipment; in garment trade, the usual quoted price per piece.
Grid Order Management
An Oracle SuiteApp for colour-by-size grid entry on sales, purchase and transfer orders, quotes and inventory adjustments.
GSM
Grams per square metre: the weight of fabric.
Hypercare
The period after go-live when the project team fixes issues daily.
Internal ID
The identifier NetSuite assigns to a record; the stable key an integration should store.
Item group, kit
NetSuite items that sell several members together; a group is priced from its members, a kit has its own price levels and income account.
Item number field
A custom field on NetSuite's lot or serial number record, used here for GSM, width and shade group.
Lab dip
A small dyed fabric sample sent to the buyer to approve a shade before bulk dyeing.
Landed cost
Every cost of bringing goods to the warehouse beyond the supplier's price: freight, insurance, duty, clearing, bank charges.
Letter of credit (LC)
A bank's promise to pay an exporter when documents matching the credit's terms are presented.
Lot-numbered item
A NetSuite item whose stock is tracked by lot number, with quantity and cost per lot.
Marker efficiency
The share of fabric in a cutting marker that ends up in garment pieces.
Matrix item
A NetSuite item family of one parent and a child per option combination, such as colour and size; at most 2,000 combinations.
OneWorld
The NetSuite edition for several subsidiaries, each with its own base currency.
Outsourced Manufacturing
The NetSuite feature for subcontracted assemblies: components sent to subcontractors, automatic consumption, moves between subcontractors.
POM
Points of measure: the garment measurements in a tech pack, with a tolerance per size.
PP sample
Pre-production sample: a garment in bulk fabric and trims that the buyer approves as the reference for production.
Ratio pack
A pack or carton holding sizes in a fixed ratio, for example 2 S, 5 M, 6 L, 5 XL, 2 XXL.
RESTlet
A SuiteScript that exposes a custom REST endpoint on a NetSuite account.
SDF
SuiteCloud Development Framework: file-based projects for NetSuite customisations, deployed to sandbox and production.
Shade band
A set of approved shade references for a fabric colour, used to judge each new lot.
SMV
Standard minute value: the time a trained operator needs for one operation at a normal pace.
Size/colour matrix
A grid of colours by sizes used to enter or show order quantities for each combination.
Strike-off
A sample of a print or embroidery on the actual fabric, approved before bulk.
SuiteApp
An application installed into a NetSuite account, from Oracle or a partner.
SuiteQL
NetSuite's SQL-based query language, available through REST web services.
SuiteScript
NetSuite's JavaScript-based scripting, run under usage-unit governance per script type.
SuiteSuccess
NetSuite's industry configurations, including an Apparel, Footwear and Accessories edition.
T&A calendar
Time and action calendar: an order's milestones with planned dates worked back from ex-factory, actual dates and owners.
TOP sample
Top of production: the first bulk pieces, checked against the PP sample.
UCP 600
The ICC's rules for documentary credits, which most letters of credit follow.
Unit type
A NetSuite group of related units with a base unit and fixed conversion rates.
WIP (Manufacturing WIP)
The NetSuite feature that splits production into work order issue, completion and close through a WIP account.

More terms across all ERPs are in the guide glossary, and the method behind every chapter is in the methodology.

·Checklists: a NetSuite apparel implementation on one page

FREE
Download the Apparel ERP Implementation Checklist (Excel). The 52-point fit-gap, 17 decisions before go-live, 13 test scenarios and a 30-item go-live list, ready to take into your first workshop. Free to use and share. Download the checklist

The checklists below repeat the decisions and checks from each part of this guide, in project order.

Discovery

Discovery is complete when every item below is ticked.

  • Business type settled for each buyer and each subsidiary: CMT, full package, brand, agent or own label.
  • One decision owner named for each area, and an in-house NetSuite administrator.
  • One workshop per department, walking a real recent order.
  • All 52 fit-gap lines answered with evidence, decision and owner.
  • Architecture decided: what NetSuite owns, what runs in an operations layer.
  • Edition, SuiteApps, OneWorld, service tier and concurrency confirmed against the fit-gap.

Design

Design is complete when every item below is decided and written down.

  • Subsidiaries and base currencies fixed.
  • Matrix parent level and options per category; largest season checked against 2,000.
  • Costing method per item class; Track Landed Cost on imported items.
  • Unit type per fabric and yarn; kg-to-metre approach chosen.
  • Lot as dye lot; item number fields; roll design (lot, bin or none).
  • Advanced BOM on or off; BOM per size and how BOMs are generated.
  • Prepack item type per kind of pack.
  • WIP and routings, or one-step builds; Outsourced Manufacturing for subcontract steps.
  • Inspection points, AQL plan source and override rights.
  • Carton rules and buyer documents per buyer.
  • Currencies, deposits, LC records, chargeback reasons, e-invoicing.

Build, data and testing

Build, migration and testing are complete when every item below is proven in the sandbox.

  • Features enabled in dependency order; one-way switches signed off.
  • Scripts inside governance limits; bulk work on map/reduce; all customisation in SDF projects.
  • Integrations on REST with OAuth 2.0, linked on internal IDs, each with a concurrency share.
  • Migration imported in order, parents before children, with a cut-off rule and signed totals.
  • All 13 end-to-end scenarios passed by key users.

Go-live

Go-live is ready when every item below is in place.

  • Training done per role, on the business's own orders.
  • Cut-over rehearsed once in full in a sandbox, imports timed.
  • Go-live date between seasons, away from year-end, audits and the account's release upgrade.
  • Go or no-go point and fall-back defined.
  • Hypercare runs at least until the first month-end close in NetSuite; release testing owned in-house.

·Sources

Oracle NetSuite online help pages were checked on 26 September 2026. NetSuite is updated twice a year, so check each page against your account's release.

  1. NetSuite help, Matrix Items (2,000 combinations; parent not on transactions; no matrix for groups or kits) — docs.oracle.com
  2. NetSuite help, Tips for Matrix Items Import — docs.oracle.com · Importing Matrix Options for Items — docs.oracle.com
  3. NetSuite help, Grid Order Management — docs.oracle.com · Limitations of Grid Order Management — docs.oracle.com
  4. NetSuite help, Item Groups and Kits/Packages — docs.oracle.com
  5. NetSuite help, Advanced Bill of Materials — docs.oracle.com · BOM revisions — docs.oracle.com
  6. NetSuite help, Lot Numbered Items — docs.oracle.com · Serial and Lot Inventory with Multiple Units of Measure — docs.oracle.com
  7. NetSuite help, Multiple Units of Measure — docs.oracle.com · Setting Up Units of Measure — docs.oracle.com
  8. NetSuite help, Costing Methods — docs.oracle.com
  9. NetSuite help, Landed Cost Overview — docs.oracle.com · Entering Landed Cost on a Transaction — docs.oracle.com · Landed Cost Allocation per Line — docs.oracle.com
  10. NetSuite help, Assembly Work Orders — docs.oracle.com · Manufacturing WIP — docs.oracle.com · Manufacturing Routing and WIP — docs.oracle.com
  11. NetSuite help, Advanced Manufacturing — docs.oracle.com
  12. NetSuite help, Outsourced Manufacturing — docs.oracle.com · Setup — docs.oracle.com · Consolidator — docs.oracle.com
  13. NetSuite help, Quality Management User Guide — docs.oracle.com · Statistical Sampling Workflow — docs.oracle.com · Best Practices — docs.oracle.com
  14. NetSuite help, SuiteSuccess (editions incl. Apparel, Footwear and Accessories) — docs.oracle.com · NetSuite apparel page — netsuite.com
  15. NetSuite help, Multiple Currencies in OneWorld — docs.oracle.com · Setting a Base Currency — docs.oracle.com
  16. NetSuite help, Customer Deposits — docs.oracle.com
  17. NetSuite help, Demand Planning — docs.oracle.com
  18. NetSuite help, Electronic Invoicing Overview — docs.oracle.com · Availability and licence — docs.oracle.com
  19. NetSuite help, SuiteScript governance — docs.oracle.com · Script Type Usage Unit Limits — docs.oracle.com
  20. NetSuite help, Conventions for Naming Custom Objects — docs.oracle.com
  21. NetSuite help, SuiteCloud Development Framework — docs.oracle.com · Account Customization Projects — docs.oracle.com
  22. NetSuite help, SOAP web services deprecation — docs.oracle.com
  23. NetSuite help, Token-based Authentication deprecation — docs.oracle.com
  24. NetSuite help, OAuth 2.0 Client Credentials Flow — docs.oracle.com · Setup — docs.oracle.com
  25. NetSuite help, Concurrency governance limits — docs.oracle.com · Per-integration limits — docs.oracle.com
  26. NetSuite help, Executing SuiteQL Queries Through REST Web Services — docs.oracle.com · Using External IDs (REST) — docs.oracle.com · Using the Upsert Operation — docs.oracle.com
  27. NetSuite help, REST API Browser and record IDs (Purchase Order, Inventory Item) — docs.oracle.com · docs.oracle.com · docs.oracle.com
  28. NetSuite help, Oracle NetSuite Connector — docs.oracle.com
  29. SAP Business One: Service Layer v1 and v2 — help.sap.com · Integration Framework — help.sap.com · item variants per partners — sana-commerce.com · emerging-alliance.com
  30. ISO 2859-1, Sampling procedures for inspection by attributes — iso.org
  31. AQL tables and acceptance numbers — qima.com · tetrainspection.com · inspection levels: qualityinspection.org
  32. UCP 600, documentary credits — uscib.org · tradefinanceglobal.com
  33. EDI transaction sets — 1edisource.com · celigo.com

Corrections. NetSuite is released twice a year, and a feature boundary, a limit or a deadline can move in a single release. If you find a statement here that your account contradicts, report a correction with the release and the help page you checked; we correct the guide and note the change and its date at the top of this section. We re-check the NetSuite facts in this chapter at least once a year and after each NetSuite release that touches items, manufacturing or web services.

Oracle and NetSuite are registered trademarks of Oracle and/or its affiliates, used here only to name the products. This guide is not endorsed by Oracle. SAP and SAP Business One are trademarks of SAP SE. Other product names belong to their owners. Garment.io is named because MerchandiserOS integrates with it; this guide is not endorsed by Garment.io.