Capturing Custom Table Data in Rossum

Prev Next

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 field 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 tab in the queue settings. In this tab, you can manage Pre-trained Data Field and select which of them should be extracted.

Capturing Custom Table Data in Rossum 01

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.

Capturing Custom Table Data in Rossum 02

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.

Capturing Custom Table Data in Rossum 03

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).

Capturing Custom Table Data in Rossum 04

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.

Capturing Custom Table Data in Rossum 05

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 have the option to create and annotate the table. This is what your operators will see in the Validation screen.