Skip to content
Auboros

Odoo Pick, Pack and Ship: How to Set Up One, Two and Three-Step Deliveries for Australian Wholesalers

Odoo pick, pack and ship is one warehouse setting: Outgoing Shipments on 3 steps creates Pick, Pack and WH/OUT transfers. Setup, batch picks, AU labels.

By Josh Craig, Managing Director, Auboros ·

Odoo pick, pack and ship is the three-step outgoing route. Turn on Multi-Step Routes, set the warehouse’s Outgoing Shipments to “Pick, Pack, then Deliver (3 steps)”, and every confirmed sales order creates a pick, a pack and a WH/OUT delivery that move stock through WH/Packing Zone and WH/Output. It is standard in Odoo 18, 19 and 20, Community and Enterprise, as at 21 October 2026.

At a glance

  • Who it is for: Australian wholesalers and ecommerce businesses on Odoo that ship parcels or pallets every day and have more than one person in the warehouse.
  • Problem it solves: one person picking, packing and validating from the same screen, with no record of what left the shelf, what went in the box and what the courier collected.
  • Platforms: Odoo 18 to 20 Inventory (multi-step routes, batch, wave and cluster picking are in Community and Enterprise); the Starshipit connector for Australian carriers is an Enterprise module.
  • Typical cost: (AUD ex GST) no extra Odoo licence for any of the picking features; Starshipit is a separate subscription priced on starshipit.com, and the configuration work sits inside our Odoo implementation cost in Australia packages rather than being quoted on its own.
  • Typical timeline: in our projects, a day to configure three-step delivery, packages and a carrier on a test database, then one to two weeks of running it on real orders before the warehouse team stops reaching for the old pick sheet.
  • Last verified: 21 October 2026 against the Odoo 19 three-step delivery documentation and the Odoo 20 edition of the same page.

What do one, two and three-step deliveries change in Odoo?

Out of the box, Odoo ships in one step. A confirmed sales order creates one delivery order, WH/OUT, and validating it moves the stock straight from WH/Stock to the customer. The Odoo 19 daily operations page says that suits small warehouses, low stock levels and non-perishable goods. For a trade counter or a business that ships ten orders a day, it is enough.

Two steps adds a pick. Stock moves from WH/Stock to a new WH/Output location on a WH/PICK transfer, and the delivery order then moves it from WH/Output to the customer. Three steps adds a pack in the middle: pick into WH/Packing Zone, pack into WH/Output, then deliver. The Odoo documentation is candid that separating picking and packing adds a validation at each step, which is redundant if one person does both jobs. That is the honest rule for choosing: add a step only when a different person, or a different time of day, owns it.

Table: Odoo outgoing shipment options compared, from the Odoo 19 and 20 documentation as at 21 October 2026
Setting on the warehouseLocations createdTransfers per sales orderWhere a carrier label can printFits well
Deliver (1 step)None beyond WH/StockWH/OUT onlyOn validation of WH/OUTSmall teams, low order counts, one person picks and ships
Pick then Deliver (2 steps)WH/OutputWH/PICK, then WH/OUTOn the Pick operation type (Print Label) or on WH/OUTA picker and a dispatcher, orders consolidated before the courier run
Pick, Pack, then Deliver (3 steps)WH/Packing Zone and WH/OutputPick, Pack, then WH/OUTOn Pack or WH/OUT; one label per packageA packing bench with its own staff, multi-carton orders, carrier labels per box

The choice is per warehouse, and incoming and outgoing can differ. A wholesaler can receive in two steps and ship in three, which is the setup we see most often for businesses with a goods-in dock and a separate packing bench.

How do you set up three-step delivery in Odoo?

The whole setup is four screens, and the Odoo 19 three-step delivery page walks through each. The Odoo 20 page describes the same steps.

  1. Turn on Multi-Step Routes. Inventory, Configuration, Settings, Warehouse section. Ticking it also turns on Storage Locations.
  2. Set the warehouse to three steps. Inventory, Configuration, Warehouses, open the warehouse, and under Outgoing Shipments choose “Pick, Pack, then Deliver (3 steps)”. That is the label in the Odoo 19 and 20 source; the documentation screenshots still show the older wording “Pack goods, send goods in output and then deliver (3 steps)”, and it is the same option. Odoo creates WH/Packing Zone and WH/Output, which you can rename under Configuration, Locations.
  3. Confirm a sales order and watch the Delivery smart button. It opens the pick first. Once the pick is validated the Pack card on the Inventory Overview shows the packing order, and once that is validated the WH/OUT delivery is ready. The smart button then shows all three transfers.
  4. Validate in order. Pick moves stock from WH/Stock to WH/Packing Zone, Pack moves it to WH/Output, WH/OUT moves it to Partners/Customers. Each validation is where a different person’s work is recorded.

