> For the complete documentation index, see [llms.txt](https://docs.xorosoft.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xorosoft.com/other-products/xorodms/xorodms-delivery-management-system/route-scheduling-and-shipment-delivery/end-to-end-workflow-route-scheduling-and-shipment-delivery.md).

# End-to-End Workflow: Route Scheduling and Shipment Delivery

Follow the steps below to configure Route Scheduling and manage Shipment Deliveries in XoroDMS.

#### Step 1: Create a Route

1. Navigate to the **Route** module.
2. Click **New** to create a Route.
3. Enter the required Route details.
4. Select one or more **Delivery Day(s)** using the **Day** dropdown.
5. Enter the **Ship Date Offset**.
   * This determines how many days before the Delivery Date the order should be shipped.
   * If left blank, the system automatically uses **0** as the default value.
6. Save the Route.
7. Verify the configured Route and Delivery Day(s) in the **Route Centre**.

***

#### Step 2: Assign a Default Route to a Customer

1. Open the **Customer** record.
2. Select the appropriate **Default Route** in the **Other Info** tab.
3. Save the Customer.

From this point onward, the selected Route is automatically applied whenever a new Sales Order is created for the customer.

***

#### Step 3: Create a Sales Order

1. Navigate to **Sales Orders**.
2. Create a new Sales Order.
3. Select the Customer.

The system automatically populates:

* The **Route** field in the **Shipping** tab of the Sales Order with the customer's **Default Route**.
* Determines the available Delivery Day(s).
* Calculates the **Delivery Date**.
* Calculates the **Ship Date** using the configured Ship Date Offset.

If any of the following are modified:

* Customer
* Route
* Order Date
* Delivery Date

The system automatically recalculates the remaining dates.

{% hint style="info" %}
&#x20;If **Delivery Manager** is disabled, Route selection is optional, and the Sales Order follows the standard processing workflow.
{% endhint %}

***

#### Step 4: Create a Shipment Delivery

Shipment Deliveries can be created directly from the Sales Order without generating an Invoice.

1. Open the Sales Order.
2. Select the Sales Order line(s) to be delivered.
3. From the **Header Options** dropdown, select **Create Shipment Delivery**.

Depending on the shipment status:

* If the planned quantity has **not** been completely shipped, the Shipment Delivery is created in **Draft** status.
* Once the complete planned quantity has been shipped, the Shipment Delivery automatically changes to **Open**.

Only Shipment Deliveries with **Open** status can be processed through the **Delivery Manager**.

***

#### Step 5: Manage the Shipment Delivery

While the Shipment Delivery remains editable, users can continue refining it.

Users can:

* Add additional eligible Sales Order lines.
* Remove Sales Order lines that have not yet been delivered.
* Modify the **Quantity to Deliver** for each Shipment Delivery line.

Shipment Deliveries can only be edited while they are in:

* Draft
* Open

Shipment Deliveries or Shipment Delivery lines with the following statuses cannot be modified:

* Delivered
* In Progress
* Void
* Cancelled

***

#### Step 6: Add Sales Order Lines to an Existing Shipment Delivery

Additional Sales Order lines can be associated with an existing Shipment Delivery.

This can be done from either:

* **Sales Order Centre**
* **Create Sales Order** page

Users can:

* Add selected Sales Order lines to an existing Shipment Delivery.
* Create a new Shipment Delivery using the selected Sales Order lines.

This enables multiple Sales Orders or Sales Order lines to be consolidated into a single delivery where applicable.

***

#### Step 7: Process Partial Shipments

If an order cannot be fulfilled in a single shipment:

1. Ship the available quantity.
2. Create or update the corresponding Shipment Delivery.
3. Generate the associated Invoice for the shipped quantity.
4. Repeat the process for the remaining quantities until the Sales Order has been completely fulfilled.

During this process, XoroDMS automatically:

* Tracks each shipment independently.
* Associates every shipped quantity with the correct Shipment Delivery.
* Links shipped quantities to the appropriate Invoice.
* Prevents duplicate shipment quantities.
* Ensures the cumulative delivered quantity never exceeds the original Sales Order quantity.

***

#### Step 8: Complete the Delivery

Once all planned quantities have been shipped and processed:

* The Shipment Delivery is completed through the **Delivery Manager**.
* Delivery records remain synchronized with the originating Sales Order.
* Shipment history remains available for tracking and auditing purposes.

The GIF below demonstrates the **Route Scheduling** process.

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

***

### System Validations

The system automatically performs the following validations throughout the workflow:

* Shipment Deliveries with a **Delivered** status cannot be deleted.
* Sales Order lines can only be added to Shipment Deliveries with **Open**, **In Progress**, or **Partially Delivered** statuses.
* Only shipped Sales Order lines can be added to **In Progress** or **Partially Delivered** Shipment Deliveries.
* Void or Cancelled Sales Order lines cannot be added to any Shipment Delivery.
* Shipment quantities are continuously validated to ensure they remain synchronized with the originating Sales Order and prevent duplicate deliveries.


---

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

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

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

```
GET https://docs.xorosoft.com/other-products/xorodms/xorodms-delivery-management-system/route-scheduling-and-shipment-delivery/end-to-end-workflow-route-scheduling-and-shipment-delivery.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
