Model Data Exploration Guide

A hands-on walkthrough for the eWAVE Test company: configure a warehouse from scratch using a real four-rack layout, then run one order all the way from receiving to a closed shipment — desktop and mobile screens both included, in the order you'd actually use them.

4-Rack distribution center simulation

Overview

This guide is a companion to the eWAVE User Guide — that guide explains what each concept means; this one walks you through doing it, end to end, in a fresh Test company. Follow the sections in order — each step's output (an ASN, an LPN, an order, a wave) feeds the next one.

1 Setup2 Master Data3 Receive (Desktop)4 Receive (Mobile) 5 Putaway Rule6 Putaway7 Order8 Fulfillment Rule 9 Run Wave10 Allocation11 Pick12 LPN/Transactions 13 Pack14 Weigh/Route15 Background Job16 Load/Dock 17 Load Carton18 Close Load19 Close Manifest20 Close Shipment
⚠ Before you begin Switch your active company to Test using the company switcher (top right) before touching any menu below — location, product, and rule data are company-scoped. You'll also need the Super User role (ewave.group_ewave_super) for the Configuration menus; see the Security & Roles section of the User Guide if menus are missing.

Sample Warehouse Layout

Every location you create in this walkthrough mirrors the reference four-rack distribution center below. Recreate it exactly to follow the guide step-by-step, or treat the codes as a template and substitute your own.

Four-rack distribution center simulation — floor plan showing Office, Receiving, Storage racks A–D, Picking, Packing Station, and Shipping Dock

Four-rack distribution center simulation — the reference layout this guide's Test-company location data is modelled on.

Zones

Office

Administrative area — no inventory locations.

Receiving

Inbound dock/staging area where ASNs are received.

Storage

Racks A–D — bulk and SKU-tracked putaway locations.

Picking

Pick face along the racks, worked by Replenishment Picking.

Shipping

Outbound dock — Shipping Dock (SHIP01).

Racks & Location Codes

RackLocation Codes
Rack A101A01101A07 and 102A01102A07
Rack B102B01102B07 and 103B01103B07
Rack C302C01302C07 and 303C01303C07
Rack D301D01301D07 and 302D01302D07

Other Reference Points

PointCode
Shipping DockSHIP01
Packing StationPCK001
Vehicles / cartsVH001VH003
1

Warehouse Setup

Everything below lives under Settings and Configuration — you'll only do this once per company.

Location Code Settings

DESKTOPeWAVE Configuration Settings eWAVE tab

Under eWAVE Location code segment settings, decide which of the six barcode segments your warehouse uses — Area, Zone, Aisle, Rack, Level, Bin — and how many characters each one is. For the sample layout, the codes are <Aisle/Bay><Rack><Level> (e.g. 101A01), so enable Aisle, Rack, and Bin/Level and leave Area/Zone off if you don't need that extra granularity.

⚠ Set this first These toggles lock permanently once a single ewave.locations record exists in the company. Get the segment structure right before you create any location.

Location Types & Areas (SKU vs. LPN)

DESKTOPeWAVE Configuration Inventory Location Location types

eWAVE ships 13 seeded location types you'll reuse rather than rename — the ones relevant to this walkthrough are inventory, receiving_dock, shipping_dock, packing, and vehicle. You don't configure "an LPN area" or "a SKU area" on the type itself — tracking type (SKU or LPN) and allocation type are set per location range when you generate locations in the next step. A rack can be all-SKU, all-LPN, or split into ranges of each.

Add Locations Wizard — Generate the Racks

DESKTOPOpen the inventory Location Type button "Add a location range"

This bulk wizard is how you'll create Racks A–D in one pass each, rather than one location at a time.

  1. Location type — leave as inventory.
  2. Tracking type & Allocation type — choose SKU for a shared-slot rack (many LPNs of the same product can share the location) or LPN for a single-container-per-slot rack. This choice is what makes a range a "SKU area" or "LPN area."
  3. On the Location Range page, fill only the segments you activated in Settings. To reproduce Rack A: From Aisle 101, To Aisle 102, From Rack A, To Rack A, From Bin 01, To Bin 07. Repeat the wizard for Racks B, C, and D using the codes from the layout table above.
  4. Capacity page (optional) — set Maximum weight, Maximum volume, Maximum quantity, Maximum no of cases if you want capacity checks enforced.
  5. Groups page (optional) — assign a Putaway group / Allocation group / Replenish group if this rack range should be targeted by a location-group rule line (see Check the Putaway Rule).
  6. Click Confirm. Repeat for the Receiving dock (receiving_dock type, code SHIP01-style single location) and Shipping dock (shipping_dock type, SHIP01).

Vehicles & Packing Station

