> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tesouro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Organization bank accounts

> Learn how to manage the bank accounts of organizations.

## Overview

Organizations that represent the customers of Tesouro [partners](/finops/support/glossary#partner) can have their bank account information associated with them. These bank accounts can be set as default for payment in different currencies.

## Add a bank account to an organization

To add a bank account to an organization, call [`POST /bank-accounts`](/finops/reference/openapi/entity-bank-accounts/post-bank-accounts) and provide the bank account details.

All bank accounts require the `currency` and `country`. For US accounts, also provide `account_holder_name`, `account_number`, and `routing_number`.

Sample request:

<Tabs>
  <Tab title="USD bank account">
    ```sh lines theme={null}
    curl -X POST 'https://api.sandbox.tesouro.com/v1/bank-accounts' \
         -H 'X-Finops-Version: 2025-06-23' \
         -H 'X-Organization-Id: ORGANIZATION_ID' \
         -H 'Authorization: Bearer ACCESS_TOKEN' \
         -H 'Content-Type: application/json' \
         -d '{
           "bank_name": "WELLS FARGO",
           "display_name": "Primary account",
           "is_default_for_currency": true,
           "account_holder_name": "Bob Jones",
           "account_number": "2571714302",
           "routing_number": "061000227",
           "currency": "USD",
           "country": "US"
         }'
    ```
  </Tab>
</Tabs>

The successful response returns the unique `id` assigned to the added bank account, along with other details:

```json lines theme={null}
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "was_created_by_user_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  ...
}
```

## Default bank account

Tesouro has a concept of "default bank account" for organizations. Default bank accounts have the [`is_default_for_currency`](/finops/reference/openapi/entity-bank-accounts/get-bank-accounts-id#response.body.is_default_for_currency) field set to `true` in API responses.

Default bank accounts allow developers to preselect the default bank account when [creating invoices](/finops/guides/accounts-receivable/invoices/create) and other documents.

### Set the default bank account

The very first bank account created is automatically set as the default.

When [adding a new bank account](#add-a-bank-account-to-an-organization), you can explicitly mark it as default by including `"is_default_for_currency": true` in the request body. The previous default account will no longer be default.

```sh {11} lines theme={null}
curl -X POST 'https://api.sandbox.tesouro.com/v1/bank-accounts' \
     -H 'X-Finops-Version: 2025-06-23' \
     -H 'X-Organization-Id: ORGANIZATION_ID' \
     -H 'Authorization: Bearer ACCESS_TOKEN'
     -H 'Content-Type: application/json' \
     -d '{
       "account_number": "12345678",
       "routing_number": "000000000",
       "currency": "USD",
       ...
       "is_default_for_currency": true
     }'
```

You can also change the default bank account at any time by calling [`POST
/bank-accounts/{bank_account_id}/make-default`](/finops/reference/openapi/entity-bank-accounts/post-bank-accounts-id-make-default):

```sh lines theme={null}
curl -X POST 'https://api.sandbox.tesouro.com/v1/bank-accounts/3fa8...f66afa6/make-default' \
     -H 'X-Finops-Version: 2025-06-23' \
     -H 'X-Organization-Id: ORGANIZATION_ID' \
     -H 'Authorization: Bearer ACCESS_TOKEN'
```

## List all bank accounts

To get information about all bank accounts associated with the specified organization, call [`GET /bank-accounts`](/finops/reference/openapi/entity-bank-accounts/get-bank-accounts).

## Retrieve a bank account

To get information about a specific bank account associated with the specified organization, call [`GET /bank-accounts/{entity_bank_account_id}`](/finops/reference/openapi/entity-bank-accounts/get-bank-accounts-id).

## Edit a bank account

You can update the `account_holder_name` and `display_name` of existing organization bank accounts. To do this, call [`PATCH /bank-accounts/{entity_bank_account_id}`](/finops/reference/openapi/entity-bank-accounts/patch-bank-accounts-id) and provide the new values.

To update other bank account details (for example, `routing_number`), you will need to delete the existing bank account and create a new one instead.

<Info>
  The `account_holder_name` of existing USD bank accounts cannot be changed to an empty string since
  it is a required field.
</Info>

## Delete a bank account

To delete an existing bank account from the list of bank accounts associated with the specified organization, call [`DELETE /bank-accounts/{entity_bank_account_id}`](/finops/reference/openapi/entity-bank-accounts/delete-bank-accounts-id).

[Default bank accounts](#default) cannot be deleted. To delete a default bank account, you must first assign a new default account for the same currency.
