Order lists and recurring carts
A maintenance buyer orders roughly the same forty articles every month: consumables, seals, filters, cleaning supplies. Making them search for those forty articles again each time is the fastest way to lose them back to the fax machine. An order list is that basket, saved, named and re-orderable in one click.
Why this is a core B2B feature
In B2C a wishlist is a nice-to-have. In B2B a saved list is the mechanism by which repeat business happens at all, and it does three things a cart cannot:
It survives. A cart is a shopping session. A list is a standing document — "Wartung Halle 3", "Erstausstattung Werkzeugwagen" — that a buyer maintains over years.
It is shared. One buyer builds the list; the three colleagues who actually order from it use it. That is how a Betriebsausstattung list works in a company with more than one person ordering.
It carries the buyer's own data. Cost centre, their internal article number, their position text. A list is not a list of your SKUs; it is a list of their articles, expressed in your catalogue.
What a list holds
| Field | What it is |
|---|---|
name | What the buyer calls it |
kind | The type of list — shopping and label ship as defaults, and the set is yours to extend |
shared | Visible to the whole organization, not only the owner |
owner_id, owner_name | The contact who owns it |
organization_id | Which organization it is shared within |
And per position:
| Field | What it is |
|---|---|
sku, product_id | The article. One of the two is required |
quantity, unit | How much, in what unit |
price, tax_rate | Captured when the position was added |
cost_center_id | Which budget this line is booked to |
custom_sku | The buyer's own article number for it |
position_texts | The buyer's own text — a machine number, a floor, a Kostenstelle note |
position | The order the lines appear in |
cost_center_id per position is the field that makes this genuinely B2B. One
list can span three departments, and Create order carries each cost centre
onto its order position.
Kinds of list
The kind is a configurable row, not a fixed set. Configuration › List kinds
holds them, each with a code, a title, translations, a badge tone and a default
flag. Two ship as defaults: shopping and label.
Add your own where a category of list means something different in your business — a template list your sales team pushes to customers, a seasonal list, a machine-specific parts list.
The kind flagged as default is what a new list gets when nobody names one. A market can override that with its own Default list kind setting, for the one market whose buyers keep a different kind of list.
Working with lists in the Cockpit
Lists are usually built by the buyer in your storefront. The Cockpit view is what your Innendienst uses to help.
Go to CRM › Order Lists. The list shows every list with its owner, kind, sharing and position count. Open one and you get the positions grid plus two conversion actions.
Add position on the positions grid adds an article. Use the action rather than editing rows directly: it applies the size cap and the article check.
The two conversions
A list exists to become something else.
Add all to cart puts every position into a cart:
| Option | What it does |
|---|---|
cart_id | An existing cart. Leave it empty and a cart is created for the list's owner and made their current cart |
mode | append merges the positions into what is already there; replace swaps the cart's contents for the list |
currency | The cart currency |
The answer reports how many positions were added and how many were skipped. Each cart line carries the price stored on the list position. The position's cost centre, article number and texts travel in the line's details; a cart line has no cost-centre field of its own.
Positions are added one by one. If adding fails partway, the lines already added stay in the cart and the answer reports the failure. Check the cart before you run the action again, or the first lines are added a second time.
Create order places an order directly from the list, with the buyer's
customer_order_number and the currency. Cost centres and position texts land
on the order positions' own fields.
The list's price is the price
A position stores the price captured when it was added, and both conversions use that stored price. Nothing is re-priced on the way: Create order books the order at the list's prices, and Add all to cart puts them on the cart lines.
That matters for old lists. A list built two years ago carries two-year-old prices, and turning it into an order books them. Before converting a list that has not been touched for a while, compare its prices with the buyer's current conditions, or rebuild the positions.
Sharing, and who may edit
shared makes a list visible to the owner's organization. Whether shared means
readable or editable is a tenant setting, and the default is read-only:
colleagues can order from the list, only the owner can change it.
Turn editing on where lists are genuinely team documents. Leave it off where one person is responsible for what the company buys — which is the more common Mittelstand arrangement.
Limits worth knowing
- A list holds up to 200 positions by default, and the cap is checked before a bulk replace deletes anything.
- A contact keeps up to 100 lists by default.
- Whether a position must name an article your catalogue knows is configurable, and so is what a conversion does with a line whose product has since been deleted — include it or drop it.
Both article checks fail open: if the catalogue cannot be reached, positions are accepted and conversions keep every line. A stale line is better than a list nobody can edit, and a silently shorter order is worse than a stale one.
What to check
- A converted list produced a cart or an order with the right number of positions, and the reported skip count is zero.
- Cost centres arrived on the order positions.
- The buyer's own article numbers and position texts survived the conversion.
- A shared list is visible to a second contact in the same organization, and not to anyone outside it.
Next
- Quick order and cart import — the other fast path into a cart.
- Cost centres — where the cost centre on a position comes from.