Virtual Accounts

A virtual_account represents a subset of the transactions in an Internal Account. Virtual Accounts allow you to attribute transactions to particular users. For example, you might have a single Internal Account that holds all customer funds and a Virtual Account for every customer.

Additionally, if your virtual accounts are being debited or credited by external parties, you can use Expected Payments to monitor for activity.

Related Guides:

Attribute

Description

id
string

Unique identifier for the virtual account.

name
string

The name of the virtual account.

description
string

An optional free-form description for internal use.

counterparty_id
string

The ID of a counterparty that the virtual account belongs to. Optional.

internal_account_id
string

The ID of the internal account that the virtual account is in.

account_details
array object

An array of account detail objects.

routing_details
array object

An array of routing detail objects. These will be the routing details of the internal account.

debit_ledger_account_id
string

The ID of a debit normal ledger account. When money enters the virtual account, this ledger account will be debited. See Linking to other Modern Treasury objects.

Optional. Must be accompanied by a credit_ledger_account_id if present.

credit_ledger_account_id
string

The ID of a credit normal ledger account. When money enters the virtual account, this ledger account will be credited.

Optional. Must be accompanied by a debit_ledger_account_id if present.

metadata
object

Additional data represented as key-value pairs. Both the key and value must be strings. See Metadata.

live_mode
boolean

This field will be true if this object was created with a production API key or false if created with a test API key.

{
  "id": "2e0296c1-1daf-4b3e-954d-fb9ec7be56f6",
  "object": "virtual_account",
  "name": "Funds on behalf of Alice Jones",
  "description": null,
  "counterparty_id": null,
  "internal_account_id": "c743edb7-4059-496a-94b8-06fc081156fd",
  "debit_ledger_account_id": "f5cc945c-ac46-4f05-b96b-f13f9c6a1cdd",
  "credit_ledger_account_id": "c39d893d-4944-419e-816e-1266387f2ec5",
  "account_details": [
    {
      "id": "5668c0cf-972d-49c6-970f-b32591f3e8a6",
      "object": "account_detail",
      "account_number": "2000001",
      "account_number_type": "other"
    }
  ],
  "routing_details": [
    {
      "id": "a2d0e5c4-3058-4c04-9e75-d691a967305f",
      "object": "routing_detail",
      "payment_type": "wire",
      "routing_number": "021000021",
      "routing_number_type": "aba",
      "bank_name": "JPMORGAN CHASE BANK, NA",
      "bank_address": {
        "id": "29024065-ebd1-4a72-97b8-814108f14511",
        "object": "address",
        "line1": "14249 Stewart Ranch",
        "line2": null,
        "locality": "East Graham",
        "region": "IL",
        "postal_code": "75520",
        "country": "US"
      }
    },
    {
      "id": "ec6d8ad5-6bf6-4861-b748-0f2d3cf35191",
      "object": "routing_detail",
      "payment_type": "ach",
      "routing_number": "021000021",
      "routing_number_type": "aba",
      "bank_name": "JPMORGAN CHASE BANK, NA",
      "bank_address": {
        "id": "16b7e236-6170-4fa9-9fb7-706edf7d3ff1",
        "object": "address",
        "line1": "504 Jakubowski Lodge",
        "line2": null,
        "locality": "South Jamee",
        "region": "AZ",
        "postal_code": "27953-3448",
        "country": "US"
      }
    }
  ],
  "metadata": {},
  "live_mode": true,
  "created_at": "2020-11-09T00:11:07Z",
  "updated_at": "2020-11-09T00:11:07Z"
}