Charts of accounts

Manage accounting accounts for an organization through the Findity Admin API — used for expense categorization, bookkeeping, and payroll.

Manage the chart of accounts for an organization through the Findity Admin API — defining the accounting accounts used for expense categorization, bookkeeping, and payroll.

Key Concepts

A chart of accounts is the set of accounting accounts that an organization uses to map expenses to the correct debit, credit, and VAT entries in their financial system. Findity automatically assigns expenses an accounting account or salary type based on the expense category, but the accounts themselves must be configured first.

Each account has the following key properties:

PropertyDescription
idUnique internal identifier for the account
accountNumberThe account number used in the organization's financial system (e.g., 5010, 2640)
accountNameDisplay name of the account (e.g., "Travel expenses", "Input VAT")
typeWhether the account is used for debit (expense), credit (payment), or VAT entries
activeWhether the account is currently available for use
lockedWhether the account is locked from editing (locked accounts can be unlocked via a dedicated endpoint)

How Accounts Are Used

Accounts serve two main purposes:

  • Expense categories — Each expense category (e.g., "Travel", "Meals", "Office supplies") is mapped to a debit account that determines where the expense is recorded in the general ledger
  • Payment methods — Credit accounts are used for the payment side of the entry (e.g., corporate card, employee reimbursement)

When an expense report is exported as a voucher through the Connect API, Findity generates voucher rows containing the mapped account numbers. A typical expense produces at least one debit row, one credit row, and one VAT row.

⚠️

The chart of accounts must be configured before expense categories can be properly mapped. If your organization uses an accounting recipient connected through the API, these accounts can be synced automatically from the external system.

API Endpoints

All endpoints are available under the Admin API base URL:

https://expense.findity.com/api/v1/admin

The following operations are available:

OperationMethodEndpoint
List accountsGET/organizations/{id}/accounts
Get a single accountGET/organizations/{id}/accounts/{accountId}
Create an accountPOST/organizations/{id}/accounts
Update an accountPUT/organizations/{id}/accounts/{accountId}
Unlock a locked accountPUT/organizations/{id}/accounts/{accountId}/unlock
Delete an accountDELETE/organizations/{id}/accounts/{accountId}

Required Headers

Include these headers with every request:

HeaderValue
Content-Typeapplication/json
AuthorizationBearer {access_token}

Step 1 — List Accounts

Retrieve all accounts in an organization's chart of accounts.

GET /organizations/{id}/accounts

This returns an array of account objects. Use this to discover existing accounts before creating new ones, or to verify that the chart of accounts matches your financial system.

Step 2 — Create an Account

Add a new account to the organization's chart of accounts.

POST /organizations/{id}/accounts

Request Body Properties

PropertyTypeRequiredDescription
accountNumberstringYesThe account number in your financial system
accountNamestringYesDisplay name for the account
typestringNoAccount type (debit, credit, or VAT)
activebooleanNoWhether the account is available for use (default: true)

Example: Create Accounts

{
  "accountNumber": "5010",
  "accountName": "Travel expenses",
  "active": true
}
{
  "accountNumber": "2640",
  "accountName": "Input VAT",
  "active": true
}

Step 3 — Update an Account

Modify an existing account's properties.

PUT /organizations/{id}/accounts/{accountId}

Example: Update an Account Name

{
  "accountNumber": "5010",
  "accountName": "Travel and accommodation expenses",
  "active": true
}

Step 4 — Get a Single Account

Retrieve a specific account by its ID.

GET /organizations/{id}/accounts/{accountId}

Step 5 — Delete an Account

Remove an account from the chart of accounts.

DELETE /organizations/{id}/accounts/{accountId}
🚨

Deleting an account that is currently mapped to expense categories or payment methods will break the accounting flow for those categories. Verify that no active categories reference the account before deleting it.

Unlocking a Locked Account

Accounts can become locked to prevent accidental modifications. To unlock a locked account, use the dedicated unlock endpoint:

PUT /organizations/{id}/accounts/{accountId}/unlock

This sets the locked flag to false, allowing the account to be edited or deleted again.

Mapping Accounts to Expense Categories

After creating accounts, map them to expense categories so Findity can generate the correct voucher rows on export. The mapping determines which account number appears in the debit, credit, and VAT rows of the voucher output.

Administrators can configure these mappings through:

  • Admin web client — Under Settings > Expense management > Expense categories, select the account for each category
  • Admin API — Use the categories endpoints to update account mappings programmatically

Each expense category can be linked to:

  • A debit account (the accounting account the expense is recorded to)
  • A salary type (for payroll integration, if applicable)
📘

If your report recipient is an accounting system connected through the API, account mappings on expense categories can be updated automatically by the external system. For manual recipients, administrators manage these mappings through the admin interface.

Relationship to Vouchers

When expense reports are exported through the Connect API, Findity uses the chart of accounts to generate structured voucher data. Each expense produces voucher rows containing:

Voucher RowAccount SourceDescription
Debit rowExpense category's mapped accountRecords the expense in the general ledger
Credit rowPayment method's mapped accountRecords the payment source (e.g., corporate card, reimbursement)
VAT rowVAT accountRecords the tax amount separately (when vatType is SEPARATELY)

For more details on how vouchers are structured and grouped, see the Voucher structure documentation.

Common Integration Patterns

Syncing from an ERP or Accounting System

To keep the chart of accounts in sync with your ERP or accounting system:

  1. Export the current account list from your financial system
  2. Call GET /organizations/{id}/accounts to retrieve existing accounts in Findity
  3. Compare the two lists and call POST /organizations/{id}/accounts for new accounts, PUT /organizations/{id}/accounts/{accountId} for changed accounts, and DELETE /organizations/{id}/accounts/{accountId} for removed accounts
  4. Run this sync on a schedule (e.g., nightly) to keep both systems aligned
Initial Organization Setup

When onboarding a new organization that requires accounting:

  1. Create the organization with a templateOrganizationId if a template with pre-configured accounts exists
  2. If no template is available, call POST /organizations/{id}/accounts for each account in the organization's chart of accounts
  3. Map accounts to expense categories through the admin interface or API
  4. Configure salary types if the organization integrates with a payroll system
  5. Set up the accounting recipient to enable voucher export
Migrating Account Numbers

When an organization changes its accounting system or restructures its chart of accounts:

  1. Call GET /organizations/{id}/accounts to list all current accounts
  2. Call POST /organizations/{id}/accounts to create the new accounts
  3. Update the expense category mappings to point to the new account numbers
  4. Deactivate or delete the old accounts once all active expense reports have been exported
  5. Verify the migration by exporting a test voucher and checking that the new account numbers appear in the voucher rows