SLAs and Asynchronous Behavior

API performance is critical with any SaaS integration. When considering the overall performance of real-time inventory calculations, there are several items to consider:

  • The performance of each API request (e.g. /transactions, /inventory, and /gains)
  • The overall e2e performance of transaction ingestion through inventory calculation

Inventory (and Gain / Loss, if applicable) are calculated automatically every time a transaction is processed by TaxBit, but the process is asynchronous. This means that the call to /transactions/external-id will return a response indicating a successful ingestion before inventory is calculated. Our unofficial P95 SLA for end-to-end inventory calculation is less than 1s for append transactions (i.e. processing the latest transaction for a given account).

We do not have an SLA for updates to historical transactions, which potentially require recalculating a user’s entire inventory. To account for the variability in inventory calculation processing for non-realtime transactions, we have built webhook support that enables clients to subscribe to events that will notify when a user’s inventory is reflective of a certain transaction.