BillingCenter T-accounts

You can query for T-accounts using Cloud API.

T-accounts are the ledger accounts BillingCenter uses to track money and keep debits and credits in balance.

BillingCenter creates T-accounts automatically for entities like accounts and policy periods. BillingCenter manages suspense payments with stand-alone suspense T-accounts. A stand-alone suspense T-account is a T-account that stores the funds for a single suspense payment. For more information on T-accounts and their owners, see the Application Guide.

When BillingCenter processes movements of funds, such as payments, allocations, or refunds, it records transactions that debit one T-account and credit another to update balances. For more, see the Application Guide

Use the following endpoints to get T-accounts:
  • GET /billing/v1/accounts/{accountId}/t-accounts
  • GET /billing/v1/producers/{producerId}/t-accounts
  • GET /billing/v1/suspense-payments/{suspensePaymentId}/t-accounts
  • GET /billing/v1/t-accounts/{tAccountId}

If there is no money in a T-account, the T-account is still returned.

T-account objects have the following relevant fields:
  • balanceDenorm - The total balance in the T-account.
  • tAccountType - The type of the T-account from an accounting perspective, as a reference to the TAccountType typelist. For example, cash T-accounts have a value of asset.
  • tAccountName - The name of the T-account, as a string. For example, Unapplied for an unapplied fund T-account.
  • tAccountOwner - A reference to the entity that owns the T-account.
  • subtype - The subtype of the T-account, as a string. In the base configuration, can be MultiTAccount or TAccount.
  • historicalFundsSourceAmount - The amount that existed in the T-account prior to Enhanced Funds Tracking being enabled. Only appears if Enhanced Funds Tracking is enabled.

For example, consider a producer whose unapplied fund T-account has a balance of $100.

Command
GET /billing/v1/t-accounts/bc:S698TvR6embdpQaAMNmwi

Response

{
    "data": {
        "attributes": {
            "balanceDenorm": {
                "amount": "100.00",
                "currency": "usd"
            },
            "id": "bc:S698TvR6embdpQaAMNmwi",
            "subtype": "TAccount",
            "tAccountName": "Unapplied",
            "tAccountOwner": {
                "displayName": "Crystal-100-Question",
                "id": "bc:SBqkBOI1KSaqHpgeAYWzS",
                "type": "Producer",
                "uri": "/billing/v1/producers/bc:SBqkBOI1KSaqHpgeAYWzS"
            },
            "tAccountType": {
                "code": "liability",
                "name": "Liability"
            }
        },
        "checksum": "1",
        "links": {
            "self": {
                "href": "/billing/v1/t-accounts/bc:S698TvR6embdpQaAMNmwi",
                "methods": [
                    "get"
                ]
            },
            "unapplied-fund-slices": {
                "href": "/billing/v1/t-accounts/bc:S698TvR6embdpQaAMNmwi/unapplied-fund-slices",
                "methods": [
                    "get"
                ]
            }
        }
    }
}