# March 2025 Release

### Automatic Item Description Updates on Sales Orders and Purchase Orders

We have added the ability to automatically update item descriptions on Sales Orders and Purchase Orders when the item description is modified in the item details. With this enhancement, users no longer need to manually update descriptions on open orders, reducing errors and improving efficiency in order management.

{% hint style="info" %}
This is an App Config-based enhancement
{% endhint %}

#### Feature Details

* A new config, **"Auto Update Item Description in existing SO, PO and BOM"** has been introduced to ensure that item descriptions in active Sales Orders, Purchase Orders, and Bill of Material remain in sync with updates made in the item details.<br>

  <figure><img src="/files/PGmLF6ISQ7ahTqaEa7zU" alt=""><figcaption></figcaption></figure>

  If this setting is enabled, when an item(s) description is updated in the Item module, the change will automatically reflect in the existing Sales Order (SO), Purchase Order (PO), and Bill of Materials (BOM) modules.<br>
* When this configuration is **enabled**, whenever item description is updated, a warning text is displayed on update popup indicating that the description will be updated in the existing sales orders and purchase orders.&#x20;

  <figure><img src="/files/lSU82s2n6uMdEbcVZePn" alt=""><figcaption></figcaption></figure>
* Any modification to an item’s description in the item details will be automatically reflected in:
  * **Sales Orders** that are *not in shipped, closed, or cancelled* status.36
  * **Purchase Orders** that are *not in received, closed, or cancelled* status.

### Added "Qty Available to Link" Field in Inventory Info (Multi Company) Details

We have introduced a new field, **"Qty Available to Link"**, in the **Inventory Info (Multi Company)** section across the **Item Inventory Snapshot** and **Short Inventory Planner** modules. This enhancement provides users with greater transparency into the quantity available for linking across multiple linked company instances, improving inventory management and planning accuracy.

#### How It Works

* Open the Item Inventory Snapshot or Short Inventory Planner in your application.
* Locate the item for which inventory details need to be viewed.&#x20;
* Click on the "On PO" quantity under the respective column to access the On PO Details screen, which displays information about the purchase orders associated with the selected item.

  <figure><img src="/files/AY9uTBeiGLD4MHJ1Wkuw" alt=""><figcaption></figcaption></figure>
* On the **On PO Details** screen, click on the **Inventory Info (Multi Company)** option to view inventory details across all linked instances.

  <figure><img src="/files/TxKKFOsWZrDbemaT2XLD" alt=""><figcaption></figcaption></figure>
* In the Qty Details (Multi Company) screen, click on the "On PO" quantity for the item to view detailed purchase order information.

  <figure><img src="/files/QTH0WZDOBKowaLVyNrj1" alt=""><figcaption></figcaption></figure>
* The newly added "Qty Available to Link" field displays the quantity that is currently available for linking to fulfill inventory requirements across instances.

  <figure><img src="/files/SeqUZXZdhF0KgLT8BBhM" alt=""><figcaption></figcaption></figure>

### Added "Total Quantity Available on PO" column in the Item Inventory Snapshot module

A new field, **"Total Qty Available on PO"**, has been introduced in the **Item Inventory Snapshot** module to enhance inventory tracking and visibility. This field provides users with a consolidated view of the total quantity available from incoming purchase orders, aiding in more accurate inventory planning and decision-making.

<figure><img src="/files/9WMk6jVkEsnQJnKeeDeB" alt=""><figcaption></figcaption></figure>

### PO/PO Detail to ASN Detail Custom Field Mapping **Now Independent of RMA Process**

The custom fields from **PO/PO Detail** can now be mapped to **ASN Detail** with both RMA processes. Previously, mapping custom fields from **PO/PO Detail** to **ASN Detail** was only possible when the application config **"Use RMA ASN Process New"** was enabled and new RMA process was used.

With this enhancement, custom fields from **PO/PO Detail** can now be mapped to **ASN Detail** independently, without relying on the above app config. This allows for more flexible and convenient custom field mapping regardless of your RMA ASN process.

### **New Columns Added for Linked and Not Linked Quantities in Sales Order Module**

We have added two new columns to the Sales Order module at the item details level, providing enhanced visibility into linked and not-linked quantities for each item. These additions enhance inventory tracking by offering more detailed insights into the status of linked and unlinked quantities in sales orders.

#### Feature Details

The following columns has been added to the sales order module:

* **Active Linked Qty:** This column displays the calculated active linked quantity. It's determined by the following formula:
  * `Active Linked Qty = Total Linked Qty - Linked Qty Received`
  * Where "Total Linked Qty" is equivalent to the existing "Linked Qty" field.
* **Not Linked Qty:** This column displays the calculated not-linked quantity. It's determined by the following formula:
  * `Not Linked Qty = Remaining to Ship - Qty Allocated - Active Linked Qty`

<figure><img src="/files/p5wgYUiNzAD86RCXFP0j" alt=""><figcaption></figcaption></figure>

