Skip to content

Courier and service selection rules: how Zaksio decides

Cash register, POS and shipments. Content verified: 12 October 2026.

Selection rules indicate which courier account and service an order should be shipped with. Thanks to them, the warehouse worker does not have to choose a courier manually every time. The choice is transparent and repeatable: the same order data always gives the same result.

What a rule consists of

  • "Rule name", "Priority" (a number from 0 to 100000, a lower number means it is checked earlier) and the "Rule active" switch.
  • Conditions: "Total weight from (kg)" and "to (kg)", "Max. weight of a single parcel (kg)", maximum parcel length, width and height in centimetres (this is the size), "Delivery countries", "Delivery" (to a pickup point, for example a Paczkomat, or to the door), "Cash on delivery" (only with COD or only without), "Sales channels", "Order value from and to (PLN)", "Warehouses" and "Customer delivery methods".
  • "Account and service": the courier account and service that will be used when the rule matches.
  • "Backup couriers (up to 5)": further account and service pairs, tried in turn if the main courier fails.

How a rule is chosen

  • Conditions are combined with "and": all those provided must be met, and empty fields restrict nothing.
  • Rules are checked by priority (by creation date in case of a tie), and the first matching one wins. Further rules are then skipped.
  • If the parcel size is unknown and the rule has a size limit, the rule does not match. We do not guess dimensions.
  • No matching rule is not an error but a decision for a person: the order gets a "needs decision" flag (shipping_rule_missing), and you choose the courier and service manually or add a rule. A manual choice clears the flag.
  • The "Why this courier" trail is saved with the parcel and is visible in its details and in the quote: you can see which rule won and why the earlier ones dropped out.

When we try a backup courier

A backup courier is used only when the main one fails in a way that does not risk a duplicate parcel: after availability errors with an HTTP code (5xx, 429), after authorisation errors, and when the courier deems the service unsupported or rejects the parcel. After a timeout, a lost connection or a data validation error (for example a wrong address) we do not switch to the backup: a timeout may mean the parcel was created after all, and a data error would repeat with every courier.

How to arrange rules

  1. Start with the most specific rules with a low priority number, for example "COD to a pickup point" or "abroad".
  2. Add a general rule with a higher number that catches the remaining orders, for example all domestic parcels up to a certain weight.
  3. Add backup couriers to the main rules if you have more than one account.
  4. Check the setup in the "Preview: what will happen for a sample parcel" section: enter sample data and see which rule wins. The preview is calculated in the browser using the same logic as the server, but it is a simulation: the final choice is always made by the server when the parcel is created.

Where to find it in the app

"Shipments" menu ("Warehouse" group), "Selection rules" tab, "Add rule" button. Viewing requires the shipping:read permission; changing rules requires the shipping:write permission. The shipping module is available when the shipping feature is enabled in the business profile. You add the accounts used by the rules in the "Courier accounts" tab.