# July 2025 Release

{% hint style="warning" %}
**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 %}

### Multi-Select Support for Custom Fields

**Overview:**

This release introduces **multi-select dropdown support** for custom fields in both the **Header** and **Detail** sections across applicable modules. Users can now assign **multiple values** to a single custom field, enabling more flexible and comprehensive data capture.

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

<figure><img src="/files/34a7Bmos7dP5bxYC7lAI" alt=""><figcaption></figcaption></figure>

**What’s New:**

| Area                 | Description                                                                                                                                                                                                                                                                                                                                                         |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Detail Custom Fields | Multi-select dropdowns are now supported. Users can select multiple values per line item.                                                                                                                                                                                                                                                                           |
| Header Custom Fields | Multi-select functionality has been enabled. Users can apply multiple values at the document level.                                                                                                                                                                                                                                                                 |
| Applicable Modules   | Estimate, Estimate Centre, Sales Order, Sales Order Centre, Purchase Order, Purchase Order Centre, Invoice, Invoice Centre, Item Receipt, Item Receipt Centre, Bill, Bill Centre, Sales Receipt, Sales Receipt Centre, Credit Memo, Credit Memo Centre, Bill of Material, Bill of Material Centre, Manufacturing Order, Manufacturing Order Centre, RMA, RMA Centre |

### **Field Sorting in Bank Reconciliation Centre**

**Overview:**

To improve usability and data navigation within the **Bank Reconciliation Centre**, we have introduced field-level **sorting capabilities**. This enhancement enables users to sort data columns directly within the interface, allowing for faster reconciliation and improved control over large data sets.

<figure><img src="/files/6Ek898VzfxXi4XnMeaBE" alt=""><figcaption></figcaption></figure>

***

**Enhancement Details:**

* All key fields in the **Bank Reconciliation Centre** are now **sortable**, allowing users to arrange entries in ascending or descending order based on their preferences.
* Sorting functionality has been added to fields such as:
  * **Transaction Date**
  * **Document Type**
  * **Document Number**
  * **Amount**
  * **Reconciled Status**
  * **Bank Reference**
  * **Cleared Date**
  * (Include other fields here as applicable)

{% hint style="warning" %}

* This enhancement applies to both **manual** and **auto-reconciled** entries within the module.
* Sorting is retained per session but will reset upon page reload.
  {% endhint %}

### **Brand Field Added to Batch Inventory Movement**

We have introduced a new enhancement in the **Batch Inventory Movement** module to improve searchability and categorization of inventory records.

**Overview:**

* A **"Brand" field** has been added to the **Batch Inventory Movement columns**, enabling users to directly view the brand associated with each batch entry.

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

* The **"Brand" field** has also been integrated into the **Advanced Search** functionality, allowing users to filter batch inventory movement data based on specific brands.

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

***

### Auto-Assign Default Item Location for PO Receiving and MO Operations&#xD;

**Overview:**

**New App Config Introduced**

A new application configuration named:\
\&#xNAN;**“Auto-Select Default Item Location for PO Receiving and MO Production/Disassembly”** has been added to the system settings.

* **Type:** Multi-select dropdown
* **Available Options:**
  * Receive PO
  * Produce/Disassemble MO

This configuration provides users with greater automation and efficiency during inventory movements.

<figure><img src="/files/1Gnn8llm1d1bwKeKpHfe" alt=""><figcaption></figcaption></figure>

***

**How It Works:**

When this configuration is enabled:

* The system will **automatically assign the item’s default location**:
  * During **PO receiving**, through **Quick Receive** or **ASN**.
  * During **MO production and disassembly** processes.
* Users will no longer be required to manually select the item location; items will be **directly received, produced, or disassembled into their default locations**.

***

**Validation Logic:**

To ensure data accuracy and consistency, the system performs the following validations:

* An error will be triggered if:
  * The **item’s default store or default location is not defined**, or
  * The **default store does not match** the store selected in the **PO or MO**.

This validation prevents incorrect inventory placement and maintains inventory integrity across the system.

***

### **"Post Selected Lines as New Bill" – Item Receipt Module Enhancement**

**Overview:**

A new feature, **“Post Selected Lines as New Bill”**, has been introduced in the **Item Receipt module**. This enhancement provides users with greater flexibility and control by allowing them to **selectively post specific item receipt lines to a new bill**, instead of converting the entire receipt at once.

