Sync vs. Async
When sending transactions via API, we can process them either sync
or async
- this FAQ aims to provide more information as to the different use cases for when you should use sync
or async
and the general pros and cons of each methodology.
Q: What is the difference between processing end_user transactions sync vs. async? What are the benefits of one versus the other?
We typically segregate sync
and async
by customer use case.
For creating a Beautiful Transaction Feed, i.e. extracting a clean merchant name and icon from a single or multiple transaction descriptions:
-
And you are enriching a single transaction, we recommend processing transactions using the
merchants/extract
endpoint -
And you are enriching a batch of transactions, we recommend processing a batch of transactions
synchronously
-
And you have business data and want categories in addition to merchant name and icons, then we would consider you an SMB analytics use case, and we recommend processing transactions
asynchronously
For SMB underwriting and SMB analytics - we always recommend processing transactions async
. Async
has additional features that increase accuracy given that the process evaluates the end_user holistically, instead of just evaluating a single batch of transactions.
To summarise, the key differences between sync
and async
processing are:
- Speed:
sync
is faster with respect to processing a single batch of transactions and you do not have to rely on receiving a webhook to know when the process is complete (more information on webhooks here) - Accuracy: the
async
data flow offers enhanced accuracy compared to the sync flow due to additional features and a holistic consideration of the end user. Specifically, the async flow provides up to 10 percentage points higher accuracy, making it the recommended choice for businesses. It excels in accurately categorizing inter-company transfers, which is not possible with the sync flow. This higher accuracy applies to both merchant extraction and categorization classification at a transaction level. Additionally, at the company level, the async flow delivers improved accuracy for metrics, scores, and predictions. - Number of transactions you are able to process in a single batch: for
sync
, you are able to send a maximum of 2,500 transactions in a single batch, whereas forasync
, you are able to send a maximum of 20,000 transactions in a single batch
Q: Am I able to process transactions both sync and async?
Processing transactions both sync
and async
in a single production environment is not optimal. If you need to be able to do both - please let us know via slack or email us at [email protected].
Q: I am currently processing transactions sync, how do I process transactions async (and vice versa)?
If you would like to switch your processing methodology, please reach out via slack or email us at [email protected].