### Implemented the ability to map Sales Orders with Customer Refunds

A new functionality has been implemented to **map sales orders with customer refunds**, providing better transparency and control over refund processes. This enhancement allows users to specify the refund amount associated with a particular sales order.&#x20;

{% hint style="info" %}
This feature is only supported for refunds of customer deposits.
{% endhint %}

With this update, users can view the refunded amount of a customer deposit directly on the linked sales order.

#### **Features Details**

1. **Customer Refund Section in Sales Order Header Details**\
   A new **Customer Refund** section has been introduced under the **Linked Credits/Deposits** tab in the Sales Order Header Details. This section displays all customer refunds associated with the sales order deposit.

   <figure><img src="/files/68t2Ti0MRCLWwfooUMEZ" alt=""><figcaption></figcaption></figure>
2. **Sales Order Details in the Customer Deposit Refund Screen**\
   \
   The mapping has also been extended when refunding the customer deposit. The users can now view the sales order associated with the deposit when processing the refund.&#x20;

* **Sales Order Linkage in Customer Deposit Refund Screen**\
  When processing customer deposit refunds, if the deposit is linked to one or more sales orders, the following sales order information is displayed:

  * **Sales Order Number:** Identifies the linked sales order.
  * **Remaining Deposit Amount:** Shows the unutilized amount of the customer deposit after applying it to the sales order.
  * **Refund Amount:** Displays the amount being refunded from the deposit for the respective sales order.

  <figure><img src="/files/yxaZAAKKjJPBjH9mH3VG" alt=""><figcaption></figcaption></figure>
* **Defining Refund Amount per Sales Order:**\
  Users can manually specify the refund amount in the **Refund Amount** column for each linked sales order. This feature provides flexibility to process partial refunds based on the remaining deposit amount linked to each order.

  <figure><img src="/files/gx1AQwa1jsLwZwQ5Eixv" alt=""><figcaption></figcaption></figure>

3. **Updated Behavior for Refunded Deposit Display**

Previously, the Refunded Deposit section displayed the total refunded amount for the entire linked customer deposit—even if only part of that deposit was applied to the sales order. This included any refunded portion of the deposit not directly associated with the sales order.

With this update, the "Refunded Deposit" section now only reflects the refunded amount that pertains specifically to the linked deposit portion. In other words, it will display only the refunded amount from the deposit that is associated with the sales order.

<figure><img src="/files/JQ0WvjpFvIrcSl7LiGP8" alt=""><figcaption></figcaption></figure>

### Enhancement in Inventory Snapshot and Short Inventory Planner (SIP) for Improved Inventory Visibility and Purchase Planning

The **Item Inventory Snapshot** and **Short Inventory Planner (SIP)** modules have been upgraded to enhance inventory visibility, historical data tracking, and purchase planning.

**Key Updates:**

1. **Vendor Filter in Item Inventory Snapshot:**
   * A new **Vendor** filter has been added, allowing users to filter inventory data based on specific vendors for more targeted inventory analysis.

     <figure><img src="/files/m9xfrmbIOcV1JIk63mhy" alt=""><figcaption></figcaption></figure>
2. **New Columns in Item Inventory Snapshot (Referencing Short Inventory Planner):**
   * **Short Qty:** Displays the quantity short based on current stock levels and demand.
   * **To Order Qty:** Represents the quantity suggested for reorder based on stock shortages.

     <figure><img src="/files/hYCFP2zZr8oOzGa2j9ZC" alt=""><figcaption></figcaption></figure>
3. **New App Configuration in Inventory Settings:**\
   A new **App Config** option, **"Show Sales History Data in Inventory Snapshot and Short Inventory Planner"**, has been added under the **Inventory** tab.<br>

   <figure><img src="/files/sNdIQSFwyd7cEYPQdVjP" alt=""><figcaption></figcaption></figure>

   When this configuration is enabled, the following features are activated:

   * **Months Search Filter Dropdown:** Allows users to filter sales history by selecting the desired number of months.

     <figure><img src="/files/N4givHmGNkpuBhIH9tyR" alt=""><figcaption></figcaption></figure>
   * **Include Suggested Qty Toggle Button:** If enabled, the Suggested Order Qty (based on historical sales data) will automatically be added to the To Order Qty column to optimize order suggestions.

     <figure><img src="/files/KuEggEnsPomqR87jf5Ey" alt=""><figcaption></figcaption></figure>
4. **Additional Columns Added (Enabled via App Config):**
   * **Sales History Qty Sold:** Displays the total quantity sold in the selected historical period.
   * **Suggested Order Qty:** Suggests the quantity to order based on historical sales data and current inventory status.
   * **Total Line CBM:** Shows the total cubic meter volume for each line item, aiding in warehouse space planning.<br>

     <figure><img src="/files/eyjU3wkVO4LDFHgctrjH" alt=""><figcaption></figcaption></figure>
