Offering returns is a standard part of ecommerce, but paying for return labels that customers never use is a cash flow drain. With Shopify's pay-on-scan return labels, you only pay for the labels that are actually used. This feature simplifies the returns process and reduces unnecessary costs for merchants.
What is a pay-on-scan return label?
A pay-on-scan return label is a shipping label you can create for a customer's return, but you are only charged for it when the shipping carrier scans the package. This means you can provide labels to all customers who request a return without any upfront cost for labels that go unused.
This billing model is different from traditional prepaid labels, where you pay for the label at the time of creation. If a customer decides not to return the item after all, a prepaid label represents a sunk cost that you may have to track and try to recover. Pay-on-scan eliminates this specific financial risk.
You create the label in your Shopify admin and send it to your customer. The cost is only added to your Shopify account after the carrier receives the package and scans it into their system. An unused label simply expires without a charge.
The scan is the trigger, so it helps to know what a scan means. It is the first time the carrier logs the package into its system. For most merchants, that is the drop-off at a counter or the pickup from the customer's door. Delivery to your warehouse is a later event.
An unused label does not disappear from your order. The return stays open in the admin until you close it. Check open returns every few weeks so old requests do not pile up. A tidy list also shows you which customers never shipped, which is useful data about your policy.
Which carriers and countries does it cover?
Pay-on-scan return labels are available for domestic orders within the United States and within Canada. This means your fulfillment location and the customer's shipping address must both be in the same country. The feature does not support international returns, including between the US and Canada.
In the United States, Shopify supports creating pay-on-scan return labels with the following carriers:
- USPS: Services include Priority Mail and Ground Advantage.
- UPS: Available for all domestic services except UPS Ground Saver. You can use Shopify's discounted rates or your own connected UPS account rates.
- FedEx: To create a FedEx return label, both your return address and the customer's address must include a phone number.
For domestic returns within Canada, Shopify supports Canada Post. Unlike labels from US carriers, Canada Post return labels do not expire, but you are still only charged if the label is scanned.
Return labels cannot be created for US military addresses (APO/FPO/DPO) or for US territories that require customs forms. For these situations, you would need to purchase a label directly from a carrier or use a third-party app.
Check address details before the customer sees the label
Start with the fields that carriers check. Both addresses need complete street details, and FedEx also needs a phone number on each. A label that fails at creation is a small problem. A label that prints and then gets rejected at a drop-off counter wastes the customer's afternoon.
If a phone number is missing, the label creation will fail. You cannot proceed with FedEx. Your first step is to check the original order for a number. If it is not there, you must either contact the customer to get one or switch to another carrier like USPS or UPS for that label.
Cross-border returns cause the most confusion. Say a Canadian store ships to a customer in Ohio. The return would travel from the US back to Canada, so the pay-on-scan option is not available. Tell the customer early and offer a clear alternative, such as a carrier label you buy yourself.
How do you buy a return label in the Shopify admin?
Creating a pay-on-scan return label is done directly from the order page. The order must have at least one item that has already been fulfilled. You cannot create a return label for a completely unfulfilled order.
Follow these steps to create a return label:
- From your Shopify admin, navigate to Orders and click on the order number you want to create a return for.
- Click the Return button. If the order has a mix of fulfilled and unfulfilled items, you may need to click More actions and then select Return.
- Enter the quantity of the items that the customer is returning.
- In the Return shipping options section, select Create a return label in Shopify and then click Create return.
- Choose the return address, confirm the package details and estimated weight, and select a shipping service from the available options.
- Click Create return label. You can then choose to email the label directly to the customer, copy a link to send separately, or print the label yourself.
Because the label is generated per order, you should adjust the package weight if the customer is only returning some of the items from their original order. This helps ensure the estimated shipping cost is as accurate as possible.
A worked example: partial returns
Take an order with three items that weigh 2.4 lb in total. The customer returns one 0.8 lb sweater. If you leave the weight at 2.4 lb, the estimate will be higher than it should be. The customer may then see a shipping price meant for a much heavier box.
Enter 0.8 lb plus the packaging weight. A padded mailer adds about 0.2 lb, so 1.0 lb is a realistic figure. Check the estimate before you send anything. This takes thirty seconds and keeps your estimate close to the price the carrier scans.
Some services are not offered for every package. If your preferred UPS option is missing, check that you have not selected UPS Ground Saver, which is excluded from return labels. Pick the next service that fits the box and the customer's timeline.
When are you billed for a return label?
You are billed for a pay-on-scan return label only after a shipping carrier scans the package. The charge is not applied when you create the label or when you send it to the customer. This event triggers the cost to be added to your Shopify account.
The cost of shipping labels is typically handled through threshold billing. This means that once your spending on labels reaches a certain amount, you are invoiced and charged immediately. If you don't reach your threshold during a billing cycle, the charges are added to your regular monthly Shopify subscription bill.
It's important to know that the price you see when creating the label is an estimate. The final cost is determined by the carrier after they weigh and measure the actual package. Any price adjustments are billed separately and may appear on your bill days or even weeks after the initial scan.
The most common reason for a price adjustment is dimensional weight. A customer might return a light t-shirt in a large box. Carriers charge for the space a package occupies, not just its weight. This discrepancy between your estimated weight and the carrier's final volumetric calculation is what triggers the extra charge on your bill.
You can review all shipping label charges in the Bills section of your Billing page in the Shopify admin.
A worked example with real numbers
Assume you create 40 return labels in one month. Each label shows a $9.20 estimate, so you expect $368 in label cost. Only 25 customers ship their items back. Unused labels cost nothing, so your expected charge is $230.
Four of those 25 packages get a carrier adjustment. The adjustments average $4.10 each, which adds $16.40. Your actual bill for returns is $246.40. That is about 7% above the $230 you expected from estimates alone.
The trade-off is timing. A scan in the last days of a billing cycle can push the charge into the next run. Reconcile against the Bills section every month, not every quarter. A pattern of adjustments is easier to fix when it shows up early.
The costly mistake is forgetting that a label can be scanned long after it was sent. A customer who ships in week six still triggers a charge. If your team has already closed that case, the cost has no matching record. Keep the return open until the item arrives.
What does this change about the cost of offering return labels?
Pay-on-scan billing fundamentally changes the financial risk of offering returns. By eliminating the upfront cost of unused labels, it allows merchants to provide a better customer experience without worrying about paying for return labels that end up in a customer's spam folder.
Consider a scenario where 40% of customers who request a return label never actually ship the item back. With prepaid labels, that represents a direct loss. With pay-on-scan, it represents a cost of zero. This makes cash flow more predictable and removes the need for manual reconciliation of unused labels.
However, it also introduces variability. Since the final price is set at the time of scanning, your cost per return can fluctuate based on how customers repackage items. A customer using a larger-than-necessary box can increase the dimensional weight and, therefore, the final shipping cost.
This model encourages a more generous return policy, but it requires merchants to be aware of the potential for price adjustments. Regularly reviewing the difference between estimated and actual costs can help you decide if you need to adjust any flat-rate return fees you charge customers.
The edge case: refunding before the scan
Many merchants refund as soon as the label is emailed. That is the fastest way to keep customers happy. The risk is the refund itself. Once you refund at label creation, the product value is gone before any scan happens. If the customer never ships, you have paid out the sale and recovered nothing.
Consider your automations. Many stores trigger follow-up emails or customer surveys when an order is marked as refunded. If you refund at label creation, you might ask for feedback from a customer who never returned anything. This skews your data and makes it harder to see what real returning customers think about your process.
Refunding on delivery is slower but safer. Imagine a $60 jacket. Refunded at label creation, you lose $60 and may never see the item again. Refunded on delivery, you hold the jacket and can resell it. The gap is worth weighing against how patient your customers are.
This is the real trade-off. Faster refunds lift satisfaction and cut support tickets. Slower refunds protect inventory and cash. Stores with low return fraud can usually refund early. Stores with high resale losses should wait for the scan.
Managing returns effectively is about balancing customer convenience with operational cost. Pay-on-scan is a tool that shifts that balance in the merchant's favor, removing the penalty for a customer changing their mind.
What should you check in your return settings first?
Before you start creating return labels, it's wise to review your store's overall return strategy. Shopify provides tools to manage customer expectations and streamline the process. The first place to look is your returns policy, which can be configured in your admin.
You can also enable self-serve returns, which allows customers to initiate a return request directly from their customer account page. To activate this, go to Settings > Customer accounts and turn on Self-serve returns and cancellations. This lets customers select items, provide a reason, and submit the request, which you then approve or decline in the admin.
Activating self-serve returns improves the customer experience by giving them control, and it reduces the number of support emails you have to answer. When you approve a request, you can then generate the pay-on-scan label as part of that workflow. This connects the customer's request directly to the creation of the label.
Ultimately, some returns are unavoidable. But many returns happen because the customer received an item they did not intend to order. Allowing customers to fix their own mistakes right after purchase, with self-service order editing, can reduce the number of returns you have to process in the first place. By giving customers a window to change a size, color, or even remove an item before it ships, you prevent the return before it ever starts.
Set your window and reasons first
Before you turn on labels, decide how long customers can request a return. Thirty days is common, but the number matters less than consistency. Write it in your returns policy, then match it in the self-serve settings so customers see one rule everywhere.
Next, review your reason list. Keep reasons that help you spot patterns, such as wrong size or damaged on arrival. Remove vague options. When you approve each request, check the reason before generating the label. It tells you whether the item should come back at all.
The cost of a bad list is lost insight. A reason like 'No longer needed' tells you nothing. 'Ordered wrong size' is better, but 'Too small' is best. This data is free feedback on your product pages and sizing charts. A good list helps you fix the root cause, reducing future returns and saving money.
Frequently asked questions
Can I void a pay-on-scan return label?
No, you cannot void or cancel a pay-on-scan return label because there is no charge to refund. Since you are not charged until the carrier scans it, an unused label simply expires without costing you anything.
Do pay-on-scan return labels expire?
Yes, most do. USPS labels expire one year after purchase, UPS labels after six months, and FedEx labels after 90 days. Canada Post labels are the exception and do not expire.
Can I charge my customer for the return label?
Not automatically through Shopify. The cost of a return label purchased in Shopify is always billed to your merchant account. If you want to deduct the cost of return shipping from a customer's refund, you must do so manually when you process the refund.
What if a customer needs to return items in multiple shipments?
You can create multiple return labels for a single order. If a customer needs to send items back in separate packages, you can repeat the process to generate a unique label for each one from the same order page.
Can I create a return label for an international order?
No, not through Shopify's native feature. Pay-on-scan labels can only be created for domestic returns within the United States or within Canada. For international returns, you must purchase a label from a carrier directly or use a third-party app.
Is the price shown when I create the label the final price?
No, the price is an estimate. The final cost is determined by the carrier after they weigh and measure the package when they scan it. The final charge on your bill may be different from the original estimate.
What happens if the customer never ships the return?
Nothing is charged. The label expires on the carrier's schedule and no cost reaches your account. Close the return in the admin so your open list stays accurate. If the customer later asks for a refund, check the policy window before you agree.
Who covers a return that is lost in transit?
The carrier's claim process handles lost packages. Because the scan already happened, the label cost stays on your bill. Keep the tracking history and the scan record. Without them, a claim is hard to win, and you will have paid for a package nobody received.




