# April 3.0 2025 Release

### Added Ship To Company Name in Invoice Payment Module

We’ve enhanced the Invoice Payment module by adding the **“Ship To Company Name”** field to the **invoice details** section. This new field automatically pulls the company name from the shipping address specified in the invoice, providing greater clarity and consistency in invoice records.

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

### New Placeholders Added to Sales Order Template

We’ve introduced two new dynamic placeholders to the **Sales Order template** to offer more flexibility and personalization:

* **User Full Name** – Displays the full name of the user generating the sales order.

  <figure><img src="/files/nWdrN8cMJk95OkqJR0ve" alt=""><figcaption></figcaption></figure>
* **Customer Service Rep Name** – Displays the name of the assigned customer service representative.

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

### Support Added For Multiple Bank Feeds Mapping

We’ve expanded the functionality of the **“Link Bank Feeds”** feature by allowing a single **Xorosoft Account** to be mapped to **multiple bank feeds**.

Previously, each Xorosoft Account could only be linked to one bank account feed. With this update, users can now connect a Xorosoft Account to **as many bank accounts as needed**, providing greater flexibility for managing financial data and streamlining reconciliation processes.

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

### Country and State Dropdown added for Vendor address

We’ve improved the vendor address entry process to enhance accuracy and ease of use. Previously, the Country and State fields in the Vendor Module - under “Billed From” and “Shipped From” addresses within the Contact Info tab- were free-text fields. With this update, these fields have been upgraded to dropdown menus, allowing you to select the country and state from predefined options.

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

### New “Estimates & Orders” Tab Added in Item Subform

To provide greater visibility into item-level sales activity, we’ve introduced a new **“Estimates & Orders”** tab within the **Item subform**. This enhancement enables users to view related sales documents directly from the item centre, streamlining access to key sales information.

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

#### Feature Details

The "Estimates & Order" tab is divided into two sections:

**Estimates**

This section provides a comprehensive view of all estimates created for the item. Information includes Estimate Number, Estimate Date, Customer Name, Total Amount, Order Type, and more.

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

**Orders**

This section displays the details of all sales orders created for the item. Key information includes Order Number, Order Date, Customer Name, Item Number, Order Status, Total Amount, and more.

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

{% hint style="warning" %}
The user must be granted access to the Estimate and Order tabs through the Access Manager.
{% endhint %}

### Custom Query Dropdown in Account Register Module

A new **Custom Query dropdown** feature has been added to the **Account Register** module to streamline advanced search operations and improve user efficiency.

This enhancement allows users to **save frequently used search filters** and access them quickly through a dropdown menu—eliminating the need to recreate complex filters each time.\ <br>

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

***

#### How It Works

1. Navigate to:\
   **Account Register → Advanced Search**
2. Select desired **column names** and input corresponding **filter values**.
3. Click **Save as Query** to save the custom search.
4. **Refresh** the page.
5. A **Custom Query dropdown** will now appear next to the Advanced Search button, displaying all saved queries.
6. Select a saved query from the dropdown to apply predefined filters instantly.

### Enhancements to Transfer Order Workflow (TPO/TSO)

#### Overview

This release brings significant workflow improvements to the **Transfer Order process** in XoroERP, including **Quick Receive**, **Quick Ship**, **Auto Release**, and enhanced **Availability insights**. These updates are designed to simplify transfer operations, reduce manual effort, and improve real-time visibility into stock movements.

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

#### What's New

#### 1. Quick Receive for Transfer Purchase Orders (TPO)

Users can now perform **Quick Receive** actions directly on TPOs, streamlining the receiving process without navigating through full ASN workflows.

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

#### 2. Quick Ship for Transfer Sales Orders (TSO)

**Quick Ship** functionality is now available for TSOs, allowing users to instantly mark transfer shipments as shipped, saving time during inter-location transfers.

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

#### 3. Auto Release for TPO and TSO

The **Auto Release** functionality, previously available for standard Sales and Purchase Orders, has now been extended to **TPO** and **TSO**.\
It is governed by the existing App Config: **Auto Release Sales Order**, ensuring a consistent control mechanism across all order types.

#### 4. Incoming Deliveries Subform in TSO