This&#x20;enhancement allows users to select specific item receipt lines for posting as separate\
bills, while maintaining full auditability, status tracking, and financial integrity. This is particularly helpful in scenarios involving **partial receipt billing**, complex vendor invoicing, or staggered item reconciliation workflows.

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

**How It Works:**

**1. Access & Usage**

* The **“Post Selected Lines as New Bill”** option is now available under the **Options dropdown** in the **Item Receipt module's Header** section.
* Users can select individual item receipt lines and post them to a new vendor bill.

***

**2. Line-Level Enhancements**

Each item line now includes two new fields:

* **Posted:** Indicates whether the line has already been posted to a bill (True/False).
* **Posted Bill#:** A hyperlink field referencing the bill number the line has been posted to, allowing direct navigation to the corresponding bill.

When a line is successfully posted:

* The **Posted** flag is marked as **True**.
* The **Posted Bill#** is populated with a clickable link.
* The **Item Receipt (IR)** status becomes **Partially Posted**.

Once all lines are posted:

* The **IR status** changes to **Posted**.

These fields are visible on both the **Item Receipt Centre** and **Create/Edit page** views.

***

**3. Validation & Data Integrity**

Robust validations have been added to ensure consistency and prevent unintended changes:

* **Line Locking:**
  * **Posted lines** cannot be edited (fields like Qty, Unit Cost, UOM, and Tax are locked).
  * Other non-impacting fields like **Description** or **Memo** remain editable.
* **Deletion Restrictions:**
  * Posted lines cannot be deleted unless the associated bill is voided.
* **Duplicate Posting Prevention:**
  * System checks ensure that a posted line cannot be reposted.
* **Accounting Accuracy:**
  * The posting process respects GL and AP balances to maintain financial integrity.

***

**4. Partial Posting Scenarios**

* **Partially Posted IR:**
  * When only some lines are posted, the IR remains editable for **unposted lines**.
  * **New lines** can be added.
  * Posted lines remain read-only for protected fields.
* **Full Posting:**
  * Once all lines are posted, the entire IR status is set to **Posted** and becomes non-editable for any transactional changes.

***

**5. Voiding Posted Bills**

* If a **posted bill is voided**, the corresponding item receipt lines automatically:

  * Revert the **Posted** status to **False**.
  * Clear the **Posted Bill#** field.
  * The IR status is updated based on the remaining posted/unposted lines.

**Detailed Expense Breakdown in Posted Bills**

**Previously:**

* Once an expense bill was posted, **no updates or modifications** were allowed.

**Now:**

* Users can **update, split, or break down** expense bill amounts even after the bill has been posted.
* Specific cost components (like Labour, Material, etc.) can now be separated into individual lines for better clarity and reporting.
* **New Addition:** Users can break a single posted bill into multiple lines to make the allocation **more specific and transparent.**

**Restrictions:**

* The **total posted bill amount cannot be increased or decreased.**
* Only redistribution of the existing amount across different lines is allowed.

**Example:**

* Posted Bill Amount: **$100**
* Suppose $10 of this amount was for Labour (previously bundled into the total).
* Now, the user can restructure as:
  * $90 (Material)
  * $10 (Labour)
* Total remains **$100** — only the internal distribution is updated.

This ensures users can reprocess or repost such lines as needed without data inconsistencies.

***

### **Vendor Configuration and Suspense Account Integration for IR Generation and Bill Posting**

**Overview:**

This update enables users to configure a vendor-specific default Suspense Account for Item Receipt (IR) transactions and introduces a controlled bill posting workflow post-IR generation. These enhancements support real-world accounting practices where vendor liabilities are managed through suspense accounts before being formally recognized as payables.

**Enhancement Details:**

1. **Vendor Configuration**

   * A new dropdown field, **Default AP Suspense Account**, has been added under the **Payments** tab in the Vendor module.

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

   * A toggle, **"Use as default for IR?"**, is also introduced.

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

   * When enabled, the system will use the specified Suspense Account for generating Item Receipts instead of the default Accounts Payable (AP) account.
   * Both the dropdown and toggle are visible on the Vendor UI and supported during bulk upload via vendor import.
2. **Account Setup**
   * To support this configuration, users are required to create a **Suspense Account** with **Account Type: Accounts Payable** under Account Setup.
