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

# Bill for one-time charges

Bill one-time charges to a subscription for one-off things, like setup or onboarding fees or support incident charges. Charge immediately, or add them to the next renewal.

---

As well as adding recurring items to subscriptions, Paddle lets you bill for one-time charges. One-time charges are sometimes called one-off, ad-hoc, or non-recurring charges or fees.

Bill one-time charges to a subscription when:

- Customers pay a fee at the start of their subscription for things like setup, implementation, deployment, or activation.
- You offer services to subscribed customers, like auditing, data export, data migration, or incident support.
- You offer passes to access modules or features, like a 10-day pro pass for customers on a starter plan.
- You want to provide an easy way for customers to buy ebooks, access to webinars, or other resources you offer.

## How it works

One-time charges for a subscription are items that don't recur. The `billing_cycle` against the [related price entity](https://developer.paddle.com/api-reference/prices/overview.md) is `null`.

They're typically charged at the start of a subscription, like setup fees, or mid-cycle for things like incident support or data auditing. You can also use them to offer additional products, like ebooks, access to webinars, or other educational resources.

While you could create an entirely new transaction for additional products, billing them to the subscription lets you:

- **Automatically-collect using the payment method on file for the subscription**  
  No need to ask a customer for card details again. Use the billing details that you use to collect for subscription payments.
- **Add one-time charges to the next renewal**  
  Collect for your one-time charges when you next collect for a subscription, offering an integrated experience.

As they're non-recurring, one-time charges aren't added to the `items` list against subscriptions. This list is just for recurring items.

