# `Stripe.Resources.CustomerBalanceTransaction`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/customer_balance_transaction.ex#L2)

CustomerBalanceTransaction

Each customer has a [Balance](https://docs.stripe.com/api/customers/object#customer_object-balance) value,
which denotes a debit or credit that's automatically applied to their next invoice upon finalization.
You may modify the value directly by using the [update customer API](https://docs.stripe.com/api/customers/update),
or by creating a Customer Balance Transaction, which increments or decrements the customer's `balance` by the specified `amount`.

Related guide: [Customer balance](https://docs.stripe.com/billing/customer/balance)

# `t`

```elixir
@type t() :: %Stripe.Resources.CustomerBalanceTransaction{
  amount: integer(),
  checkout_session: String.t() | Stripe.Resources.Checkout.Session.t(),
  created: integer(),
  credit_note: String.t() | Stripe.Resources.CreditNote.t(),
  currency: String.t(),
  customer: String.t() | Stripe.Resources.Customer.t(),
  customer_account: String.t(),
  description: String.t(),
  ending_balance: integer(),
  id: String.t(),
  invoice: String.t() | Stripe.Resources.Invoice.t(),
  livemode: boolean(),
  metadata: %{required(String.t()) =&gt; String.t()},
  object: String.t(),
  type: String.t()
}
```

* `amount` - The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's `balance`.
* `checkout_session` - The ID of the checkout session (if any) that created the transaction. Nullable. Expandable.
* `created` - Time at which the object was created. Measured in seconds since the Unix epoch. Format: Unix timestamp.
* `credit_note` - The ID of the credit note (if any) related to the transaction. Nullable. Expandable.
* `currency` - Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Format: ISO 4217 currency code.
* `customer` - The ID of the customer the transaction belongs to. Expandable.
* `customer_account` - The ID of an Account representing a customer that the transaction belongs to. Max length: 5000. Nullable.
* `description` - An arbitrary string attached to the object. Often useful for displaying to users. Max length: 5000. Nullable.
* `ending_balance` - The customer's `balance` after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice.
* `id` - Unique identifier for the object. Max length: 5000.
* `invoice` - The ID of the invoice (if any) related to the transaction. Nullable. Expandable.
* `livemode` - If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
* `metadata` - Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Nullable.
* `object` - String representing the object's type. Objects of the same type share the same value. Possible values: `customer_balance_transaction`.
* `type` - Transaction type: `adjustment`, `applied_to_invoice`, `credit_note`, `initial`, `invoice_overpaid`, `invoice_too_large`, `invoice_too_small`, `unspent_receiver_credit`, `unapplied_from_invoice`, `checkout_session_subscription_payment`, or `checkout_session_subscription_payment_canceled`. See the [Customer Balance page](https://docs.stripe.com/billing/customer/balance#types) to learn more about transaction types. Possible values: `adjustment`, `applied_to_invoice`, `checkout_session_subscription_payment`, `checkout_session_subscription_payment_canceled`, `credit_note`, `initial`, `invoice_overpaid`, `invoice_too_large`, `invoice_too_small`, `migration`, `unapplied_from_invoice`, `unspent_receiver_credit`.

# `expandable_fields`

# `object_name`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
