A basic element in the extraction schema is the data field. However, Rossum enables the capture of even more complex structures like tables. At the moment, Rossum’s AI engine automatically extracts 2 types of tables – Line items and Tax details.
Both of them come with a variety of predefined sets of extracted data fields from which you can choose the ones you need to capture. Moreover, you can modify the table by adding some custom data fields or you can create a new custom table.
Adding a predefined table field
When creating a new Rossum account, both the Line items and Tax details fields should be already available to you. If you are missing some fields when capturing data from the document, navigate to Fields to capture tab in the queue settings. In this tab, you can manage pretrained data fields and select which of them should be extracted.


Adding a new data field to your table
If any of the predefined fields do not fit your needs, you can customize an existing table even more using the Rossum schema editor. In the schema editor, navigate to the selected table and find the "children"
key of the corresponding tuple object. Afterwards, the process of adding a new custom field to the table is the same as with any other data field.

Creating a sample field in the table
For the purposes of this article, let’s create a new column labeled “Size” in a Line items table. The data required for creating this field would be as follows:
{
"category": "datapoint",
"type": "string",
"label": "Size",
"id": "item_size",
"rir_field_names": []
}
After you click on the table name in the left sidebar, the table will open at the bottom of the schema editor. Scroll to the location within the "children"
section where you want to place the new column. Copy the necessary data for the new column and paste it to the location where you want the new column to be shown in the table. In the table footer, you will now see the name of the new column.

Adding a new table
In order to create a new table, navigate to the section in the Rossum schema editor where you would like to add the new table. You can either copy and update an existing table from the JSON file or create the new table from scratch. In any case, your table has to be formed by three main object types: a multivalue field (which represents a grid) with a tuple in it (which represents a row), containing individual data fields (representing columns).

Let’s assume you want to add a new table called “Container Markings” with two fields: “Container No.” and “Seal No.”. The data required for creating such a table would be as follows:
{
"category": "multivalue",
"id": "container_markings",
"label": "Container Markings",
"children": {
"category": "tuple",
"id": "container_marking",
"label": "Container Marking",
"children": [
{
"rir_field_names": [],
"category": "datapoint",
"id": "marking_container_no",
"label": "Container No.",
"type": "string"
},
{
"rir_field_names": [],
"category": "datapoint",
"id": "marking_seal_no",
"label": "Seal No.",
"type": "string"
}
],
"rir_field_names": []
},
"rir_field_names": []
}
You can explore the individual table objects and their attributes in more detail in our API documentation.

Once all the required attributes are defined and there are no errors in the schema editor, you should be able to see the new table name in the left sidebar. And after clicking on it, you will see the whole table at the bottom of the schema editor. This is what your operators will see in the validation screen.