3. **Item Receipt (IR) Generation Flow**
   * Upon closing an ASN for a vendor with this configuration enabled, the IR will be automatically generated using the assigned Suspense Account.
   * This ensures vendor-specific liabilities are held temporarily in suspense, allowing for staged bill recognition.
4. **Bill Posting Workflow**
   * Following IR creation, a new action button **“Post as Bill”** appears.
   * Clicking this opens a pop-up window to:
     * Select **Bill Date (Transaction Date)**.
     * Choose the **target AP Account** to transfer the amount to.
     * Enter the **Post Amount** to be recognized in the bill.
5. **Posting Scenarios**

   * **Full Posting** (Post Amount = IR Amount or more):
     * IR Status: **Posted**
     * The resulting Bill reflects a regular expense entry.
   * **Partial Posting** (Post Amount < IR Amount):

     * IR Status: **Partially Posted**

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

     * The Bill displays a negative expense line for the unposted portion.
     * The remaining amount can be posted later as a separate bill.

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

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

**Integration with Prior Enhancements**\
This enhancement complements the previously released **“**[**Post Selected Lines as New Bill**](/whats-new/release-notes/current-release.md)**”** feature by adding accounting-level flexibility through suspense account handling. Together, these features ensure end-to-end traceability, segmented billing, and accurate financial reporting even in staggered receipt and payment workflows.

***

### **Decimal Formatter Added for Unit Cost, Price, and Landed Cost Fields**

**Overview:**

To improve consistency and clarity in financial data entry, a **new number formatting logic** has been implemented for **Unit Cost, Price, and Landed Cost** fields across various modules. This enhancement standardizes the appearance of numerical values during transaction creation.

**Applicable Modules:**

* Bill
* Credit Memo
* Credit Memo from Invoice
* Invoice
* Manufacturing Order (MO)
* Purchase Order (PO)
* Sales Receipt
* Sales Order (SO)
* Item Receipt
* Return Merchandise Authorization (RMA)

**How It Works:**

**1. Formatter Logic**

* All price fields in **Create Page, Subform, Centre, and Centre Detail View** will now display **exactly two digits after the decimal point**.

{% hint style="warning" %}
**Note:** Landed Cost / Amount / Price fields are **excluded** from this change and may continue to display more or fewer than two decimal places.
{% endhint %}

* All **editable price fields** (especially **Unit Cost / Rate** fields) will display **a minimum of 2 decimal places** but may show more where required.

This enhancement ensures uniformity in price display while retaining flexibility for fields that require higher precision.

* Examples:
  * A value entered as **7** will now display as **7.00**
  * A value like **7.9999** will remain unchanged, as it already exceeds two decimals

**2. Field Coverage**

The formatting has been applied to the following fields, as applicable to each module:

* **Unit Cost**
* **Price**
* **Landed Cost**

**3. UI Locations**

Formatting changes are applied in the following sections of the modules:

* **Create Page > Detail View**
* **Subform > Detail View**

{% hint style="warning" %}
No changes have been made to how these values appear on the **Centre pages** to ensure consistency in display, without affecting grid-based summaries or reporting views.
{% endhint %}

***

### **Linked Orders Tab Added to Credit Memo Modules**

\
**Modules Updated:**

* Credit Memo
* Invoice Credit Memo
* Subform (related to above modules)

**Overview:**

A new **"Linked Orders"** tab has been introduced to the **Credit Memo** and **Invoice Credit Memo** modules, including their respective subforms. This enhancement provides users with direct visibility into any **associated sales or purchase orders**, improving traceability and operational clarity.

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

**How It Works:**

* A new tab titled **“Linked Orders”** is now available on:
  * **Credit Memo main page**
  * **Invoice Credit Memo main page**
  * **Associated Subform views**
* When the **Linked Orders** tab is clicked:
  * All relevant linked orders will be displayed in a structured, tabular format.
  * This includes references to originating orders connected to the credit transaction.

**Validation:**

* Ensure that the **Linked Orders** tab accurately displays all related order references.
* Validate that tab functionality is consistent across both **main pages** and **subform views**.

***

### "Status" Column Added in Item Centre > Inventory > In Picking Sub-Form

\
**Module Affected:** Item Centre&#x20;

**Overview:**

