--- title: "Waveflow" slug: "waveflow" description: "Why is Waveflow important, and how to create a Waveflow? Step by Step guides containing all the information that you need to know to help you understand Canary7" updated: 2025-08-01T11:49:56Z published: 2025-08-01T11:49:56Z canonical: "help.canary7.com/waveflow" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.canary7.com/llms.txt > Use this file to discover all available pages before exploring further. # Waveflow # 🌊 Waveflow in Canary7 ## What is a Waveflow? A Waveflow is Canary7’s flexible post-wave processing engine. Once a wave is triggered from the **Shipment Planner**, Waveflow takes over β€” applying a customisable sequence of steps to each shipment in that wave. These steps shape what happens next: how inventory is allocated, how and whether shipments are split, when picking jobs are created, how carrier logic is applied, and whether shipments are auto-consigned β€” all before anyone lifts a scanner. πŸ“¦πŸ§  --- ## πŸ”„ How Waveflow Works Each Waveflow profile consists of **sequenced steps**. These are executed in order, and each step transforms the shipment or adds metadata to support downstream processes (like picking, packing, or dispatch). You can fully tailor this to your warehouse’s priorities β€” whether that’s speed, precision, carrier compliance, or zone-based optimisation. --- ## πŸš€ Why Use Waveflow? Waveflow helps you: - βœ… Streamline outbound operations - πŸ“‰ Reduce manual workload - πŸ“¦ Optimise how shipments are grouped, consigned, and picked - 🧠 Automate logic like rejecting unfulfillable shipments, assigning carriers, or creating job instructions Rather than relying on users to complete each action manually, Waveflow ensures it happens automatically in the correct sequence. ## πŸ” Accessing Waveflow To access Waveflow: - Go to the Navigation menu and search for **"Waveflow"**. - Or navigate to: **Configuration > Shipment Profile Setup > Waveflow** ## βž• Creating a New Waveflow Click on the Red Action Button![red action button](https://cdn.document360.io/4ed7d884-d42a-4c7e-a949-08033b57dc86/Images/Documentation/red%20action%20button.png), this will bring up a drop-down menu, and select "Add" ![add uom](https://cdn.document360.io/4ed7d884-d42a-4c7e-a949-08033b57dc86/Images/Documentation/image-1664033249991.png) To add a new Waveflow: - Click on the **Add** button. - Enter a **Name** for the Waveflow (e.g., `Standard B2C Flow`). - Optionally, add a **Description** for further context. - Save the header, then move to the **Details** tab to begin adding steps. ![enter name of wave flow](https://cdn.document360.io/4ed7d884-d42a-4c7e-a949-08033b57dc86/Images/Documentation/enter%20name%20of%20wave%20flow.png) Description is an optional field ### Add to the Wave Detail list Within the details tab, click on the red action button![red action button](https://cdn.document360.io/4ed7d884-d42a-4c7e-a949-08033b57dc86/Images/Documentation/red%20action%20button.png) and click on "add".![add wave detail list](https://cdn.document360.io/4ed7d884-d42a-4c7e-a949-08033b57dc86/Images/Documentation/add%20wave%20detail%20list.png) ### Select the Detail Option ![detail option select](https://cdn.document360.io/4ed7d884-d42a-4c7e-a949-08033b57dc86/Images/Documentation/detail%20option%20select.png) ### πŸš€ Waveflow Detail Options Explained | **Step** | **What It Does** | **Example / Notes** | | --- | --- | --- | | **Allocation** * | Allocates inventory to shipments using the **Allocation Rules** set on each shipment. | Required to move shipments from planned to allocated. | | **Carrier Firewall** | Checks if the **carrier is valid** for the shipment (e.g. based on weight, postcode, etc). | Helps avoid downstream consignment errors. | | **Split Detail Children** | Splits consolidated shipment details into **individual lines**. | Useful when items were combined during planning but need to be picked separately. | | **Add Consignment Pieces** | Marks allocated items as **pieces for consignment**, especially for bulky items. | Triggers piece-level labelling. | | **Add Batch Number** | Assigns **batch numbers** to allocated inventory. | Supports traceability for regulated or perishable items. | | **Create Job Instruction Groups** | Groups picking instructions across shipments to **reduce picker walking** and consolidate jobs. | Must also be enabled on the **Shipment Picking Profile**. | | **Split Shipment** | Breaks a shipment into **separate sub-shipments** based on job zones or allocation logic. | Especially useful in **multi-zone** warehouses. | | **Shipment Picking Job Creation** * | Creates picking jobs using the assigned **Shipment Picking Job Creation profile**. | Essential for generating picking tasks. | | **Load Assignment *** | Automatically assigns the shipment to a **load**. Options include: | - Assign to Oldest Load - Assign to Oldest Load of the Same Day - Assign a Load Per Shipment | | **Reject Part Allocation** | Returns **partially allocated shipments** to the pool. | E.g. Shipment needs 10 units, only 8 available β†’ rejected. | | **Reject Shipments Not Suitable for Consigning** | Removes shipments from the wave that don’t meet **consignment criteria**. | E.g. Weight too low or invalid postcode. | | **Consign to Carrier** | Automatically consigns the shipment using **Carrier Assignment Master**. | Great for **single-unit shipments** that can be labelled during picking. | | **Print Consignment Paperwork** | Prints **labels, packing slips**, and other documents **after consigning**. | Occurs after the *Consign to Carrier* step. | | **Consolidate Detail Child** | Merges similar lines that differ by **location, batch, or UoM** into a single line for picking. | Helps streamline picking when items are functionally the same. | | **Dispatch Held** | Holds the shipment from being dispatched. Depends on **Company Profile settings**. | Often used for manual review or customer-specific dispat | ### ****Note:** Options marked with * are essential for Waveflow to function correctly.** ## ⚠️ Which Steps Are Mandatory? To ensure your Waveflow functions correctly, you **must include**: - βœ… **Allocation** - βœ… **Shipment Picking Job Creation** - βœ… **Load Assignment** The rest are optional and should be used based on your business process and customer requirements. ## πŸ’‘ Example Use Cases ### Example 1 – Simple B2C Fulfilment - Allocation βœ… - Add Consignment Pieces - Consign to Carrier - Print Consignment Paperwork - Shipment Picking Job Creation βœ… Great for small parcel orders that skip packing β€” the label is printed at the pick face. --- ### Example 2 – Complex Multi-Zone Orders - Allocation βœ… - Consolidate Detail Child - Split Shipment - Create Job Instruction Groups - Shipment Picking Job Creation βœ… Ideal for orders with multiple SKUs across zones, improving cluster picking performance. --- ## βœ… Saving and Applying - Click **Apply** after adding each detail option. - You can add multiple Waveflow steps in the exact order you want them to be executed. --- ## 🧠 FAQs **Q: What happens if I don’t include Allocation?** A: The system will not assign inventory, so nothing can be picked. **Q: Can I use Reject Part Allocation and Consigning together?** A: Yes β€” this ensures only fully allocated, consignment-eligible shipments proceed to label printing. **Q: Does the order of steps matter?** A: Yes. For example, you must **Consign to Carrier** before you **Print Consignment Paperwork**. Click on the Apply Button![apply](https://cdn.document360.io/4ed7d884-d42a-4c7e-a949-08033b57dc86/Images/Documentation/apply.png) to add your detail option, and add as many of them that are needed for your specific use case. A check to see if the carrier is suitable for the shipment. It takes a shipment with multiple detail children and puts each into 1 child. It produces the pick job within the waveflow. Where the shipment is assigned to a load. Checks to see if the Shipment has been correctly allocated, if not, it will send the Shipment back to the pool. If set by the company of the shipment, no picks of the shipment will occur unless it is left unchecked.