An Instance represents the accounting data of a business entity (SMB) in Teal. You can think of it as a “set of books” for your users.

Use the Create Instance endpoint and set their name, subscription_tier, entries_start, coa_template_id, and parent_id (if applicable, see Multi-entity organizations).

Remember to store the association between an instance in Teal and their associated entity in your product.


Instance anatomy

Multi-entity organizations

To represent more complex business structures, an instance can be configured as a subsidiary of another instance by providing a parent_id. The parent_id can be provided when creating the instance, or updated later with the Update Instance endpoint. Subsidiary relationships are currently restricted to one level. This means a subsidiary cannot have its own subsidiaries. Additionally, a subsidiary can have only one parent.

Subscription tier

Subscription tiers unlock reporting and advanced features for your users. By default, Instances have a tier0 subscription and can be upgraded to higher tiers using the Update Subscription endpoint.

NameLevelFeatures
Inactivetier0
Basictier1Basic reports, line entry categories
Advancedtier2Balance sheet
Premiumtier3Filter reports using tags
Professional servicestier4Full service accounting
Consolidationstier5Consolidated reports for multi-entity organizations

Contact us for Instance tier pricing levels. Instances in Sandbox environments are always free.

Start date

The entries_start parameter is the start date from which the API will sync an Instance’s accounting data. Transactions or journal entries cannot be entered before the start date, but you will be able to read reports.

You will generally set a start date that is the beginning of the financial year that your Instances will begin tracking their books on your Platform, or the start date of their business, whichever is sooner.

You cannot add transactions to an Instance from before their start date.

Chart of accounts

A chart of accounts template (the coa_template_id parameter) is required for all new Instances to generate their ledgers. You can view and manage your templates in the Developer Portal or using the Chart of Account Template endpoints.


Creating Instances

Use the Create Instance endpoint to create a new Instance. This step is usually done as part of onboarding where the user will also need to do some additional setup.

Users will need to select their chart of accounts template, if you provide multiple options. They will also need to create ledgers corresponding to each of their financial accounts and provide data connections, if necessary. Finally, if they are not a brand-new business they will have to set opening balances to ensure their balance sheet is accurate.


Deleting and deactivating Instances

Delete sandbox Instances using a delete request to Delete Instance endpoint.

Production Instances can be deactivated by downgrading their subscription_tier to tier0 using the Update Subscription endpoint.

Note downgrading an Instance will not deactivate any Plaid or Unit links the Instance may have. Deactivate those separately using the Delete Ledger Transaction Source endpoint to ensure you are not charged for active connections on an inactive account.


Relevant resources