A new **"Status"** column has been added to the **In Picking sub-form** accessed from the **Item Centre**. This enhancement allows users to directly view the current **Wave Status** (e.g., *Allocated*, *Picking*, *Closed*, etc.) without needing to click into each wave number.

**Navigation Path:**

`Item Centre → Double Click on Item → Inventory Tab → Under In Picking column → Click on Quantity Value → Sub-form → Status column`

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

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

**How It Works:**

* A new **Status** column is displayed in the sub-form that lists picking records.
* The status reflects the current progress of the wave related to the selected item line.

**Status values include (but are not limited to):**

* Allocated
* Picking
* Closed
* Partial
* Pending

{% hint style="warning" %}

* The **Status** field is dynamically pulled from the associated **Wave Management** module.
* No changes have been made to existing field behavior or clickable wave number functionality.
* Fully **backward compatible**; does not affect data integrity or user permissions.
  {% endhint %}

***

### **Addition of “Description” Column in Price Centre Export & Master Data Upload File**

**Overview:**

To improve data clarity and consistency during price management workflows, we have introduced the **“Description” column** in two key areas related to Item Price handling:

***

**1. Data Export Centre → Item Search by Dropdown → “Price Centre” Export**

* A new **"Description"** column has been added to the file exported via the **"Price Centre"** option under **Item Search By** in the **Data Export Centre**.
* This column reflects the **item description** as stored in the system master, providing additional context for each item alongside existing data points like Item Code, Price, and Brand.

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

<figure><img src="/files/0xfWiwjUffNbneAB79fk" alt=""><figcaption></figcaption></figure>

**2. Upload Item Prices Module → Master Data File**

* The **"Description"** column is now also included in the **Master Data file** generated for uploading item prices.

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

* This helps users in validating data and ensures consistency between exported and uploaded records, minimizing mismatches.

**Impact:**

* This change affects only the **exported Excel/CSV file** structure.
* No changes have been made to the upload logic or Item Price Centre UI.
* The additional column does not disrupt the upload template’s compatibility, as the import logic continues to rely on required fields only.

***

### Quick Add Item Modal – Item Group Filter and Column Enhancement

**Overview:**

To improve item selection and streamline searchability within transactional modules, a new enhancement has been implemented in the **Quick Add Item** modal across multiple modules.

**Enhancement Details:**

* **New Filter Added:**\
  A **filter for Item Group** has been introduced in the **Quick Add Item modal** used in the following modules:

  * Estimate
  * Sales Order
  * Purchase Order<br>

  This filter allows users to quickly narrow down item lists based on the selected Item Group, enabling faster and more relevant item selection.

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

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

* **New Column Added:**\
  An **Item Group column** has also been added to the item listing table within the same modal.\
  This ensures better visibility and categorization of items while browsing or selecting them during transaction creation.

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

***

### Default Store and Default Location in Item Page Defaults

**Overview:**

A new functionality has been introduced in the **Item module** to improve inventory handling and streamline item setup. Users can now define default values for **Store** and **Location** under the **Page Defaults** section of an item.

<figure><img src="/files/4YToNrZrZ1gfqFBemn0c" alt=""><figcaption></figcaption></figure>

**Enhancement Details:**

* **Default Store Field:**\
  Allows users to set a predefined store for the item. This store will be auto-populated in transactions involving the item unless overridden manually.
* **Default Location Field:**\
  Enables setting a specific storage location within the default store. It ensures consistency in item placement and speeds up transaction processing.

***

### Default Location Column Added to BOM Centre (Detail View)

**Overview:**

To improve visibility and streamline inventory planning during production processes, a new column has been added to the **Bill of Materials (BOM) Centre – Detail View**. This enhancement allows users to view the **Default Location** of items listed in each BOM line directly within the interface.

<figure><img src="/files/6EHOZNO3Vtal1mn52y7X" alt=""><figcaption></figcaption></figure>

**Enhancement Details:**

* **New Column Introduced:**\
  A **“Default Location”** column is now visible in the **BOM Detail view**, displaying the pre-defined storage location of each component item listed in the Bill of Materials.
* **Data Source:**\
  The default location displayed is pulled from the **Item Master → Page Defaults** section, where the default storage location is assigned to each item.
* **Applies To:**\
  This enhancement applies to all records viewed in the **BOM Centre → Detail tab**, ensuring consistency and better planning across different manufacturing scenarios.

