Skip to main content

Product fields & validation reference

This is a lookup reference for the fields on a product: the identity fields that name and match it, the rules enforced when you create or edit one, the behavior flags (sellability, lot-tracking, expiry), and the shipping-dimension fields.

For the task of creating or editing a product, see Create a product and Edit a product's details. For what each product type means, see Product types explained.

Before you begin

  • Creating a product requires the products.create permission; editing requires products.update. Both also require the products read/write scope. See Product permissions reference.
  • Inventory figures (On Hand, Available, FIFO cost) aren't product fields — they're computed from real-time stock. See the Inventory guide for how those are derived.

Identity fields

These fields name a product and let SKU.io and your channels match it.

FieldUnique?Notes
SKUYesThe canonical reference for the product and its unique key. Required when you create one.
BarcodeNoUPC/EAN/GTIN. Free text — duplicates are allowed.
MPNNoManufacturer part number. Free text — duplicates are allowed.
NameNoDisplay name. Optional.
BrandYou type the brand name; SKU.io matches an existing brand or creates one. See Manage brands.

Key points about identity:

  • SKU is the identity of the product. It's the value shown as the product's reference and the field the uniqueness rule is built on. Once movements exist, changing a SKU can detach external links (some 3PL stock feeds match on the SKU text), so treat it as stable.
  • Barcode and MPN aren't unique. Two products can share a barcode or MPN. Use SKU when you need a guaranteed-unique key.
  • Brand is set by name. Typing a brand name finds or creates that brand, so a typo silently creates a new brand rather than warning you.

How search and typeahead rank these fields

Product search looks at SKU, Name, Barcode, and MPN together, weighted so SKU matches rank highest by a wide margin, then MPN, with Name and Barcode tied lowest. Barcode and MPN only count toward a match when they have a value, so a blank one never dilutes a search. Typeahead pickers additionally push an exact SKU match to the top, then SKU prefix matches, ahead of everything else. Full column and lookup detail is in Products list columns, search & filters reference.

Create & edit rules

Creating and editing a product share one set of rules, with the differences below. Fields not listed are optional.

Required fields & uniqueness

FieldWhen you createWhen you edit
SKURequired, up to 255 characters, unique across all productsUp to 255 characters, unique except for this product (so you can save without changing it)
TypeRequired, one of the six product typesOptional — leave it alone to keep the existing type
BarcodeOptional, up to 255 charactersSame
MPNOptional, up to 255 charactersSame
NameOptional, up to 255 charactersSame
BrandOptional, up to 255 charactersSame

The six types are Standard, Bundle, Kit, Matrix, Blemished, and Manufactured. See Product types explained. Blemished products are created through a dedicated flow — see Create a blemished product.

Numeric limits

All numeric fields are optional; when you fill one in it has to fall inside these limits.

FieldLimit
Weight, Length, Width, HeightLess than 1,000,000
Case quantityLess than 10,000
Case length, Case width, Case height, Case weightLess than 10,000
Expiration offset (months)Whole number, 0–120
Target stock daysWhole number, 1–365
Min stock levelWhole number, 0 or more
Unit cost0 up to (but not including) 100,000
Default price0 up to (but not including) 100,000
Default supplier price0 up to (but not including) 100,000
Tier pricesLess than 100,000
Supplier tier prices0 up to (but not including) 100,000
Proforma shipping cost, Proforma landed cost %No limit

What each linked field has to point at

FieldRule
Weight unit, Case weight unitOne of lb, g, kg, oz
Dimension unit, Case dimension unitOne of in, cm, mm
CategoriesThe category must exist and be a leaf — attaching a parent category is refused with a non-leaf error. See How product taxonomy works.
Supplier's Supplier SKUMust be unique per supplier — the same supplier SKU can't map to two products for one supplier. See Manage a product's suppliers.
Sales nominal code, COGS nominal codeMust be an existing nominal code. See Set a product's accounting.
Default tax rateMust be an existing tax rate
AttributesThe attribute must already exist, or is matched (and created if needed) by name
Stock unit of measureMust be an existing unit of measure. See Units of measure reference.
Parent (for a variation)Must exist and can't be the product itself; a variation can't itself have a parent — there's no two-level nesting