5. **Total CBM Row:**
   * A summary row at the bottom of the table that calculates the **Total CBM** for all line items listed, providing a comprehensive view of inventory volume.

     <figure><img src="/files/XWIGKwARcrtUWg13xlYH" alt=""><figcaption></figcaption></figure>

### **New "Contacts" Module in XoroERP**

***

#### **Overview**

We are excited to introduce a new **"Contacts"** module in **XoroERP**, designed to efficiently store and manage customer and vendor contacts. This module enhances address handling, making order processing more streamlined and reducing manual data entry errors.

With the **Contacts Centre**, users can maintain a **centralized repository** of contact information, link contacts to customers and vendors, and ensure seamless address auto-population in transactions like **Estimates, Sales Orders, and Invoices**.

{% hint style="info" %}
To access the Contacts module, go to Menu > Admin > Contacts
{% endhint %}

<figure><img src="/files/M6vPEzp9SJ5j77eQRGmE" alt=""><figcaption></figcaption></figure>

#### **Key Features & Functionality**

#### **A. Contacts / Contacts Centre**

The new **Contacts** module enables users to store and manage contact details for **Customers and Vendors**.

#### **B. Core Fields in the Contacts Module**

Each contact entry includes the following fields:

* **First Name** – Contact's first name.
* **Last Name** – Contact's last name.
* **Phone Number** – Primary contact number.
* **Email** – Contact’s email address.
* **Title** – Job title of the contact person.
* **Entity (Customer/Vendor)** – Specifies whether the contact is linked to a **Customer** or **Vendor**.
* **Ship To Address (Multi-Selector)** – Displays available shipping addresses (enabled only when "Customer" is selected as the entity).
* **Bill To Address (Multi-Selector)** – Displays available billing addresses (enabled only when "Customer" is selected as the entity).
* **Default Ship To Address** – Pre-selected primary shipping address for the contact.
* **Default Bill To Address** – Pre-selected primary billing address for the contact.

***

#### **Address Handling Logic**

* The **"Ship To Address"** and **"Bill To Address"** fields are **initially disabled**.
* When a **Customer** is selected in the "Entity" field, these fields **automatically enable** and populate with the customer's available addresses.
* Users can select the appropriate addresses from the dropdown, and the chosen addresses will be saved as the **default billing and shipping addresses**.
* If a **Vendor** is selected, these fields remain **disabled**, as vendor contacts do not require billing/shipping addresses.

***

#### **Contacts Centre – Search & Management**

The **Contacts Centre** includes powerful search and management functionalities:

* **Search Filters:**
  * **Entity Name Filter** – Search contacts linked to a specific customer or vendor.
  * **Quick Search Filters:** Search contacts by
    * First Name
    * Last Name
    * Company Name
    * Phone Number
    * Email
* **Batch Actions:**
  * **Batch Delete** – Allows users to delete multiple contacts at once (*Contacts that are in use cannot be deleted*).
  * **Edit in New Window** – Enables bulk modifications of contact details.
* **Added Columns:**
  * **Default Ship To Address** – Displays the primary shipping address for the contact.
  * **Default Bill To Address** – Displays the primary billing address for the contact.

***

#### **Impact on Sales Transactions**

The new **Contacts** module is fully integrated into the **Estimate, Sales Order, and Invoice** workflows, optimizing address handling:

* If a **customer has an assigned contact**, the system **automatically populates** the contact’s **default billing and shipping addresses** in the transaction.
* If no contact is assigned, the system defaults to the **customer’s primary billing and shipping addresses**.
* **Changing the contact during the transaction updates the addresses dynamically**, ensuring real-time accuracy.

{% hint style="info" %}
**Ensure all customer contacts are linked properly** to leverage address auto-population in transactions.
{% endhint %}

* **For further assistance**, please reach out to the **XoroERP support team**.

We believe this enhancement will significantly improve your workflow efficiency and accuracy in handling customer and vendor interactions.

### **Contact Module Integration with Customer & Vendor Modules**

***

#### **Overview**

We are pleased to introduce a new enhancement in **XoroERP** that integrates the **Contacts module** with the **Customer and Vendor** modules. This enhancement allows users to efficiently manage contacts directly from the **Create Customer** and **Create Vendor** screens, improving workflow efficiency and data organization.

With this update, users can now **view, add, edit, and delete** contacts linked to a specific customer or vendor without navigating away from the main customer/vendor profile. This enhancement simplifies contact management, ensures better tracking, and enhances communication records for businesses dealing with multiple customer or vendor contacts.

***

#### **Key Enhancement Details**

#### **A. New Contacts Tab in Customer & Vendor Modules**

* A **new "Contacts" tab** has been added within the **"Contact Info" parent tab** in both:
  * **Create Customer**
  * **Create Vendor**

<figure><img src="/files/SdwD1nI6XtgWWNKFswrE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/cUeU3jn6LoNne5M7qDGJ" alt=""><figcaption></figcaption></figure>

* This tab now displays **all contacts** linked to the respective **Customer or Vendor**.