***

### Deposit Refund – Sales Order & Customer Mapping Support

**Overview**:

To provide more flexibility in handling deposit refunds across multiple Sales Orders (SOs), we have introduced an enhancement that allows partial deposit refunds even when the deposit has been applied across different SOs.

**How It Works:**

* **New App Config Added**\
  A configuration toggle named **"Enable Sales Order and Customer Refund Mapping"** has been introduced. When enabled, the system will allow refunds of the remaining deposit amount even if the deposit has been linked or partially applied to a different Sales Order.

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

* **Refund Logic Enhancement**\
  Previously, once a deposit was applied to any other Sales Order, the system restricted refund generation entirely.
  * With this enhancement, users can now process **refunds for the unapplied portion** of a deposit, regardless of cross-SO application history.

***

### Enhanced Detail View Options in Customer Portal Orders Module

**Overview:**

To improve transparency and elevate the user experience within the Customer Portal, two new options have been introduced under the **"Type"** dropdown in the **Orders module**. These additions allow customers to view detailed line-item information for **Sales Orders** and **Estimates** directly from the portal interface.

***

**New Options Added:**

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

| Option Name                        | Description                                                                                                            |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| Customer Portal Sales Order Detail | Displays detail-level data for Sales Orders, including individual items, quantities, unit prices, and delivery status. |
| Customer Portal Estimate Detail    | Presents line-item level information for Estimates, enabling users to view quoted items in full detail.                |

***

**How It Works:**

* When a user selects either of the new options from the **"Type"** dropdown, the portal generates a line-item view corresponding to the selected transaction type.
* Each row represents a unique line item tied to a Sales Order or Estimate, with columns displaying fields such as Item Name, Quantity, Unit Price, Subtotal, Status, and more.
* Double-clicking any row opens the same detailed report that is available through the header-level Sales Order or Estimate view.

{% hint style="info" %}
This enhancement is now available in the **Customer Portal**. No configuration is required. Users will see the new **"Sales Order Detail"** and **"Estimate Detail"** options in the **"Type"** dropdown menu.
{% endhint %}

***

### "Is BOM Item Active" Column Added to BOM Centre

**Overview:**

A new column titled **"Is BOM Item Active"** has been added to the **BOM Centre** screen. This enhancement is aimed at providing better visibility into the status of BOM items, enabling users to identify whether a BOM item is currently active or inactive at a glance.

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

***

**How It Works:**

* **New Column Integration:** The "Is BOM Item Active" column clearly indicates the active status of each BOM item.
* **Improved Usability:** Users can now easily review, filter, and manage BOMs based on the item status without navigating into individual records.
* **Enhanced BOM Management:** Assists in maintaining data accuracy and supports better decision-making during production planning and item reviews.

***

### **Support for Item Rebate in Last Order Item Functionality**

**Module(s):** Estimate & Sales Order

**Overview:**

We are pleased to announce an enhancement in the *Last Order Item* functionality within the **Estimate** and **Sales Order** modules of XoroERP. With this update, users can now view and apply **Item Rebate information** directly when fetching previously ordered items, providing greater pricing consistency, accuracy, and efficiency in order processing.

**What's New:**

**Item Rebate Support in Last Order Item Lookup**

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

* When using the **Last Order Item** feature while creating an Estimate or Sales Order, the system now **automatically captures and displays the rebate** applied to the item in the previous order.
* Users can choose to **replicate the rebate structure** as it was in the prior transaction, or modify it as needed.

**How It Works:**

1. Navigate to the **Estimate** or **Sales Order** module.
2. Use the **Last Order Item** lookup to fetch items previously ordered by the selected customer.
3. The rebate, if any, from the last order will now be displayed alongside the item details.
4. Users can **choose to retain or adjust** the rebate amount before finalizing the transaction.

{% hint style="warning" %}

* This feature respects all existing rebate rules and validations configured in your ERP system.
* Admins can configure access to rebate replication as per role-based permissions if needed.
  {% endhint %}

***

### Item Category Column Integration in Estimate Module Search Interfaces

**Modules Impacted:**

* Estimate Centre
* Estimate Subform
* Estimate Detail
* Advanced Search (Estimate)
* Search by Estimate Detail

**Overview:**

