Skip to content

Courier parcels: creation, labels and tracking

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

A courier parcel is created from a packed picking job. Zaksio chooses the courier according to the rules, creates the parcel with the courier, saves the tracking number and label, and then tracks the status itself and updates the order.

Creating a parcel

  1. Pack the job in picking. It goes to the "To ship" list.
  2. Click "Create parcel". The window shows the services chosen by the rules and the reason for the choice ("Why not other rules"). You can also select the account and service manually.
  3. Check "Parcels" (weight and dimensions), optionally the pickup point (for example a Paczkomat), insurance, "Dispatch date" and label format (PDF by default).
  4. Use "Get quote" if you want to see the price, and then create the parcel. The job disappears from the "To ship" list, and the parcel appears in the "Parcels" tab.
  • Creation is idempotent: there is one active parcel per job. Creating it again returns the existing one and does not make a duplicate.
  • The price is returned via API by InPost, DHL Parcel Polska, DHL Express and UPS. For GLS you will see "per contract", because we do not guess the amount.
  • Cash on delivery is not set in the window: it comes from the order (see the article on cash on delivery for details).

Labels

You can download the label in the parcel details as PDF or ZPL. The PDF goes to the document archive (visible in the documents module), and the ZPL is stored in the database and is used by label printers. You print the downloaded file on your own label printer. A missing label right after creation does not lose the parcel: it can be downloaded later.

Tracking and order status

  • InPost sends statuses via webhook. You can copy the address with the secret token from the account card ("Webhook" button). As a safeguard, we also poll InPost every 6 hours.
  • The other couriers are polled periodically, approx. every 30 minutes. "Refresh tracking" asks the courier immediately.
  • The first transport event (for example pickup from the sender) ships the packed job automatically: a goods issue, reservations and cost of goods are created.
  • Delivery of all parcels in the job sets the order as delivered. Failed delivery, an exception or return to sender sets the order as "needs decision".
  • Final statuses are not reverted by late events, and older events go only to the log.

Errors, retries and cancellation

  • When the courier rejects a parcel, it gets the status "Creation error" with a message that contains no secrets. Zaksio retries on its own (up to 5 attempts, with intervals of 2, 4, 8 minutes and so on, up to 1 hour), and then the order gets "needs decision" (shipping_failed). You can retry manually with the "Retry creation" button.
  • "Cancel parcel" works until the courier has collected it. DHL Express does not allow cancelling via API: cancel in the courier's panel instead.
  • A "Pickup protocol" ("Pickup protocols" tab, "Close the day and order pickup" button) closes the dispatch day and orders pickup of the account's new parcels, excluding returns. Not every courier returns a PDF protocol or a pickup order via API.
  • Return parcels and return labels are described in the article on cash on delivery and returns.

Where to find it in the app

"Shipments" menu ("Warehouse" group): "Parcels", "To ship" and "Pickup protocols" tabs. Viewing requires the shipping:read permission; creating, cancelling and retrying require the shipping:write permission. The shipping module is enabled by the shipping feature in the business profile.