Ledger balances

Create new balance

Create a new ledger balance with the Java SDK.

POST/balances

Use blnk.ledgerBalances().create for this operation.

Call the method

ApiResponse<JsonNode> response = blnk.ledgerBalances().create(
    CreateLedgerBalance.create()
        .ledgerId("ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc")
        .currency("USD")
        .metaData(Map.of()));
FieldTypeDescription
ledger_idStringLedger the balance belongs to.
currencyStringCurrency or asset class for the balance.
identity_idStringIdentity to link to the balance. Required when track_fund_lineage is true.
track_fund_lineagebooleanEnable fund lineage tracking on this balance.
allocation_strategyStringHow tagged provider funds are allocated on spend: FIFO, LIFO, or PROPORTIONAL.
meta_dataMap<String, Object>Optional metadata for extra context.

Create an internal balance yourself instead of waiting for the first @ reference on a transaction. See Internal balances.

ApiResponse<JsonNode> response = blnk.ledgerBalances().create(
    CreateLedgerBalance.create()
        .ledgerId("general_ledger_id")
        .currency("USD")
        .indicator("@Revenue"));
FieldTypeDescription
ledgerId("general_ledger_id")StringMust be the General Ledger. indicator is only allowed on this ledger.
indicator()StringMust start with @ and contain no whitespace.

Save the balance ID

Use response.data().get("balance_id").asText() as the source or destination on transactions, or when creating balance monitors.

Response

{
  "balance": 0,
  "inflight_balance": 0,
  "credit_balance": 0,
  "inflight_credit_balance": 0,
  "debit_balance": 0,
  "inflight_debit_balance": 0,
  "ledger_id": "ldg_049495c6-356e-4ebc-a45e-60d1e1e16afb",
  "identity_id": "",
  "balance_id": "bln_5ce86029-3c2e-4e2a-aae2-7fb931ca4c4f",
  "currency": "USD",
  "created_at": "2024-11-26T08:36:36.238244338Z",
  "meta_data": null
}
{
  "balance": 0,
  "inflight_balance": 0,
  "credit_balance": 0,
  "inflight_credit_balance": 0,
  "debit_balance": 0,
  "inflight_debit_balance": 0,
  "ledger_id": "general_ledger_id",
  "indicator": "@Revenue",
  "identity_id": "",
  "balance_id": "bln_a7c3e91f-2d48-4b1a-9e6c-5f8d2a1b4c70",
  "currency": "USD",
  "created_at": "2024-11-26T08:36:36.238244338Z",
  "meta_data": null
}
FieldTypeDescription
balance_idStringUnique ID for the balance. Use as source or destination on transactions.
ledger_idStringLedger ID you passed in the request.
indicatorStringSet when you created a General Ledger balance with indicator.
currencyStringCurrency you passed in the request.
balanceNumberCurrent net amount in the balance.
created_atStringDate and time the balance was created.