From this article you will learn:
- What is a multivalue field
- How to create a multivalue field and add it to your schema
- How to add / remove values
- Simple multivalue field in the exported data
What is a multivalue field
Why are multivalue fields so useful? You can use the basic data field in the Rossum extraction schema to extract a single value, e.g., extraction of Invoice Number. However, in some cases, you might need to extract multiple values under one field. For such cases, Rossum schema also supports extracting data fields with multiple values.
A simple multivalue field is a special type of datapoint representing a container for data with multiple occurrences. It is useful in documents containing multiple PO numbers or multiple Container or Seal Numbers. Using multivalue fields to extract such data will allow you to have all these values extracted under the same field ID.

How to create a multivalue field and add it to your schema
For purposes of this article, let’s say your documents have multiple PO numbers, and you need to extract them all. We will create a new multivalue field called “PO number.”
How to add it to your schema in JSON
You can add such a field to your schema by going to Queue’s Settings -> Fields to capture -> Edit JSON.
The attributes of the field required for creating our “PO Number” multivalue field in the extraction schema would be as follows:
{
"category": "multivalue",
"id": "po_number_multi",
"label": "PO Number",
"children": {
"rir_field_names": ["order_id"],
"category": "datapoint",
"id": "po_number",
"label": "PO Number",
"type": "string" }
}
Regardless of the number of PO Numbers on the document, there will be only one PO Number in the “children” attribute of the multivalue field. Moreover, the AI Engine output “order_id” will initialize the multivalue field. You can explore the multivalue field and its attributes in more detail in our API documentation.
Creating this kind of field is the same as adding a new custom data field. In the Rossum schema editor (Queue settings -> Fields to capture -> Edit JSON), navigate to the section where you would like to add this new field. Copy the necessary data from our example, and paste it into that selected section’s “children” attribute. You will see the newly created multivalue field in the left sidebar.

How to add it in the extraction schema view
You can also add it directly in the extraction schema window. Go to Queue settings -> Fields to capture to display extraction schema. Then scroll to the section where you want this field and click on the “Add a new field” button.
In the new window, add Label, ID, and choose “Multivalue field” as a data type. Here we will use data from the previous example.

In the Field type section, add Label, ID, and choose String as the Data type. Remember to Save the changes.

How to add / remove values
On the validation screen in Rossum UI, the simple multivalue fields look similar to the regular data field. But on the right side, instead of actual values, you can see a number reflecting how many values the engine extracted. After clicking on it, the multivalue field expands and displays all the values.

Adding new value
Just click the “+ Add a value” button to add a new value and use a Bounding box to capture this field on the document. You can also use keyboard shortcuts to speed up the data capture.

Removing value
If you want to delete a single value, it’s very easy. All you need to do is click on the x icon, and the value will be removed.

Sometimes you need to delete many unwanted values, and deleting them one by one would take a lot of time. In that case, you can multi-select values and delete them all at once.
Shift ⇧ + Mouse Click | Select all values between two selected values. |
CMD (⌘) + Mouse Click (Mac) CTRL + Mouse Click (Win) | Select only clicked values. |

Then click on the “Delete selected” button to delete selected values at once.
Simple multivalue field in the exported data
How will the exported data look like if you have a simple multivalue field in your extraction schema? In the spreadsheet, the multivalue field will populate 1 row per each value it contains. Other header field values will be repeated for each row for the same document.
In the example above, there is one multivalue field with 3 PO Number values. In the exported data, this will result in 3 lines. Each line will have a different PO Number, and all the other columns (header field values) will be repeated.
