Purpose

The Affinda Platform is designed to flexibly integrate into a wide range of document processing workflows. We understand that every customer’s internal systems, validation rules, and exception handling processes are different. This guide outlines a framework to help you choose the most suitable integration workflow that fits your use case. It presents six common integration patterns used by customers today, each representing a distinct way to manage the flow of documents, data, and decisions between your system and Affinda.
The workflows presented cover some of the common setups in production, but they are not intended to be exhaustive. Depending on the use case, customers may need to adapt or extend them. For additional details, check out the FAQs at the bottom of this article or book a quick consult.

Workflow criteria

Your solution design will heavily depend on the answer to two key questions.

Q1. Will any exceptions be reviewed in Affinda’s UI?

Exception handling requires users to review any documents that fail validation logic and manage the steps needed to correct them. This may occur within Affinda via our validation interface, or entirely within your system using custom workflows or user interfaces.

Q2. Will any validation or mapping logic be completed inside Affinda?

Validation logic refers to the business rules used to decide whether the extracted data is complete, correct, or acceptable. This could be implemented by:
  • Implementing within the Affinda Platform using our validation rule and data mapping capabilities (see our tutorial on Straight-Through Processing for more information)
  • By implementing this logic in your system
In cases where rules are applied in your system, the results of these validation checks can be sent back into the Affinda Platform for the exception handling process.
“Rules” refers to any logic that auto-confirms fields or raises warnings where requirements are not met (e.g., supplier match exists, totals match).

Workflow Summary Table

IDWorkflow nameQ1. ExceptionsQ2. ValidationExplanation
W1No validationNoNoUpload → get JSON. No rules, no human in the loop.
W2Client-side validationNoNoSame as W1, however, customer applies rules once data has been exported.
W3Affinda validation logicNoYes - rules live in AffindaAffinda validates automatically; no human review.
W4Exception handling in AffindaYesNoHumans review every doc in Affinda UI; no automated rules.
W5Client-side validation with exception handling in AffindaYesYes - rules owned by clientYour rules, pushed back as warnings; flagged docs reviewed in Affinda.
W6Validation logic & exception handling in AffindaYesYes - rules live in AffindaAffinda validates; flagged docs reviewed in Affinda for final confirmation.
In some cases, the validation interface can be embedded within a client’s system to assist with exception handling. See Embedded Mode to learn more, or discuss with Affinda to learn how to enable this.

Detailed overview

The below provides detailed explanations of each of the workflow options.
Unless explicitly stated, all workflows assume that webhooks are used to notify your system when a document is ready for the next step. If webhooks aren’t feasible in your environment, synchronous polling or scheduled checks can be used as alternatives but may introduce latency or additional complexity.

External reference data

Global data

Many teams will have a master list of data that they want to map the extracted data to - this is known as a Data Source in Affinda. This reference data can be added by uploading a flat-file via the platform, or by adding and updating via API. This global reference data is managed separately from the document upload and export flow, and the matching of raw data to reference data occurs within the document processing.

Document specific data

Occasionally, teams will need to inject data per document. This may be needed where additional data specific to that document (but not present on the document itself) is needed for validation (e.g., the user submitting the file to the client system specifies the expected value of the document, and this is matched against the extracted data). In this case, customers should patch the data to the document as part of either W3 or W6.

FAQs