<figure><img src="/files/LVPY3ef7r2kOgQhauxzF" alt=""><figcaption></figcaption></figure>

#### **B. Contact Management Features**

Inside the new **Contacts** tab, users can perform the following actions:

**View Contacts** – Displays the **list of contacts** linked to the selected Customer or Vendor.\
**Add New Contact** – Allows users to create a **new contact** for the respective entity directly within the module.\
**Edit Contact** – Enables users to **modify existing contact details** for updates or corrections.\
**Delete Contact** – Allows users to **remove contacts** that are no longer needed.

*Note: Contacts that have been used in transactions or linked to records may have restrictions on deletion to maintain data integrity.*

***

#### **Workflow Changes & User Experience**

#### **Before the Enhancement**

* Users had to **navigate separately** to the **Contacts module** to create or manage contacts for a Customer or Vendor.
* Contact visibility was not directly available in the Customer/Vendor profiles.
* The process involved **extra steps**, making it time-consuming to associate contacts with entities.

#### **After the Enhancement**

* Users can **view and manage all associated contacts** directly from the **Customer or Vendor profile** under the new **Contacts tab**.
* **Seamless contact management** ensures that adding, editing, or deleting contacts is more **intuitive and time-efficient**.
* When a contact is created from the Customer or Vendor module, it **automatically links** to the respective entity in the Contacts module.

***

#### **How to Use the New Contacts Tab?**

* Navigate to **Create Customer** or **Create Vendor** in XoroERP.
* Go to the **"Contact Info" parent tab** and select the new **"Contacts" tab**.
* View the **list of linked contacts** for the selected entity.
* Use the **"Add Contact" button** to create a new contact for the Customer or Vendor.
* Click **"Edit"** to modify existing contact details.
* Click **"Delete"** to remove an unnecessary contact (*if not in use*).

***

#### **Next Steps**

* **Users should start leveraging this feature** for streamlined contact management within Customer and Vendor profiles.
* **Ensure all relevant customer and vendor contacts are added** to maximize operational efficiency.
* **For further assistance**, please reach out to the **XoroERP support team**.

This enhancement is designed to **simplify contact handling** and **improve efficiency** in managing business relationships within XoroERP. We look forward to seeing how this improvement enhances your workflows!

### **New "Batch Upload Contacts" Module in XoroERP**

***

#### **Overview**

We are excited to introduce the **Batch Upload Contacts** module in **XoroERP**, designed to streamline the process of importing contact information in bulk. This new module allows businesses to seamlessly **migrate existing customer and vendor contacts** from their old systems into XoroERP using a structured **Excel template**, eliminating manual data entry and reducing errors.

With this enhancement, businesses can **quickly and efficiently update their contact database**, ensuring that all relevant customer and vendor information is available in one centralized system.

<figure><img src="/files/YkTCbYUJEAhk0WQu5VQ7" alt=""><figcaption></figcaption></figure>

***

#### **Key Features & Functionality**

#### **A. Simplified Contact Migration Process**

* Users can now **export contacts from their old system** and format them using XoroERP’s **predefined template**.
* The module supports **bulk data entry** by allowing users to **copy-paste contacts from an exported file into the provided template**.
* Once formatted, users can **upload the file**, and the system will automatically create or update contacts in XoroERP.

#### **B. Steps to Batch Upload Contacts**

* **Download the Contact Upload Template**
  * Navigate to **Batch Upload Contacts** in XoroERP.
  * Click on **"Download Template"** to get the required file format.
  * Open the file using **Excel or any spreadsheet editor**.
* **Copy-Paste Contact Data into the Template**
  * Open the **exported file** from the old system.
  * Copy and paste relevant **contact details** into the downloaded **XoroERP template**.
  * Ensure that all required fields (**First Name, Last Name, Phone Number, Email, Entity Type**) are correctly filled.
* **Upload the Completed File**
  * Once all contacts have been copied into the template, go back to **XoroERP**.
  * Click on **"Upload Contacts"** and select the completed file.
  * The system will **validate the data** and **import contacts in bulk**.

**Validation & Error Handling**

* If the file contains **missing or incorrect fields**, the system will highlight errors.
* Users can **download an error report**, correct any issues, and re-upload the file.

***

#### **How to Access the Batch Upload Contacts Module**

**Navigate to:** **XoroERP → Contacts → Batch Upload Contacts**

Users can access this module from the **Contacts section**, where they can download the template, format their data, and upload it seamlessly.

***

#### **Important Considerations**

* **Ensure data accuracy** before uploading, as incorrect or missing fields will result in validation errors.
* **Use only the provided template** to format data correctly and prevent import failures.
* **Check the entity type** (**Customer or Vendor**) before uploading to link contacts appropriately.
* **Review the error report** if the upload fails and make necessary corrections before reattempting.

***

We believe this new module will significantly enhance your contact management capabilities, **making data migration and updates easier than ever before!**\ <br>

