---
metadata:
  - name: generator
    content: Diplodoc Platform v5.56.0
alternate:
  - https://yandex.kz/routing/doc/en/delivery/functions/order-contents.md
  - https://yandex.kz/routing/doc/kk/delivery/functions/order-contents.md
  - https://yandex.kz/routing/doc/ru/delivery/functions/order-contents.md
  - href: en/delivery/functions/order-contents.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
title: RouteQ — function description — order items
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.kz/routing/doc/en/llms.txt


# Order items

{% note info %}

Order items can only be uploaded for orders with the `delivery` type.

{% endnote %}

You can upload to Track & Trace the items of each order, including:

* Number of items.
* Product name, quantity, and price of each item.

This way, you can:

* Reduce the number of errors and losses when processing returns.
* Streamline the return management process for couriers.
* Stop using printouts.
* Reduce the number of manual operations.

You can upload order items:

* Via [Routing Workspace](#order-contents-interface).
* Via the [API](#order-contents-api). 



## Uploading order items via the interface {#order-contents-interface}

### Data upload template {#template}

To upload order items, use an Excel file filled out using this [template](https://doc-static.yandex.net/src/dev/routing/templates/mvrp-example-orders-items-en.xlsx).

You can also download the template via Routing Workspace. To do this:
1. Open [Routing Workspace](https://yandex.com/courier/companies).
2. Go to **Track & Trace** → **Dashboard**.
3. In the upper-right corner of the screen, click **Import** → **Order items**.
4. Click **Download template**.

   ![](./../_images/order-contents-download.png)
   
5. Fill out the Excel file according to the template.

    {% note info %}

    In the file, the order number in the **Order number** field (`location_id` in the API) on the **Items** sheet should match the order number in Track & Trace (you can view it in the order card).

    {% endnote %}

    <!-- source: en/delivery/_includes/duplicates.md -->
    The date may be automatically added to the order number when exporting planning results to Track & Trace. This happens when the new order number matches the one that already exists in Track & Trace.

    For example, if Track & Trace already has an order with number `Order 1`, the card of the new order will have the number `Order 1 YYYY-MM-DD`.
    <!-- endsource: en/delivery/_includes/duplicates.md -->

    <!-- source: en/delivery/_includes/comparison.md -->
    Make sure that the order number in the file matches that in the order card. To do this, open the order card and see if the order number matches the one in the file. If necessary, add the planning date in the `YYYY-MM-DD` format to the **Order number** field.
    <!-- endsource: en/delivery/_includes/comparison.md -->

### Uploading data from a file {#load-file}

{% note info %}

For order items to be uploaded correctly, you must already have a route loaded in Track & Trace. For more information, see [Uploading data](https://yandex.kz/routing/doc/en/delivery/load-data.md).

{% endnote %}

1. Open [Routing Workspace](https://yandex.com/courier/companies).
1. Go to **Track & Trace** → **Dashboard**.
1. In the upper-right corner of the screen, click **Import** → **Order items**.
1. Click **Upload template** and select the file you filled out using the [template](#template).

    In case of upload errors, fix them in the interface or download the error file, fix the errors, and upload the fixed file.
  
1. Click **Import**. 

![](./../_images/order-contents-upload.png)

You can upload up to 10,000 products at once across all orders. 

Fields to complete:

#|
||**Field name** |**Parameter** | **Required** |  **Description** ||
||Order number | `location_id` | Yes | Order number in Track & Trace. ||
||Unique number | `item_number` | Yes | Product or service ID. All product numbers within a given order must be unique. ||
||SKU | `item_code` | No | Product or service item code. Within a single order, item numbers may be duplicated. For example, if the same product is sold at different prices: regular and promotional. ||
||Name | `item_name` | Yes | Product or service name up to 100 characters long. ||
||Quantity | `item_count` | Yes | Quantity of a product or service. By default, 1. ||
||Price | `item_price` | Yes | Unit price of a product or service. By default, 0. ||
||Barcode | `item_barcode` | No | Product barcode. Used for item identification. ||
|#


### Barcoding {#barcode}

You can add barcodes to order items to automate the receipt, shipment, and return of goods by scanning these barcodes in the RouteQ mobile app.

#### Use cases {#barcode-scenario}

A courier can scan products in the RouteQ app in three cases:

**Receiving goods at the depot**

When a courier arrives at a depot, they must make sure that they've received all items for all orders. To do this:

1. The courier scans all the items when loading them into the vehicle. 
1. The app checks if the scanned products match the order items.

If any items are missing, the courier locates and scans them, or marks the shipment as partial.

**Arrival at the order delivery location**

When the courier arrives at the order delivery location, they must get all items for the client out of the vehicle. To do this:

1. The courier finds the products in the vehicle and scans them. 
1. The app displays a notification indicating whether the scanned item belongs to the current order. 

**Partial delivery or order refusal**

If a client accepts all products, the order is considered fully completed. In case of partial delivery or if the client refuses all the items, the courier scans the product barcode(s) and registers a return in the app.

#### Limitations {#barcode-limitations}


Each item in the order items can have only one barcode.


#### Marking types {#marking-types}

#|
||**Marking type** |**What is marked** |**Marking symbol type** |**code length** ||
||EAN barcode/item code | A product — for identifying the item and its manufacturer. Two bottles of water from the same brand and factory will share the same barcode. | EAN barcode | 13 characters ||
|#


### Viewing order items {#open-card}

1. Go to **Track & Trace** → **Dashboard**.
2. Select the route and order.
3. In the order card, click the link with the number of items in the **Order items** field.

    {% cut "Link to order items in the order card" %}
    
    ![](./../_images/order-contents-open-link.png)

    {% endcut %}
    
In the list, you'll see item codes, names, quantities, prices, total amounts, and [barcode numbers](#barcode) (if any).   

![](./../_images/order-contents-list.png)

### Viewing a delivered order {#open-delivered-order}

You can view detailed information about the delivered items for the order. To do this:

1. Go to **Track & Trace** → **Dashboard**.
2. Select the route and order.
3. Click the link with the number of items in the **Order items** field. 
 
If the courier added a photo to any of the items, the **Photo** column will contain links to the photos.

![](./../_images/order-contents-back.png)

Order items can also be viewed by the companies added as [observers](https://yandex.kz/routing/doc/en/delivery/functions/shared.md). 

### Order with a partial return {#partial-delivery}

If the client returns some of the orders, the courier must note this with a comment in the app and can also add photos for each item. For more information, see [Partial delivery if order contents are specified](https://yandex.kz/routing/doc/en/rq-app/options.md#partial-delivery-contents).

To view information about delivered items and returns:

1. Go to **Track & Trace** → **Dashboard**.
2. Select the route and order. The **Order items** field will display a message that some items were returned.
3. Click the link with the number of items. 

By default, the order items table displays all items. 
   
Click **Items to return** to hide delivered items from the table. You'll see:

* Number of items to return.
* Number of products to return.
* Cost per item and total cost of returns. 

![](./../_images/order-contents-back-filter.png)

If the courier added a photo to any of the items, the **Photo** column will contain links to the photos.

## Uploading order items via the API {#order-contents-api}

You can upload and update order items information via the API:

* [Add order items](https://yandex.ru/routing/doc/en/delivery/redoc/index.html#operation/addsOrderItems).
* [Get order items](https://yandex.ru/routing/doc/en/delivery/redoc/index.html#operation/getsOrderItems).
* [Add information about product returns](https://yandex.ru/routing/doc/en/delivery/redoc/index.html#operation/returnsOrderItems).
* [Delete item](https://yandex.ru/routing/doc/en/delivery/redoc/index.html#operation/deletesOrderItem).
* [Delete all order items](https://yandex.ru/routing/doc/en/delivery/redoc/index.html#operation/deletesOrderItems).

<!-- source: en/delivery/_includes/feedback.md -->
<a href="../feedback">
  <span class="button">Contact support</span>
</a>



[//]: # (Version without HTML\: \[Contact support\]\(../../../feedback.md\))
<!-- endsource: en/delivery/_includes/feedback.md -->
