BC:

Question:

Article:

can CO Allocation be all-or-nothing?

Categorized as:

M3

We have a customer who does not want partial fulfillment of any line; if they order 100 units, they want to either receive 100 units or 0 units. I'd like to set M3's allocation process to check this automatically: if during allocation the line cannot be fully allocated, don't allocate anything to it. However, in all my reading of M3's allocation settings, I haven't come across anything that looks like it would have this effect.

Does anyone else know how this could be done, or  Read more...will we have to make it a manual process?

Thanks,
Elliott Show less...
Delivered Read
Categorized as:
M3
Customer Order
Group: *MUGA
Comments (7) (Descending Chronological Order)
There are no comments at this time, be the first to comment
BC:
Jeremy,

Thank you! That does exactly what I needed!

Thanks,
Elliott
BC:
You should only need to setup MMS123/124 then--maybe based on something like order type, customer, facility, etc.--and set the 'Allocation Minimum Percentage' to 100.
BC:
Dave,
Regarding the source of my information:
I’ve compiled several PDFs from Infor Campus, which are stored on a SharePoint site. To streamline access, I created a simple AI agent using Copilot 365. This allows me to input your original question and quickly retrieve relevant results.
Examples of Infor documentation referenced:

M3 Supply Chain Execution User Guide
M3 Configuring Warehouse Management and Distribution Orders in Cloud Edition Workbook
 Read more...M3 v13x Configuring Purchase Orders Workbook (PP) Show less...
BC:
Jeremy, the preference would be that line 1 is fully allocated and line 2 is not allocated at all. We have another process that comes through and cancels unallocated lines for certain order types. An order confirmation would notify the customer that line 2 cannot be fulfilled right now. We'd ship line 1 and the customer would place a new order for line item 2 in the near future.

Pete, thanks very much for that chunk of information. I am a bit concerned because we do not use  Read more...lot control so we can't set allocation method to 5 in MMS002/G, and we do normally use automatic allocation so it appears that we can only put the lines on hold, not de-allocate them (otherwise I guess they would just go around again and again every time automatic allocation runs), but I'll try to read up on it and see if I can set up and run some tests. (Can you tell me how you found that info, or where I would find it? I've done a few more searches within M3 Companion but it isn't coming up with anything that looks like your post.)

Jonathan, thanks for the heads-up on invoicing. Fortunately we switched to summary invoicing as our standard a few years ago, so I hope we won't have any issues, but I will make sure to confirm that if/when we do get the main process to work.

Thanks again to all of you,
Elliott Show less...
BC:
I agree with Pete. I use joint delivery settings (M3 Multi-tenant) and this is the setup you probably need. I will also add from experience your end users or your order type will need to reflect the correct invoice settings if they also expect 1 invoice instead of partial invoices (Summary invoice = 4)
BC:
This is what I found in documentation:
To configure Infor M3 so that **customer order lines are only allocated if the full quantity is available**, and **no partial allocations are made**, you can leverage **Joint Delivery Rules** and **allocation method settings**. Here's how to approach this:

✅ **Recommended Configuration Steps**

1. **Use Joint Delivery Rules to Enforce Full Line Allocation**

Joint Delivery Rules allow M3 to check whether a  Read more...group of order lines meets completeness criteria before releasing them for dispatch. If the criteria are not met (e.g., full quantity not available), the system can **de-allocate or hold** the order lines.

* **Programs to configure:**
* `CMS016`, `CMS017`: Define object control parameters.
* `MWS125`: Define joint delivery rules.
* `MWS180`: Start joint delivery testing.
* `MWS181`: Perform actual completeness checks.

* **Behavior:**
* If the group of lines (e.g., same style or color) is not fully allocated, M3 can **de-allocate or hold** the lines.
* This ensures that **only fully allocated lines are dispatched**, aligning with your customer’s requirement of receiving either **100 units or none**.

* **Outcome:**
* Lines that do not meet the completeness criteria are **not dispatched**.
* Stock is freed up for other orders if the joint delivery fails the completeness check.

2. **Set Allocation Method to Prevent Partial Allocation**

In `Item. Connect Warehouse (MMS002/G)`, configure the **Allocation Method** to enforce strict allocation behavior.

* **Key Fields:**
* `Allocation Method`: Use method `5` for **automatic allocation using the allocation table**, requiring the **total required quantity to be allocable on the same lot**.
* `Minimum Quantity` and `Normal Storage Quantity` in `MMS057/E`: These can be used to enforce allocation in full multiples (e.g., full pallets).

* **Additional Settings:**
* In `CRS701/E` (Settings – Allocation Control), configure:
* `Block manual allocation` to prevent manual overrides.
* `Over alloc dev (OADE)` to control allowed over-allocation percentage (set to `0` to disallow over-allocation).


3. **Dispatch Policy Configuration**

In `Dispatch Policy. Open (MWS010)`, ensure that:

* **Parameter 040 (Released for Picking)** is set to hold the order line until allocation completeness is confirmed.
* **Parameter 030 (Released for Allocation)** is set appropriately to control when allocation is triggered.
* **Allocation Check (290)** can be used to enforce allocation rules before dispatch.


🛠️ Optional: Use Batch Allocation with Allocation Priority and Fair Share

If you want to prioritize certain customers or orders during shortages, batch allocation can be configured to **reallocate stock only to fully fulfill prioritized orders**.

* **Program:** `MMS189` – Allocation. Distribute Quantities
* **Distribution Method:** Set to `3` – Allocation priority with fair share
* **Allocation Priority Model:** Define in `MMS181`, `MMS182`

This method ensures that **orders are only allocated if the full quantity is available within the priority group**, otherwise they are skipped.


🔍 Summary

To meet your customer’s requirement of **no partial fulfillment**, configure:

1. **Joint Delivery Rules** to enforce completeness checks.
2. **Allocation Method = 5** in `MMS002/G` to require full quantity availability.
3. **Dispatch Policy settings** to hold lines until fully allocated.
4. Optionally, use **Batch Allocation with Allocation Priority Models** for more control during shortages.


 Show less...
BC:
You don't want anything to allocate to the line or you don't want the partially allocated line to print a picking list until 100% allocation is possible? If Line 1 is fully allocated but Line 2 isn't, what's the expected behavior?

Online