### **Enhancement in Item Receipt & Bill Module – "Amount" Column in Accrual Account Selection**

***

#### **Overview**

We have introduced an enhancement in **XoroERP’s Item Receipt and Bill modules** by adding a new **"Amount"** column in the **"Select Accrual Account & Vendor"** pop-up. This update provides greater transparency and accuracy when selecting an accrual account and vendor during the item receipt and billing process.

***

#### **Key Enhancement Details**

#### **A. New "Amount" Column in Accrual Account Selection Pop-Up**

* The **"Amount" column** has been added to the **"Select Accrual Account & Vendor"** pop-up.
* This allows users to **view the amount associated with the accrual selection**, ensuring better financial tracking.

#### **B. How to Access the Pop-Up?**

To access this pop-up in **Item Receipt and Bill modules**:

* **Uncheck the "Add to Vendor Bill?" checkbox.**

<figure><img src="/files/ilizs8Jyf4yOgnqr3yPm" alt=""><figcaption></figcaption></figure>

* Click on **"Finish"** to open the pop-up.
* The **"Select Accrual Account & Vendor"** pop-up will now display the new **"Amount" column** for reference.

<figure><img src="/files/8QtzLze53rDzE2OFjp9x" alt=""><figcaption></figcaption></figure>

This enhancement is designed to **increase transparency, improve accuracy, and streamline financial processes within XoroERP**.

### **New "Required" Field for LPN Attributes in Create Item**

#### **Module:** Create Item, Inventory Management, Receiving, Putaway, and Move Inventory

#### **Overview**

We have introduced a new **"Required"** field for **LPN (License Plate Number) attributes** in the **Create Item** module. This enhancement enforces validation on LPN attributes during inventory actions, ensuring that critical attributes are provided before processing transactions in **XoroERP and XoroWMS**.

This update enhances **inventory accuracy, compliance, and operational control** by preventing actions on LPNS that are missing required attributes.

***

#### **Key Enhancements & Functionality**

#### **Required" Field for LPN Attributes in Create Item**

* Each **LPN attribute** can now be marked as **"Required"** when creating an item.
* Once an attribute is marked as required, it **must be provided** when performing actions on LPNS containing that item.

<figure><img src="/files/QMDUwOEki3UFQrikyBss" alt=""><figcaption></figcaption></figure>

#### **ERP-Side Validations & Impact on Transactions**

* If an item has **"Required"** LPN attributes, actions on the LPN will only be allowed if all required attributes are provided.
* The following **ERP-side transactions** will enforce this validation:\
  ✅ **Inventory Adjustment**\
  ✅ **Batch-Edit LPN Info**\
  ✅ **Receive ASN & MO (Produce and Disassemble)**
* If required attributes are missing, an **error will be displayed**, preventing the action.

**ERP-Side Exceptions (Validations Skipped)**

The attribute validation **will be skipped** for the following operations to ensure flexibility:\
**Quick Receive (PO)**\
**Quick Produce (MO)**\
**Quick Disassemble (MO)**

{% hint style="info" %}
These operations will proceed without validation, preventing workflow disruptions.
{% endhint %}

***

#### **WMS-Side Validations & Impact on Transactions**

#### **A. Receiving Module**

* If an item has a **"Required"** LPN attribute, it must be provided before completing the receiving process.
* **Key Changes:**
  * The **LPN Attribute page** will **always be displayed** during receiving, even if the app config **"Suppress LPN Attributes Page in Receiving"** is enabled.
  * **Receiving will only be allowed if all required attributes are provided.**

#### **B. Putaway By Item**

* **Scenario:** If an LPN does not contain the required attributes for a putaway item, an **error message** will be displayed, preventing the putaway process.

#### **C. Move Inventory By Item**

* The same validation applies when **moving inventory** using the **Move Inventory by Item** function.
* If an LPN lacks the required attributes, the move will be **blocked** until the missing attributes are provided.

***

#### **Important Notes**

🔹 **LPN Attribute Hierarchy:**

* An **LPN attribute will be marked as "Required"** if **any item** in the LPN has that attribute marked as required.
* This ensures that mixed-item LPNS **maintain attribute integrity** across all processes.

#### **How to Use This Feature?**

#### **Step 1: Mark Required Attributes for an Item**

1. Navigate to **Create Item** in XoroERP.
2. Define **LPN attributes** for the item.
3. Check the **"Required"** box for attributes that must be provided during transactions.
4. Save the item.

#### **Step 2: Ensure Compliance During Transactions**

* Before performing actions like **Receiving, Putaway, or Moving Inventory**, ensure that required attributes are provided.
* If an LPN lacks required attributes, an error will be displayed, preventing the transaction.

This enhancement strengthens inventory management **by ensuring all necessary LPN attributes are captured before processing**, leading to a **more accurate and controlled workflow**.

### **New Fields Added to Receive ASN Module**

#### **Overview**