Two settings are worth turning on at the same time. Packages, under Inventory, Configuration, Settings, Operations, gives the packing bench a Put in Pack button and a Destination Package column; without it the pack step is just a second validation. And Barcode Scanner, in the same settings page, lets each step be scanned rather than clicked, which is the point of separating them. Our Odoo inventory management overview covers what else the Inventory app brings for Australian businesses.

Batch, wave or cluster picking: which one fits your warehouse?

Once picking is its own step, Odoo can group picks. All three methods sit behind one checkbox, “Batch, Wave & Cluster Transfers”, under Inventory, Configuration, Settings, Operations, and all three need Storage Locations and Multi-Step Routes on. They solve different problems.

  • Batch picking groups whole transfers so one picker walks the warehouse once for several orders. The batch picking documentation shows two ways to build a batch: Prepare Batch from the operation type’s card, or select transfers in the list and choose Add to batch. Automatic Batches on the operation type can group by Contact, Carrier, Destination Country, Source Location or Destination Location, and only one batch is created even if several criteria are ticked. Validating with Done below Reserved offers Create Backorder, No Backorder or Discard.
  • Wave picking groups parts of transfers rather than whole ones. The wave transfers page describes it as splitting transfers before grouping them, so one wave can be all the pallet-rack lines and another the shelf lines, each assigned to a different employee. Automatic waves group by Product or Product Category.
  • Cluster picking is batch picking with a package per order on the trolley. The cluster picking page needs Packages on as well, and a package type whose Package Use is set to Reusable Box. The picker sets the Destination Package for each order’s lines in the Detailed Operations tab as they go, so sorting happens during the pick rather than at the bench. Odoo’s own note is that it suits high order volumes and that urgent orders cannot jump the queue once a cluster is built.

For a typical Australian wholesaler shipping 50 to 300 orders a day, batch picking grouped by Carrier is the usual first move, because it lines the picks up with the afternoon courier pickups. Wave and cluster earn their keep when the SKU count or the order mix makes a single walk inefficient.

How do you pack orders and print Australia Post labels from Odoo?

Packing in Odoo is the Packages feature doing its job. On the pack transfer, Put in Pack creates a package and assigns every line to it; for multi-carton orders, the Details link on each line lets you set a Destination Package and split one product across several boxes, which the multi-package shipments page steps through. Package types, under Inventory, Configuration, Package Types, carry the empty carton’s weight and dimensions, and the packages documentation says their main use is calculating shipping cost from real shipping weight.

Labels come from the delivery method. Set the carrier’s Integration Level to “Get Rate and Create Shipment” and Odoo requests a tracking number and posts the label PDF in the chatter when the delivery is validated, one label per package. For two and three-step warehouses, the print shipping labels page says to tick Print Label on the operation type where you want it to print, which is usually Pack. The Tracking Reference then sits on the delivery’s Additional Info tab, and the Tracking smart button opens the carrier’s page.

For Australian carriers the connector is Starshipit. Odoo’s third-party shipper list marks it as the connector for Australia and New Zealand, alongside DHL Express, FedEx and UPS for everywhere. The Starshipit setup page names Australia Post, NZ Post and DHL as examples, and the setup is a Starshipit account with couriers, pickup address and rules configured, then a delivery method in Odoo with the Starshipit API Key, Subscription Key, Origin Address and a Default Package Type. Three caveats from that page matter in practice:

  • Weight is yours to get right. The package weight is product weights plus the saved empty package weight, and Odoo does not check it, so a product catalogue with blank weights produces wrong rates and rejected labels.
  • Returns depend on the courier. The documentation lists Australia Post eParcel, TNT, Couriers Please, Aramex, StarTrack, DHL Express and NZ Post Domestic as supporting return labels from the delivery order’s Return button.
  • Cancelling in Odoo archives the order in Starshipit but does not cancel it with the courier, and Starshipit has no test keys, so a label created while testing can be charged.

Carrier setup, label printers and anything that connects Odoo to a 3PL or a warehouse scanner fleet is work we scope under our Odoo integration services, because the connector is the easy part and the weights, package types and printer rules are where projects stall.