Neither of these is a separate setup screen — both are ordinary ewave.locations records distinguished only by their Location Type:

  • Vehicles / carts — run the Add Locations wizard again with Location type = vehicle to create VH001VH003. These are what the mobile Replenishment Picking screen's "Scan Vehicle/Cart" step scans against.
  • Packing Station — create one location with Location type = packing (PCK001). Then decide whether pickers are routed there automatically: open Configuration → Settings → "Manage parameters" and, on the relevant Pick Orders context-parameter record, set packing_station = y ("System leads user to packing station") or n ("User decides when to go to packing station").
2

Product, Vendor & Customer

You need at least one of each before you can receive or ship anything.

Product

DESKTOPeWAVE Configuration Inventory Products New

Fill in the standard Odoo product fields (name, barcode, unit of measure), then open the eWAVE tab added to the product form:

FieldPurpose
Putaway ruleWhich Move Type (category Putaway) resolves this product's storage location. Leave blank to fall back to the default XPUT000 rule.
Fulfillment ruleWhich Move Type (category Fulfillment) allocates this product for outbound orders. Defaults to XFUL000 if blank.
Replenishment ruleWhich Move Type governs replenishment for this product. Defaults to XRPL000.
Carton checkEnforce carton-compatibility checks during packing.
Freight classFreight classification used by rate lookups in ewavet.
Manufacture codeFree-text manufacturer reference.

For this walkthrough, leaving all three rule fields blank is fine — the walkthrough uses the seeded default rules XPUT000 / XFUL000 / XRPL000.

Vendor & Customer

DESKTOPeWAVE Configuration Vendors / Customers

These menu items open the standard Odoo Contacts screens — eWAVE adds no extra fields to res.partner. Create one vendor (you'll receive an ASN from them) and one customer (you'll ship an order to them).

3–6

Inbound — Receive & Putaway

One ASN, received once on desktop and once on a mobile device, then put away.

3. Receive Your First Product — Create a SKU-Level ASN (Desktop)

DESKTOPeWAVE Receiving ASN New
  1. Set ASN type to SKU (radio buttons on the form).
  2. Select your Vendor.
  3. Add an ASN line: your product and an expected quantity.
  4. Save, then click Initiate in the header. Status moves from 10 Created to 20 Initiated — the ASN is now ready to receive against.

4. Receiving Using a Mobile Device

MOBILEMobile Home Inbound Receive Shipment SKU-level ASN Receive & Create LPN

Scan or enter the ASN reference from step 3, then scan the product and quantity (capturing batch/lot/serial/expiry if your context parameters require them). Confirm — this creates a new LPN at status 10 Received without putting it away, so you can inspect the putaway rule before it moves.

💡 Why not "Receive & Putaway"? The tile group also offers Receive & Putaway, which does both in one screen. This guide uses the separate Receive & Create LPN tile on purpose, so steps 5 and 6 below stay distinct and inspectable.

5. Check the Putaway Rule

DESKTOPeWAVE Configuration Inventory Move rules Putaway

Open the seeded XPUT000 record ("Putaway Move Reference") — or your product's own Putaway rule if you set one. Review its rule lines: each is a Reference location, Exact location, Location range, or Location group line, evaluated in priority order. This is the rule the four-pass cascade (single-SKU → mixed-SKU, each with/without a location hint) will apply in the next step — see Putaway in the full User Guide for the algorithm diagram.

6. Putaway to a SKU Location

MOBILEMobile Home Inbound Putaway | or | DESKTOPInventory by LPN select the LPN button "putaway"
  1. Scan the LPN created in step 4.
  2. The engine resolves a destination using the rule from step 5 — for a SKU-tracked slot in Rack A, expect something like 101A01.
  3. Scan/confirm the suggested location.
  4. LPN status moves to 30 At location. If the destination is SKU-tracked and another LPN of the same product is already there, eWAVE merges the two LPN detail records automatically.
7–10

Outbound — Order, Rule & Wave

Create the order the same product you just received, then run it through a wave.

7. Create Your First Outbound Order

DESKTOPeWAVE Shipping Outbound orders New
  1. Set Customer (partner_id) and, if different, the freeform ship-to address fields.
  2. Add an order line: the same product you received, quantity ≤ what you putaway.
  3. Save. The order starts at status 10 Open.

8. Check the Fulfillment Rule

DESKTOPeWAVE Configuration Inventory Move rules Fulfillment

Open XFUL000 ("Fulfillment Move Reference") — this governs which locations the wave allocates from. Separately, open eWAVE → Shipping → Fulfillment rules and run wave — the same screen manages both reusable Wave Run Rules (status 00) and the actual wave executions generated from them. Create or confirm a rule record here before running a wave in the next step.

9. Run the Wave — Without Auto Packing or Routing

DESKTOPeWAVE Shipping Fulfillment rules and run wave