We have introduced new fields in the **Receive ASN (Advanced Shipping Notice)** module to enhance shipment tracking and vendor management. These additions ensure better alignment between ASN data and shipment records, improving overall visibility and accuracy in the receiving process.

<figure><img src="/files/Nq38lBd32QAKsoOTQvqC" alt=""><figcaption></figcaption></figure>

***

#### **Key Enhancements & Functionality**

#### **A. New Fields Added to the Receive ASN Module**

The following fields have been introduced in the **Receive ASN** screen:

1. **Vendor(s):**
   * Stores **comma-separated PO Numbers**, allowing users to quickly identify purchase orders associated with the ASN.
   * Enhances traceability between ASNs and vendor shipments.
2. **Trailer#**
   * Stores the **trailer number** associated with the shipment, improving inbound logistics tracking.
3. **BOL# (Bill of Lading Number)**
   * Captures the **BOL number**, ensuring alignment between ASN data and shipment documentation.
   * Helps in verification and compliance during receiving.
4. **Carrier**
   * Stores the **carrier name** responsible for delivering the ASN shipment.
   * Ensures consistency in transportation records.

#### **B. Field Consistency with Edit Shipment Info**

* **Carrier, Tracking#, and BOL#** fields now match the corresponding fields in the **Edit Shipment Info** section in the ASN Search Centre.

<figure><img src="/files/NvnRkccmAWffcNZ5Ii8C" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/KDgcUj1QPOq2suX4J4Uk" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/8mURq9GhyilowgzSb5tW" alt=""><figcaption></figcaption></figure>

* Ensures uniform data handling across **shipment editing and ASN receiving**.

### **Enhancement in Create Wave – LPN Number Prioritization & Sorting**

#### **Module:** Sales Order → Create Wave

***

#### **Overview**

We are introducing a new enhancement in the **Create Wave** module that improves **LPN (License Plate Number) management and prioritization** when generating waves from the **Sales Order** module.

With this update, users can now:

* **Manually or automatically assign multiple LPN numbers** when creating a wave.
* **Prioritize LPN allocations** based on sorting criteria such as **Expiry Date, Manufacturing Date, or Lot Number Sequence**.
* **Ensure systematic picking and allocation of inventory** based on wave template rules.

This enhancement provides greater flexibility in **inventory wave processing**, ensuring that orders are fulfilled based on predefined LPN allocation rules.

<figure><img src="/files/MAJ3rqtVaMhdPZoMyNSr" alt=""><figcaption></figcaption></figure>

***

#### **Key Enhancements & Functionality**

#### **A. New "LPN Numbers" Field in Create Wave Pop-Up**

* A new field **“LPN Numbers”** has been added to the **Create Wave** pop-up when generating a wave.
* Users can now enter **multiple LPN numbers** when manually or automatically creating a wave.
* Once the **Wave Template** is selected, the system will fetch all items associated with the **specified LPN numbers** while also considering the **wave template criteria rules**.

#### **B. Prioritization of LPN Numbers in Assign Consolidation Location Window**

* The **Assign Consolidation Location Window** in the Create Wave module now prioritizes the LPN numbers provided in the Create Wave pop-up.
* Priority assignment occurs **only when a Wave Template is selected** and the **Criteria Rule Type field has a value**.
* This ensures that items associated with the **entered LPNs are sorted and prioritized** accordingly during wave creation.

#### **C. New Option to Prioritize LPN Allocations by Attribute Sorting**

* Added an option to **prioritize LPN allocations** based on **specific attribute sorting orders**, including:\
  ✅ **Expiry Date** – Ensures that items closest to expiry are picked first (FIFO approach).\
  ✅ **Manufacturing Date** – Allows prioritization based on production dates.\
  ✅ **Lot Number Sequence** – Ensures sequential picking based on lot numbers.
* This feature enhances **inventory control**, ensuring that the most relevant stock is allocated to fulfill orders efficiently.

***

#### **How to Use This Feature?**

#### **Step 1: Create a Wave with LPN Numbers**

Navigate to **Sales Order → Create Wave** in XoroERP.\
In the **Create Wave** pop-up, enter multiple **LPN Numbers** in the newly added field.\
Select the **Wave Template** to apply the allocation rules.\
The system will fetch all **items associated with the LPN numbers** while also considering wave template criteria.

<figure><img src="/files/Uiaq7cpM5WKgrwmCqk0m" alt=""><figcaption></figcaption></figure>

#### **Step 2: Prioritize LPN Allocations in Assign Consolidation Location Window**

Ensure that the **Wave Template** has been selected.\
If the **Criteria Rule Type** field has a value, the system will **prioritize** LPNs accordingly.

#### **Step 3: Enable Attribute-Based Sorting for LPN Allocations**

Set up the preferred **LPN sorting criteria** in the system:

* **Expiry Date** (for FIFO-based picking).
* **Manufacturing Date** (for batch control).
* **Lot Number Sequence** (for sequential allocation).\
  The system will allocate LPNs based on the **selected sorting order**, ensuring efficient stock utilization.

