Package products
Sell several products as one item, and understand how the package price is split across what is inside it.
A package is one product on the order that is made up of several others — a bundle, a kit, a starter set. The customer sees one line and one price; Flow Retail keeps the components underneath so stock and cost stay right.
Two kinds of package
PACKAGE_FIXED
The contents are fixed. Every one of these packages contains the same things.
PACKAGE_DYNAMIC
The contents are chosen when it is sold, from the slots you define.
Use fixed for a bundle that never varies. Use dynamic where the customer picks — a three-for-two on any shirt, a hamper where they choose the contents.
How the package price is split
The package carries the price. The components underneath still need a value each, for margin and reporting, so Flow Retail distributes the package price across them.
Components are weighted by their own price. A component worth twice as much as another takes twice the share of the package price.
A
600.00
500.00
B
300.00
250.00
C
300.00
250.00
Two rules handle the edges:
Components priced at zero share whatever is left after the priced ones have taken their cut, split by quantity.
The rounding remainder goes to the first component line. Percentages rarely divide cleanly, and the leftover øre has to land somewhere.
That means a component's line value in a package is derived, not the price you set on the product. Do not read it as the product's own price.
How the package's cost is worked out
The other direction. The package's cost price is the sum of its components' costs:
package cost = total of (component cost × component quantity) ÷ package quantity
So a package is never cheaper or dearer to you than the sum of what went into it. Margin on a package is the package price against that total — which is why a bundle discount shows up as reduced margin rather than reduced stock value. See How cost price is calculated.
What this means for you
Price the components sensibly even inside a fixed package. Their relative prices are what decide how the package price is split, and that split drives per-product margin reporting.
A zero-priced component is not free. It picks up a share of the remainder. If you want a genuine giveaway inside a package, expect it to absorb value.
Check the first component line when a package total looks a few øre off. That is where rounding is deliberately parked.
Limitations
Component line values are derived from the package price. Editing a component price on the order does not change what the customer pays for the package.
Stock moves per component, not for the package as a unit.
Last updated 19.09.2026
Was this helpful?

