Changelog

Updates and improvements to Teal

Expanding responses

Developers can now use the expand parameter to request data of nested resources. For example, a Journal Entry object has several line entries; by using the expand parameter, you can request the full Line Entry objects using a single request. Expandable requests are noted in attribute descriptions throughout the API reference.

Read more about expanding responses here.

Instance-level categorization rules

We have added the ability to create instance-level categorization rules. This allows you to give end users the ability to set their own custom rules that are specific to their business.

Read more about our categorizer here.

Improvements & fixes

  • Fix a bug related to deleting ledgers

Rate limiting

Every API response is now accompanied with standard rate limiting headers. Use these values to gauge how many requests can be made before reaching the limit.

  • All platform-level requests have a combined rate limit of 120 requests/minute.
  • All instance-level requests have a combined rate limit of 320 requests/minute.

In addition, the Refresh Ledger Transactions endpoint has an additional rate limit of 2 requests/minute. Read more in the docs.

Improvements & fixes

  • Add ability to Filter GET Instances by name
  • Add ability to Filter GET Plaid Link Status by Instance
  • Add ability to sort GET Instances by name or -name
  • Update the similarity categorizer to only match with user categorized transactions

Tag Rules

You can now define Instance-level rules to apply Tags to Transactions automatically. This allows you to build advanced workflows and reduce the amount of time spent your customers spend tagging Transactions. You can create Tag Rules using the same expression language as categorization rules through the API. Read more about crafting categorization expressions and Tags or explore the Tag Rules Endpoints.

Improvements & fixes

  • Add ability to filter Get Transaction Categories by tag_id
  • Fix a bug where Uncategorized transactions were not posted if AI categorization was enabled
  • Add ability to bulk-untag a set of transactions
  • Implement tag rules API
  • Publish "unlink" Plaid account endpoint
  • Publish "delete" Plaid account endpoint
  • Add the ability to update the authentication for a linked Plaid account
  • Get COA template returning 503 when COA template has parent
  • Fix a bug where Plaid transactions with long descriptions caused an error when saving
  • Increase pagination max limit to 1000
  • Add start_date and end_date to transaction endpoints
  • Add duplicate checking when syncing Plaid transactions after updating auth token
  • Fix a bug where unposted transactions could not be returned from the transactions endpoint
  • Fix a bug where the time of all Plaid transactions was incorrectly set to midnight

Tags

A Supplier tag group with many tags below it

Tags give your users to the ability filter their accounting reports by customizable groups, offering a more detailed and granular view of their business. Whether tracking profitability by job, assessing performance by location, or managing fund tracking, Tags provide a flexible solution for various segment tracking use cases.

An instance needs a tier 3 subscription in order to filter their reports using tags.

Read more about Tags here.

Improvements & fixes

  • Fixed a bug where inclusive date ranges excluded the end date
  • Updated the status code from 503 to 404 when requesting the category for a transaction that does not exist
  • Added a categorization_method attribute to the Transaction object. This attribute can be used to enable more sophisticated Transaction Review workflows

Webhooks dashboard

A screenshot showing the webhooks dashboard

We have added a dashboard to the developer portal to configure and manage your Teal webhooks. We send currently webhooks events to inform you of changes to your Plaid-linked ledgers and will be adding webhooks for other data integrations and relevant endpoints in the future. Read more about our Plaid integration and configuring webhooks here.

Improvements & fixes

  • Updated Cash Flow report to display the signs for revenue and expense amounts following a "money in" / "money out" convention.
  • Updated several attributes on the Cash Flow Report to clarify definitions:
    • Top level keys:
      • starting_debit_balance was renamed to starting_cash_balance
      • ending_debit_balance was renamed to ending_cash_balance
    • starting_balance and ending_balance keys:
      • debit_balance was renamed to cash_balance
      • total_debit_amount was renamed to total_cash_balance
    • cash_flow_ledgers keys:
    • debit_amount was renamed to net_cash_flow
    • total_debit_amount was renamed to total_net_cash_flow
    • Line keys that were renamed:
      • debit_amount was renamed to amount
  • Add the option to automatically calculate the opening balance of a Plaid linked ledger
  • Add a balance checker for Plaid linked ledgers
  • Add the ability to refresh transactions from Plaid

Reviewing Transactions

A screenshot of the Teal demo app, showing an example of the reviewing transactions workflow

We have added a review_status field to the Transactions object. Transactions are now created with review_status = unreviewed, and you can update this status as you see fit. For example, you can use review_status to implement a workflow for your users to review and confirm Transaction categories that have been assigned by the Categorizer. Click here to view our guide on building this core accounting workflow.

Similar Transaction Categorizer

Detail illustration of the auto-categorizer pipeline. The new categorizer for similar transactions is highlighted.

We have added a new categorizer that selects a category based on similar transactions that have previously been categorized by either rules, AI, or the user. Over time, as more transactions are categorized within an instance, this categorizer becomes more effective.

Improvements & fixes

  • Updated the recategorize transaction endpoint to allow for categorizing of un-posted transactions.
  • Added pagination for list endpoints.
  • Improved speed of AI categorizer.