# Order Confirmations

## openTRANS 2.1 {#opentrans}

**File extension:** `.xml`  
**File name:** `<ID>.xml`

Workist delivers order confirmations in the openTRANS 2.1 format `ORDERRESPONSE`. For order confirmations you are the buyer: the document comes from your supplier and confirms your order.

The basic structure matches that of the [delivery note](/en/docs/output-formats/delivery-notes.md#opentrans). In addition, the order confirmation contains unit prices, line totals, per-line delivery dates and the net total. The order confirmation number is in `SUPPLIER_ORDER_ID`, its date in `ORDERRESPONSE_DATE`.

The format has a fixed structure. Your channel's field selection does not change it. Every line needs a quantity that can be read as a number, otherwise Workist creates no file. Workist builds formats such as proALPHA on request, see [Custom formats on request](/en/docs/output-formats.md#custom-formats).

### Full example

```xml
<?xml version="1.0" encoding="utf-8"?>
<ORDERRESPONSE xmlns:bmecat="http://www.bmecat.org/bmecat/2005" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.1" xmlns="http://www.opentrans.org/XMLSchema/2.1" xsi:schemaLocation="http://www.opentrans.org/XMLSchema/2.1 opentrans_2_1.xsd">
  <ORDERRESPONSE_HEADER>
    <CONTROL_INFO>
      <GENERATOR_INFO>Workist</GENERATOR_INFO>
      <GENERATION_DATE>2025-03-15T14:30:25.123456</GENERATION_DATE>
    </CONTROL_INFO>
    <ORDERRESPONSE_INFO>
      <ORDER_ID>PO-2025-0001</ORDER_ID>
      <ORDERRESPONSE_DATE>2025-03-18</ORDERRESPONSE_DATE>
      <ALT_CUSTOMER_ORDER_ID>https://wb.workist.com/order-confirmations/3f2b8c1e-5a7d-4e19-8c2f-6b0d9a4e7c15</ALT_CUSTOMER_ORDER_ID>
      <SUPPLIER_ORDER_ID>OC-2025-0042</SUPPLIER_ORDER_ID>
      <DELIVERY_DATE>
        <DELIVERY_START_DATE>2025-04-01</DELIVERY_START_DATE>
        <DELIVERY_END_DATE>2025-04-01</DELIVERY_END_DATE>
      </DELIVERY_DATE>
      <PARTIES>
        <PARTY>
          <bmecat:PARTY_ID type="party_specific">workist</bmecat:PARTY_ID>
          <PARTY_ROLE>document_creator</PARTY_ROLE>
        </PARTY>
        <PARTY>
          <bmecat:PARTY_ID type="party_specific">K-1001</bmecat:PARTY_ID>
          <PARTY_ROLE>buyer</PARTY_ROLE>
        </PARTY>
        <PARTY>
          <bmecat:PARTY_ID>SUP-500</bmecat:PARTY_ID>
          <PARTY_ROLE>supplier</PARTY_ROLE>
          <ADDRESS>
            <bmecat:NAME>Best Supplier GmbH</bmecat:NAME>
            <bmecat:STREET>Lieferantenweg 10</bmecat:STREET>
            <bmecat:ZIP>20095</bmecat:ZIP>
            <bmecat:CITY>Hamburg</bmecat:CITY>
            <bmecat:COUNTRY>DE</bmecat:COUNTRY>
            <bmecat:COUNTRY_SUBDIVISION>HH</bmecat:COUNTRY_SUBDIVISION>
          </ADDRESS>
        </PARTY>
        <PARTY>
          <bmecat:PARTY_ID>WH-01</bmecat:PARTY_ID>
          <PARTY_ROLE>delivery</PARTY_ROLE>
          <ADDRESS>
            <bmecat:NAME>Acme Corporation GmbH</bmecat:NAME>
            <bmecat:NAME2>Goods Receipt</bmecat:NAME2>
            <bmecat:STREET>Lager Strasse 5</bmecat:STREET>
            <bmecat:ZIP>20095</bmecat:ZIP>
            <bmecat:CITY>Hamburg</bmecat:CITY>
            <bmecat:COUNTRY>DE</bmecat:COUNTRY>
            <bmecat:COUNTRY_SUBDIVISION>HH</bmecat:COUNTRY_SUBDIVISION>
          </ADDRESS>
        </PARTY>
      </PARTIES>
      <ORDER_PARTIES_REFERENCE>
        <bmecat:BUYER_IDREF>K-1001</bmecat:BUYER_IDREF>
        <bmecat:SUPPLIER_IDREF>SUP-500</bmecat:SUPPLIER_IDREF>
      </ORDER_PARTIES_REFERENCE>
      <MIME_INFO>
        <MIME>
          <bmecat:MIME_TYPE>application/pdf</bmecat:MIME_TYPE>
          <bmecat:MIME_SOURCE>9f8c2b7e-4d1a-4c3e-9b6f-2a7d5e1c0b34.pdf</bmecat:MIME_SOURCE>
          <MIME_PURPOSE>original_document</MIME_PURPOSE>
        </MIME>
      </MIME_INFO>
    </ORDERRESPONSE_INFO>
  </ORDERRESPONSE_HEADER>
  <ORDERRESPONSE_ITEM_LIST>
    <ORDERRESPONSE_ITEM>
      <LINE_ITEM_ID>10</LINE_ITEM_ID>
      <PRODUCT_ID>
        <bmecat:SUPPLIER_PID type="supplier_specific">SUP-ART-777</bmecat:SUPPLIER_PID>
        <bmecat:INTERNATIONAL_PID>4006381333931</bmecat:INTERNATIONAL_PID>
        <bmecat:BUYER_PID>ART-001-A</bmecat:BUYER_PID>
        <bmecat:DESCRIPTION_LONG>Industrial Sensor Module Type A</bmecat:DESCRIPTION_LONG>
      </PRODUCT_ID>
      <QUANTITY>100.0</QUANTITY>
      <bmecat:ORDER_UNIT>PCE</bmecat:ORDER_UNIT>
      <PRODUCT_PRICE_FIX>
        <bmecat:PRICE_AMOUNT>12.5</bmecat:PRICE_AMOUNT>
      </PRODUCT_PRICE_FIX>
      <PRICE_LINE_AMOUNT>1250.0</PRICE_LINE_AMOUNT>
      <DELIVERY_DATE>
        <DELIVERY_START_DATE>2025-04-01</DELIVERY_START_DATE>
        <DELIVERY_END_DATE>2025-04-01</DELIVERY_END_DATE>
      </DELIVERY_DATE>
    </ORDERRESPONSE_ITEM>
  </ORDERRESPONSE_ITEM_LIST>
  <ORDERRESPONSE_SUMMARY>
    <TOTAL_ITEM_NUM>1</TOTAL_ITEM_NUM>
    <TOTAL_AMOUNT>1250.0</TOTAL_AMOUNT>
  </ORDERRESPONSE_SUMMARY>
</ORDERRESPONSE>
```

### Elements

| Element | Content |
|---|---|
| `CONTROL_INFO` | `GENERATOR_INFO` = `Workist`, `GENERATION_DATE` = creation time (UTC). |
| `ORDERRESPONSE_INFO` | `ORDER_ID` = your order number being confirmed; `ORDERRESPONSE_DATE` = order confirmation date; `ALT_CUSTOMER_ORDER_ID` = link to the order confirmation in the Workbench (only with **Include link to the Workbench**); `SUPPLIER_ORDER_ID` = order confirmation number (if any). |
| `DELIVERY_DATE` | Only with a delivery date: `DELIVERY_START_DATE` and `DELIVERY_END_DATE` = confirmed delivery date. |
| `PARTY` `document_creator` | Workist as creator: `PARTY_ID` = `workist` (`type` = `party_specific`), `PARTY_ROLE` = `document_creator`. |
| `PARTY` `buyer` | You as the buyer: `PARTY_ID` (`type` = `party_specific`) = customer number of the buyer (you or your branch), otherwise `buyer`; `PARTY_ROLE` = `buyer`. No address. |
| `PARTY` `supplier` | Supplier, if recognised: `PARTY_ID` = supplier number from your master data, `PARTY_ROLE` = `supplier`; `NAME`, `STREET`, `ZIP`, `CITY`, `COUNTRY` (country code), `COUNTRY_SUBDIVISION`. |
| `PARTY` `delivery` | Delivery address: `PARTY_ID` = address number, `PARTY_ROLE` = `delivery`; `NAME` = company, `NAME2` = name, `STREET`, `ZIP`, `CITY`, `COUNTRY` (country code), `COUNTRY_SUBDIVISION`. |
| `ORDER_PARTIES_REFERENCE` | `BUYER_IDREF` = `PARTY_ID` of the buyer, `SUPPLIER_IDREF` = supplier number. |
| `MIME_INFO` | Only with **Include reference to the analyzed file**: `MIME_TYPE` = `application/pdf`, `MIME_SOURCE` = file name of the original document Workist delivers alongside (`<ID>.pdf`), `MIME_PURPOSE` = `original_document`. |
| `ORDERRESPONSE_ITEM` | One per line: `LINE_ITEM_ID` = line number (with **Overwrite position**, the line number of the matched order line), `QUANTITY` = quantity with a decimal point (e.g. `100.0`), `ORDER_UNIT` = unit of measure, `PRICE_LINE_AMOUNT` = line total (`0.0` if none is filled). |
| `PRODUCT_ID` | `SUPPLIER_PID` (`type` = `supplier_specific`) = the supplier's article number as on the document; `INTERNATIONAL_PID` = third article number from your master data (`article_id3`, e.g. EAN); `BUYER_PID` = your article number (`article_id1`); `DESCRIPTION_LONG` = article description. |
| `PRODUCT_PRICE_FIX` | `PRICE_AMOUNT` = unit price with a decimal point (`0.0` if none is filled). |
| `DELIVERY_DATE` (line) | Delivery date of the line in `DELIVERY_START_DATE` and `DELIVERY_END_DATE` (if any). |
| `ORDERRESPONSE_SUMMARY` | `TOTAL_ITEM_NUM` = number of lines, `TOTAL_AMOUNT` = net total (if any). |

### Options

These options of the [output file configuration](/en/docs/channel-configuration/exported-documents.md) apply to order confirmations:

| Option | Effect |
|---|---|
| **Include reference to the analyzed file** (on by default) | Writes `MIME_INFO` with the file name of the original document delivered alongside. |
| **Include link to the Workbench** | Writes the link to the order confirmation in the Workbench into `ALT_CUSTOMER_ORDER_ID`. |
| **Overwrite position** | If a line was assigned to an order line during [matching with your orders](/en/docs/channel-configuration/document-processing/matching.md), Workist writes that order line's number into `LINE_ITEM_ID`. Otherwise the order confirmation's own line number stays. |
| **Use short external file name** | Uses a short ID instead of a UUID in the file name. |
