Product packages
A packaging and trading configuration of a product, with its contained quantity and operational unit.
- API name:
productpackages - Domain: Catalog
- Modules: Sales, Services, Inventory, Manufacturing, Purchasing, Logistics, Master data
Fields
The API name is what the API, MCP and the CLI use.
| Name | API name | Type | Required | Description |
|---|---|---|---|---|
| ID | id | Record ID | Yes | |
| Product | productId | Reference | Yes | Parent product that defines base units, tracking, and default capabilities. Set at creation and cannot change afterward. |
| Name | label | Text I18n | Commercial name for this package. Shown on documents and combined with the product name on the materialized item. | |
| SKU | sku | Text | The SKU (Stock Keeping Unit) is a unique alphanumeric code defined by the company to identify, classify, and manage a product within its operations. Unlike a UPC or EAN, an SKU is an internal identifier whose format can be customized to meet the business's needs. | |
| GTIN barcode | gtin | GTIN barcode | ||
| Quantity | quantity | Decimal | Yes | Number of product base units contained in one package (for example, 12 for a case of 12 bottles). |
| Discrete quantity | isDiscrete | Boolean | Yes | When enabled, the contained quantity must be a whole number of base units and later transactions use whole packages. When disabled, fractional package quantities are allowed. |
| Weight | weight | Decimal | Physical mass of one package (not a quantity conversion factor). | |
| Weight unit | weightunit | Constant | Unit for the package weight measurement (e.g. kg, g, lb). | |
| Dimensions | dimensions | Dimensions | Nominal geometric envelope — parametric physical extent of the product. | |
| Links | links | Link | Links | ||
| Image | image | Image | ||
| Tags | tagIds | Tags | ||
| Description | description | Text Area I18n | Localized commercial description for this package. Shown on documents when applicable. | |
| Data | data | Data | ||
| External identifiers | identifiers | External identifier | External identifiers | Remote system keys and optional id types. One value per system and type pair on this record. | |
| Created by | createdBy | User | ||
| Created at | createdAt | Date and Time | Yes | |
| Updated by | updatedBy | User | ||
| Updated at | updatedAt | Date and Time | Yes | |
| Published by | publishedBy | User | ||
| Published at | publishedAt | Date and Time | ||
| Disabled by | disabledBy | User | ||
| Disabled at | disabledAt | Date and Time | ||
| Blocked by | blockedBy | User | ||
| Blocked at | blockedAt | Date and Time | ||
| Archived by | archivedBy | User | ||
| Archived at | archivedAt | Date and Time |
Relations
Owned records (solid line) are deleted with their owner. Grouped records (dashed line) can exist alone.
Actions
What you can do with a record. Every action also sends the webhook event productpackages.<action>. Reads (find, get, count) work on every table.
| Name | API name | Description | Where |
|---|---|---|---|
| Create | create | Add a new package. | App · API · MCP · CLI |
| Edit | update | Save changes to this package. | App · API · MCP · CLI |
| Disable | disable | Turn this package off for new use. Existing references stay. Enable it again to use it. | App · API · MCP · CLI |
| Enable | undisable | Turn this package back on for new use. | App · API · MCP · CLI |
| Publish | publish | Make this package available for use. | App · API · MCP · CLI |
| Block | block | Stop edits and deletion of this package. It stays visible and can still appear on existing documents. Unblock to edit again. | App · API · CLI |
| Unblock | unblock | Allow edits and deletion of this package again. | App · API · CLI |
| Archive | archive | Retire this package from daily use. It leaves active lists and pickers, and most actions stop. Unarchive to restore it. | App · API · MCP · CLI |
| Restore | unarchive | Return this package to active lists and actions. | App · API · MCP · CLI |
| Delete | delete | Delete this package and the data that belongs with it. This cannot be undone. | App · API · MCP · CLI |
States
How a record moves from state to state. Archive and block can happen in any state.