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.
| Field | Unique? | Notes |
|---|---|---|
| SKU | Yes | The canonical reference for the product and its unique key. Required when you create one. |
| Barcode | No | UPC/EAN/GTIN. Free text — duplicates are allowed. |
| MPN | No | Manufacturer part number. Free text — duplicates are allowed. |
| Name | No | Display name. Optional. |
| Brand | — | You 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
| Field | When you create | When you edit |
|---|---|---|
| SKU | Required, up to 255 characters, unique across all products | Up to 255 characters, unique except for this product (so you can save without changing it) |
| Type | Required, one of the six product types | Optional — leave it alone to keep the existing type |
| Barcode | Optional, up to 255 characters | Same |
| MPN | Optional, up to 255 characters | Same |
| Name | Optional, up to 255 characters | Same |
| Brand | Optional, up to 255 characters | Same |
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.
| Field | Limit |
|---|---|
| Weight, Length, Width, Height | Less than 1,000,000 |
| Case quantity | Less than 10,000 |
| Case length, Case width, Case height, Case weight | Less than 10,000 |
| Expiration offset (months) | Whole number, 0–120 |
| Target stock days | Whole number, 1–365 |
| Min stock level | Whole number, 0 or more |
| Unit cost | 0 up to (but not including) 100,000 |
| Default price | 0 up to (but not including) 100,000 |
| Default supplier price | 0 up to (but not including) 100,000 |
| Tier prices | Less than 100,000 |
| Supplier tier prices | 0 up to (but not including) 100,000 |
| Proforma shipping cost, Proforma landed cost % | No limit |
What each linked field has to point at
| Field | Rule |
|---|---|
| Weight unit, Case weight unit | One of lb, g, kg, oz |
| Dimension unit, Case dimension unit | One of in, cm, mm |
| Categories | The 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 SKU | Must 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 code | Must be an existing nominal code. See Set a product's accounting. |
| Default tax rate | Must be an existing tax rate |
| Attributes | The attribute must already exist, or is matched (and created if needed) by name |
| Stock unit of measure | Must 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.
| Flag | Effect |
|---|---|
| Sellable | When 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. |
| Dropshippable | Marks the product as eligible for dropship fulfillment flows. |
| Decoration consumable | Marks 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. |
| Taxable | When on, the Default tax rate you pick is applied by default. |
| Show in register | Controls 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. |
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.
| Field | Notes |
|---|---|
| Lot tracked | Turns on lot tracking for the product. |
| Lot tracking method | Required 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 availability | When on, availability accounts for expiry. |
| Catch weight enabled | Variable-weight handling. Set outside the main product form. |
| Manufacturing enabled | Manufacturing 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
| Field | Unit set by |
|---|---|
| Weight | Weight unit (lb, g, kg, oz) |
| Length | Dimension unit (in, cm, mm) |
| Width | Dimension unit |
| Height | Dimension unit |
Case Shipping Details
These define how individual units pack into a shipping case, used for bulk and FBA inbound shipments.
| Field | Notes |
|---|---|
| Case quantity | Units per case, shown in the product's stock unit of measure |
| Case weight | Set by Case weight unit (lb, g, kg, oz) |
| Case length / width / height | Set 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 instructions | Free 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
- Create a product — the create task, end to end.
- Edit a product's details — editing fields and tabs.
- Product detail page reference — every tab and stat on the detail page.
- Product permissions reference — who can create, edit, and delete.
- Importable product columns reference — the same fields as spreadsheet columns.