Teal API Endpoints
- Categorization
- Chart of Accounts Templates
- Instances
- Journal Entries
- Ledgers
- Line Entries
- Payables
- Platform
- Quickbooks
- Receivables
- Reports
- Tags
- Transaction Sources
- Transactions
- Transfers
API Migration
- Migration Guides
- Deprecated Endpoints
Create a Chart of Accounts Template
Creates a Chart of Accounts Template.
curl --request POST \
--url https://api.sandbox.teal.dev/v0/platform-gl/coa-templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Coffee Shop Sole Prop"
}'
{
"id": "PpvsmFEv14yGDyT6iV6kXw",
"name": "Coffee Shop Sole Prop",
"ledgers": null,
"ledger_ids": [
"7JRNsKwy2Lw66caxVU7WGC",
"HLn8oy2eqMUCwjp1Cwdgco"
]
}
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
Comma-separated list of expandable paths.
ledgers
Body
An arbitrary string on the object, useful for identifying the Chart of Accounts template.
"Coffee Shop Sole Prop"
Response
The unique ID of the object.
"PpvsmFEv14yGDyT6iV6kXw"
An arbitrary string on the object, useful for identifying the Chart of Accounts template.
"Coffee Shop Sole Prop"
A list of IDs of the Ledger Template objects associated with the Chart of Accounts Template
[
"7JRNsKwy2Lw66caxVU7WGC",
"HLn8oy2eqMUCwjp1Cwdgco"
]
Expandable. A list of the Ledger Templates associated with the Chart of Accounts Template.
The unique ID of the object.
"7JRNsKwy2Lw66caxVU7WGC"
Indicates if the ledger is a credit or debit ledger.
Required if financial_account_type
is not specified.
debit
, credit
"debit"
Whether line entries can be manually added or removed
from the Ledger. Set to false
if you control the source of truth for
the Ledger and want to restrict user changes, for example, if the Ledger is
for a bank account or a payments account you control (i.e. you are a neobank
or using a Banking as a Service platform).
false
If specified, indicates that the ledger represents a real-world financial account.
If provided when creating a new
Ledger object, you do not need to provide debit_credit
, type
, sub_type
, or
report_cash_flow
values as we will provide default values.
bank_account
, credit_card
, payments
, payroll
, loan
, prepaid_card
, accounts_receivable
, accounts_payable
"bank_account"
Indicates that the ledger is one of the four system
ledgers required for teal to work. In the default chart of accounts, these
are named one of: Transfers Between Accounts
, Opening Balance Retained Earnings
, Uncategorized Cash Inflow
, Uncategorized Cash Outflow
. You
can update the names of these to fit your needs.
false
The name of the ledger. Teal does not enforce any other conventions or patterns on naming schemes; however, we recommend you use concise, descriptive names, especially for financial account ledgers.
"Pluto Checking 4242"
If the Ledger is a child Ledger, the ID of the parent Ledger object.
null
Whether Teal includes this ledger in the cash flow report.
Required if financial_account_type
is not specified.
true
Determines the display order in reports, ordered digit
by digit, starting from the leftmost position. For example, 20010
will come
before 3050
.
Teal does not enforce any other conventions or patterns on sort codes. However, it is recommended to adopt a common convention such as starting all ledgers of the same type with the same number (assets start with 1, liabilities start with 2, etc.). The default CoA templates provided by Teal follow best practices for sort code numbering.
"1400"
Indicates similar characteristics and accounting
treatment for a group of ledgers within a type
.
Required if
financial_account_type
is not specified.
current_assets
, non-current_assets
, transfers_between_accounts
, uncategorized_assets
, current_liabilities
, non-current_liabilities
, equity
, operating_revenues
, other_income
, cost_of_goods_sold
, operating_expenses
, other_expenses
"current_assets"
Indicates the purpose and location of the funds and
value recorded in the Ledger and which report it is included in: asset
,
liability
and equity
ledgers are displayed on the balance sheet;
revenue
and expenses
are displayed on the income statement.
Required if `financial_account_type` is not specified.
asset
, liability
, equity
, revenue
, expense
"asset"
If the Ledger has child ledgers, a list of the Ledger objects.
The unique ID of the object.
"7JRNsKwy2Lw66caxVU7WGC"
Indicates if the ledger is a credit or debit ledger.
Required if financial_account_type
is not specified.
debit
, credit
"debit"
Whether line entries can be manually added or removed
from the Ledger. Set to false
if you control the source of truth for
the Ledger and want to restrict user changes, for example, if the Ledger is
for a bank account or a payments account you control (i.e. you are a neobank
or using a Banking as a Service platform).
false
If specified, indicates that the ledger represents a real-world financial account.
If provided when creating a new
Ledger object, you do not need to provide debit_credit
, type
, sub_type
, or
report_cash_flow
values as we will provide default values.
bank_account
, credit_card
, payments
, payroll
, loan
, prepaid_card
, accounts_receivable
, accounts_payable
"bank_account"
Indicates that the ledger is one of the four system
ledgers required for teal to work. In the default chart of accounts, these
are named one of: Transfers Between Accounts
, Opening Balance Retained Earnings
, Uncategorized Cash Inflow
, Uncategorized Cash Outflow
. You
can update the names of these to fit your needs.
false
The name of the ledger. Teal does not enforce any other conventions or patterns on naming schemes; however, we recommend you use concise, descriptive names, especially for financial account ledgers.
"Pluto Checking 4242"
If the Ledger is a child Ledger, the ID of the parent Ledger object.
null
Whether Teal includes this ledger in the cash flow report.
Required if financial_account_type
is not specified.
true
Determines the display order in reports, ordered digit
by digit, starting from the leftmost position. For example, 20010
will come
before 3050
.
Teal does not enforce any other conventions or patterns on sort codes. However, it is recommended to adopt a common convention such as starting all ledgers of the same type with the same number (assets start with 1, liabilities start with 2, etc.). The default CoA templates provided by Teal follow best practices for sort code numbering.
"1400"
Indicates similar characteristics and accounting
treatment for a group of ledgers within a type
.
Required if
financial_account_type
is not specified.
current_assets
, non-current_assets
, transfers_between_accounts
, uncategorized_assets
, current_liabilities
, non-current_liabilities
, equity
, operating_revenues
, other_income
, cost_of_goods_sold
, operating_expenses
, other_expenses
"current_assets"
Indicates the purpose and location of the funds and
value recorded in the Ledger and which report it is included in: asset
,
liability
and equity
ledgers are displayed on the balance sheet;
revenue
and expenses
are displayed on the income statement.
Required if `financial_account_type` is not specified.
asset
, liability
, equity
, revenue
, expense
"asset"
If the Ledger has child ledgers, a list of the Ledger objects.
The unique ID of the object.
"7JRNsKwy2Lw66caxVU7WGC"
Indicates if the ledger is a credit or debit ledger.
Required if financial_account_type
is not specified.
debit
, credit
"debit"
Whether line entries can be manually added or removed
from the Ledger. Set to false
if you control the source of truth for
the Ledger and want to restrict user changes, for example, if the Ledger is
for a bank account or a payments account you control (i.e. you are a neobank
or using a Banking as a Service platform).
false
If specified, indicates that the ledger represents a real-world financial account.
If provided when creating a new
Ledger object, you do not need to provide debit_credit
, type
, sub_type
, or
report_cash_flow
values as we will provide default values.
bank_account
, credit_card
, payments
, payroll
, loan
, prepaid_card
, accounts_receivable
, accounts_payable
"bank_account"
Indicates that the ledger is one of the four system
ledgers required for teal to work. In the default chart of accounts, these
are named one of: Transfers Between Accounts
, Opening Balance Retained Earnings
, Uncategorized Cash Inflow
, Uncategorized Cash Outflow
. You
can update the names of these to fit your needs.
false
The name of the ledger. Teal does not enforce any other conventions or patterns on naming schemes; however, we recommend you use concise, descriptive names, especially for financial account ledgers.
"Pluto Checking 4242"
If the Ledger is a child Ledger, the ID of the parent Ledger object.
null
Whether Teal includes this ledger in the cash flow report.
Required if financial_account_type
is not specified.
true
Determines the display order in reports, ordered digit
by digit, starting from the leftmost position. For example, 20010
will come
before 3050
.
Teal does not enforce any other conventions or patterns on sort codes. However, it is recommended to adopt a common convention such as starting all ledgers of the same type with the same number (assets start with 1, liabilities start with 2, etc.). The default CoA templates provided by Teal follow best practices for sort code numbering.
"1400"
Indicates similar characteristics and accounting
treatment for a group of ledgers within a type
.
Required if
financial_account_type
is not specified.
current_assets
, non-current_assets
, transfers_between_accounts
, uncategorized_assets
, current_liabilities
, non-current_liabilities
, equity
, operating_revenues
, other_income
, cost_of_goods_sold
, operating_expenses
, other_expenses
"current_assets"
Indicates the purpose and location of the funds and
value recorded in the Ledger and which report it is included in: asset
,
liability
and equity
ledgers are displayed on the balance sheet;
revenue
and expenses
are displayed on the income statement.
Required if `financial_account_type` is not specified.
asset
, liability
, equity
, revenue
, expense
"asset"
If the Ledger has child ledgers, a list of the Ledger objects.
The unique ID of the object.
"7JRNsKwy2Lw66caxVU7WGC"
Indicates if the ledger is a credit or debit ledger.
Required if financial_account_type
is not specified.
debit
, credit
"debit"
Whether line entries can be manually added or removed
from the Ledger. Set to false
if you control the source of truth for
the Ledger and want to restrict user changes, for example, if the Ledger is
for a bank account or a payments account you control (i.e. you are a neobank
or using a Banking as a Service platform).
false
If specified, indicates that the ledger represents a real-world financial account.
If provided when creating a new
Ledger object, you do not need to provide debit_credit
, type
, sub_type
, or
report_cash_flow
values as we will provide default values.
bank_account
, credit_card
, payments
, payroll
, loan
, prepaid_card
, accounts_receivable
, accounts_payable
"bank_account"
Indicates that the ledger is one of the four system
ledgers required for teal to work. In the default chart of accounts, these
are named one of: Transfers Between Accounts
, Opening Balance Retained Earnings
, Uncategorized Cash Inflow
, Uncategorized Cash Outflow
. You
can update the names of these to fit your needs.
false
The name of the ledger. Teal does not enforce any other conventions or patterns on naming schemes; however, we recommend you use concise, descriptive names, especially for financial account ledgers.
"Pluto Checking 4242"
If the Ledger is a child Ledger, the ID of the parent Ledger object.
null
Whether Teal includes this ledger in the cash flow report.
Required if financial_account_type
is not specified.
true
Determines the display order in reports, ordered digit
by digit, starting from the leftmost position. For example, 20010
will come
before 3050
.
Teal does not enforce any other conventions or patterns on sort codes. However, it is recommended to adopt a common convention such as starting all ledgers of the same type with the same number (assets start with 1, liabilities start with 2, etc.). The default CoA templates provided by Teal follow best practices for sort code numbering.
"1400"
Indicates similar characteristics and accounting
treatment for a group of ledgers within a type
.
Required if
financial_account_type
is not specified.
current_assets
, non-current_assets
, transfers_between_accounts
, uncategorized_assets
, current_liabilities
, non-current_liabilities
, equity
, operating_revenues
, other_income
, cost_of_goods_sold
, operating_expenses
, other_expenses
"current_assets"
Indicates the purpose and location of the funds and
value recorded in the Ledger and which report it is included in: asset
,
liability
and equity
ledgers are displayed on the balance sheet;
revenue
and expenses
are displayed on the income statement.
Required if `financial_account_type` is not specified.
asset
, liability
, equity
, revenue
, expense
"asset"
If the Ledger has child ledgers, a list of the Ledger objects.
null
null
null
null
null
curl --request POST \
--url https://api.sandbox.teal.dev/v0/platform-gl/coa-templates \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Coffee Shop Sole Prop"
}'
{
"id": "PpvsmFEv14yGDyT6iV6kXw",
"name": "Coffee Shop Sole Prop",
"ledgers": null,
"ledger_ids": [
"7JRNsKwy2Lw66caxVU7WGC",
"HLn8oy2eqMUCwjp1Cwdgco"
]
}