To enhance item-level visibility and improve filtering capabilities across estimation workflows, the **Item Category** column has been added to various search and display areas in the **Estimate module** of XoroERP. This addition allows users to **identify, group, and filter items based on their assigned categories**—directly from within the Estimate Centre and associated views.

This is particularly useful in businesses managing large volumes of estimations across diverse product categories, enabling refined search criteria, improved reporting, and faster decision-making.

**Enhancement Details:**

The **Item Category** field has been added to the following functional areas:

**1. Search by Estimate Detail (Estimate Centre)**

* A new column, **Item Category**, has been included in the **Search by Estimate Detail** results grid.
* This allows users to view and filter items within estimates based on their assigned **Item Category** as defined in the Item Master.
* The category is visible alongside other line-level details such as Item#, Description, Qty, Unit Price, and more.

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

**2. Advanced Search – Estimate Centre**

* The **Advanced Search panel** in the Estimate Centre now includes **Item Category** as a searchable parameter.
* Users can perform targeted queries to retrieve estimates that include items belonging to specific categories.
* Supports both exact match and multi-value filtering depending on configuration.

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

**3. Estimate Sub-Form (Estimate Centre)**

* The **Item Category** column is now visible in the **Estimate Subform grid**, enhancing in-line review of item classification within each estimate.
* This view helps users quickly identify product groupings and check estimate composition at a glance.

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

**4. Estimate Detail Level Column Search**

* Column-level search functionality has been extended to include the **Item Category** column.
* Users can apply direct column filters to narrow down line items based on category.
* Improves data handling efficiency in large estimates with diverse item sets.

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

***

### **Enhanced Batch Reconciliation in Item Receipt Centre and Bill Centre**

**Overview:**

A new **Batch Reconcile** option has been introduced in the **Item Receipt Centre** and **Bill Centre** modules to support streamlined reconciliation of multiple item receipts and vendor bills, including those associated with different vendors under specific constraints.

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

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

**How It Works:**

* Users can now perform **batch-level reconciliation** for multiple bills and item receipts.
* **Vendor Constraint**: In the Item Receipt Centre and Bill Centre, batch reconciliation can be initiated even if the bills originate from **different vendors**.
* **Store Flexibility**: The associated **store** may differ across the selected transactions, allowing users to reconcile across multiple receiving locations.
* **Currency Constraint**: All bills and item receipts included in a batch must have the **same order currency** for reconciliation to proceed. Mixed-currency batches are not supported to maintain financial consistency.

This enhancement is particularly useful when handling **purchase orders involving multiple inventory vendors** where a **shared shipment cost** needs to be allocated and reconciled efficiently. It helps automate what would otherwise be a manual, error-prone process, ensuring accurate financial postings while supporting operational flexibility.

***

### **Link Orders API**

**Overview:**

The **Link Orders API** is used to create, update, or delete links between **Sales Orders (SO)** and **Purchase Orders (PO)**.

* To **create or update** a link, provide the SO/PO line IDs along with a **non-zero quantity**.
* To **delete** a link, simply set the **quantity to zero**.

For detailed request/response structures and additional parameters, refer to the full API documentation here:\
🔗 [Link Orders API Documentation](https://xorosoft.docs.apiary.io/#reference/purchase-orders/order-linking)

***

### **CreateDropshipPO API**

**Overview:**

The **CreateDropshipPO** API is designed to create **dropship purchase orders** directly from a **Sales Order**. This is applicable when items must be shipped **directly from a vendor to the customer**, bypassing the internal warehouse process.

To use this API, provide the following:

* **Sales Order number**
* **Sales Order line ID**
* **Vendor ID**
* **Quantity**

For full technical details including request format and payload structure, please refer to the official documentation:\
🔗 [CreateDropshipPO API Documentation](https://xorosoft.docs.apiary.io/#reference/purchase-orders/create-dropship-po/create-dropship-po)<br>

***

### DropshipOrder by PO API

**Overview**:

This API is used to confirm and close a dropship order using the related Purchase Order number. It allows you to post tracking and shipping details, freight, and invoice information for each order line that was dropshipped.\
\
For full technical details including request format and payload structure, please refer to the official documentation:\
<https://xorosoft.docs.apiary.io/#reference/purchase-orders/dropship-order-by-po>


---

# 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/july-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.