This enhancement significantly **improves LPN prioritization, allocation efficiency, and inventory accuracy** in wave processing, making order fulfillment **smarter and more systematic**.

### **Enhanced Sorting in Wave Processing – "Ascending/Descending" Field in Wave Template Module**

#### **Module:** Sales Order → Create Wave & Wave Template

#### **Overview**

Building upon our previous enhancement that introduced **LPN prioritization and sorting rules in the Create Wave module**, we are now introducing an additional **sorting parameter** in the **Wave Template module** to provide greater flexibility and control over inventory allocation.

With this update, users can now define whether sorting should be applied in **Ascending or Descending order** when applying wave template criteria. This enhancement ensures that when both **LPN numbers and a Wave Template** are provided, the system **first prioritizes the specified LPNs** and then **sorts the items based on the selected order**.

This enhancement further refines inventory allocation by ensuring that items are not only selected based on LPN assignment but are also **sorted in the most efficient manner for order fulfillment**.

<figure><img src="/files/AyPlk5UmU7egJq5CRpf3" alt=""><figcaption></figcaption></figure>

***

#### **Key Enhancements & Functionality**

#### **A. New "Ascending/Descending" Field in Wave Template's Add Condition Popup**

* A new **sorting field** named **"Ascending or Descending"** has been added to the **Wave Template module’s Add Condition pop-up**.
* This field allows users to define the sorting order for inventory allocation based on selected attributes such as:
  * **Expiry Date** (FIFO or LIFO picking).
  * **Manufacturing Date** (Oldest or Newest batch prioritization).
  * **Lot Number Sequence** (Lowest to Highest or Highest to Lowest).

#### **B. Contextual Integration with Previous Release (LPN Prioritization & Sorting)**

* In our **previous release**, we introduced the **LPN Numbers field** in the **Create Wave** module, which allowed users to:

&#x20;     Specify **multiple LPN numbers** during wave creation.\
&#x20;     Ensure the system **fetches items only from those LPNs**.\
&#x20;     Sort those items **based on the wave template criteria**.

* With the **new sorting field**, users now have additional control over how **items are sorted** after being selected based on **LPN priority**.
* **Example Scenario:**
  * If an LPN has multiple items with different expiry dates, and the wave template rule is based on **Expiry Date**, users can now choose whether to sort in **Ascending (earliest expiry first) or Descending (latest expiry first) order**.

#### **C. Priority Sorting Workflow in Wave Processing**

* **If both LPN Numbers and Wave Template are provided:**
* The system **first prioritizes items based on the provided LPN numbers**.\
  The system then **sorts the selected items** using the **Wave Template criteria**.\
  The new **"Ascending or Descending" field** determines whether sorting is applied from **lowest to highest** or **highest to lowest**.
* **If only the Wave Template is provided (without LPN Numbers):**\
  The system will **apply the sorting order directly to all eligible inventory** based on the wave template conditions.

**How to Use This Feature?**

#### **Step 1: Configure Sorting Order in Wave Template Module**

* Navigate to **Wave Template Module** in XoroERP.
* Open the **Add Condition Pop-up** and select the attribute to be used for sorting (e.g., **Expiry Date, Lot Number, Manufacturing Date**).
* Choose either **Ascending (Oldest First) or Descending (Newest First)** based on business needs.
* Save the template.

#### **Step 2: Create a Wave Using LPN Numbers & Wave Template**

* Navigate to **Sales Order → Create Wave**.
* Enter **LPN Numbers** in the newly added field.
* Select a **Wave Template** that includes sorting rules.<br>

The system will:

* Fetch **only the items from the specified LPNs**.
* Apply **sorting criteria from the Wave Template** based on the **Ascending/Descending selection**.
* Prioritize inventory allocation accordingly.

### **New "Upload RMA" Module in XoroERP**

#### **Module:** Upload RMA

**Overview**

We are excited to introduce a new module in XoroERP—**Upload RMA (Return Merchandise Authorization)**—which streamlines the process of creating and managing RMAs in bulk. This enhancement allows users to **upload multiple RMAs** using a structured **CSV file**, improving efficiency and accuracy in the returns process.

This module **supports only the creation of Direct RMAs**, enabling businesses to quickly process return requests from customers while maintaining seamless integration with existing RMA workflows.

<figure><img src="/files/VJFKX8iFzY5Sdgd4f6vu" alt=""><figcaption></figcaption></figure>

***

#### **Key Features & Functionality**

#### **A. Upload Multiple RMAs in Bulk**

* Users can now **upload multiple RMAs** through the **Upload RMA module**.
* Eliminates the need for manual data entry, reducing errors and saving time.

#### **B. Required Fields in Upload RMA CSV**

To ensure proper data mapping and validation, the **Upload RMA module** requires the following fields in the CSV file:

