> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Identify transactions created for one-time charges

More easily distinguish between transactions created for one-time charges for a subscription, and transactions created for subscription changes or renewals.

---

## What's new?

We added a new `subscription_charge` allowed value for the transaction `origin` field. It's set by Paddle when a transaction is created for a one-time charge for a subscription.

- **origin** (string): Describes how this transaction was created.

## How it works

The  `origin` field against [a transaction](https://developer.paddle.com/api-reference/transactions/overview.md) tells you how it was created. It's set automatically by Paddle.

Previously, all immediate transactions created for a subscription had the origin `subscription_update`. This includes changes to recurring items on a subscription where you choose `full_immediately` or `prorated_immediately` as the `proration_billing_mode`, as well as one-time charges.

The new `subscription_charge` allowed value is now used for transactions [created for one-time charges](https://developer.paddle.com/api-reference/subscriptions/create-one-time-charge.md).

`subscription_update` remains the value for changes to recurring items that are billed now, making it easier to distinguish between transactions created for one-time charges and transactions created for recurring items.

`subscription_recurring` is still used when making changes to items on a subscription where you choose `prorated_next_billing_period` or `full_next_billing_period`, as well as for subscription renewals.

{% accordion %}
{% accordion-item title="Allowed values change summary" %}

Here's a summary of the allowed values for `origin` against a transaction:

|                                      |            |                                                                                                   |
|--------------------------------------|------------|---------------------------------------------------------------------------------------------------|
| `subscription_charge`                | **New**    | One-time charge for a subscription, billed now.                                                   |
| `subscription_update`                | **Change** | Changes to recurring items for a subscription, billed now.                                        |
| `subscription_recurring`             | No change  | Subscription renewals and changes to items for a subscription, billed on the next billing period. |
| `subscription_payment_method_change` | No change  | Zero-value transaction created for updating a payment method.                                     |

{% /accordion-item %}
{% /accordion %}

## Next steps

This change is available in version `1` of the Paddle API.

It's a non-breaking change, meaning it doesn't impact existing integrations.

You can [work with transactions](https://developer.paddle.com/api-reference/transactions/overview.md) using the API to see the new `origin` value.
## Summary of changes

| Name | Type | Change | Entity | Description |
| --- | --- | --- | --- | --- |
| `subscription_charge` | Enum value | added | Transaction.origin | Origin value for one-time subscription charges billed immediately. |
