> For the complete documentation index, see [llms.txt](https://docs.xorosoft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xorosoft.com/whats-new/release-notes/previous-releases/2026/may-2026-release.md).

# May 2026 Release

{% hint style="info" %}

This is a Custom Release. Feature availability depends on configuration and rollout status. Some features listed above may not be visible in your environment if they are part of a staged or custom deployment. Please contact your support representative to confirm enablement.
{% endhint %}

### **Implemented serial number tracking in the RMA flow**

**Overview:**

Previously, if a serial number was used for an item in an Invoice transaction, the same serial number could not be reused for the same item, even after the item was returned through the RMA process.

With this enhancement, the system now allows serial numbers to be reused once the return process is completed and the inventory is officially added back into stock through either:

* The **New RMA Process**  (when the **"Use RMA ASN Process"** app configuration is enabled), or
* The **Old RMA Process** (when the **"Use RMA ASN Process"** app configuration is disabled)

This ensures accurate serial number lifecycle tracking while still allowing returned inventory to be sold again.

***

**Key Enhancements:**

* Added serial number tracking validation within the RMA flow.
* Allowed serial number reuse after inventory is returned to stock through the RMA process.
* Restricted reuse of the same serial number if only the RMA is created and no corresponding Credit Memo has been generated yet.
* Added serial number entry validation while closing the Return ASN generated from the RMA process for serial-tracked items.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Admin → Item → Item Centre** and view the items for which the **Track by Serial Number** toggle is enabled in the **Other Attributes** tab.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FNl7h09ma829eE6skihmF%2Fimage.png?alt=media&amp;token=09f1ca23-248f-494a-bdbf-56351583a77d" alt=""><figcaption></figcaption></figure>

**Step 2:** Navigate to **Menu → Sales → Invoice → Create Invoice** and create an Invoice for the viewed serial-tracked items.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F9H5aHN2VhTsiHdxqhFjI%2Fimage.png?alt=media&amp;token=14d027ff-c685-4d81-9b95-962c7ac24bb7" alt=""><figcaption></figcaption></figure>

Since the **Track by Serial Number** toggle is enabled for the items, the system automatically displays the **Add Serial Number** pop-up while saving the Invoice.

**Step 3:** Enter the serial numbers for the items added and click **Save**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F3nSMixXP4nQzTdby7wWZ%2Fimage.png?alt=media&amp;token=b432ed42-5f4e-4e3d-b012-837529b0b14d" alt=""><figcaption></figcaption></figure>

**Step 4:** Save the Invoice. Go to **Options** and click **Create RMA**. If the [**RMA ASN Process** configuration is enabled](/xoroerp-1/sales/credit-and-deposit/what-is-return-merchandise-authorisation-rma/the-rma-process.md), the system follows the **New RMA ASN Process**.

**Step 5:** After the generated RMA is marked as **Approved**, create the ASN and receive the items in the ASN. When the user clicks **Close ASN**, the system displays the **Add Serial Number** pop-up for serial-tracked items.

**Step 6:** Enter the serial numbers for the items being returned and click **Save**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fa7oo7ih9fgMgzZ5D1gmw%2Fimage.png?alt=media&amp;token=5d9522fa-b183-41b0-b065-6c8074dc1436" alt=""><figcaption></figcaption></figure>

Once the **Return ASN is successfully closed** and the **Credit Memo** is created, the returned serial numbers are added back into inventory and become available for reuse in future Invoice transactions.

***

### **Ship Carton Detail to Invoice Item Line Custom Field Mapping**

**Overview:**

Added support for custom field mapping from **Ship Carton Detail** to **Invoice Item Line**. The enhancement also introduces support for passing **Wave Detail custom fields** through **Create Wave APIs** and **Upload Create Wave**, along with support for **Ship Carton Detail** custom fields through **Ship By Wave API** and **Upload Wave** processes.

The system now supports automatic propagation of custom field values from **Ship Carton Details** to **Invoice Item Lines** based on the configured **Custom Field Mapping**. Priority handling has also been implemented to determine whether custom field values should be fetched from **Wave Details** or from the **Upload Wave / Ship By Wave** inputs.

***

**Key Enhancements:**

* Added support for **Wave Detail custom fields** in **Create Wave API** and **Upload Create Wave**.
* Added support for **Ship Carton Detail custom fields** in **Ship By Wave API** and **Upload Wave**.
* Implemented priority handling for custom field values during shipment creation.
* If **Ship Carton Detail** custom fields are provided during **Upload Wave** or **Ship By Wave API**, the system gives priority to those values.
* If **Ship Carton Detail** custom fields are not provided during shipment creation, the system fetches custom field values from the **Wave Details**.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Admin → Custom Field Mapping** and create a **Custom Field Mapping** from **Ship Carton Detail** to **Invoice Item Line**.

**Step 2:** Add the required **custom field mapping lines** and save the mapping.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F0uXkrfKCtAKqRi9bVVaz%2Fimage.png?alt=media&amp;token=8e085644-0421-41c5-915d-bf170cef592e" alt=""><figcaption></figcaption></figure>

**Step 3:** Now, go to **Menu → Sales → Sales Order** and create a Sales Order.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fz1vhxP23JehTQZ1Qi1Fz%2Fimage.png?alt=media&amp;token=687f202d-44ad-49b6-a14c-d35b7a6603ac" alt=""><figcaption></figcaption></figure>

**Step 4:** Release the Sales Order. Click **Options** and select **Create Wave-Auto → Allocate What's Available**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FmV5oF45Q9mbKBmOTedlp%2Fimage.png?alt=media&amp;token=3b0f0b43-37f6-4211-a82a-7b223314b5f3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FPLdR5JwyMZGYT8cbAw90%2Fimage.png?alt=media&amp;token=43d374f6-e82c-4e56-9a8a-d168038e373b" alt=""><figcaption></figcaption></figure>

**Step 5:** Navigate to **Menu → Utilities → Data Imports → Upload Waves** and download the Wave template.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fp11FbiHnUL0bqA8AmBcL%2Fimage.png?alt=media&amp;token=6139aa99-8fbd-4ac5-9ca1-50b077d6b7ab" alt=""><figcaption></figcaption></figure>

**Step 6:** Enter the **Wave Number**, **Order Number**, **Item Number**, **quantity**, and the required **Wave Detail** **custom field** values in the template file, and upload the file.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F4FniDF8wpGDXkztrNquR%2Fimage.png?alt=media&amp;token=a455d71a-33de-48b4-a886-1b9794139bfe" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FLlWO8EroAxflP2rBr6SB%2Fimage.png?alt=media&amp;token=179da7ec-e7c0-4af7-8603-7b981b88bac0" alt=""><figcaption></figcaption></figure>

**Step 7:** Upload the **CSV** file and select the **"Pick, close and ship order"** option in the Upload Wave pop-up.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F1WYA1DFkI6FSfSEDaNSX%2Fimage.png?alt=media&amp;token=8e3e735b-9193-45b2-aa98-e00256d46de4" alt=""><figcaption></figcaption></figure>

**Step 8:** Open the **Sales Order** and go to the **History** tab. Open the generated Invoice from the transaction history and view the custom field values that are displayed for the item in the **Invoice Details** section.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FGjsJ1MVdRdZbnKsOS62F%2Fimage.png?alt=media&amp;token=9f334dfa-5094-4120-8362-b4a362076d19" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FobPii0CbkVKDwMYip8T4%2Fimage.png?alt=media&amp;token=c72309bd-8741-4094-8dfd-de2e9887ad15" alt=""><figcaption></figcaption></figure>

**Step 9:** To view the **Ship Carton Detail custom field** values, go to the **Shipping** tab of the **Invoice** and click on the **Shipment Info** option.&#x20;

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F117WcI6oddZmGuqkE54e%2Fimage.png?alt=media&amp;token=35605524-0c01-414a-ad10-cf0b4c7ccd6c" alt=""><figcaption></figcaption></figure>

The **Prepare Shipment** page opens. Click the **Add icon** next to the carton details to expand the **item details section**, where the **mapped custom field values** are displayed against the item.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FKusH0GZW9KzzUZ5BKO2y%2Fimage.png?alt=media&amp;token=196dd274-9300-4078-9a80-6360573abbaf" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fe7JNrOKjXRFl1iH5VHI5%2Fimage.png?alt=media&amp;token=a208e609-8e42-4d60-b8c5-6c2cdf867fbd" alt=""><figcaption></figcaption></figure>

This verifies the custom field mapping from Ship Carton Detail to Invoice Item Line.

***

### **Added a New “Description” Field in the HS Code Module**

**Overview:**

The HS Code module now includes a new **Description** field. This description is displayed as subtext in the **HS Code dropdown** within the Item module, making it easier for users to identify and select the correct HS Code during item setup.

This enhancement improves HS Code visibility and usability by providing additional context alongside the HS Code name.

{% hint style="info" %}
HS Code (Harmonized System Code) is an internationally standardized numerical code used to classify traded goods for customs and international trade.
{% endhint %}

***

**Key Enhancements:**

* Added a new **Description** field in the HS Code module.
* HS Code descriptions are now displayed as subtext in the HS Code dropdown in the Item module.
* Improves the identification and selection of HS Codes during item creation and updates.
* Helps reduce errors caused by selecting incorrect or similar HS Codes.
* Enhances overall usability for international trade and customs classification management.

***

**How It Works:**

**Step 1:** Go to: **Menu → Admin → Item → HS Code** and create a **new HS Code** or update an existing one by modifying the **Name**, **Description**, and **Is Active?** values.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FE2MA6dAvFhk4Aj7gHALj%2Fimage.png?alt=media&amp;token=49d7096e-c7fc-464d-a3cc-d7b4b6585830" alt=""><figcaption></figcaption></figure>

**Step 2:** To create a new HS Code, enter the required details in the **Name** field and the newly added **Description** field, then click on the **Add** button.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F80pOKsVY0jTwqdp0EKaC%2Fimage.png?alt=media&amp;token=174083ee-7493-48f7-b2d0-3dc7328b02ed" alt=""><figcaption></figcaption></figure>

**Step 3:** The HS Code, along with its Name and **Description**, will now be saved in the system and displayed in the HS Code grid.&#x20;

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FhC9luPcZPybEI02gy6jI%2Fimage.png?alt=media&amp;token=3dad780c-539e-44c7-b397-04cedfed7927" alt=""><figcaption></figcaption></figure>

**Step 4:** Go to the **Item Centre** and open the required Item record. Navigate to the **“Other Attributes”** tab to view the **HS Code** field.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FT4HbIlZHhxEnycbaEFs2%2Fimage.png?alt=media&amp;token=f0950715-2e5f-4ed3-beaa-d61652ef9199" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FD8bTUHgMwUElRqtg9qEE%2Fimage.png?alt=media&amp;token=17b7e8d1-a6f5-4de8-8cb4-fca006ba2583" alt=""><figcaption></figcaption></figure>

**Step 5:** Open the **HS Code** dropdown field. The system displays the **HS Code Name** along with the configured **Description** as subtext in the dropdown selection list.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FhMu41xgIBJ6KfaO0OBwx%2Fimage.png?alt=media&amp;token=db07af6a-cd67-4d27-9e6f-9184140bd7ff" alt=""><figcaption></figcaption></figure>

This helps users quickly identify and select the appropriate **HS Code** while configuring items.

***

### **Introduced Quick Create Options for Materials and HS Codes in Item Dropdowns**

**Overview:**

The Item module now includes **Add New Material** and **Add New HS Code** options directly within their respective dropdown fields in the **Other Attributes** tab.

This enhancement allows users to quickly create new Material and HS Code records without manually navigating to their respective modules. Once created, the newly added record is automatically available for selection in the dropdown list.

***

**Key Enhancements:**

* Added **Add New Material** option in the Material dropdown.
* Added the **Add New HS Code** option in the HS Code dropdown.
* Users can directly navigate to the respective module from the Item screen.
* Newly created records are automatically added to the dropdown list.
* Reduces navigation effort and speeds up item configuration.
* Improves user experience while creating or updating item attributes.

***

**How It Works:**

**Step 1:** Go to the **Item Centre** and open the required Item record.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FbuTxJgfCGRaKbHgeNdDU%2Fimage.png?alt=media&amp;token=cc392db2-0974-4e62-a80d-97229cbec847" alt=""><figcaption></figcaption></figure>

**Step 2:** Navigate to the **Other Attributes** tab and open the **Material** dropdown field. The dropdown now includes an **Add New Material** option.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fn7fZDp4wK2fJGXZfsUUn%2Fimage.png?alt=media&amp;token=17f0dcdf-f7ac-4e4e-b8ea-f6fbca440d53" alt=""><figcaption></figcaption></figure>

**Step 3:** Click on **Add New Material**. The system redirects the user to the **Material** module, where a new Material record can be created.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FSJ8Q3pH3Y6PHDv5deamL%2Fimage.png?alt=media&amp;token=4be60657-15f2-4697-854f-43e63e44721b" alt=""><figcaption></figcaption></figure>

**Step 4:** Create and save the new Material record. Once **saved**, the newly created Material is automatically added to the **Material dropdown** **list** in the Item module.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FYaWWa8ll6NOZC5rx0aYu%2Fimage.png?alt=media&amp;token=66e4b8bc-803f-43bd-b06b-dff0dd7c2d20" alt=""><figcaption></figcaption></figure>

**Step 5:** Similarly, open the **HS Code** dropdown field. The dropdown now includes an **Add New HS Code** option.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FthzCRbVlmnldUwKaQndL%2Fimage.png?alt=media&amp;token=83260d5f-bf78-4721-a416-1f02539f4b74" alt=""><figcaption></figcaption></figure>

**Step 6:** Click on **Add New HS Code**. The system redirects the user to the **HS Code** module, where a new HS Code record can be created.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fl6MlADg3kXIQmBwLyOgm%2Fimage.png?alt=media&amp;token=e1de466e-d737-43e4-90da-8cd72a1d8121" alt=""><figcaption></figcaption></figure>

**Step 7:** Once added, the newly created **HS Code** is automatically added to the HS Code dropdown list in the Item module.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FPb3UFr6GLNrMipJVzzjy%2Fimage.png?alt=media&amp;token=7706abd0-71a0-4c83-a836-59a801d34642" alt=""><figcaption></figcaption></figure>

***

### **Enabled Clickable Sales Order Links in the Create MO Screen and MO Subform**

**Overview:**

The Sales Order number linked to a Manufacturing Order is now clickable within both the **Manufacturing Order subform** and the **Create Manufacturing Order screen**. This enhancement improves navigation between manufacturing and sales workflows by allowing users to directly open the associated Sales Order record from the **Linked Orders** tab.

Users can now quickly review customer details, order quantities, shipping information, and linked order data without manually searching for the Sales Order separately.

***

**Key Enhancements:**

* Enabled **clickable Sales Order links** in the **Linked Orders tab** of the **Manufacturing Order subform**.
* Enabled **clickable Sales Order links** within the **Create Manufacturing Order screen**.
* Users can open the associated Sales Order directly by clicking on the **Sales Order Number**.
* Reduced manual search effort while reviewing linked transactions.
* Simplified traceability between production orders and customer sales orders.

***

**How It Works:**

**Step 1:** Go to: **Menu → Sales → Sales Order** and open the required Sales Order record.

**Step 2:** Navigate to the **Linked Orders tab** and open the **Manufacturing Order sub-tab**. The linked Manufacturing Order(s) will be displayed in the grid.&#x20;

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F6e6k3gW9OGxqhOr37eOi%2Fimage.png?alt=media&amp;token=d943b2e8-329d-4997-83f7-63f3641550f2" alt=""><figcaption></figcaption></figure>

**Step 3:** Click on the **MO# link** to open the **Manufacturing Order subform**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F0C2bXG9aCpdjc52hgY8a%2Fimage.png?alt=media&amp;token=04f31586-17a5-4c93-b594-e3fe74b7a113" alt=""><figcaption></figcaption></figure>

**Step 4:** Inside the **Manufacturing Order subform**, navigate to the **Linked Orders tab** and open the **Sales Order sub-tab**. The **linked Sales Order Number** is now displayed as a **clickable link**.&#x20;

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FGgBbu9EajyEB9cgeacSW%2Fimage.png?alt=media&amp;token=34ae3fff-2142-430d-84ad-4261b1e6d394" alt=""><figcaption></figcaption></figure>

**Step 5:** Click on the SO Number to directly open the **Sales Order subform**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FfHLGvEXjwiaOjwF322lO%2Fimage.png?alt=media&amp;token=851ef80e-59c4-49e6-a708-755348ee677e" alt=""><figcaption></figcaption></figure>

**Step 6:** Similarly, when creating or opening a Manufacturing Order from the **Create Manufacturing Order screen**, users can navigate to the **Linked Orders tab** and click on the linked **Sales Order Number** to directly open the associated Sales Order record.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FwznYPBRlwKyV9t9U4TuM%2Fimage.png?alt=media&amp;token=53704dbc-56e5-4798-a398-4afcaf55b965" alt=""><figcaption></figcaption></figure>

***

### **Generate Duplicate Warehouse Credit Memos Using the “Create Duplicate” Option**

**Overview:**

A new **Create Duplicate** option has been introduced in the **Credit Memo module** to simplify the process of recreating existing **Warehouse-type Credit Memos**.

Users can now quickly generate a **duplicate Credit Memo** directly from the original transaction without manually re-entering customer details, item lines, quantities, return information, and other transaction data.

***

**Key Enhancements**

* Introduced a **Create Duplicate** option in the Credit Memo module.
* The option is available only when the Credit Memo Return Type is set to **Warehouse**.
* &#x20;Inventory transactions are also created for the duplicated Credit Memo and reflected in the Inventory Change Log.
* The system displays confirmation and success messages during the duplication process for better user visibility.

***

**How It Works:**

**Step 1:**  Go to **Menu → Sales → Credit & Deposit → Credit Memo** and create a Credit Memo with the **Warehouse** Return Type.

**Step 2:** Click on the **Options** menu and select the **Create Duplicate** option.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FfBOBUEVsPWUhBlK77JhE%2Fimage.png?alt=media&amp;token=17ea1e9e-2795-4c31-abd1-ee7bb3feee20" alt=""><figcaption></figcaption></figure>

**Step 3:** A confirmation popup will appear asking the user to confirm the duplication process. Click on **OK** to continue.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FXi5oJcMFAiFg5EcDhzKb%2Fimage.png?alt=media&amp;token=f4b1e9f1-7afc-495b-8126-f13cbd470845" alt=""><figcaption></figcaption></figure>

**Step 4:** The system creates a **new Credit Memo** by duplicating the original Warehouse Credit Memo transaction, and a success message is displayed showing the **newly generated Credit Memo Number**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FJWxh0b19STyabwisSBCK%2Fimage.png?alt=media&amp;token=e799bbdf-f6eb-4e4a-a338-506178bde036" alt=""><figcaption></figcaption></figure>

**Step 5:** Inventory movements created from the duplicated Credit Memo are automatically recorded in the **Inventory Change Log** for inventory tracking and audit purposes.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F1Iie7XNdhv7GRgCkNWp0%2Fimage.png?alt=media&amp;token=7c5cdd27-6b82-4ac3-bc66-200f6a6a555f" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The **Create Duplicate** option is available only for **Warehouse-type Credit Memos**. The option is not available for **Direct Return Type Credit Memos.**
{% endhint %}

***

### **Enhanced Batch Write-Off Control for Unavailable Inventory**

**Overview:**

A new enhancement has been added to the **Batch Write-Off Not Available Inventory** function in the **Inventory by Location** module. Users can now select a custom **Reason Code** while performing batch write-offs of unavailable inventory instead of the system automatically assigning the default reason code.

This enhancement helps businesses better classify inventory adjustments and differentiate actual damaged inventory from other write-off scenarios.

***

**Key Enhancements:**

* Added a **Reason Code** dropdown in the **Batch Write-Off Not Available Inventory** confirmation window.
* Users can now select the required adjustment reason code before completing the batch write-off process.
* The selected reason code is automatically applied to the generated **Inventory Adjustment** record.
* Eliminates dependency on the default reason code for all batch write-off transactions.
* Improves inventory tracking, reporting accuracy, and audit visibility for write-off activities.

***

**How It Works:**

**Step 1:** Go to **Menu → Inventory → Inventory by Location** and select one or multiple inventory records with a **Not Available** quantity.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FpzPZ0hIAoaqAmINRs26k%2Fimage.png?alt=media&amp;token=5a9ecb77-d331-4977-950d-6677f1719262" alt=""><figcaption></figcaption></figure>

**Step 2:** Click on the **Options** menu and choose **Batch Write Off Not Available Inventory**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F9yjysQhpp5JbtQCS6BKT%2Fimage.png?alt=media&amp;token=51a261dc-fe43-48e0-86fb-80eb8bb7ad91" alt=""><figcaption></figcaption></figure>

**Step 3:** A confirmation pop-up will appear. In the pop-up, select the required **Reason Code** from the dropdown list.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FFlvvKLeO4zuWNkod5CoR%2Fimage.png?alt=media&amp;token=ea9a7021-ef3a-42db-a8c0-d5f097272cea" alt=""><figcaption></figcaption></figure>

**Step 4:** Select the required **Adjustment Account** and click on **OK** to continue.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FQtyiZgEwcRDC6SzgfdVo%2Fimage.png?alt=media&amp;token=9babadf0-9e46-486f-9f3c-5431ed2ce31b" alt=""><figcaption></figcaption></figure>

**Step 5:** Go to the **Inventory Change Log** module to view the Inventory Adjustment transaction created by the system for the selected inventory quantities based on the selected **Reason Code**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FLnlu6wSSWVSwg0XStpYY%2Fimage.png?alt=media&amp;token=f2fff7d2-5fda-4f41-9810-8ccdf739f3dd" alt=""><figcaption></figcaption></figure>

***

### **Enhanced Page Default Controls in Create Customer Module**

**Overview:**

Added the **“Set as Default (Bill To Address)”** and **“Set as Default (Ship To Address)”** options in the **Page Defaults** of the **Create Customer module**.

These options allow users to control the default behaviour of the **“Set as Default”** checkbox available inside the **Bill To Address** and **Ship To Address** **pop-ups** while creating or editing customer addresses.

***

**Key Enhancements:**

* The configured settings now control the default state of the **“Set as Default”** option inside the **Bill To Address** and **Ship To Address pop-ups**.&#x20;
* When the **Set as Default (Bill To Address)** and **Set as Default (Ship To Address)** options are enabled in **Page Defaults**, newly added addresses are automatically marked as default.
* When these options are disabled, the **“Set as Default”** option remains unchecked by default.
* Functionality is supported in both the **Create Customer** and **Edit Customer modules**.

***

**How It Works:**

**Step 1:** Go to: **Menu → Sales → Customer Section → Create Customer**. Click on the **Vertical Ellipsis (⋮)** and select the **Page Defaults** option.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fb5auV2DL3CIpiynCoSsT%2Fimage.png?alt=media&amp;token=09dff5d9-402a-4d3b-b855-9ab67784b44b" alt=""><figcaption></figcaption></figure>

**Step 2:** The **Default Configuration** pop-up opens. Enable the **Set as Default (Bill To Address)** and **Set as Default (Ship To Address)** options based on your requirements.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FAB3Jsab5xmf87iVEUILB%2Fimage.png?alt=media&amp;token=ee7a808b-1ed5-457e-851a-80f029781485" alt=""><figcaption></figcaption></figure>

**Step 3:** Click on the **Save** button to save the Page Default configuration. Then create a new customer or edit an existing customer.

**Step 4:** Go to the **Customer Centre** and open an existing customer record.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F8YQ5mkz70481hBUGAjw1%2Fimage.png?alt=media&amp;token=8c977a9e-ede8-42ee-8563-0575828dfc3d" alt=""><figcaption></figcaption></figure>

**Step 5:** Navigate to the **Contact Info** tab and open the **Address Info** section. While creating a new address or editing an existing address:

* If the **Set as Default (Bill To Address)** option is enabled in Page Defaults, the **“Set as Default”** checkbox on the Bill To Address pop-up is automatically selected.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fq5UFfgMnMmDOVNJiUCVP%2Fimage.png?alt=media&amp;token=74aeff94-7a10-4e67-8cac-e97e008c2639" alt=""><figcaption></figcaption></figure>

* If the **Set as Default (Ship To Address)** option is enabled in Page Defaults, the **“Set as Default”** toggle on the Ship To Address pop-up is automatically enabled.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FXogS0IC4xbcpSpVzHhDv%2Fimage.png?alt=media&amp;token=49e2f08b-43f9-4663-8b61-efc9a458fbb5" alt=""><figcaption></figcaption></figure>

**Step 6:** If these options are disabled in Page Defaults, the “Set as Default” option remains unchecked by default in both address pop-ups.

***

### **Batch Update Support Added for Customer Custom Fields**

**Overview:**

Added support for batch updating **Customer Custom Fields** directly from the **Customer Centre** using the **Batch Update functionality**. Previously, users were unable to update Custom Field values for multiple customers simultaneously and had to manually open and update each customer record individually.&#x20;

With this enhancement, all supported **Customer Custom Fields** are now available within the **Batch Update pop-up** in the Customer Centre. This improves efficiency and simplifies bulk maintenance of customer-specific custom field information.

***

**Key Enhancements:**

* **Customer Custom Fields** are now supported in the **Batch Update functionality** of the **Customer Centre**.
* Supported Custom Field types, such as **Text**, **Number**, **List**, **Date**, **Multi-Line Text,** and **Multi-Select List**, are available in the Column Name dropdown during **batch update**.
* Users can batch update Custom Field values for multiple customer records simultaneously.
* Updated Custom Field values are automatically reflected in the Customer Centre grid and customer records.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Sales → Customer Section → Customer Centre** and select one or multiple customer records.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FtWTyb5piDrP9aw8lxESl%2Fimage.png?alt=media&amp;token=6ae93a97-95cb-490e-bed3-3146af501cd8" alt=""><figcaption></figcaption></figure>

**Step 2:** Click on the **Options** menu and select the **Batch Update** option.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fstw9eOz50UDNX4mz6LE0%2Fimage.png?alt=media&amp;token=99c2f047-94cd-4700-8afa-d51b2953dc22" alt=""><figcaption></figcaption></figure>

**Step 3:** The **Batch Update** pop-up opens. In the Column Name dropdown, the supported Customer Custom Fields are available for selection.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FtOlEq2Jt96KRlvAEqWaU%2Fimage.png?alt=media&amp;token=151f121f-24f3-4439-a3c8-edd7cb658b58" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FuYV3Gnb7LtbzsrWWO7zG%2Fimage.png?alt=media&amp;token=bfb87d7b-66ab-425e-a151-d467b1efacd8" alt=""><figcaption></figcaption></figure>

**Step 4:** Based on the selected Custom Field type, enter or select the required value in the **Value** field.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FSdvfQKbhbq6kkIeEggLH%2Fimage.png?alt=media&amp;token=656ccfd6-5270-467b-9c91-eeab9e4b0fed" alt=""><figcaption></figcaption></figure>

**Step 5:** Click on the **Update** button to apply the selected Custom Field value to all selected customer records and verify the updated values in the **Customer Centre** grid.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F2QFFF0JmwaD4dNG2cOzB%2Fimage.png?alt=media&amp;token=d12b2080-13dc-40f7-b272-624c29fc8bc3" alt=""><figcaption></figcaption></figure>

***

### **Synchronized Active Status Between Products and Variants**

**Overview:**

Enhanced the Product and Item validation logic to synchronize the active status between products and variants across UI, bulk upload, and API operations. Previously, users could activate product variants even when the associated base product was inactive, creating inconsistencies between product and variant statuses.

With this enhancement, when a base product is marked as inactive, all associated variants are automatically marked inactive, and the system prevents variants from being activated independently until the base product is reactivated.

Additionally, during bulk uploads, the system now evaluates the Active Flag of variant records and updates the corresponding product status accordingly.

***

**Key Enhancements:**

* When a **base product** is marked as **inactive**, **all associated variants** are automatically marked as **inactive**.
* The system prevents users from activating a variant if its base product is inactive.
* Validation is now supported across **UI**, **Bulk Upload**, and **API** processes.
* A validation message is displayed when attempting to activate a variant whose base product is inactive.
* During **bulk uploads**, if any variant record for a product contains the **ActiveFlag** value as **“Y”**, the corresponding base product is automatically marked as **active**.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Admin → Product → Product Centre** and select an active product.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FtsVC4NfKqllrwH6MHRBN%2Fimage.png?alt=media&amp;token=a539334a-8aa5-4509-bf0a-db058a02c865" alt=""><figcaption></figcaption></figure>

**Step 2:** Right-click on the product and select the **"Show Variants"** option to view the generated variants.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FXU39dmbjhI0rAx2YZ6Dv%2Fimage.png?alt=media&amp;token=b7051934-2af6-4865-89b6-e0452e0232cc" alt=""><figcaption></figcaption></figure>

**Step 3:** The **Item Centre** opens, where all associated variant items can be seen in **Active status**, similar to the **base product**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F6CJmfcyh1Nev0IG4T6zB%2Fimage.png?alt=media&amp;token=dc03dd92-532d-4796-ad32-40efa06fb92b" alt=""><figcaption></figcaption></figure>

**Step 4:** In the **Product Centre**, mark the base product as inactive. To do this, click on the **Options** menu and select **Batch Updates**. In the Column Name field, select **Is Active**, **uncheck the Yes** **checkbox** in the **Value** field, and **update** the record.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FEbji5KvYdd8IrXcNrEEd%2Fimage.png?alt=media&amp;token=5864f3aa-56b9-4441-8d96-81b4098080b2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FJGiMIJ9ziuE2QsuKAKhW%2Fimage.png?alt=media&amp;token=be78a1b5-9cbf-4568-9755-377911630cb7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F6Py52vNNXQbOrvLkdN8y%2Fimage.png?alt=media&amp;token=c2c4c94f-a123-4109-8100-5353d06dd5ab" alt=""><figcaption></figcaption></figure>

**Step 5:** The system automatically marks all associated variants as inactive in the **Item Centre**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fuy8TxGdOqyATHa5wPwyM%2Fimage.png?alt=media&amp;token=d0c08ac7-5401-400f-bb25-a07cd3865f7e" alt=""><figcaption></figcaption></figure>

**Step 6:** Navigate to **Menu → Admin →Item → Item Centre** and open one of the inactive variant items.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F1C0pzNdQvEZZBfI3RUyi%2Fimage.png?alt=media&amp;token=23871d20-e7be-4d07-a6ef-6e20438eff93" alt=""><figcaption></figcaption></figure>

**Step 7:** Attempt to enable the **Active toggle** for the variant item and save the record.

**Step 8:** The system displays the validation message: *“Variant cannot be marked Active because its base product is In-Active.”*

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Flu40MYBU9d8Q6XKVdm37%2Fimage.png?alt=media&amp;token=d09be263-8204-49f8-bbfd-665279e1f4a6" alt=""><figcaption></figcaption></figure>

***

### **Improved Vendor Info Visibility and Communication Tracking**

**Overview:**

Enhanced the Vendor Info module by adding a dedicated Comment section, ACH bank transfer indicator, and Memo column in the Transactions tab. These enhancements provide better visibility into vendor communication history, payment configuration, and transaction-level notes directly within the Vendor Info page.

***

**Key Enhancements:**

* Added a Comment section in the Vendor Info module for managing vendor-related discussions.
* Users can now upload and view attachments within the Comment section.
* Added the **“Is Bank Transfer Type ACH?”** field in Vendor Info to indicate whether the vendor uses **ACH bank transfer**.
* Added a new **“Memo”** column in the **Transactions** tab to display transaction-related remarks and notes.
* Added support to include the Memo column in exported transaction reports from the Vendor Info module.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Purchase → Vendor Section → Vendor** **Info** and search for the required vendor.

**Step 2:** Open the vendor record. The system displays the newly added **Comment section** in the Vendor Info module.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FrnmH9lMiEz5K1j2T2p3z%2Fimage.png?alt=media&amp;token=2ddc9f18-fd54-4538-85b5-d09aba1b613a" alt=""><figcaption></figcaption></figure>

**Step 3:** Click on the Comment section to view existing vendor comments, add new comments, and upload/view attachments related to the vendor.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FVvsRIshvx7yJxtgqnZ9i%2Fimage.png?alt=media&amp;token=7a9e0bfa-a2e3-4442-846e-435d0db5007e" alt=""><figcaption></figcaption></figure>

**Step 4:** The system also displays the newly added field: **“Is Bank Transfer Type ACH?”** in the header section of the **Vendor Info**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FV18LxInF9WutX4PSiFR3%2Fimage.png?alt=media&amp;token=efe0aa21-1cde-46ea-b05a-2ef96b693b20" alt=""><figcaption></figcaption></figure>

**Step 5:** Go to the **Transactions** tab and enable the **Memo** column from the Columns option if it is hidden.

The system displays transaction-related memo details in the Memo column for the corresponding transactions.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fy4aBhx0OTZdoKD6zaz0w%2Fimage.png?alt=media&amp;token=01a477ce-6164-4fe9-8324-08ce36f1bd8b" alt=""><figcaption></figcaption></figure>

***

### **Streamlined Batch MO Creation in Manufacturing Centre**

**Overview:**

Enhanced the **Manufacturing Order (MO) Centre** by adding the **“Create Batch MO”** option under the **Options** menu. This enhancement allows users to create a Batch Manufacturing Order from multiple existing MOs directly within the MO Centre, improving bulk production planning and batch-level manufacturing management.

***

**Key Enhancements:**

* Added the **“Create Batch MO”** option in the Manufacturing Order Centre.
* Users can now create a Batch MO using multiple selected Manufacturing Orders.
* Added validation to allow Batch MO creation only for MOs in **Open** or **Released** status.
* Added validation to ensure all selected MOs belong to the same store.
* Added validation to prevent MOs already **linked to an** **existing Batch MO** from being selected again.
* Added an informational message when selected MOs have different Schedule Dates.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Manufacturing → Manufacturing Order Centre** and select multiple Manufacturing Orders from the grid.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fahjnyn25sqBrojBgL7ep%2Fimage.png?alt=media&amp;token=45901a0b-7631-4bbd-8485-993c1270cf1c" alt=""><figcaption></figcaption></figure>

**Step 2:** Click on the **Options** menu and select **“Create Batch MO”**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FzudHLLpKptuA6AenpUfW%2Fimage.png?alt=media&amp;token=7266eaa8-9b23-4948-9514-793de5792704" alt=""><figcaption></figcaption></figure>

Step 3: The system validates the selected Manufacturing Orders before creating the Batch MO.

**Step 4:** The system allows Batch MO creation only when:

* All selected MOs are in Open or Released status.
* All selected MOs belong to the same store.
* None of the selected MOs is already linked to another Batch MO.

**Step 5:** If one or more selected MOs already belong to a Batch MO, the system displays an error message and prevents batch creation.

**Step 6:** If the selected MOs have different Schedule Dates, the system displays an informational message before proceeding.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FU5joG2bLHzMF4MskWFoD%2Fimage.png?alt=media&amp;token=9230b176-2868-4f5b-bb54-d92670230dd2" alt=""><figcaption></figcaption></figure>

**Step 7:** Once validations are completed successfully, the system creates the Batch MO for the selected Manufacturing Orders.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F6PdxFf6hzuzmiREgHEXn%2Fimage.png?alt=media&amp;token=315c39f8-5b04-4e0e-8344-baa19a82b2de" alt=""><figcaption></figcaption></figure>

***

### **Enhanced Scan to Verify Functionality**

**Overview:**

Introduced improvements to the **Scan to Verify** process by adding real-time scanned item visibility, enhanced item verification validations, shipment-level Rate Shopper access, and automatic synchronization of shipment details across related transactions.

Users can now quickly verify items through scanning, access carrier rates directly from the **Shipment tab**, and ensure that selected shipping details are consistently reflected in Shipment, Invoice, Packing Slip, and Sales Order records.

***

**Key Enhancements:**

* Added the **Current Item#** field in the Scan & Verify module to display the latest scanned item.
* The **Item# search field** is automatically cleared after successful item verification.
* Added validation to display an error message when the scanned item does not belong to the selected wave.
* Added support to access the **Get Rates / Rate Shopper** feature directly from the Shipment tab within Scan & Verify.
* **Selected carrier service** and **shipping rate from** **Rate Shopper** are automatically reflected in the Shipment section.
* **Shipping Cost**, **Shipping Tax**, and **Shipping Amount** are now correctly reflected in **Invoice**, **Packing Slip**, and **Sales Order Shipping tab**.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Warehouse → Picking → Pick Wave** and select the required wave. The selected wave appears in the **Wave Lines** section.&#x20;

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FNon4J1LfRxX4E6R4tQ34%2Fimage.png?alt=media&amp;token=316da37c-de5b-4112-bf60-c5e94b400835" alt=""><figcaption></figcaption></figure>

**Step 2:** Click on the **Scan & Verify** option to open the **Scan & Verify modal**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FQcJldJyNDsUBke1ZYIIt%2Fimage.png?alt=media&amp;token=22e84bc0-7c7a-44d1-a705-76c0e7e7e89e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FaMgt4q1H0swPcdoLBeFl%2Fimage.png?alt=media&amp;token=8af23435-2809-4d50-8a1e-9288e1820dd4" alt=""><figcaption></figcaption></figure>

**Step 3:** Scan or enter the **Item#** in the **Item search field** and press **Enter** or click **Verify**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F1He6uaNeBZ5Oz8hjVz9a%2Fimage.png?alt=media&amp;token=5e1735b6-9070-4324-9dd3-d4809d9fb7b1" alt=""><figcaption></figcaption></figure>

**Step 4:** The system displays the **scanned item** in the **Current Item# field** and automatically clears the **Item# field** after successful verification.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FEMhRAm8UrTMs1HI4x5Ae%2Fimage.png?alt=media&amp;token=7462976e-94c5-4f27-92fa-47ec9af9dc6f" alt=""><figcaption></figcaption></figure>

If the scanned item does not belong to the selected wave, the system displays an error message.

**Step 5:** In this case, the **Verified Qty** is 1 while the **Allocated Qty** is 5; therefore, the system displays the **Verification Status** as **Partially Verified**.

Users can manually modify the **Verified Qty** directly from the grid if required.&#x20;

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FI32mA2AblaioGqNBqkgp%2Fimage.png?alt=media&amp;token=e093a4b3-b600-4259-a9d9-9a921e77970b" alt=""><figcaption></figcaption></figure>

The system validates that the Verified Qty does not exceed the **Allocated Qty**. Once the **Verified Qty** becomes equal to the **Allocated Qty**, the system automatically updates the **Verification Status** to **Verified**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FMJ1VFrfDR5Z05hy2cslc%2Fimage.png?alt=media&amp;token=17631dee-de91-43ca-b2f9-011c7e9ecdea" alt=""><figcaption></figcaption></figure>

**Step 6:** Once verification is completed, click **Close Wave**. The system creates the **shipment** and enables the **Shipment tab** within the Scan & Verify workflow.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F0Ml5podDAMOmaivOT5eu%2Fimage.png?alt=media&amp;token=5837578e-6cf8-442c-861f-8d64e254c25e" alt=""><figcaption></figcaption></figure>

**Step 7:** Navigate to the **Shipment** tab and click **Get Rates**. &#x20;

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FdfVcM2VzOVJQYnyCNCX9%2Fimage.png?alt=media&amp;token=9a912e60-9b55-465b-b3c3-74f8cb590ac4" alt=""><figcaption></figcaption></figure>

The system opens the **Rate Shopper** pop-up. Enter the **Package Weight** and click **Get Rates**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F4dt40ITr3lQvkCEy7qIq%2Fimage.png?alt=media&amp;token=53e9f409-9b97-48b4-938c-c05aa9346c6a" alt=""><figcaption></figcaption></figure>

Based on the entered weight and package dimensions, the system displays the available carrier services and corresponding shipping rates.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FcWbqiWikgLo1bOrjELCu%2Fimage.png?alt=media&amp;token=f26ae5da-554e-4d35-a7e8-64140edc95c0" alt=""><figcaption></figcaption></figure>

**Step 8:** Select the required **shipping service** and click **Apply**. The selected rate and carrier in the rate shopper are automatically reflected in the **Shipment** section.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F3krLz7G7J2cIefIx7Ftb%2Fimage.png?alt=media&amp;token=a553c832-827f-4184-bc12-6aaa59933f20" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FCRwuLsI0Jtv8UwohQlc6%2Fimage.png?alt=media&amp;token=9112bbb1-a15c-4a10-9361-911dd6cfab9c" alt=""><figcaption></figcaption></figure>

**Step 9:** After shipment processing, the **rate** and **Ship Carrier** details are automatically reflected in the **Invoice**, **Packing Slip**, and **Sales Order Shipping tab**.

***

### **Added Invoice Cartonization Detail** View **in the Invoice Centre**

**Overview:**

A new **Invoice Cartonization Detail** view has been added in the **Invoice Centre** and **Account 3PL Portal Invoice** to provide better visibility into carton-level inventory details associated with invoices.

This enhancement allows users to view carton-related LPN attributes directly from the Invoice Centre, including **Lot #**, **Batch #**, **Manufacturing Date**, **Expiry Date**, and **Quality** details. The same LPN attribute information is also available in the **Packing Slip Carton Detail** view in the **Packing Slip Centre** to ensure consistency across shipment and invoice records.

***

**Key Enhancements:**

* Added a new **Invoice Cartonization Detail** view in the **Invoice Centre**.
* Added support to display carton-level LPN attributes directly within the invoice listing.
* Added visibility for the following LPN attribute fields:
  * **Lot #**
  * **Batch #**
  * **Manufacturing Date**
  * **Expiry Date**
  * **Quality**
* Ensured carton information displayed in **Invoice Centre** matches the carton details associated with the invoice and packing slip records.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Sales → Invoice → Invoice Centre.**

**Step 2:** Select **Invoice Cartonization Detail** view from the view selection dropdown.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FHlkXeFYLIOlOKXErlYms%2Fimage.png?alt=media&amp;token=8747c0ce-6066-4d8d-9d39-87ff68107142" alt=""><figcaption></figcaption></figure>

**Step 3:** The system displays invoice records along with carton-level LPN attribute information, including **Lot #**, **Batch #**, **Manufacturing Date**, **Expiry Date**, and **Quality** details.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fb2DtCqrld7mECXH7duTy%2Fimage.png?alt=media&amp;token=88f7e58e-964a-44b5-b277-95363701a73b" alt=""><figcaption></figcaption></figure>

***

### **Enabled Advanced Variant Finder with Multi-UOM Support**

**Overview:**

The **Advanced Variant Finder functionality** is now supported when the Multi-UOM configuration is enabled. Earlier, this feature was available only when **Multi-UOM** was turned **OFF**.

With this enhancement, users can now add product variants through the Advanced Variant Finder while maintaining proper UOM handling, conversion logic, inventory visibility, and line-level pricing across Sales, Purchase, Transfer, and Estimate transactions.

The enhancement is available in the following modules:

* Create Sales Order
* Create Purchase Order
* Transfer Sales Order
* Transfer Purchase Order
* Create Estimate

***

**Key Enhancements:**

* Advanced Variant Finder now works seamlessly when **Multi-UOM** is **enabled**.
* Available inventory displayed inside the Variant Finder is shown in the item’s Base UOM.
* The system automatically applies the correct default UOM based on the transaction type:
  * Sales Order (SO), Transfer Sales Order (TSO), and Estimate use the default Sales UOM.
  * Purchase Order (PO) and Transfer Purchase Order (TPO) use the default Purchase UOM.
* Prices and amounts are calculated correctly based on the applied UOM and conversion factor.

***

**How It Works:**

**Step 1:** Navigate to **Menu → Admin → Item → Item Centre** and view the configured **Sell UOM, SKU UOM,** and **Purchase UOM** for the required item.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FdsRfEdjdEfpQLhSihr8n%2Fimage.png?alt=media&amp;token=3425bc2e-9e4c-4fbf-acb4-c72f900f9419" alt=""><figcaption></figcaption></figure>

**Step 2:** Navigate to **Menu → Sales → Sales Order → Create Sales Order**.

**Step 3:** In the **SO Details** section, click on the **Advanced Variant Finder button**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FReFmKiXVRBHAHhjKFVvV%2Fimage.png?alt=media&amp;token=bf13f92c-44d5-48db-80bd-8c58a9b9ffaf" alt=""><figcaption></figcaption></figure>

**Step 4:** Enter or select the required **Base Part/Product** and click **Find Variants**. The system displays all available product variants associated with the selected Base Part.

**Step 5:** The Variant Finder displays inventory availability, ATS quantities, allocated quantities, and SKU UOM.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FvXvUX3yI3cm1MaQZtZZs%2Fimage.png?alt=media&amp;token=b0413316-5c57-48d6-a581-b03e2dde8bc9" alt=""><figcaption></figcaption></figure>

**Step 6:** Enter the required variant quantities directly within the variant grid. The system automatically calculates the **Price** field based on the entered quantity and the **Sell UOM** (defined in the **UOM** tab of the **Create Item** page). Click on **Add To Order**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F2y7XhGwKD0WA15R3HDsd%2Fimage.png?alt=media&amp;token=d92e6950-eb36-4b97-85ef-760afd1f76c8" alt=""><figcaption></figcaption></figure>

**Step 7:** After adding the variants, the system reflects the **Sell UOM** and **unit prices** correctly at the Sales Order line level.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2F70dwshS1IuoEBJrwXiIA%2Fimage.png?alt=media&amp;token=6dfbd951-b5f6-4c40-9ba5-d39b9159cb54" alt=""><figcaption></figcaption></figure>

**Step 8:** Now, navigate to **Menu → Purchase → Purchase Order → Create Purchase Order** and follow the same process for adding the variants.

The system automatically applies the **Purchase UOM** at the Purchase Order line level and calculates pricing using the configured UOM conversion factor.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FU6VI4TOmzJuCz8pMSs7O%2Fimage.png?alt=media&amp;token=0705d3ca-9bb3-445c-9802-ae024bd65403" alt=""><figcaption></figcaption></figure>

***

### **Added Shopify Setting “Invoice Priority Over Wave Allocation”**

**Overview:**

A new Shopify setting, **“Invoice Priority Over Wave,”** has been introduced to prioritize invoice processing over existing wave allocations when inventory is insufficient during invoice creation.

With this enhancement, the system can automatically unallocate inventory from existing unpicked **(Allocated)** waves before creating an inventory adjustment. This helps prioritize urgent invoice processing while minimizing unnecessary inventory adjustments.

***

**Configuration Details:**

**App Setting Name:** Invoice Priority Over Wave

**Setting Location:** Menu → Sales Channel → Order Settings → Warehousing(section) → Invoice (toggle) → Advanced Settings → Invoice Priority Over Wave (toggle).

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FB1W67ER9RZU4I2ViSRqq%2Fimage.png?alt=media&amp;token=9d8166c8-279f-4057-b2e1-b57ba4647921" alt=""><figcaption></figcaption></figure>

***

**Prerequisite:**&#x20;

The app config **“Auto Create Invoice Inventory Adjustments”** must be enabled from **Menu → App Config → System → Auto Create Invoice Inventory Adjustments**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FAFmxT6nO2EyWKAV65qlM%2Fimage.png?alt=media&amp;token=bffe6e66-9c20-43e6-bf71-08dbbfdc93a7" alt=""><figcaption></figcaption></figure>

***

**Functionality:**

**When App Setting Is Enabled:**

* During invoice creation, if inventory is insufficient, the system first checks existing unpicked **(Allocated)** waves. It automatically unallocates inventory from eligible allocated waves to fulfill the invoice shortage.
* If sufficient inventory is still not available after wave unallocation, the system proceeds with **Inventory Adjustment** creation.

***

**When App Setting Is Disabled:**

* Inventory shortages are handled directly through **Inventory Adjustments**.
* Existing allocated waves are not modified or unallocated.

***

**How It Works:**

**Step 1:** Navigate to **Menu → App Config → System** and enable the app config **“Auto Create Invoice Inventory Adjustments”**.

**Step 2:** Navigate to **Menu → Sales Channel → Order Settings → Warehousing(section) → Invoice (toggle) →** **Advanced Settings** and enable the setting **“Invoice Priority Over Wave”**.

**Step 3:** Create an invoice in Shopify where the available inventory is lower than the required invoice quantity.

**Step 4:** During invoice creation, the system checks for inventory shortages. If inventory is insufficient, the system first checks existing **unpicked waves with allocated inventory** for the same item.

**Step 5:** The system automatically unallocates inventory from eligible allocated waves to fulfill the invoice requirement.

**Step 6:** If the inventory shortage still remains after wave unallocation, the system automatically creates an Inventory Adjustment for the remaining quantity shortage.

***

### **Added Inventory Reservation & Inventory Reservation Centre**

**Overview:**

The **Inventory Reservation feature** introduces a centralized reservation management process that enables users to reserve inventory either from **available on-hand stock** or against incoming **inventory linked through Purchase Orders**.

The Inventory Reservation Centre provides complete visibility into reservation quantities, linked order movements, consumption history, transferred quantities, incoming quantities, cancellations, and reservation lifecycle statuses from a single interface.

This enhancement helps businesses:

* Secure inventory for specific customers or entities
* Reserve incoming stock before physical receipt
* Prevent over-allocation of inventory
* Track reservation movement throughout the procurement and fulfillment lifecycle
* Maintain complete reservation history and status visibility
* Improve inventory planning and allocation accuracy

The feature supports two reservation methods:

1. **On-hand** Reservation
2. **Linked** Reservation
   1. **Purchase Order**

Both reservation types are managed through the **Inventory Reservation Centre** with real-time quantity and status tracking.

***

**Key Enhancements:**

1. **Centralized Inventory Reservation Management**
   * Added a dedicated **Inventory Reservation Centre** for creating, managing, and tracking reservations.
   * Reservations can now be maintained independently with detailed quantity visibility and linked order tracking.
2. **Linked Purchase Order Reservation**
   * Users can reserve inventory against incoming Purchase Orders before the inventory is physically received.
   * Reservation remains tied to inbound inventory until the **ASN receiving** and **PO completion** processes are completed.
3. **Reservation Quantity Tracking**

* The system now tracks:
  * Reserved Qty
  * Cancelled Qty
  * Total Incoming Qty
  * Consumed Qty
  * Remaining Qty

4. **Incoming Inventory Reservation Tracking**

* Reservation status automatically changes to **Incoming** when inventory is reserved against a Purchase Order that has not yet been received and is currently in **Open** status.

***

**How It Works:**

**A. Linked Order Type: On-hand**

**Step 1:** Navigate to **Inventory → Inventory Reservation** and create a new reservation entry.

**Step 2:** Select the **Store**, **Item Number**, and **Reservation Type** as **Customer**. Set **Linked Order Type** as **None (On-hand)**, choose the **Customer Entity** from the dropdown menu, and enter the **Effective Date** and **Expiry Date**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FTN9u6GmZPjb5j4d0JKn3%2Fimage.png?alt=media&amp;token=2420e6bf-2329-4910-8bbc-c5f23d70f7cb" alt=""><figcaption></figcaption></figure>

**Step 3:**  The **Total Qty on Store** field in the **Reservation Quantities** section displays the quantity available in the store.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FyaN4YYFzMNGq519YIKVU%2Fimage.png?alt=media&amp;token=0a49c7bc-3701-4bf7-9cc5-06ba5cd0004f" alt=""><figcaption></figcaption></figure>

If inventory already exists in store stock, the reservation is directly allocated from **on-hand inventory**.&#x20;

**Step 4:** In the **Reservation Quantities** section, enter the required quantity to be reserved in the **Total Reserved Qty** field.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FC3gcud8InmNJeQ0dbBno%2Fimage.png?alt=media&amp;token=0e8b02c7-82c8-4c1f-9b1b-9213e7e931df" alt=""><figcaption></figcaption></figure>

**Step 5:** Click on the **Save** button. The system displays a confirmation pop-up indicating that the selected inventory quantity will be reserved for the selected customer entity.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FFVILYKLTcZRHOZFb4T2P%2Fimage.png?alt=media&amp;token=a076a2fe-83ca-4c16-9d6b-608a31ae7a83" alt=""><figcaption></figcaption></figure>

**Step 6:** Once the reservation is saved, the reservation entry is created successfully.&#x20;

The reservation status updates automatically based on the **Effective Date**.

* If the Effective Date is equal to the **current date**, the reservation status becomes **Open**.
* If the Effective Date is set in the future, the reservation status becomes **Aging** until the Effective Date is reached, which means the reserved inventory cannot yet be consumed or allocated to the customer.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2Fy0NXRkpztisxylN7f4N7%2Fimage.png?alt=media&amp;token=92cd80dd-eb86-4578-b2d7-20eff61d5b57" alt=""><figcaption></figcaption></figure>

The reserved quantity is deducted from the available store inventory and can be viewed in the **Total Qty on Store** field.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FRP1Uw0CbBIMeoYq1prg4%2Fimage.png?alt=media&amp;token=43d24ea5-8acd-43cd-8408-7e78a5c8544a" alt=""><figcaption></figcaption></figure>

**Step 7:** Now, create a **Sales Order** for the **same store, reserved customer** and **add the same item** for which the reservation was created.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FVjcO7i0BjJZSI3VaFV4r%2Fimage.png?alt=media&amp;token=a170eb48-8cf3-48ad-b2f9-62469dbac486" alt=""><figcaption></figcaption></figure>

**Step 8:** Release the Sales Order and create a **Wave**. During wave allocation, the system automatically consumes the reserved inventory quantity for the customer.

The system consumes reserved inventory based on the **reservation type** in the following order before using available inventory:

* **Customer**
* **Customer Group**
* **Sales Rep**

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FCKidq2bZvakbRGM2elPd%2Fimage.png?alt=media&amp;token=19b215b1-9eb6-47b4-893c-568d37409ef4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FwnHTmo950AxdWtsdHOXx%2Fimage.png?alt=media&amp;token=4684a88c-34d7-4f08-b679-1de19a1a2415" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FhvxJPHVQI0fFJdUE3xGE%2Fimage.png?alt=media&amp;token=1d984d46-84de-4ffd-8e13-1923cec04555" alt=""><figcaption></figcaption></figure>

**Step 9:** If the wave is allocated for a quantity less than the reserved quantity, the reservation status changes to **Partially Consumed**. The **Total Consumed Qty** in the **Reservation Quantities** section displays the quantity that has been allocated through the wave and consumed by the customer.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FfdeEIWI4yQkRJz65ghIU%2Fimage.png?alt=media&amp;token=645ad0e9-0b66-40f4-a48f-9d5c79155edb" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FtwgIB0vOmAoS65vlAc8k%2Fimage.png?alt=media&amp;token=5050a7f2-a0c9-448d-9674-959396a1b974" alt=""><figcaption></figcaption></figure>

**Step 10:** If the reserved quantity is fully consumed, the reservation status changes to **Completed**.

**Step 11:** To cancel any remaining reserved quantity, click on **Options → Cancel Reservation**.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FxqrL3BDkBZTWyVmkeOOA%2Fimage.png?alt=media&amp;token=a54bdbb6-75e2-408f-8ed4-d14c49b6e938" alt=""><figcaption></figcaption></figure>

A confirmation popup appears indicating that only the remaining quantity will be cancelled, while any quantity already consumed will remain unchanged.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FMbwTzXd5FgPbaWXqsslc%2Fimage.png?alt=media&amp;token=2e218839-48fa-4ec3-ba07-7ef1ea0255ec" alt=""><figcaption></figcaption></figure>

**Step 12:** Once the cancellation is confirmed:

* The reservation status changes to **Completed** if part of the reserved quantity was already consumed.
* The remaining unconsumed quantity is released back to store inventory and is reflected in the **Total Qty on Store** field
* The cancelled quantity is updated in the **Total Cancelled Qty** field.

<figure><img src="https://3188343778-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fkf8DNCjEfcSm64PCPcmf%2Fuploads%2FMwLE5Z7zvvDfioAeaLbG%2Fimage.png?alt=media&amp;token=d51978b7-6a17-4075-983c-7a79077f365e" alt=""><figcaption></figcaption></figure>

**Step 13:** If the reservation has already been fully consumed, the reservation remains in **Completed** status and cannot be cancelled.

**B. Linked Order Type: Purchase Order**

**Step 1:** Navigate to **Inventory → Inventory Reservation** and create a new reservation entry.

**Step 2:** Select the **Store**, **Item Number**, and **Reservation Type** as **Customer**. Set the **Linked Order Type** as **Purchase Order**, choose the **Customer Entity** from the dropdown menu, and enter the **Effective Date** and **Expiry Date**.

**Step 3:** In the **Linked Order Details** section, click on **Link Qty**.

The **Add/Update Linked Order Lines** pop-up appears, displaying available Purchase Orders for reservation linking.

**Step 4:** If no eligible Purchase Orders exist for the selected item, no records are displayed in the pop-up.

Since a linked reservation depends on incoming inventory, a Purchase Order must first be created for the item.

**Step 5:** Navigate to **Purchase → Purchase Order** and create a Purchase Order for the required item and quantity.&#x20;

Save the Purchase Order and return to the reservation entry.

**Step 6:** Open the **Link Qty** pop-up again. The newly created Purchase Order is now available for selection.

Enter the quantity to be reserved in the **Reserved Qty (Current)** field and close the pop-up.

**Step 7:** Once the quantity is entered:

* The linked Purchase Order line is added to the **Linked Order Details** section.
* The reservation line status changes to **Incoming.**
* The **Reserved Qty** **(Current)** is reflected in the **Total Incoming Qty** field.

This indicates that the inventory is reserved against incoming stock that has not yet been physically received.

**Step 8:** Click the **Save** button. Once the reservation is created, the reservation status becomes **Incoming**.

**Step 9:** Now, process the inbound inventory by completing the Purchase Order receiving workflow.

**Release the PO** created and create the **ASN**. Once the ASN is created, receive the ASN and close it.

**Step 10:** Once the linked Purchase Order inventory is received, the reservation status changes from **Incoming** to **Open**.

**Step 11:** Create a **Sales Order** for the same store, reserved customer, and add the same item for which the reservation was created.

**Step 12:** Release the Sales Order and create a Wave. If the wave is allocated for a quantity less than the reserved quantity, the reservation status changes to **Partially Consumed**.

If the reserved quantity is fully consumed, the reservation status changes to **Completed**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.xorosoft.com/whats-new/release-notes/previous-releases/2026/may-2026-release.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
