curl --request POST \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/documents/trial-balances-import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file'{
"opening_balances": [
{
"external_account_external_id": "0Br385JmgbTryJn8nEBnUb4A5ydv06U9Vbqqq",
"external_account_source": "UNIT",
"balance": 432100,
"effective_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
}
],
"manual_entries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by": "<string>",
"memo": "<string>",
"entry_id": "<string>",
"entry": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ledger_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent": "SMS",
"entry_type": "BANK",
"date": "2023-11-07T05:31:56Z",
"entry_at": "2023-11-07T05:31:56Z",
"reversal_of_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reversal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"line_items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account": {
"id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"name": "Current Assets",
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
},
"normality": "CREDIT",
"account_type": {
"value": "ASSET",
"display_name": "Asset"
},
"account_subtype": {
"value": "BANK_ACCOUNTS",
"display_name": "Current Assets"
}
},
"amount": 123,
"direction": "CREDIT",
"entry_at": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}
]
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"external_id": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"individual_name": "<string>",
"company_name": "<string>",
"email": "<string>",
"mobile_phone": "<string>",
"office_phone": "<string>",
"address_string": "<string>",
"memo": "<string>",
"status": "ACTIVE",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
]
},
"vendor": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>",
"individual_name": "<string>",
"company_name": "<string>",
"email": "<string>",
"mobile_phone": "<string>",
"office_phone": "<string>",
"address_string": "<string>",
"memo": "<string>",
"status": "ACTIVE",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
]
},
"line_items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"line_item_id": "<string>",
"external_id": "<string>",
"memo": "<string>",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
]
}
],
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
}
]
}Imports trial balances for a business from a .zip archive of Excel (.xlsx) files — one sheet per effective date. The earliest trial balance is converted into opening balances for each ledger account, and each subsequent trial balance is imported as a manual journal entry capturing the net change from the prior period. A business may only have one trial balances import at a time; if one already exists, it must be archived first. This endpoint expects a multipart upload.
curl --request POST \
--url https://sandbox.layerfi.com/v1/businesses/{businessId}/documents/trial-balances-import \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file'{
"opening_balances": [
{
"external_account_external_id": "0Br385JmgbTryJn8nEBnUb4A5ydv06U9Vbqqq",
"external_account_source": "UNIT",
"balance": 432100,
"effective_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"memo": "<string>",
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
}
],
"manual_entries": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by": "<string>",
"memo": "<string>",
"entry_id": "<string>",
"entry": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ledger_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent": "SMS",
"entry_type": "BANK",
"date": "2023-11-07T05:31:56Z",
"entry_at": "2023-11-07T05:31:56Z",
"reversal_of_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reversal_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"line_items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entry_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"account": {
"id": {
"type": "AccountId",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"name": "Current Assets",
"account_number": "4000",
"stable_name": {
"type": "StableName",
"stable_name": "CURRENT_ASSETS"
},
"normality": "CREDIT",
"account_type": {
"value": "ASSET",
"display_name": "Asset"
},
"account_subtype": {
"value": "BANK_ACCOUNTS",
"display_name": "Current Assets"
}
},
"amount": 123,
"direction": "CREDIT",
"entry_at": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}
]
},
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
],
"external_id": "<string>",
"customer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "31415926535",
"individual_name": "<string>",
"company_name": "<string>",
"email": "<string>",
"mobile_phone": "<string>",
"office_phone": "<string>",
"address_string": "<string>",
"memo": "<string>",
"status": "ACTIVE",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
]
},
"vendor": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"external_id": "<string>",
"individual_name": "<string>",
"company_name": "<string>",
"email": "<string>",
"mobile_phone": "<string>",
"office_phone": "<string>",
"address_string": "<string>",
"memo": "<string>",
"status": "ACTIVE",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
]
},
"line_items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"line_item_id": "<string>",
"external_id": "<string>",
"memo": "<string>",
"transaction_tags": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "ExampleTagKey",
"value": "ExampleTagValue",
"dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dimension_display_name": "<string>",
"value_display_name": "<string>",
"archived_at": "2023-11-07T05:31:56Z"
}
]
}
],
"metadata": {
"custom_field": "value",
"any valid json": "below 1kb",
"nested": {
"meaning of life": 42,
"array": []
}
},
"reference_number": "<string>"
}
]
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Content-Type must be set to multipart/form-data.
The UUID of the business to import trial balances for.
A .zip archive containing one or more .xlsx trial balance exports.
Trial balances imported successfully.
Opening balances created from the earliest trial balance in the import, one entry per ledger account with a non-zero balance.
Show child attributes
Manual journal entries created from each subsequent trial balance in the import, capturing the net change from the prior period.
Show child attributes