---
title: "Create Balance Transaction"
method: POST
path: "/organizations/{orgId}/balances/{balanceId}/transactions"
tags: ["Balances"]
---

# Create Balance Transaction

`POST /organizations/{orgId}/balances/{balanceId}/transactions`

Add a Transaction to a Balance. This endpoint allows you to create a new Transaction amount for a Balance. This amount then becomes available at billing for draw-down to cover charges due. The Transaction details should be provided in the request body.

Before you can add a Transaction amount, you must first set up Transaction Types at the Organization Level - see the [Transaction Type](https://www.m3ter.com/docs/api#tag/TransactionType) section in this API Reference for more details. You can then use this call to add an instance of a Transaction Type to a Balance.

**Note:** If you have a customer whose payment is in a different currency to the Balance currency, you can use the `paid` and `paidCurrency` request parameters to record the amount paid and alternative currency respectively. For example, you might add a Transaction amount of 200 USD to a Balance on a customer Account where the customer actually paid you 50 units in virtual currency X.

## Path parameters

- `orgId` string, required
- `balanceId` string, required

## Request body

- BalanceTransactionRequest
  - `version` integer — The version number of the entity: - **Create entity:** Not valid for initial insertion of new entity - *do not use for Create*. On initial Create, version is set at 1 and listed in the response. - **Update Entity:** On Update, version is required and must match the existing version because a check is performed to ensure sequential versioning is preserved. Version is incremented by 1 and listed in the response.
  - `description` string — A brief description explaining the purpose and context of the transaction.
  - `amount` number, required — The financial value of the transaction.
  - `paid` number — The payment amount if the payment currency differs from the Balance currency.
  - `currencyPaid` string — The currency code of the payment if it differs from the Balance currency. For example: USD, GBP or EUR.
  - `transactionTypeId` string — The unique identifier (UUID) of the transaction type. This is obtained from the list of created Transaction Types within the Organization Configuration.
  - `appliedDate` string, date-time — The date *(in ISO 8601 format)* when the Balance transaction was applied.
  - `transactionDate` string, date-time — The date *(in ISO 8601 format)* when the transaction occurred.

## Response `200`

Returns the created Balance transaction

- BalanceTransactionResponse
  - `id` string, required — The UUID of the entity.
  - `version` integer — The version number: - **Create:** On initial Create to insert a new entity, the version is set at 1 in the response. - **Update:** On successful Update, the version is incremented by 1 in the response.
  - `description` string — A brief description explaining the purpose or context of the transaction.
  - `amount` number — The financial value of the transaction, as recorded in the balance.
  - `paid` number — The actual payment amount if the payment currency differs from the Balance currency.
  - `currencyPaid` string — The currency code such as USD, GBP, EUR of the payment, if it differs from the balance currency.
  - `entityType` 'BILL' | 'COMMITMENT' | 'USER' | 'SERVICE_USER' | 'SCHEDULER'
  - `entityId` string — The unique identifier (UUID) for the entity associated with the Transaction, as specified by the `entityType`.
  - `transactionTypeId` string — The unique identifier (UUID) for the Transaction type. This is obtained from the list of created Transaction Types within the Organization Configuration.
  - `appliedDate` string, date-time — The date *(in ISO 8601 format)* when the balance transaction was applied, i.e., when the balance was affected.
  - `transactionDate` string, date-time — The date *(in ISO 8601 format)* when the transaction was recorded in the system.
  - `dtCreated` string, date-time — The date and time *(in ISO 8601 format)* when the balance transaction was first created.
  - `dtLastModified` string, date-time — The date and time *(in ISO 8601 format)* when the balance transaction was last modified.
  - `createdBy` string — The unique identifier (UUID) for the user who created the balance transaction.
  - `lastModifiedBy` string — The unique identifier (UUID) for the user who last modified the balance transaction.

## Other responses

- `4XX` — Error message
- `5XX` — Error message

---

[API](https://skmtc.net/m3ter-com/apis/m3ter-api.md) · [All operations](https://skmtc.net/m3ter-com/apis/m3ter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/m3ter-com/m3ter-api/revisions/ac93d1a9e6d9/schema)