[Proration](https://developer.paddle.com/concepts/subscriptions/proration.md) doesn't apply to one-time charges because they're not related to the billing period. Customers are always charged the full amount.

### Related subscription changes

Billing for one-time charges is typically used when you want customers to pay for one-off fees or ad-hoc products.

Depending on what you're looking to do, you might also like to:

- [**Add items for new users, modules, or other recurring addons**](https://developer.paddle.com/build/subscriptions/add-remove-products-prices-addons.md)  
  Adding or removing users, modules, one-off fees, or other addons typically involves adding or removing items. For example, you might offer a module called "Advanced Reporting" that customers can subscribe to.
- [**Replace items to upgrade or downgrade a subscription**](https://developer.paddle.com/build/subscriptions/replace-products-prices-upgrade-downgrade.md)  
  Upgrading or downgrading a subscription plan typically involves replacing products. For example, you might replace a "Starter plan" product with a "Premium plan" product to upgrade.

## Before you begin

{% callout type="info" %}
You can't make changes to a subscription if the next billing period is within 30 minutes, or the subscription status is `past_due`.
{% /callout %}

To bill for one-time charges, you'll need to [get the subscription ID](https://developer.paddle.com/api-reference/subscriptions/list-subscriptions.md) for the subscription you want to change.

You can use the `status` query parameter when listing with the value `active` to get a list of active subscriptions.

You'll also need price IDs for the one-time prices that you want to bill for. One-time charges are prices where the `billing_cycle` is `null`. Use the `recurring` query parameter with the value `false` when [listing prices](https://developer.paddle.com/api-reference/prices/list-prices.md) with the API to return one-time prices.

## Bill for one-time charges

Bill for one-time charges using the API in two steps:

1. **Preview charge** {% badge label="Optional" variant="outline" /%}  
   Preview the charge before billing. Present this to customers if you offer an in-app workflow.
2. **Create one-time charge**  
   Send a request to bill for the one-time charge.

### Preview charge {% step=true badge="Optional" %}

Send a `POST` request to the `/subscriptions/{subscription_id}/charge/preview` endpoint to preview a one-time charge.

In your request, build an `items` array of one-time charge price IDs and quantities. Only prices where `billing_cycle` is `null` may be included. You don't need to include existing recurring items.

Include `effective_from` to control when Paddle bills:

- `immediately` — creates a transaction for the charge right away.
- `next_billing_period` — adds the charge to the next renewal transaction.

When `effective_from` is `immediately` on an automatically-collected subscription, Paddle tries to collect right away. Optionally include `on_payment_failure` to control what happens if payment fails (defaults to `prevent_change`).

{% api-example method="POST" path="/subscriptions/{subscription_id}/charge/preview" href="/api-reference/subscriptions/preview-charge" %}

```json
{
  "effective_from": "next_billing_period",
  "items": [
    {
      "price_id": "pri_01gsz98e27ak2tyhexptwc58yk",
      "quantity": 1
    }
  ]
}
```

```json
{
  "data": {
    "status": "active",
    "customer_id": "ctm_01hw21d3hac6pe4wz04caz3kf4",
    "address_id": "add_01hw2ac15twq7c162p05qzq8c9",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2024-04-22T07:13:19.02Z",
    "updated_at": "2024-04-22T08:24:45.138Z",
    "started_at": "2024-04-22T07:13:18.412737Z",
    "first_billed_at": "2024-04-22T07:13:18.412737Z",
    "next_billed_at": "2025-04-22T07:13:18.412737Z",
    "paused_at": null,
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": {
      "starts_at": "2024-04-22T07:13:18.412737Z",
      "ends_at": "2025-04-22T07:13:18.412737Z"
    },
    "billing_cycle": {
      "frequency": 1,
      "interval": "year"
    },
    "recurring_transaction_details": {
      "tax_rates_used": [
        {
          "tax_rate": "0",
          "totals": {
            "subtotal": "600000",
            "discount": "0",
            "tax": "0",
            "total": "600000"
          }
        }
      ],
      "totals": {
        "subtotal": "600000",
        "tax": "0",
        "discount": "0",
        "total": "600000",
        "fee": null,
        "credit": "0",
        "credit_to_balance": "0",
        "balance": "600000",
        "grand_total": "600000",
        "earnings": null,
        "currency_code": "USD",
        "exchange_rate": "1"
      },
      "line_items": [
        {
          "item_id": null,
          "price_id": "pri_01gsz8z1q1n00f12qt82y31smh",
          "quantity": 10,
          "totals": {
            "subtotal": "300000",
            "tax": "0",
            "discount": "0",
            "total": "300000"
          },
          "product": {
            "id": "pro_01gsz4t5hdjse780zja8vvr7jg",
            "name": "AeroEdit Pro",
            "type": "standard",
            "tax_category": "standard",
            "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.",
            "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png",
            "custom_data": {
              "features": {
                "aircraft_performance": true,
                "compliance_monitoring": true,
                "flight_log_management": true,
                "payment_by_invoice": false,
                "route_planning": true,
                "sso": false
              },
              "suggested_addons": [
                "pro_01h1vjes1y163xfj1rh1tkfb65",
                "pro_01gsz97mq9pa4fkyy0wqenepkz"
              ],
              "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring."
            },
            "status": "active",
            "import_meta": null,
            "created_at": "2023-02-23T12:43:46.605Z",
            "updated_at": "2024-04-05T15:53:44.687Z"
          },
          "tax_rate": "0",
          "unit_totals": {
            "subtotal": "30000",
            "discount": "0",
            "tax": "0",
            "total": "30000"
          },
          "proration": {
            "rate": "1",
            "billing_period": {
              "starts_at": "2024-04-22T07:13:18.412737Z",
              "ends_at": "2025-04-22T07:13:18.412737Z"
            }
          }
        },
        {
          "item_id": null,
          "price_id": "pri_01gsz96z29d88jrmsf2ztbfgjg",
          "quantity": 1,
          "totals": {
            "subtotal": "300000",
            "tax": "0",
            "discount": "0",
            "total": "300000"
          },
          "product": {
            "id": "pro_01gsz92krfzy3hcx5h5rtgnfwz",
            "name": "Reporting module",
            "type": "standard",
            "tax_category": "standard",
            "description": "Get access to comprehensive reports and customizable analytics dashboards.",
            "image_url": "https://paddle.s3.amazonaws.com/user/165798/qgyipKJwRtq98YNboipo_vip-support.png",
            "custom_data": null,
            "status": "active",
            "import_meta": null,
            "created_at": "2023-02-23T13:58:17.615Z",
            "updated_at": "2024-04-05T15:44:02.893Z"
          },
          "tax_rate": "0",
          "unit_totals": {
            "subtotal": "300000",
            "discount": "0",
            "tax": "0",
            "total": "300000"
          },
          "proration": {
            "rate": "1",
            "billing_period": {
              "starts_at": "2024-04-22T07:13:18.412737Z",
              "ends_at": "2025-04-22T07:13:18.412737Z"
            }
          }
        }
      ]
    },
    "next_transaction": {
      "billing_period": {
        "starts_at": "2025-04-22T07:13:18.412737Z",
        "ends_at": "2026-04-22T07:13:18.412737Z"
      },
      "details": {
        "tax_rates_used": [
          {
            "tax_rate": "0",
            "totals": {
              "subtotal": "619900",
              "discount": "0",
              "tax": "0",
              "total": "619900"
            }
          }
        ],
        "totals": {
          "subtotal": "619900",
          "tax": "0",
          "discount": "0",
          "total": "619900",
          "fee": null,
          "credit": "0",
          "credit_to_balance": "0",
          "balance": "619900",
          "grand_total": "619900",
          "earnings": null,
          "currency_code": "USD",
          "exchange_rate": "1"
        },
        "line_items": [
          {
            "item_id": null,
            "price_id": "pri_01gsz8z1q1n00f12qt82y31smh",
            "quantity": 10,
            "totals": {
              "subtotal": "300000",
              "tax": "0",
              "discount": "0",
              "total": "300000"
            },
            "product": {
              "id": "pro_01gsz4t5hdjse780zja8vvr7jg",
              "name": "AeroEdit Pro",
              "type": "standard",
              "tax_category": "standard",
              "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.",
              "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png",
              "custom_data": {
                "features": {
                  "aircraft_performance": true,
                  "compliance_monitoring": true,
                  "flight_log_management": true,
                  "payment_by_invoice": false,
                  "route_planning": true,
                  "sso": false
                },
                "suggested_addons": [
                  "pro_01h1vjes1y163xfj1rh1tkfb65",
                  "pro_01gsz97mq9pa4fkyy0wqenepkz"
                ],
                "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring."
              },
              "status": "active",
              "import_meta": null,
              "created_at": "2023-02-23T12:43:46.605Z",
              "updated_at": "2024-04-05T15:53:44.687Z"
            },
            "tax_rate": "0",
            "unit_totals": {
              "subtotal": "30000",
              "discount": "0",
              "tax": "0",
              "total": "30000"
            },
            "proration": {
              "rate": "1",
              "billing_period": {
                "starts_at": "2025-04-22T07:13:18.412737Z",
                "ends_at": "2026-04-22T07:13:18.412737Z"
              }
            }
          },
          {
            "item_id": null,
            "price_id": "pri_01gsz96z29d88jrmsf2ztbfgjg",
            "quantity": 1,
            "totals": {
              "subtotal": "300000",
              "tax": "0",
              "discount": "0",
              "total": "300000"
            },
            "product": {
              "id": "pro_01gsz92krfzy3hcx5h5rtgnfwz",
              "name": "Reporting module",
              "type": "standard",
              "tax_category": "standard",
              "description": "Get access to comprehensive reports and customizable analytics dashboards.",
              "image_url": "https://paddle.s3.amazonaws.com/user/165798/qgyipKJwRtq98YNboipo_vip-support.png",
              "custom_data": null,
              "status": "active",
              "import_meta": null,
              "created_at": "2023-02-23T13:58:17.615Z",
              "updated_at": "2024-04-05T15:44:02.893Z"
            },
            "tax_rate": "0",
            "unit_totals": {
              "subtotal": "300000",
              "discount": "0",
              "tax": "0",
              "total": "300000"
            },
            "proration": {
              "rate": "1",
              "billing_period": {
                "starts_at": "2025-04-22T07:13:18.412737Z",
                "ends_at": "2026-04-22T07:13:18.412737Z"
              }
            }
          },
          {
            "item_id": null,
            "price_id": "pri_01gsz98e27ak2tyhexptwc58yk",
            "quantity": 1,
            "totals": {
              "subtotal": "19900",
              "tax": "0",
              "discount": "0",
              "total": "19900"
            },
            "product": {
              "id": "pro_01gsz97mq9pa4fkyy0wqenepkz",
              "name": "Custom domains",
              "type": "standard",
              "tax_category": "standard",
              "description": "Make AeroEdit truly your own with custom domains. Custom domains reinforce your brand identity and make it easy for your team to access your account.",
              "image_url": "https://paddle.s3.amazonaws.com/user/165798/XIG7UXoJQHmlIAiKcnkA_custom-domains.png",
              "custom_data": null,
              "status": "active",
              "import_meta": null,
              "created_at": "2023-02-23T14:01:02.441Z",
              "updated_at": "2024-04-05T15:43:28.971Z"
            },
            "tax_rate": "0",
            "unit_totals": {
              "subtotal": "19900",
              "discount": "0",
              "tax": "0",
              "total": "19900"
            }
          }
        ]
      },
      "adjustments": []
    },
    "immediate_transaction": null,
    "scheduled_change": null,
    "items": [
      {
        "status": "active",
        "quantity": 10,
        "recurring": true,
        "created_at": "2024-04-22T07:13:19.02Z",
        "updated_at": "2024-04-22T07:13:19.02Z",
        "previously_billed_at": "2024-04-22T07:13:18.412737Z",
        "next_billed_at": "2025-04-22T07:13:18.412737Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8z1q1n00f12qt82y31smh",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "type": "standard",
          "description": "Annual",
          "name": "Annual (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "year"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "30000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 999
          },
          "import_meta": null,
          "created_at": "2023-02-23T13:56:20.833019Z",
          "updated_at": "2024-04-11T13:47:49.566301Z"
        }
      },
      {
        "status": "active",
        "quantity": 1,
        "recurring": true,
        "created_at": "2024-04-22T07:13:19.02Z",
        "updated_at": "2024-04-22T07:13:19.02Z",
        "previously_billed_at": "2024-04-22T07:13:18.412737Z",
        "next_billed_at": "2025-04-22T07:13:18.412737Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz96z29d88jrmsf2ztbfgjg",
          "product_id": "pro_01gsz92krfzy3hcx5h5rtgnfwz",
          "type": "standard",
          "description": "Annual (recurring addon)",
          "name": "Annual (recurring addon)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "year"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "300000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 1
          },
          "import_meta": null,
          "created_at": "2023-02-23T14:00:40.265185Z",
          "updated_at": "2024-03-25T14:31:18.587603Z"
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/cancel"
    },
    "discount": null,
    "update_summary": {
      "credit": {
        "amount": "0",
        "currency_code": "USD"
      },
      "charge": {
        "amount": "19900",
        "currency_code": "USD"
      },
      "result": {
        "action": "charge",
        "amount": "19900",
        "currency_code": "USD"
      }
    },
    "import_meta": null
  },
  "meta": {
    "request_id": "32358cfb-addd-4cf6-8702-4950922ef384"
  }
}
```

{% /api-example %}

### Create one-time charge {% step=true %}

Send a `POST` request to the `/subscriptions/{subscription_id}/charge` endpoint to bill for the one-time charge.

In your request, include the same body as the preview request.

{% callout type="warning" %}
One-time charges aren't held against [the subscription entity](https://developer.paddle.com/api-reference/subscriptions/overview.md), so the charges you billed for aren't returned in the response.
{% /callout %}

{% api-example method="POST" path="/subscriptions/{subscription_id}/charge" href="/api-reference/subscriptions/charge-subscription" %}

```json
{
  "effective_from": "next_billing_period",
  "items": [
    {
      "price_id": "pri_01gsz98e27ak2tyhexptwc58yk",
      "quantity": 1
    }
  ]
}
```

```json
{
  "data": {
    "id": "sub_01hw2adtncz3kfj9tqhk3wcv3z",
    "status": "active",
    "customer_id": "ctm_01hw21d3hac6pe4wz04caz3kf4",
    "address_id": "add_01hw2ac15twq7c162p05qzq8c9",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2024-04-22T07:13:19.02Z",
    "updated_at": "2024-04-22T08:25:51.744Z",
    "started_at": "2024-04-22T07:13:18.412737Z",
    "first_billed_at": "2024-04-22T07:13:18.412737Z",
    "next_billed_at": "2025-04-22T07:13:18.412737Z",
    "paused_at": null,
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": {
      "starts_at": "2024-04-22T07:13:18.412737Z",
      "ends_at": "2025-04-22T07:13:18.412737Z"
    },
    "billing_cycle": {
      "frequency": 1,
      "interval": "year"
    },
    "scheduled_change": null,
    "items": [
      {
        "status": "active",
        "quantity": 10,
        "recurring": true,
        "created_at": "2024-04-22T07:13:19.02Z",
        "updated_at": "2024-04-22T07:13:19.02Z",
        "previously_billed_at": "2024-04-22T07:13:18.412737Z",
        "next_billed_at": "2025-04-22T07:13:18.412737Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz8z1q1n00f12qt82y31smh",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "type": "standard",
          "description": "Annual",
          "name": "Annual (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "year"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "30000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 999
          },
          "import_meta": null,
          "created_at": "2023-02-23T13:56:20.833019Z",
          "updated_at": "2024-04-11T13:47:49.566301Z"
        }
      },
      {
        "status": "active",
        "quantity": 1,
        "recurring": true,
        "created_at": "2024-04-22T07:13:19.02Z",
        "updated_at": "2024-04-22T07:13:19.02Z",
        "previously_billed_at": "2024-04-22T07:13:18.412737Z",
        "next_billed_at": "2025-04-22T07:13:18.412737Z",
        "trial_dates": null,
        "price": {
          "id": "pri_01gsz96z29d88jrmsf2ztbfgjg",
          "product_id": "pro_01gsz92krfzy3hcx5h5rtgnfwz",
          "type": "standard",
          "description": "Annual (recurring addon)",
          "name": "Annual (recurring addon)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "year"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "300000",
            "currency_code": "USD"
          },
          "unit_price_overrides": [],
          "custom_data": null,
          "status": "active",
          "quantity": {
            "minimum": 1,
            "maximum": 1
          },
          "import_meta": null,
          "created_at": "2023-02-23T14:00:40.265185Z",
          "updated_at": "2024-03-25T14:31:18.587603Z"
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/cancel"
    },
    "discount": null,
    "import_meta": null
  },
  "meta": {
    "request_id": "668b5e0c-9ff9-4cdc-b33a-79bc1894d294"
  }
}
```

{% /api-example %}

## Get one-time charges

One-time charges aren't added to the subscription `items` list. This array is only for recurring items.

To get details of a one-time charge:

- [**Billed next billing period**](#get-charge-next-billing-period)  
  When billed on the `next_billing_period`, get the subscription you billed the charge to using the API and include `next_transaction`.
- [**Billed immediately**](#get-charge-immediately)  
  When billed `immediately`, list transactions using the API and filter to see transactions for the subscription you billed the charge to.

### Next billing period

When you bill for a one-time charge with `effective_from` as `next_billing_period`, Paddle adds it to the next renewal transaction.

You can see the one-time charge by [getting the subscription](https://developer.paddle.com/api-reference/subscriptions/get-subscription.md) that you billed the charge to, using the `include` query parameter to return the `next_transaction`. One-time charges are detailed in `next_transaction.details.line_items`, along with any recurring items.

One-time charges appear in `next_transaction.details.line_items` alongside recurring items.

{% api-example method="GET" path="/subscriptions/{subscription_id}?include=next_transaction" href="/api-reference/subscriptions/get-subscription" %}

```json
{
  "data": {
    "id": "sub_01h3h3a9sfpr5syq38tq0sd4sp",
    "status": "active",
    "customer_id": "ctm_01h3h38xn5c2701bb5eecy9m6a",
    "address_id": "add_01h3h38xqmv1xy0tjsnj0g1ke5",
    "business_id": null,
    "currency_code": "USD",
    "created_at": "2023-06-22T08:25:14.287455Z",
    "updated_at": "2023-08-22T11:05:09.319083Z",
    "started_at": "2023-06-22T08:25:12.565118Z",
    "first_billed_at": "2023-06-22T08:25:12.565118Z",
    "next_billed_at": "2023-09-22T08:25:12.565118Z",
    "paused_at": null,
    "canceled_at": null,
    "collection_mode": "automatic",
    "billing_details": null,
    "current_billing_period": {
      "starts_at": "2023-08-22T08:25:12.565118Z",
      "ends_at": "2023-09-22T08:25:12.565118Z"
    },
    "billing_cycle": {
      "frequency": 1,
      "interval": "month"
    },
    "next_transaction": {
      "billing_period": {
        "starts_at": "2023-09-22T08:25:12.565118Z",
        "ends_at": "2023-10-22T08:25:12.565118Z"
      },
      "details": {
        "tax_rates_used": [
          {
            "tax_rate": "0.08875",
            "totals": {
              "subtotal": "119900",
              "discount": "0",
              "tax": "10640",
              "total": "130540"
            }
          }
        ],
        "totals": {
          "subtotal": "119900",
          "tax": "10640",
          "discount": "0",
          "total": "130540",
          "fee": null,
          "credit": "0",
          "balance": "130540",
          "grand_total": "130540",
          "earnings": null,
          "currency_code": "USD"
        },
        "line_items": [
          {
            "price_id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
            "quantity": 30,
            "totals": {
              "subtotal": "90000",
              "tax": "7987",
              "discount": "0",
              "total": "97987"
            },
            "product": {
              "id": "pro_01gsz4t5hdjse780zja8vvr7jg",
              "name": "ChatApp Pro",
              "description": "Everything in basic, plus access to a suite of powerful tools and features designed to take your team's productivity to the next level.",
              "tax_category": "standard",
              "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/2nmP8MQSret0aWeDemRw_icon1.png",
              "status": "active"
            },
            "tax_rate": "0.08875",
            "unit_totals": {
              "subtotal": "3000",
              "discount": "0",
              "tax": "266",
              "total": "3266"
            }
          },
          {
            "price_id": "pri_01h1vjfevh5etwq3rb416a23h2",
            "quantity": 1,
            "totals": {
              "subtotal": "10000",
              "tax": "887",
              "discount": "0",
              "total": "10887"
            },
            "product": {
              "id": "pro_01h1vjes1y163xfj1rh1tkfb65",
              "name": "Voice rooms addon",
              "description": "Create voice rooms in your chats to work in real time alongside your colleagues. Includes unlimited voice rooms and recording backup for compliance.",
              "tax_category": "standard",
              "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/GcZzBjXRfiraensppgtQ_icon2.png",
              "status": "active"
            },
            "tax_rate": "0.08875",
            "unit_totals": {
              "subtotal": "10000",
              "discount": "0",
              "tax": "887",
              "total": "10887"
            }
          },
          {
            "price_id": "pri_01gsz98e27ak2tyhexptwc58yk",
            "quantity": 1,
            "totals": {
              "subtotal": "19900",
              "tax": "1766",
              "discount": "0",
              "total": "21666"
            },
            "product": {
              "id": "pro_01gsz97mq9pa4fkyy0wqenepkz",
              "name": "Custom domains",
              "description": "Make ChatApp truly your own with custom domains! Custom domains reinforce your brand identity and make it easy for your team to access ChatApp.",
              "tax_category": "standard",
              "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/SW3OevDQ92dUHSkN5a2x_icon3.png",
              "status": "active"
            },
            "tax_rate": "0.08875",
            "unit_totals": {
              "subtotal": "19900",
              "discount": "0",
              "tax": "1766",
              "total": "21666"
            }
          }
        ]
      },
      "adjustments": []
    },
    "scheduled_change": null,
    "items": [
      {
        "status": "active",
        "quantity": 30,
        "recurring": true,
        "created_at": "2023-06-22T08:25:14.287456Z",
        "updated_at": "2023-08-22T08:32:24.552996Z",
        "previously_billed_at": "2023-08-22T08:25:12.565118Z",
        "next_billed_at": "2023-09-22T08:25:12.565118Z",
        "price": {
          "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
          "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
          "description": "Monthly (per seat)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "3266",
            "currency_code": "USD"
          }
        }
      },
      {
        "status": "active",
        "quantity": 1,
        "recurring": true,
        "created_at": "2023-06-22T08:40:45.808402Z",
        "updated_at": "2023-08-22T08:26:06.361047Z",
        "previously_billed_at": "2023-08-22T08:25:12.565118Z",
        "next_billed_at": "2023-09-22T08:25:12.565118Z",
        "price": {
          "id": "pri_01h1vjfevh5etwq3rb416a23h2",
          "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65",
          "description": "Monthly (recurring addon)",
          "tax_mode": "account_setting",
          "billing_cycle": {
            "frequency": 1,
            "interval": "month"
          },
          "trial_period": null,
          "unit_price": {
            "amount": "10887",
            "currency_code": "USD"
          }
        }
      }
    ],
    "custom_data": null,
    "management_urls": {
      "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01h3h3a9sfpr5syq38tq0sd4sp/update-payment-method",
      "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01h3h3a9sfpr5syq38tq0sd4sp/cancel"
    },
    "discount": null
  },
  "meta": {
    "request_id": "ef7c55d7-17dd-4ca3-b4b7-88eab28c4a88"
  }
}
```

{% /api-example %}

### Immediately

When you bill for a one-time charge with `effective_from` as `immediately`, Paddle creates a transaction for it right away.

You can see the one-time charge by [listing transactions](https://developer.paddle.com/api-reference/transactions/list-transactions.md), filtering to see transactions for the subscription you billed the charge to. The `origin` against the transaction is `subscription_charge`, which you may also filter for.

{% callout type="info" %}
If you've [subscribed to notifications](https://developer.paddle.com/webhooks/notification-destinations.md) for transaction events, [`transaction.created`](https://developer.paddle.com/webhooks/transactions/transaction-created.md) occurs when you bill for one-time charges. The notification includes the complete [transaction entity](https://developer.paddle.com/api-reference/transactions/overview.md). You can check `transaction.line_items` to get information about one-time charges.
{% /callout %}

Filter by `subscription_id` and `origin=subscription_charge` to find the transaction Paddle created for the immediate charge.

{% api-example method="GET" path="/transactions?subscription_id={subscription_id}&origin=subscription_charge" href="/api-reference/transactions/list-transactions" %}

```json
{
  "data": [
    {
      "id": "txn_01h3kvj0hs5e3q1d53g5jnfbg3",
      "status": "completed",
      "customer_id": "ctm_01h3h38xn5c2701bb5eecy9m6a",
      "address_id": "add_01h3h38xqmv1xy0tjsnj0g1ke5",
      "business_id": null,
      "custom_data": null,
      "origin": "subscription_charge",
      "collection_mode": "automatic",
      "subscription_id": "sub_01h3h3a9sfpr5syq38tq0sd4sp",
      "invoice_id": "inv_01h3kvj4zfm911d3p0qbtg5ksf",
      "invoice_number": "325-10054",
      "billing_details": null,
      "billing_period": {
        "starts_at": "2023-08-22T08:25:12.565118Z",
        "ends_at": "2023-09-22T08:25:12.565118Z"
      },
      "currency_code": "USD",
      "discount_id": null,
      "created_at": "2023-06-23T10:07:22.016044Z",
      "updated_at": "2023-06-23T10:07:28.398885Z",
      "billed_at": "2023-06-23T10:07:21.657018Z",
      "items": [
        {
          "price": {
            "id": "pri_01gsz98e27ak2tyhexptwc58yk",
            "description": "One-time charge",
            "name": null,
            "product_id": "pro_01gsz97mq9pa4fkyy0wqenepkz",
            "billing_cycle": null,
            "trial_period": null,
            "tax_mode": "account_setting",
            "unit_price": {
              "amount": "19900",
              "currency_code": "USD"
            },
            "unit_price_overrides": [],
            "custom_data": null,
            "quantity": {
              "minimum": 1,
              "maximum": 1
            },
            "status": "active"
          },
          "quantity": 1
        }
      ],
      "details": {
        "tax_rates_used": [
          {
            "tax_rate": "0.08875",
            "totals": {
              "subtotal": "19900",
              "discount": "0",
              "tax": "1766",
              "total": "21666"
            }
          }
        ],
        "totals": {
          "subtotal": "19900",
          "tax": "1766",
          "discount": "0",
          "total": "21666",
          "grand_total": "21666",
          "fee": "1133",
          "credit": "0",
          "credit_to_balance": "0",
          "balance": "0",
          "earnings": "18767",
          "currency_code": "USD"
        },
        "adjusted_totals": {
          "subtotal": "19900",
          "tax": "1766",
          "total": "21666",
          "grand_total": "21666",
          "fee": "1133",
          "earnings": "18767",
          "currency_code": "USD"
        },
        "payout_totals": {
          "subtotal": "19900",
          "tax": "1766",
          "discount": "0",
          "total": "21666",
          "credit": "0",
          "credit_to_balance": "0",
          "balance": "0",
          "grand_total": "21666",
          "fee": "1133",
          "earnings": "18767",
          "currency_code": "USD"
        },
        "adjusted_payout_totals": {
          "subtotal": "19900",
          "tax": "1766",
          "total": "21666",
          "fee": "1133",
          "chargeback_fee": {
            "amount": "0",
            "original": null
          },
          "earnings": "18767",
          "currency_code": "USD"
        },
        "line_items": [
          {
            "id": "txnitm_01h3kvj0wdxb2sk9kfbdev4td3",
            "price_id": "pri_01gsz98e27ak2tyhexptwc58yk",
            "quantity": 1,
            "totals": {
              "subtotal": "19900",
              "tax": "1766",
              "discount": "0",
              "total": "21666"
            },
            "product": {
              "id": "pro_01gsz97mq9pa4fkyy0wqenepkz",
              "name": "Custom domains",
              "description": "Make ChatApp truly your own with custom domains! Custom domains reinforce your brand identity and make it easy for your team to access ChatApp.",
              "tax_category": "standard",
              "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/SW3OevDQ92dUHSkN5a2x_icon3.png",
              "custom_data": {
                "crm_id": "ABC"
              },
              "status": "active"
            },
            "tax_rate": "0.08875",
            "unit_totals": {
              "subtotal": "19900",
              "tax": "1766",
              "discount": "0",
              "total": "21666"
            }
          }
        ]
      },
      "payments": [
        {
          "payment_attempt_id": "2a130821-0b45-4ecc-b904-43751c3c6f3a",
          "stored_payment_method_id": "badbd3d8-df98-4aa4-b7ba-5e9ad85b4488",
          "amount": "21666",
          "status": "captured",
          "error_code": null,
          "method_details": {
            "type": "card",
            "card": {
              "type": "visa",
              "last4": "4242",
              "expiry_month": 1,
              "expiry_year": 2026,
              "cardholder_name": "Michael McGovern"
            }
          },
          "created_at": "2023-06-23T10:07:22.168002Z",
          "captured_at": "2023-06-23T10:07:24.494689Z"
        }
      ],
      "checkout": {
        "url": "https://aeroedit.com/pay?_ptxn=txn_01h3kvj0hs5e3q1d53g5jnfbg3"
      }
    }
  ],
  "meta": {
    "request_id": "9aaac805-234b-4669-92f0-222bae87875b",
    "pagination": {
      "per_page": 30,
      "next": "https://api.paddle.com/transactions?after=txn_01h3kvj0hs5e3q1d53g5jnfbg3&subscription_id=sub_01h3h3a9sfpr5syq38tq0sd4sp&origin=subscription_charge",
      "has_more": false,
      "estimated_total": 1
    }
  }
}
```

{% /api-example %}