Clicking the **Availability** field at the line level in a Transfer Sales Order now opens a **subform displaying Incoming Deliveries**. This provides users with instant insight into the expected stock inflow for the requested items.

### Vendor-Specific Item Display in Purchase Module

#### Overview

A new App Config, **Show items by item vendor mapping in purchase modules (PO, Item Receipt, Bill, Vendor Credit)**, has been introduced to improve vendor-specific purchasing workflows.

\
This enhancement ensures that when creating a Purchase Order or related transaction, users see only the items mapped to the selected vendor, streamlining the item selection process and minimizing errors.

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

#### Key Features

* **Behavior Before:**\
  While creating a Purchase Order, the system displayed items from all vendors, requiring additional manual filtering.
* **New Behavior with App Config Enabled:**
  * The system will automatically filter and display only the items linked to the **selected vendor** on the Purchase Order.
  * This filter is applied at the **Add Items modal** only.
  * The vendor is auto-selected based on the vendor chosen on the PO, and the item list will dynamically adjust accordingly.
* **Applicable Modules:**
  * Purchase Order (PO)
  * Item Receipt
  * Bill
  * Vendor Credit

{% hint style="warning" %}

#### This functionality is controlled through the new App Config setting "**Show Items by Item vendor mapping in purchase modules**".

{% endhint %}

* The restriction applies specifically to the **Add Items modal** during item selection.

***

### Add New Contact Option in Sales Transactions

#### Overview

To simplify customer contact management during transaction creation, an **"Add New Contact"** option has been added to the **Contacts dropdown** in the following pages:

* Create Sales Order
* Create Estimate
* Create Invoice

This enhancement allows users to add new customer contacts without navigating away from their current workflow.

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

***

#### How It Works

* In the Contacts dropdown, users can now select **"Add New Contact."**
* This opens the **Contacts** page in a **popup window** without leaving the Sales Order, Estimate, or Invoice page.
* The **Entity** field in the Contacts form is automatically **pre-selected with the Customer** from the originating Sales Order, Estimate, or Invoice.

***

### Display On Hand Quantity in MO Create Disassemble Pop-up

#### Overview

Responding to client feedback requesting a more efficient way to manage item disassembly, we have introduced a new enhancement:\
An **"On Hand Qty"** column has been added to the **MO Create Disassemble** pop-up window under the **Item Inventory Snapshot** section.

This improvement eliminates the need for users to manually check and input available stock quantities when creating a Disassemble Manufacturing Order, thereby saving time and reducing errors.

Previously, when users initiated a **Create Disassemble** process, they had to manually type the desired quantity into the **Qty** field, even if they wanted to disassemble the entire on-hand quantity of an item.\
The lack of immediate visibility into stock levels increased manual effort and the potential for mistakes.

This enhancement addresses that gap.

***

#### What Has Changed

* A new column **"On Hand Qty"** has been added to the **Item Inventory Snapshot** pop-up during the **Create Disassemble** process.

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

<figure><img src="/files/7pI6ypZS7M1MhFBAWrf3" alt=""><figcaption></figcaption></figure>

* Users can now clearly view the current available quantity (On Hand Qty) for each item without navigating away from the MO creation screen.
* This provides users with immediate inventory insight when deciding how much to disassemble.

#### Important Notes

{% hint style="warning" %}

* The **On Hand Qty** column is informational only; users still need to input the desired disassembly quantity manually.
* Future enhancements could be considered to allow auto-populating Qty field based on On Hand Qty if business requirements demand it.
  {% endhint %}

### New Module: Timesheet Entry and Timesheet Entry Centre

#### Overview

We are excited to introduce the new **Timesheet Entry** and **Timesheet Entry Centre** modules in XoroERP.\
These modules provide a centralized and efficient way for users to log service time against customers and service items, manage billable entries, and generate invoices directly from recorded timesheets.4

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

***

#### Key Features

**Timesheet Entry Functionality**

* **Service Item Recording**:\
  Users can create time-based entries against specific **Service Items**, linked to both **User** and **Customer**.
* **Time Duration Tracking**:\
  Users can specify the duration of service provided and mark entries as **Billable** if they are chargeable to the customer.
