From this article you will learn:
- What is the Accounts Payable Checks extension
- How to set up the Accounts Payable Checks extension
- How to test the extension
- How to tweak the extension
- Troubleshooting
What is the Accounts Payable Checks extension
So, what is the Accounts Payable Checks extension, and how can it benefit your workflow? Even though Rossum today applies to many different use cases, in the beginning, we focused mainly on the Accounts Payable area. As a result, many clients only use Rossum for that purpose. So for them, we’ve created a function that allows AP departments to validate invoices more efficiently and accurately.
Therefore, you can use this extension to increase the productivity and accuracy of your AP clerks by performing instant checks such as:
- Is the Total Amount equal to the Total Base plus the Total Tax?
- Is the Total Amount on a line item equal to the Total Base plus Tax?
- Is the Due Date within 120 days after the Issue Date?
- Is the Total Amount equal to the Unit Price multiplied by the Quantity?
- Is the Tax equal to the Tax Base multiplied by the Tax Rate?
- Is the Total Amount equal to the sum of the line items’ Total Amounts?
So if a check is positive (which is bad), the user receives a message on their validation screen. It can be either info, a warning, or even an error message that prevents the further processing of the document.
How to set up the Accounts Payable Checks extension
Setting it up takes a few simple steps.
Below you will find a tutorial video, so you can watch it or continue reading.
Step 1: Activate Accounts Payable Checks function from Rossum Store
To activate Accounts Payable Checks, go to the Rossum application and then:
- Click on the Extensions tab at the top of the app.
- Click on the Rossum Store option to view all the available extensions.
- Select the “Accounts Payable Checks” extension tile.
- Click “Try extension.”

Step 2: Specify to which queue(s) you want to add this extension.
Once in the “Rossum Store Extension Settings,” scroll down to “Queues” and select the ones where you want these checks to apply. Please remember to save your changes once you’ve chosen the desired queues.

Step 3: Customize the checks according to your needs
Once you are in the Rossum Store Extensions Settings screen, scroll down to Configuration and view the parameters in JSON. So now you can edit them to suit your needs. You don’t have to do this as the checks work out of the box, but you may want to change the behavior or message or add a new one.
See the table below for reference:
Name | Description | Supported values |
Operation | Type of check (math operation) you want to perform. For example: “sum of items on the left side equals the sum of items on the right side.” | check_left_sum_equals_right_sum, check_right_minus_left_within_range, check_left_sum_equals_right_multiplication,check_header_field_equals_table_field_sum, |
Left | Item(s) you want to have on the left side of the equation. It can be any field ID from your schema. You can specify only one item for the “check_right_minus_left_within_range” operation. | Any field ID from your schema |
Right | Item(s) you want to have on the right side of the equation. It can be any field ID from your schema. You can specify only one item for the “check_right_minus_left_within_range” operation. | Any field ID from your schema |
Header field | The ID of the header field which you want to compare with a table field sum, such as Total Amount without VAT. | Any header field ID from your schema |
Table field | The ID of the table field whose sum you want to compare with a header field, such as VAT Base. | Any header field ID from your schema |
Lower bound | Lower bound of range in which you want the checked value to be. A number is expected; used only in the “check_right_minus_left_within_range” operation. | Number |
Upper bound | Upper bound of range in which you want the checked value to be. A number is expected; used only in the “check_right_minus_left_within_range” operation. | Number |
Data type | Type of data in the associated fields (must be the same for all fields in the given operation). | Number or Date |
Message type | Specify the type of message you want to show to the user if the check fails. It could be info, a warning, or an error. The error message prevents the further processing of the document (a user cannot confirm it, and automation is stopped). | Info, warning, error |
Message content | This is the message you want to display to the user if the check doesn’t pass. | It can be any text. You can easily include field labels in the text by specifying their field ID in {} such as {date_issue}. |
Epsilon | Specify how much the result may differ from an exact match in an absolute value. For example, if the difference between the compared values is less than the epsilon, then it’s correct. Especially useful to ignore differences in cents. | Number (can contain decimals) |
Try it out!
So now you want to test the extension. To do so, upload an invoice to the selected queue and see if it has any errors. If it does, you will see a message(s) in your validation screen, such as this one:

So if not, good! But you want to test it and see a message. In that case, either upload an invoice you know has an error in the numbers or edit any value, such as the Total Amount, and see what happens.
How to tweak the function
Our functions in Rossum Store are intended not just to help you solve your business challenges but also to inspire you to create your own functions! Therefore we allow you to view their code and copy it to your own function.
So you will find it in My extensions -> Accounts Payable Checks extension -> View code and test the extension:

So if you want to replicate the whole setup, you need to:
- Set the “Triggered events” to “Document content – User update.”
- Enable “Schemas” and “Queues” in the “Additional notification metadata” under “Advanced settings.”

Troubleshooting: schema vs. checks
Please note that we have designed this extension to be compatible with Rossum’s default extraction schema. Therefore, you will have that schema in every new queue you create.
In case you have a custom schema, this extension may not always work. Then you will need to check if the field IDs referenced in the extension configuration are also present in your schema and mean the same thing.