Revise customer details on a billed or completed transaction
Revise a transaction to update customer, address, and business information for a transaction that's billed or completed.
Sometimes customers might want to update their details after they've completed a checkout, or after you've issued an invoice. For example, they might want to add a tax number or fill out their address.
You can revise a transaction to update some customer, address, or business details for it. The existing transaction entity remains on your system unchanged for recordkeeping purposes.
How it works
Paddle automatically sends customers an email receipt when a transaction is completed, like when a customer completes checkout or a subscription renews. Email receipts include a PDF invoice that customers can retain for recordkeeping.
It's common for customers to want to update their details on the included PDF. For example, Paddle Checkout only requires that customers enter their country (and in some cases their ZIP code) to keep the checkout journey short. In this case, customers might want to populate the other fields that are part of their address, like their street address and state.
As billed and completed transactions are financial records, they can't be deleted or changed directly. Instead, you can revise customer, address, and business information for a transaction. The related customer information for that transaction is updated, but the existing transaction entity remains on your system unchanged for recordkeeping purposes.
Related entities
Completed and billed transactions must have a related customer and address entity, and may have a related business entity. They're linked using the customer_id
, address_id
, and business_id
fields. You can use the include
query parameter to get the related customer, address, and business entities for a transaction.
When a customer, address, or business is set against a transaction, Paddle creates a relationship between the transaction and the related entity at that moment. This means that if you update a customer, address, or business after it's been set against a transaction, those changes aren't reflected when you use the include
query parameter to get the related entities.
You can revise a transaction to update the customer, address, and business entities for a transaction. When you revise a transaction, you're only updating the customer, address, and business information for that particular transaction. The related customer, address, and business entities aren't updated.
Adjustments
Adjustments are another way you can describe updates to a transaction after it's been billed or completed. However, they're used to describe financial changes, like refunding or crediting some or all the items on a transaction.
When you revise customer information for a transaction, Paddle may create an adjustment if there are financial changes. For example, if you add a valid tax or VAT number, Paddle automatically creates an adjustment to refund any tax where applicable.
Revise a transaction
- Describes customer information updates to a billed or completed transaction.
- For example, adding extra address details or adding a tax number.
- Revises customer, address, and business entities for the transaction.
- Customer receives a revised invoice PDF.
To learn more, see Revise a transaction
Create an adjustment
- Describes financial updates to a billed or completed transaction.
- For example, refunding or crediting some or all line items for a transaction.
- Creates a new, separate adjustment entity related to the transaction.
- Customer receives a credit note PDF.
To learn more, see Refund or credit a transaction
In both cases, the existing transaction entity remains on your system unchanged for recordkeeping purposes.
You can't revise customer information for a transaction that has an adjustment.
Revise a transaction
Revise a transaction using the API in three steps:
Build a request that includes the customer information that you want to update.
Send the request to revise the transaction. Paddle revises the related entities.
Get transaction including revised information — optional
Get the related customer, address, and business for a transaction using the
include
parameter to see the revised information.
Build request
Build a request that includes the fields you want to revise.
If details are staying the same, you don't need to include them in your request.
You can revise:
- Customer name
- Business name and tax or VAT number (
tax_identifier
) - Address details, apart from the country
You can't remove a valid tax or VAT number, only replace it with another valid one.
For compliance, transactions can only be revised once. Include all the information you want to update in your request. You can't make another request after.
Revised customer information for this transaction.
Revised name of the customer for this transaction.
Revised business information for this transaction.
Revised name of the business for this transaction.
Revised tax or VAT number for this transaction. You can't remove a valid tax or VAT number, only replace it with another valid one. Paddle automatically creates an adjustment to refund any tax where applicable.
Revised address information for this transaction.
Revised first line of the address for this transaction.
Revised second line of the address for this transaction.
Revised city of the address for this transaction.
Revised state, county, or region of the address for this transaction.
Request
12345678910111{
2 "customer": {
3 "name": "Sam Miller"
4 },
5 "business": {
6 "tax_identifier": "AB0123456789"
7 },
8 "address": {
9 "first_line": "3811 Ditmars Blvd"
10 }
11}
Revise transaction
Send a POST
request to the /transactions/{transaction_id}/revise
endpoint with the request you built.
Paddle ID of the transaction entity to work with.
Response
If successful, Paddle responds with a copy of the transaction entity. As the information revised is customer, address, and business details, it's not included in the response.
revised_at
is set to the date and time you revised this transaction.
151617181920212223242526272829303132333415 "billing_period": {
16 "starts_at": "2024-04-12T10:18:47.635628Z",
17 "ends_at": "2024-05-12T10:18:47.635628Z"
18 },
19 "currency_code": "USD",
20 "discount_id": null,
21 "created_at": "2024-04-12T10:12:33.2014Z",
22 "updated_at": "2024-07-26T08:46:00.746349Z",
23 "billed_at": "2024-04-12T10:18:48.294633Z",
24 "revised_at": "2024-07-26T08:46:00.746349Z",
25 "items": [
26 {
27 "price": {
28 "id": "pri_01gsz8x8sawmvhz1pv30nge1ke",
29 "description": "Monthly",
30 "type": "standard",
31 "name": "Monthly (per seat)",
32 "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg",
33 "billing_cycle": {
34 "interval": "month",
Get a transaction including revised information — optional
Paddle automatically sends a copy of the revised invoice to customers, so you don't need to do anything.
You can get a transaction using the include
parameter with the customer
, address
, and business
values to see the revised customer information. You might present this to a customer in a billing screen in your frontend.
Paddle ID of the transaction entity to work with.
Include related entities in the response. Use a comma-separated list to specify multiple entities.
Response
If successful, Paddle responds with the transaction entity with the revised customer, address, and business included.
12345678910111213141516171819201{
2 "data": {
3 "id": "txn_01j1f27bnwg90nggkgkf52hy34",
4 "status": "completed",
5 "customer_id": "ctm_01j1f28efp7j4p1ae0hqnd144s",
6 "address_id": "add_01j1f28egce2412sjnzp4pxdqg",
7 "business_id": null,
8 "custom_data": null,
9 "origin": "web",
10 "collection_mode": "automatic",
11 "subscription_id": "sub_01j1f28ywb5hn78y2y5tym9y4k",
12 "invoice_id": "inv_01j1f28yyr4abcmbf94g66p9ht",
13 "invoice_number": "325-11071",
14 "billing_details": null,
15 "billing_period": {
16 "starts_at": "2024-06-28T09:19:26.694403Z",
17 "ends_at": "2024-07-28T09:19:26.694403Z"
18 },
19 "currency_code": "USD",
20 "discount_id": null,
Update customer, business, and address entities
When you revise customer information for a transaction, only the customer information for this transaction is updated. The related customer, address, and business entities aren't updated.
Use the dashboard or the Paddle API to update the customer, address, and business entities so that future transactions use the latest data.
Common errors
transaction_invalid_status_to_revise | You're trying to revise a transaction that's not billed or completed . |
transaction_revised_limit_reached | You're trying to revise a transaction that's already been revised. |
transaction_adjusted_unable_to_revise | You're trying to revise a transaction that has an adjustment. |
Events
transaction.updated | Occurs when customer, address, or business information is revised for a transaction. revised_at is set to the date and time of the revision. |
transaction.revised | Occurs when customer, address, or business information is revised for a transaction. |