* **ThirdPartyRefNo** – Reference number for third-party tracking.
* **StoreCode** – Identifies the store associated with the return request.
* **CustomerName** – Specifies the customer initiating the return.
* **TxnDate** – Transaction date of the return.
* **ExchangeRate** – Conversion rate for transactions in multiple currencies.
* **AccntReceivableName** – Account receivable details linked to the return.
* **ItemNumber** – Unique identifier of the item being returned.
* **Qty** – Quantity of the item being returned.
* **ReturnNotes** – Additional notes or reasons for the return.
* **CurrencyCode** – Specifies the currency in which the return is being processed.

#### **Conditional Visibility of the "Quality" Field**

* The **"Quality" field** in the **RMA File Upload Defaults** is displayed only when **LPN tracking** is enabled.
* This ensures that quality-related data is captured only when required for **LPN-based inventory tracking**.

#### **D. Support for RMA Header Custom Fields**

* Added **support for RMA Header Custom Fields** in the Upload RMA module.
* Users can now include **customized header fields** in their CSV uploads, ensuring better flexibility and alignment with business-specific return workflows.

***

#### **How to Use This Feature?**

* Navigate to **Upload RMA Module** in XoroERP.

<figure><img src="/files/z3LMVIrQd75N8Hkuxwf7" alt=""><figcaption></figcaption></figure>

* Prepare the CSV file with all required fields (**ThirdPartyRefNo, StoreCode, CustomerName, etc.**).
* Upload the file to process multiple RMAs in one go.
* If **LPN is enabled**, the **Quality** field will be displayed.
* Review and validate the uploaded data before finalizing the RMAs.

This enhancement improves **efficiency, accuracy, and flexibility** in RMA management, ensuring a **streamlined return processing experience**.

### **Activity Tracking across Multiple Modules**

#### **Feature:** Activity Tracking Enhancement

***

#### **Overview**

We have introduced **Activity Tracking feature** across multiple modules in **XoroERP**, providing users with greater transparency and accountability when updating records. This enhancement allows users to track and review **field-level changes**, ensuring that any modifications to critical data are recorded for auditing and compliance purposes.

With this update, users can:

* **View changes** in the **Activity Tracking Data Centre** for various modules, such as Sales Order and Purchase Order.
* **Access old and new values** of updated fields directly from their respective module centres.
* **Easily navigate to the Activity Tracking Data Centre** from both the **header and line-level options** in the create/edit pages.

This improvement enhances **data integrity, accountability, and traceability**, making it easier for users to track changes and maintain accurate records.

***

#### **Key Enhancements & Functionality**

#### **A. Grant Access to Activity Tracking Data Centre**

* To enable activity tracking, access must be **granted via Access Manager**.
* Once access is provided, users will be able to view tracking data across different modules.

#### **B. View Updated Field Values in Module Centres**

* The **Activity Tracking Data Centre** now logs the **old and new values** of updated fields for their respective modules.
* For example:
  * Sales Order updates will be logged and visible in the **Sales Order Centre**.
  * Purchase Order updates will be logged and visible in the **Purchase Order Centre**.
* This ensures users can easily track what changes were made, who made them, and when they occurred.

#### **C. Show Activity Option in Header Options Drop-Down**

* A new **"Show Activity"** option has been added to the **header options drop-down** in **every Create/Edit page** (e.g., **Create SO, Create PO**).

<figure><img src="/files/ZSkzBrJBxluI6wJkTVp1" alt=""><figcaption></figcaption></figure>

* Clicking this option opens a popup window displaying the activity logs for the selected record.
* This allows users to quickly review changes without navigating manually.

#### **D. Show Activity Option at Line Level in the Context View**

* A similar **"Show Activity"** option has been added at the **line level** of the same pages.
* Users can **right-click on a line item** and select **Show Activity** to view tracking details specific to that line.

<figure><img src="/files/D0ZzcKdI42mHQk7zREJ8" alt=""><figcaption></figcaption></figure>

* This feature improves traceability at the **line-item level**, ensuring granular visibility into data changes.

***

#### **How to Use This Feature?**

* **Grant Access to Activity Tracking Data Centre:**
  * Navigate to **Access Manager** and provide access to relevant users.
* **View Updated Field Values in Module Centres:**
  * Go to any module’s **data centre** (e.g., **Sales Order Centre**).
  * Check the activity log to see **old and new values** for updated fields.
* **Use the Show Activity Option in Header Drop-Down:**
  * Open a **Create/Edit page** (e.g., **Create Sales Order, Create Purchase Order**).
  * Click the **"Show Activity"** option in the **header drop-down menu**.
  * The system redirects to the **Activity Tracking Data Centre**, displaying logs for the selected record.
* **Use the Show Activity Option at Line Level:**
  * Right-click on a **line item** in the **Create/Edit page**.
  * Click **"Show Activity"** to view tracking logs for that specific line item.

This enhancement ensures **better data transparency, stronger audit trails, and more efficient tracking of updates**, helping businesses maintain accurate and compliant records.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.xorosoft.com/whats-new/release-notes/previous-releases/2025/march-2025-release.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