* **Flexible Date Navigation**:
  * Users can select a specific **date** and view entries for either a **week** or a **month**, based on the selected dropdown value.
  * Use left/right **arrows** to switch between different weeks or months for easy navigation.
* **Pivot Table View**:\
  Once timesheet entries are added, users can view the data in an interactive **pivot table** format.
  * Add new entries quickly by entering time, selecting the item number, adding notes, and saving.
  * Alternatively, users can click directly into a cell and hit **Enter** to save changes instantly.

***

#### Invoicing from Timesheet Entries

There are two options available for creating invoices directly from timesheet entries:

1. **Generate Invoice**
   * Automatically generates a **new invoice per customer** for all entries that are **marked as Billable** and **have not yet been billed**.
2. **Add Selected Lines to Existing Invoice**
   * Allows users to **add specific timesheet entries** to an **already existing invoice**.
   * During the confirmation step, users must select the existing invoice.
   * **Important**: The customer associated with the timesheet entry and the selected invoice must be the **same**.

{% hint style="warning" %}

* Users must ensure that service entries intended for billing are correctly marked as **Billable**.
* When adding to an existing invoice, validation is enforced to match the **Customer** between timesheet entries and the invoice.
  {% endhint %}

## WMS Enhancement

### “Customer” Column Added to Pick Task Assignment Module

We’ve added a new **“Customer”** column to the **Task List** section of the **Pick Task Assignment** module. This enhancement allows users to quickly identify which customer each task pertains to, enabling more informed and efficient task assignment decisions.

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

### New Feature: Upload Pre-Cartonized ASNs with SSCC/LPN Support

#### Overview

We are excited to introduce a new functionality to streamline the **Pre-Cartonization process** for multiple ASNs.\
A new module, **Upload Carton UCC** with SSCC/LPN Support, has been added to enable bulk uploads of ASN line information along with detailed cartonization attributes.

This feature is designed to enhance receiving efficiency by enabling early cartonization mapping — critical for users who manage large inbound shipments requiring SSCC/UCC and pallet tracking.

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

**Key Highlights**

* **New Upload Module**:\
  A new module has been added — **Upload Carton UCC with SSCC/LPN Support** — allowing users to pre-cartonize ASN records by uploading structured data.
* **WMS Handled App Requirement**:\
  This functionality is available **only when the WMS Handled App is enabled**.
* **Upload Fields**:
  * **Required**:
    * ASN Number
    * PO Number
    * PO Item Number
    * Quantity
    * UCC (SSCC)
    * Pallet
  * **Optional**:
    * ASN Line ID
  * **LPN Attributes**:
    * Lot Number
    * Batch Number
    * Expiry Date
    * Manufacturing Date
* **ASN Status Restriction**:\
  Only **ASNs in 'Open' status** can be uploaded for pre-cartonization.\
  This upload is a **one-time creation** process and does **not update existing ASNs**.
* **Mapping Behavior**:
  * System maps the uploaded **UCC** and **Pallet** values directly to **ASN Lines** in **ASN Detail** (fields: *Carton UCC*, *Carton Pallet*).
  * If **ASN Line ID** is provided in the upload, the quantity will be specifically tied to that ASN Line.
* **Validation Rules**:
  * System validates if the total uploaded quantity per **PO Item Number** matches the existing ASN quantity.
  * System enforces that a single **Carton UCC** cannot exist across different **Pallet UCCs**.
  * If discrepancies are detected (e.g., quantity mismatch or invalid mappings), the upload will fail with a validation error.
* **Receiving Integration**:
  * Upon actual receiving of the ASN using UCC codes from WMS, the system automatically fetches the associated **LPN Attributes** (Lot Number, Batch Number, Expiry Date, Manufacturing Date) into the **ASN Centre → ASN Detail**.
* **Additional Enhancements**:
  * **ASN Detail ID** has been added for better traceability in:
    * **ASN Centre → ASN Detail**
    * **Data Export Centre**

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

{% hint style="warning" %}

* This process is strictly **one-time**; uploaded carton data cannot be modified later through the upload interface.
* Ensure that ASN records are in the **Open** status before initiating upload.
* WMS integration and App Config must be appropriately set before using this feature.
  {% endhint %}


---

# 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/april-3.0-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.