Bundle & kit component rules

Bundles and kits must always have at least one component:

  • Creating a Bundle or Kit requires at least one component.
  • Switching a product's type into a bundle or kit (when it has no components yet) also requires components.
  • Any save that would leave a bundle or kit with an empty component list is refused — it would wipe the configuration.
  • Each component needs a real product and a quantity of at least 1.

Editing the components of a kit that already has inventory movements is refused, because the kit's assembled stock is already committed. See Kit & bundle component reference and Build bundles & kits in the Workshop.

Unit defaulting on create

When you leave a unit field blank on create, it falls back to your account's default weight unit and dimension unit (from General Settings). Units you do set are kept as-is — a product saved as kg stays kg. Editing behaves the same way: units you change are kept, units you leave alone are untouched.

Sellability & behavior flags

These toggles govern how a product behaves across selling, tax, and POS screens. All default sensibly for a normal sellable product unless you change them.

FlagEffect
SellableWhen off, the product is treated as non-sellable — for example decoration consumables like thread or ink. Non-sellable products are hidden from channel listing pickers.
DropshippableMarks the product as eligible for dropship fulfillment flows.
Decoration consumableMarks a consumable used in decoration or production. A decoration consumable is the one product kind that's not decorable — it can't itself carry decoration.
TaxableWhen on, the Default tax rate you pick is applied by default.
Show in registerControls POS register visibility. On a new product this follows the auto-show new products in register product setting (on by default) unless you set it explicitly on the form or in an import.
Non-Sellable is a stock bucket too

The Sellable flag on the product is separate from the Non-Sellable on-hand quantity, which comes from stock held in non-sellable warehouse locations. Product On Hand includes Non-Sellable stock. See the Inventory guide for the stock buckets.

Listing a sellable product to a sales channel is out of scope here — that's covered in the Listings guide. See Products, channels & reporting (seams) for where product data hands off to channels.

Lot-tracking & expiry flags

These turn on lot and expiry handling and set its thresholds. The deep behavior — how lots are created, picked, and expired — lives in the Inventory area; this page only covers the fields on the product.

FieldNotes
Lot trackedTurns on lot tracking for the product.
Lot tracking methodRequired when Lot tracked is on. Either FIFO (first-in, first-out) or FEFO (first-expired, first-out).
Shelf life (days)Whole number, 1 or more.
Near-expiry threshold (days)Whole number, 1 or more.
Min remaining shelf life (days)Whole number, 0 or more.
Expiry-aware availabilityWhen on, availability accounts for expiry.
Catch weight enabledVariable-weight handling. Set outside the main product form.
Manufacturing enabledManufacturing and assembly. Set outside the main product form.

For lot creation, FEFO/FIFO picking, and expiry availability behavior, see the Inventory guide.

Shipping fields

The product detail Shipping tab holds the physical dimensions used for FBA prep, case packing, and shipping calculations. Editing the tab requires the products.update permission and is subject to the product edit-lock — if another user is editing the product, the Edit button is disabled and names who holds the lock.

Product Dimensions

FieldUnit set by
WeightWeight unit (lb, g, kg, oz)
LengthDimension unit (in, cm, mm)
WidthDimension unit
HeightDimension unit

Case Shipping Details

These define how individual units pack into a shipping case, used for bulk and FBA inbound shipments.

FieldNotes
Case quantityUnits per case, shown in the product's stock unit of measure
Case weightSet by Case weight unit (lb, g, kg, oz)
Case length / width / heightSet by Case dimension unit (in, cm, mm)
Expiration offset (months)0–120. Blank falls back to 10 months, used to pre-fill FBA inbound expiration dates
FBA prep instructionsFree text, up to 255 characters — for example, polybagging or labeling

The stock unit of measure that labels Case quantity is configured separately — see Configure a product's units of measure.

Where the form's dropdown values come from

The product form's fixed dropdowns — Type, Weight unit, Dimension unit, attribute types, warehouse types, and inventory-movement type and status — are supplied by SKU.io rather than configured per account, so the choices you see always match what the system accepts. You can't add to them; the account-level lists you can edit (brands, categories, attributes, tax rates, nominal codes, units of measure) each have their own settings screen.

Next steps

Last verified: