How cartonization picks boxes
When cartonization is enabled, Luminous runs a packaging engine on each fulfillment order (FO) before a label is printed. The engine decides which items go in which boxes and records a packaging status on the FO.
Packaging statuses
| Status | Meaning |
|---|---|
| Unpacked | The engine has not yet run, or the order has zero packable units. |
| Auto-packed | The engine successfully assigned all items to boxes. Ready to print. |
| Needs packaging | The engine could not fully assign all items (see reasons below). A packer must open the Pack view to complete the arrangement. |
| Confirmed | A packer has reviewed and confirmed the package layout. |
How the engine decides
The engine works through an ordered pipeline, stopping as soon as each item is placed:
- Constraint check — If the order has a known blocker (e.g. no product dimensions on file), it is immediately flagged "Needs packaging" with a reason.
- Ship-alone items — Items marked ship alone on the product record are placed in their own box before anything else is processed.
- Direct map — A single-unit order line whose product has a designated default carton is placed straight into that carton.
- Learned rulebook — If your account has a cartonization rulebook (built from your shipping history or your manual rules), the engine checks each unplaced item against the rulebook from top to bottom and uses the first matching rule.
- Volume/weight fill — Remaining unplaced items are grouped by packing class and filled into the highest-priority compatible active carton in your catalog, opening a new box of the same type when the current one reaches its volume or weight limit.
- Exception — Anything the engine still cannot place is flagged, and the FO moves to "Needs packaging".
Common "Needs packaging" reasons
- Missing dimensions — A product has no length × width × height on file, so the engine cannot check if it fits.
- No fitting box — No active carton in your catalog is large enough for the item.
- Incompatible items — Items of different packing classes can't be mixed and no single-class box is available.
- Needs manual packing — A multi-line order in an account without a learned rulebook (the engine can handle it with rules; adding rules resolves this).
When does the engine run?
You control this in Settings › Fulfillment › Cartonization:
- Auto-create packages when fulfillment orders are generated — ON: the engine runs automatically every time an FO is created or updated. OFF: packages are only created when a packer clicks Auto-pack in the Pack view.
Override rules
You can add your own rules to the rulebook under Operations → Operations Admin → Cartonization Rules.. Manual rules always take priority over the learned rulebook. Supported conditions:
- SKU (any quantity)
- SKU at quantity ≥ N
- Category (single-line orders)
- Order weight band (lb range)
For each condition, you assign a box from your carton catalog. Rules are evaluated top-to-bottom — drag to reorder if needed.