On your Wave Run Rule record, the three pipeline stages are controlled by sequence fields, not simple checkboxes:

FieldGroupFor this walkthrough
allocation_sequenceAllocateLeave at 1 (required — this is the step you want to observe).
cubing_sequenceCubeSet to 0 — Do not run to disable auto-packing/cubing.
routing_sequenceRouteSet to 0 — Do not run to disable auto-routing.

Select your order (via the order filter/domain field), then click the "Run wave" button (only visible while wave_status = 00). You'll see a confirmation that the request was submitted to the background job queue — a new run record is created at wave_status = 10 and picked up by the ewave: Run inventory fulfilment for outbound orders cron, which runs every 10 minutes.

💡 Why skip cubing and routing? With both set to "Do not run," the wave stops after allocation — giving you a clean checkpoint to inspect the allocation before packing/shipping logic touches it. Turn them back on for a normal production wave.

10. Check the Allocation Status

DESKTOPeWAVE Shipping Allocations

The default view filters to "Open allocations." Find the allocation record created by your wave and watch its status progress: OpenIn PickingOn VehicleOn HoldCompleted (or Deleted if cancelled).

11–13

Fulfillment Floor — Pick, Verify, Pack

Back to mobile devices for the physical work, with a desktop check in between.

11. Pick the Order Using the Mobile Device

MOBILEMobile Home Replenishment Replen Picking
  1. Scan Vehicle/Cart — e.g. VH001.
  2. Scan Start Location.
  3. Scan Pick Location — the location the allocation points to (Rack A, if that's where you put it away).
  4. Scan LPN.
  5. Scan Product / Qty — governed by the scan_each context parameter (y = scan every unit, n = scan once and enter quantity).

Confirming the pick updates the allocation to On Vehicle (or the next stage) automatically.

12. Check Inventory Status — LPN View & Transaction Log

DESKTOPeWAVE Inventory Inventory by LPN | and | eWAVE Inventory Transactions history

Open Inventory by LPN, find your LPN, and confirm its status and current location reflect the pick. Click its History button (or open Transactions history directly — it defaults to an inventory-movement filter) to see the full chain of transaction records this walkthrough has generated so far: LPN created, received, putaway/located, and picked.

13. Pack the Order — Non-Cubed Mobile

MOBILEMobile Home Outbound Pack Non-Cubed

Scan or generate a carton number, then manually assign the picked items to the carton. Confirm to pack — this writes 7001 Carton created and 7003 Carton packed transaction records (see Packing in the User Guide for the full carton lifecycle table).

14–20

Ship & Transport

Weigh, wait for the background job, load the truck, and close everything out.

14. Enter Weight & Route

MOBILEMobile Home Outbound Weigh & Ship Carton

Scan the carton, enter its Weight, and select a Ship via (route/carrier service). If you'd rather do this from a desk, the same fields are exposed in eWAVE → Configuration → Debug → Ship and Manifest Wizard data as carton_id, weight, and ship_via_id.

15. Wait for the Weigh & Manifest Background Job

Entering weight/route doesn't ship the carton immediately — it queues a record (record_status Waiting/Valid/Error) for the ewave: Run weigh shipment and manifest cartons cron, which runs every 10 minutes and generates/updates the Shipment and Manifest records.

💡 Don't want to wait? A Super User can open Ship and Manifest Wizard data directly and click Post on the queued record to process it immediately instead of waiting for the next cron tick.

16. Create a Load and Assign a Dock Door

DESKTOPeWAVE Transportation Loads New

Set the Dock door field (e.g. SHIP01). Save — the load starts at 10 Open and moves to 20 At Dock once the door is assigned.

17. Load the Carton Using the Mobile Device

MOBILEMobile Home Outbound Load Carton

Depending on the load_number context parameter, you'll position by dock or by load — scan accordingly, then scan the carton from step 14 to load it onto the trailer.

18. Close the Load

DESKTOPeWAVE Transportation Loads open your load button "Close"

Closing sets load_status = 80 Load Closed, clears the dock door assignment (freeing it for the next load), and logs a closing transaction.

19. Close the Manifest

DESKTOPeWAVE Transportation Manifests open the manifest from step 15 button "Close"

Sets manifest_status = 80.

20. Close the Shipment

DESKTOPeWAVE Transportation Shipments open your shipment button "Close Shipment"

eWAVE validates the shipment is actually ready to close (carton loaded, manifest closed, etc.) before setting shipment_status = 80 — if something's missing, you'll get a notification explaining what, rather than a silent failure.

🎉 That's the full lifecycle You've now taken one product from an empty Test company through receiving, putaway, an outbound wave, picking, packing, weighing/manifesting, loading, and a closed shipment — on both desktop and mobile. For deeper reference on any status code, rule type, or context parameter used above, see the full eWAVE User Guide.