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

# Transactions

Transaction entities calculate and capture revenue. They hold information about a customer purchase.

---

Transactions are at the heart of Paddle. They tie together [products](https://developer.paddle.com/api-reference/products.md), [prices](https://developer.paddle.com/api-reference/prices.md), and [discounts](https://developer.paddle.com/api-reference/discounts.md) with [customers](https://developer.paddle.com/api-reference/customers.md) to calculate revenue for [checkouts](https://developer.paddle.com/concepts/sell/self-serve-checkout.md), invoices, and [subscriptions](https://developer.paddle.com/api-reference/subscriptions.md).

Paddle automatically creates transactions when customers sign up using the checkout, as well as when subscription lifecycle events like renewals or [upgrades](https://developer.paddle.com/build/subscriptions/replace-products-prices-upgrade-downgrade.md) happen.

You can also create a transaction through the Paddle dashboard or the API. You can [collect for a transaction manually to create an invoice](https://developer.paddle.com/build/invoices/create-issue-invoices.md), or collect automatically using a card on file or by presenting a checkout.

Transactions hold information like:

- Who the customer is.
- Which items they're purchasing.
- Calculated totals for the customer and items.
- Any payment attempts.

### Details

Transactions handle all parts of revenue calculation, including complex [proration operations](https://developer.paddle.com/concepts/subscriptions/proration.md), [localized pricing](https://developer.paddle.com/build/products/offer-localized-pricing.md), and tax calculations.

Paddle returns calculated totals for a transaction in the `details` object. Details are the single source for totals on a transaction. They're used for collecting payment from a customer and revenue recognition.

### Payments

Though the terms "transaction" and "payment" are sometimes used interchangeably, they're distinct entities in Paddle:

- **Transactions** calculate and captures revenue, ready for payment
- **Payments** are attempts to collect for the amount against a transaction — both online and offline

Transactions can have more than one payment against them. For example, customers paying for larger value deals by invoice might make multiple payments, and automatically collected payments might fail.

### Previews

For pricing pages and other screens that let customers preview changes to their subscription, you can [preview a transaction](https://developer.paddle.com/api-reference/transactions/preview-transaction.md) rather than creating it.

When previewing a transaction, you don't need to send the same information as you would if you were creating it.

{% callout type="info" %}
Transactions are financial records. They can't be deleted, and they can't be changed once they've been billed. [Cancel a transaction](https://developer.paddle.com/api-reference/transactions/update-transaction.md), or [create an adjustment](https://developer.paddle.com/api-reference/adjustments/create-adjustment.md) to record post-billing actions that impact a transaction.
{% /callout %}