# Requests for Quotation

These standard formats are available for requests for quotation: [Workist XML](#workist-xml) (default), [SAP IDoc](#sap-idoc) with message type `REQOTE` and [openTRANS 2.1](#opentrans). Workist builds other formats on request, see [Custom formats on request](/en/docs/output-formats.md#custom-formats).

All examples on this page were generated with the Workist serializers from the same sample data. General rules on file names, date and number formats are in the [overview](/en/docs/output-formats.md).

---

## Workist XML {#workist-xml}

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

The default format for requests for quotation. It is structured like the [Workist XML for orders](/en/docs/output-formats/orders.md#workist-xml): `General` holds the header data, `Invoicing` and `Shipping` the addresses and delivery dates, followed by one `Line` element per line item.

Which elements appear depends on your channel's header and line item fields. Workist omits empty fields. Workist writes a `Line` element for every line item, even if it stays empty because no line item fields are configured.

### Full example

```xml
<?xml version="1.0" encoding="utf-8"?>
<Rfq>
  <General>
    <Sell_to_Customer>
      <Customer_Number>CUST-12345</Customer_Number>
      <Name>Acme Corporation</Name>
      <Contact_Number>CP-001</Contact_Number>
      <Contact>Max Mustermann</Contact>
      <Contact_Email>max@acme.de</Contact_Email>
      <Contact_Phone>+49 89 12345678</Contact_Phone>
      <Country>DE</Country>
      <Country_Subdivision>BY</Country_Subdivision>
      <Customer_Type>regular</Customer_Type>
    </Sell_to_Customer>
    <Request_Date>2025-03-15</Request_Date>
    <Quote_Deadline>2025-03-31</Quote_Deadline>
    <Customer_Request_number>RFQ-2025-0010</Customer_Request_number>
    <Project_Number>PRJ-500</Project_Number>
    <Info_Text>Requesting quote for Q2 2025 order.</Info_Text>
    <Commission_Number>COM-999</Commission_Number>
    <External_Document_Link>9f8c2b7e-4d1a-4c3e-9b6f-2a7d5e1c0b34.pdf</External_Document_Link>
    <Workist_URL>https://wb.workist.com/rfqs/3f2b8c1e-5a7d-4e19-8c2f-6b0d9a4e7c15</Workist_URL>
    <Received_By>max@acme.de</Received_By>
  </General>
  <Invoicing>
    <Bill_to_Customer>
      <Code>BILL-001</Code>
      <Name>Accounts Payable</Name>
      <Additional_Name_Info>Acme Corporation GmbH</Additional_Name_Info>
      <Address>Billing Strasse 10</Address>
      <Additional_Address_Info>Building C, 3rd Floor</Additional_Address_Info>
      <City>Munich</City>
      <Post_Code>80331</Post_Code>
      <Country>DE</Country>
      <Country_Subdivision>BY</Country_Subdivision>
      <Phone>+49 89 11111111</Phone>
      <Email>billing@acme.de</Email>
    </Bill_to_Customer>
  </Invoicing>
  <Shipping>
    <Ship_to_Customer>
      <Code>SHIP-002</Code>
      <Name>Warehouse Team</Name>
      <Additional_Name_Info>Acme Corporation GmbH</Additional_Name_Info>
      <Address>Lager Strasse 5</Address>
      <Additional_Address_Info>Gate 3</Additional_Address_Info>
      <City>Hamburg</City>
      <Post_Code>20095</Post_Code>
      <Country>DE</Country>
      <Country_Subdivision>HH</Country_Subdivision>
      <Phone>+49 40 22222222</Phone>
      <Email>warehouse@acme.de</Email>
    </Ship_to_Customer>
    <Expected_Delivery_Date>2025-05-01</Expected_Delivery_Date>
    <Expected_Delivery_End_Date>2025-05-15</Expected_Delivery_End_Date>
    <Delivery_Unload_Method>forklift</Delivery_Unload_Method>
  </Shipping>
  <Line>
    <Description>Industrial Sensor Module Type A</Description>
    <Unit_of_Measure>PCE</Unit_of_Measure>
    <Quantity>500</Quantity>
    <Converted_Unit_of_Measure>box</Converted_Unit_of_Measure>
    <Converted_Quantity>50</Converted_Quantity>
    <Common_Item_Number>ART-001-A</Common_Item_Number>
    <Common_Item_Number_2>ART-001-A-ALT</Common_Item_Number_2>
    <Common_Item_Number_3>4006381333931</Common_Item_Number_3>
    <Customer_Item_Number>CUST-ART-555</Customer_Item_Number>
    <Item_Number_Confidence>0,92</Item_Number_Confidence>
    <Expected_Delivery_Date>2025-05-01</Expected_Delivery_Date>
    <Commission_Number>COM-LINE-01</Commission_Number>
    <Pos>10</Pos>
  </Line>
</Rfq>
```

### General fields (`General`)

| Element | Type | Description |
|---|---|---|
| `Sell_to_Customer` | Block | The requesting customer, filled from your customer master data |
| `Sell_to_Customer/Customer_Number` | Text | Customer number |
| `Sell_to_Customer/Name` | Text | Customer name |
| `Sell_to_Customer/Contact_Number` | Text | Number of the customer's contact person |
| `Sell_to_Customer/Contact` | Text | Name of the contact person |
| `Sell_to_Customer/Contact_Email` | Text | Contact person's email address |
| `Sell_to_Customer/Contact_Phone` | Text | Contact person's phone number |
| `Sell_to_Customer/Country` | Text | Country code of the customer address (e.g. `DE`) |
| `Sell_to_Customer/Country_Subdivision` | Text | State or region code of the customer address (e.g. `BY`) |
| `Sell_to_Customer/Customer_Type` | Text | Customer type from your master data |
| `Request_Date` | Date | Request date |
| `Quote_Deadline` | Date | Deadline for submitting the quote |
| `Customer_Request_number` | Text | Customer's request number |
| `Project_Number` | Text | Project number |
| `Info_Text` | Text | Free text. Workist splits it into chunks of 70 characters, one element per chunk, at most 5 elements; anything beyond is dropped |
| `Commission_Number` | Text | Commission number |
| `External_Document_Link` | Text | File name of the original document Workist delivers next to the XML file (`<ID>.pdf`). Not a link |
| `Workist_URL` | Text | Link to the document in the Workbench |
| `Received_By` | Text | Sender address (*From*) of the email in which the document reached Workist |

You switch on `External_Document_Link`, `Workist_URL` and `Received_By` in the [output file configuration](/en/docs/channel-configuration/exported-documents.md), see [Options](/en/docs/output-formats.md#options).

### Invoice address, delivery address and delivery dates

| Element | Type | Description |
|---|---|---|
| `Invoicing/Bill_to_Customer` | Block | Invoice address; fields as for [orders](/en/docs/output-formats/orders.md#address-fields) |
| `Shipping/Ship_to_Customer` | Block | Delivery address; fields as for [orders](/en/docs/output-formats/orders.md#address-fields) |
| `Shipping/Expected_Delivery_Date` | Date | Requested delivery date |
| `Shipping/Expected_Delivery_End_Date` | Date | End of the delivery period |
| `Shipping/Delivery_Unload_Method` | Text | Unloading method at the delivery location |

### Line item fields (`Line`)

| Element | Type | Description |
|---|---|---|
| `Description` | Text | Article description |
| `Unit_of_Measure` | Text | Unit of measure |
| `Quantity` | Decimal | Requested quantity |
| `Converted_Unit_of_Measure` | Text | Converted unit (e.g. `box`) |
| `Converted_Quantity` | Decimal | Quantity in the converted unit |
| `Common_Item_Number` | Text | Your article number (`article_id1` from your article master data) |
| `Common_Item_Number_2` | Text | Second article number (`article_id2`) |
| `Common_Item_Number_3` | Text | Third article number (`article_id3`, e.g. EAN) |
| `Customer_Item_Number` | Text | The customer's article number |
| `Item_Number_Confidence` | Decimal | Confidence of the automatic article match between 0 and 1, always with a decimal comma (e.g. `0,92`) |
| `Expected_Delivery_Date` | Date | Delivery date of the line |
| `Commission_Number` | Text | Commission number of the line |
| `Pos` | Text | Line number |

---

## SAP IDoc (REQOTE) {#sap-idoc}

**File extension:** `.xml`  
**File name:** `<IDoc number>.xml`

Requests for quotation in IDoc basic type `ORDERS05` with message type `REQOTE`. Structure, segments and field lengths match the [SAP IDoc ORDERS05 for orders](/en/docs/output-formats/orders.md#sap-idoc). These points differ:

| Element | Order | Request for quotation |
|---|---|---|
| `EDI_DC40/MESTYP`, `EDI_DC40/STDMES` | `ORDERS` | `REQOTE` |
| `E1EDK01/BELNR`, `E1EDK02/BELNR` | Order number | Request number |
| `E1EDK03` (`IDDAT` = `012`), `E1EDK02/DATUM` | Order date | Request date |
| `EDI_DC40/SNDPOR`, `SNDPRT`, `SNDPRN` | configurable | fixed `WORKIST`, `LS`, `WORKIST` |

Request date and delivery date are required. If either is missing, Workist creates no file.

Workist sets these values for you during setup:

| Field | Default | Max. characters |
|---|---|---|
| `MANDT` | `050` | – |
| `RCVPOR` | `XML_WKI` | 10 |
| `RCVPRT` | `LS` | 2 |
| `RCVPRN` | `SUPPLIER` | 10 |
| `RECIPNT_NO` | `SUPPLIER` | 10 |

---

## openTRANS 2.1 {#opentrans}

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

Request for quotation in openTRANS 2.1 format (`RFQ`). The format has a fixed structure: your channel's field selection and the options of the output file configuration do not change it. Invoice and delivery addresses are not included.

### Full example

```xml
<?xml version="1.0" encoding="utf-8"?>
<RFQ 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" type="standard">
  <RFQ_HEADER>
    <CONTROL_INFO>
      <GENERATOR_INFO>Workist</GENERATOR_INFO>
      <GENERATION_DATE>2025-03-15T14:30:25.123456</GENERATION_DATE>
    </CONTROL_INFO>
    <RFQ_INFO>
      <RFQ_ID>RFQ-2025-0010</RFQ_ID>
      <RFQ_DATE>2025-03-15</RFQ_DATE>
      <DELIVERY_DATE>
        <DELIVERY_START_DATE>2025-05-01</DELIVERY_START_DATE>
        <DELIVERY_END_DATE>2025-05-15</DELIVERY_END_DATE>
      </DELIVERY_DATE>
      <DELIVERY_UNLOAD_METHOD>forklift</DELIVERY_UNLOAD_METHOD>
      <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">supplier</bmecat:PARTY_ID>
          <PARTY_ROLE>supplier</PARTY_ROLE>
        </PARTY>
        <PARTY>
          <bmecat:PARTY_ID>CUST-12345</bmecat:PARTY_ID>
          <PARTY_ROLE>buyer</PARTY_ROLE>
          <ADDRESS>
            <bmecat:NAME>Acme Corporation</bmecat:NAME>
            <bmecat:STREET>Hauptstrasse 42</bmecat:STREET>
            <bmecat:ZIP>80331</bmecat:ZIP>
            <bmecat:CITY>Munich</bmecat:CITY>
            <bmecat:COUNTRY>DE</bmecat:COUNTRY>
          </ADDRESS>
        </PARTY>
      </PARTIES>
      <ORDER_PARTIES_REFERENCE>
        <bmecat:BUYER_IDREF>CUST-12345</bmecat:BUYER_IDREF>
        <bmecat:SUPPLIER_IDREF>supplier</bmecat:SUPPLIER_IDREF>
      </ORDER_PARTIES_REFERENCE>
      <bmecat:CURRENCY>EUR</bmecat:CURRENCY>
    </RFQ_INFO>
  </RFQ_HEADER>
  <RFQ_ITEM_LIST>
    <RFQ_ITEM>
      <LINE_ITEM_ID>10</LINE_ITEM_ID>
      <PRODUCT_ID>
        <bmecat:SUPPLIER_PID type="supplier_specific">ART-001-A</bmecat:SUPPLIER_PID>
        <bmecat:BUYER_PID>CUST-ART-555</bmecat:BUYER_PID>
        <bmecat:DESCRIPTION_LONG>Industrial Sensor Module Type A</bmecat:DESCRIPTION_LONG>
      </PRODUCT_ID>
      <QUANTITY>500.0</QUANTITY>
      <bmecat:ORDER_UNIT>PCE</bmecat:ORDER_UNIT>
      <DELIVERY_DATE>
        <DELIVERY_START_DATE>2025-05-01</DELIVERY_START_DATE>
        <DELIVERY_END_DATE>2025-05-01</DELIVERY_END_DATE>
      </DELIVERY_DATE>
    </RFQ_ITEM>
  </RFQ_ITEM_LIST>
  <RFQ_SUMMARY>
    <TOTAL_ITEM_NUM>1</TOTAL_ITEM_NUM>
  </RFQ_SUMMARY>
</RFQ>
```

### Elements

| Element | Content |
|---|---|
| `CONTROL_INFO` | `GENERATOR_INFO` = `Workist`, `GENERATION_DATE` = creation time (UTC). |
| `RFQ_INFO` | `RFQ_ID` = customer's request number, `RFQ_DATE` = request date, `DELIVERY_UNLOAD_METHOD` = unloading method (additional element, not part of the openTRANS standard; only if filled), `CURRENCY` = always `EUR`. |
| `DELIVERY_DATE` | Only with a delivery date: `DELIVERY_START_DATE` = delivery date, `DELIVERY_END_DATE` = end of the delivery period (otherwise the delivery date). |
| `PARTY` `document_creator` | Workist as creator: `PARTY_ID` = `workist` (`type` = `party_specific`), `PARTY_ROLE` = `document_creator`. |
| `PARTY` `supplier` | You as the supplier, fixed placeholder: `PARTY_ID` = `supplier` (`type` = `party_specific`), `PARTY_ROLE` = `supplier`. |
| `PARTY` `buyer` | Requesting customer: `PARTY_ID` = customer number, `PARTY_ROLE` = `buyer`; `NAME` = name from the customer address, `STREET`, `ZIP`, `CITY`, `COUNTRY` (country code). |
| `ORDER_PARTIES_REFERENCE` | `BUYER_IDREF` = customer number, `SUPPLIER_IDREF` = `supplier`. |
| `RFQ_ITEM` | One per line: `LINE_ITEM_ID` = line number, `QUANTITY` = quantity with a decimal point (e.g. `500.0`), `ORDER_UNIT` = unit of measure. |
| `PRODUCT_ID` | `SUPPLIER_PID` = your article number (`type` = `supplier_specific`), `BUYER_PID` = the customer's article number, `DESCRIPTION_LONG` = article description. |
| `DELIVERY_DATE` (line) | Delivery date of the line in `DELIVERY_START_DATE` and `DELIVERY_END_DATE`. |
| `RFQ_SUMMARY` | `TOTAL_ITEM_NUM` = number of lines. |

Every line needs a quantity that can be read as a number, otherwise Workist creates no file.