Three-step delivery is a people decision dressed up as a setting. If the same person picks, packs and books the courier, leave it at one step and spend the money on barcodes. The moment a second person owns the bench, three steps pays for itself in the first week of missing-item disputes it settles.

Josh Craig, Director, Auboros

What goes wrong when Australian wholesalers turn on three steps?

The setting is simple. The habits around it are not, and these are the five failures we see most often.

  • Validation theatre. One person clicks Validate three times from the same screen. Odoo’s own documentation calls this redundancy, and it produces three timestamps with no information in them. Fix the roster or go back to one step.
  • Backorders nobody owns. A partial pick in a batch creates a backorder transfer that drops out of the batch. Someone needs the Back Orders filter on the Delivery Orders card in their morning routine, or short-shipped lines sit for days.
  • Packages that never move as packages. If the Barcode app is in use, “Move Entire Packages” on the operation type is what lets a scanned package carry its contents to the next step. Without it, the pack step rebuilds the package from scratch.
  • Pricelists and freight charged twice. Freight invoiced from the carrier’s rate and freight entered manually on the quote both land on the invoice unless the delivery product and the Invoicing Policy on the delivery method are set deliberately. Odoo’s shipping cost invoicing page covers the choice between estimated and real cost.
  • Stock that was never there to pick. A pick that cannot reserve stock is a replenishment problem, not a warehouse one. Reordering rules with a sensible minimum and maximum stop the picker finding out first.

What changed for pick, pack and ship in Odoo 20?

The three-step route itself did not change: the Odoo 20 documentation describes the same Multi-Step Routes setting, the same warehouse option and the same WH/Packing Zone and WH/Output locations as Odoo 19. The changes are around it. Our Odoo 20 inventory and manufacturing post covers the Barcode app’s batch receipts and pre-encoded packages, and the Odoo 20 light user post explains what warehouse staff who only scan and validate can do on the cheaper licence, which changes the cost of giving every picker a login.

If pick, pack and ship is the reason you are looking at Odoo at all, start with the industry view. Our ERP for wholesale distribution in Australia page sets out how stock, margins and channels fit together on Odoo or MYOB Acumatica, and this post is the warehouse chapter of it.

Goes well with

Setting up pick, pack and ship in Odoo for a Queensland warehouse

We configure multi-step deliveries, batch picking, packages and Australian carrier labels for wholesalers across Brisbane, the Gold Coast and the rest of Queensland, and we will tell you if one step and a barcode scanner is all your warehouse needs. If you want a second opinion on your outbound setup before go-live, book a free consultation. We will look at your order volumes and your roster before we recommend a route.

FAQ

Frequently asked questions

How do I set up pick, pack and ship in Odoo?

Go to Inventory, Configuration, Settings and turn on Multi-Step Routes, then open your warehouse under Configuration, Warehouses and set Outgoing Shipments to Pick, Pack, then Deliver (3 steps). Odoo creates the WH/Packing Zone and WH/Output locations, and every confirmed sales order then generates a pick, a pack and a WH/OUT delivery to validate in order.

Is three-step delivery available in Odoo Community?

Yes. Multi-step routes, packages and batch, wave and cluster transfers are part of the Inventory app in both Community and Enterprise. The third-party shipping connectors, including Starshipit for Australian carriers, are Enterprise modules, so a Community site prints carrier labels through the carrier's own portal or a separate integration.

Does Odoo integrate with Australia Post?

Through Starshipit. Odoo's documentation lists Starshipit as the shipping connector for Australia and New Zealand and names Australia Post, NZ Post and DHL as example couriers. Rates, labels and tracking numbers come back to the delivery order once the Starshipit API key, subscription key, origin address and a default package type are configured on the delivery method.

What is the difference between batch, wave and cluster picking in Odoo?

Batch picking groups whole transfers so one picker collects several orders in one walk. Wave picking splits transfers first and groups the parts, for example all pallet-rack lines in one wave. Cluster picking is a batch with a package per order on the trolley, so sorting happens during the pick. All three sit behind the Batch, Wave and Cluster Transfers setting.

When should a wholesaler stay on one-step delivery in Odoo?

When the same person picks, packs and books the courier. Odoo's own documentation notes that separating picking and packing adds a validation at each step that is redundant if one person does both. Add a second step when a picker and a dispatcher are different people, and a third when a packing bench has its own staff or orders regularly ship in several cartons.

Want help with your own implementation?

We're a Brisbane-based Odoo Silver Partner and MYOB Acumatica Partner. Book a free consultation and get a straight answer.