How to Backdate Orders in Shopify (and Why the Date Sometimes Won't Change)
You can't change an order's date from the Shopify admin. Order editing covers items, quantities, shipping and discounts, not dates. To backdate an existing order you need an app that updates the order's processed date (processedAt), which is the date Shopify shows on the order. The original creation timestamp (createdAt) can never be changed.
- Shopify's built-in order editing can't change the date of an existing order.
- Every Shopify order has two dates. createdAt is fixed at checkout; processedAt can differ and is the one shown on the order.
- Backdating works by setting processedAt, so totals, line items, customer and fulfillment stay untouched.
- Draft orders take the date they're completed, not the date you created the draft.
- Pick dates anchored to your store's timezone, or a backdated order can land one day early.
Shopify doesn't let you change the date of an existing order from the admin. You can edit what's in an order, but not when it happened. To backdate an order you need to change its processed date (processedAt) through Shopify's Admin API, which in practice means using an app built for it. This guide explains which dates Shopify stores, why the admin can't edit them, every realistic way to get the right date on an order, and the gotchas that make a backdated date look wrong.
Can you change an order date in Shopify?
No, not with Shopify's built-in tools. Shopify's order editing lets you add or remove products, change quantities, update shipping fees and apply or remove discounts. There is no date field anywhere on the order page, and merchants have been asking for one in the Shopify Community for years.
That leaves three kinds of fix:
- Set the date when the order is created. Imports and API-created orders can carry an earlier processed date from the start.
- Change the processed date on an order that already exists. This needs an app with order write access.
- Recreate the order. Cancel or archive the original and create a new one with the right date. This is the most disruptive option and rarely worth it.
Most merchants who search for this already have the orders in Shopify, so option 2 is usually the one that matters.
Which dates does a Shopify order have?
Every Shopify order stores two separate timestamps, and the difference explains everything about backdating.
| Field | What Shopify says it is | Can it change? | Where you see it |
|---|---|---|---|
createdAt (created_at in REST) | When the order was created. Set at checkout and unchanged for the order's whole life. | Never, not by apps or by Shopify support | The record of when the order entered Shopify, including some timeline entries and exports |
processedAt (processed_at in REST) | When the order was processed. Shopify notes it "might not match" the creation time. | Yes, through the Admin API | The order date shown on the order and in the Orders list |
For a normal online checkout the two values are identical. They split apart when an order is imported from another platform, created through the API with an earlier date, or backdated afterwards. Shopify built processedAt for exactly that purpose: recording when a sale really happened even if it reached Shopify later. For a deeper look at both fields, including which one reports, exports and the API use, see Shopify created_at vs processed_at.
One practical consequence: no tool can change createdAt. If an app or freelancer promises to change the "created" date of an existing order, ask exactly which field they change. Apps that write createdAt on an update get a success response from Shopify, but the value silently stays the same. We hit this ourselves while rebuilding RetroOrder, which is why it writes processedAt.
Every way to get the right date on a Shopify order
Here is how the realistic options compare.
| Method | Works on existing orders? | Bulk? | Keeps the original order and its history? | Best for |
|---|---|---|---|---|
| Shopify order editing | No date field | No | Yes | Changing items, not dates |
| Draft order completed later | No, the date is the completion date | No | New order | Never for backdating; drafts take the date you complete them |
| CSV / migration import app | Only for orders it creates | Yes | New orders | Bringing history over from another platform |
| Custom Admin API script | Yes, by setting processed_at | Yes | Yes | Developers comfortable with API scopes and rate limits |
| Backdating app (such as RetroOrder) | Yes | Yes | Yes | Merchants who need to fix dates from the Orders page |
Draft orders won't help
A common first attempt is to build a draft order and complete it "for" an earlier date. Draft orders don't work that way. The order created from a draft is dated when you complete the draft, not when you started it, and the draft screen has no date picker. If you entered a phone order a week late as a draft, it will show a week late.
Imports only help with new orders
Migration tools can create orders with an earlier processed date, which is the right approach when you're moving years of history from WooCommerce, Etsy or another platform. They don't fix orders that are already in Shopify with the wrong date. Some tools can delete and re-import an order with a new date, but that creates a new order with a new order number and loses the original's timeline, notes and integrations.
A script works if you're a developer
If you have a custom app or private access token, you can update an order's processed_at through the REST Admin API. You'll need write_orders access, plus Shopify's read_all_orders approval for orders older than 60 days. You also need to handle rate limits, and you should read the updated order back to confirm the date actually moved rather than trusting the success status.
How to backdate orders in Shopify, step by step
With a backdating app installed, the whole process happens from the Orders page. Here's how it works with RetroOrder:
- In your Shopify admin, go to Orders.
- Tick the checkbox next to each order you want to change. You can select one order or many.
- In the bar that appears, click More actions (the ⋯ button).
- Under Apps, choose Backdate with RetroOrder.
- Pick the new date and click Backdate.
- Wait a few moments, then refresh the Orders page. The orders now show the new date.
Only the date changes. Line items, prices, taxes, discounts, the customer, payment status and fulfillment status are untouched, and inventory isn't adjusted a second time.
Why does the date sometimes not change?
When a backdated date looks wrong, it's almost always one of four things. (For dates that look wrong on orders you never backdated, see why your Shopify order date looks wrong.)
1. The date landed one day early. A date like "May 13" saved as midnight UTC becomes the evening of May 12 for a store in New York or Los Angeles. Good tools convert your chosen day to a time in your store's timezone first. RetroOrder anchors every backdated date to noon in the shop's timezone for this reason. If you script it yourself, include an explicit time and offset (for example 2026-05-13T12:00:00-07:00).
2. You're looking at a creation timestamp. The order date updates, but anything built on createdAt keeps the original moment. Some timeline entries, exports and third-party integrations read the creation time. If an accounting sync or report still shows the old date, check which field it uses.
3. The order is older than 60 days. Without Shopify's read_all_orders permission an app can't even see older orders, so the update fails. Make sure the app you use has this approval if you're fixing historical records.
4. The page hasn't refreshed. Bulk updates run in the background. Reload the Orders page after a minute before trying again. Running the same backdate twice doesn't hurt, but it won't help either.
When should you backdate an order?
Backdating is a record-keeping correction. It's the right call when the date in Shopify is wrong compared with when the sale actually happened:
- Phone, email and in-person sales entered into Shopify days later.
- Wholesale and B2B orders recorded after the fact.
- Migrated or imported orders that came in with the import date instead of the original sale date.
- Event and market sales logged in bulk after the event.
- Corrections to month-end reporting, when an order clearly belongs to the previous period.
It's the wrong call when it would misrepresent what happened: moving revenue between tax periods to change what you owe, or making an order look older to a customer, payment provider or lender. As a habit, add an order note or tag explaining each backdate, for example backdated: phone order 2026-05-13. Your accountant will thank you, and you'll have an audit trail if anyone asks.
Backdating and your reports
Because backdating changes the order's processed date, the order moves to the new date anywhere Shopify uses that date. Before you backdate a large batch:
- Check the period you're moving into. If you've already closed a month in your books, moving orders into it reopens that month's numbers.
- Check your integrations. Accounting, ERP and analytics tools may have synced the order already. Find out whether they pick up date changes or keep the first value they saw.
- Do one order first. Backdate a single order, confirm the date where you care about it (order page, Orders list, reports, your accounting tool), then do the rest.
How RetroOrder helps
RetroOrder adds Backdate with RetroOrder to the Orders page bulk actions, so you can fix one order or a whole batch without code. It writes the processed date Shopify displays, anchors dates to your store's timezone so nothing slips a day, and works on orders older than 60 days. The free plan covers 10 backdated orders per calendar month. RetroOrder Unlimited ($9.99/month, 14-day free trial) removes the limit and adds a block that lets customers change their own shipping address before the order ships.
Frequently asked questions
Can you change the date of an order in Shopify?
Not from the Shopify admin. Shopify lets you edit items, quantities, shipping fees and discounts on an existing order, but there is no date field. Changing the date requires an app that updates the order's processed date through the Admin API.
What is the difference between created_at and processed_at in Shopify?
created_at (createdAt) is when the order was created in Shopify and never changes. processed_at (processedAt) is when the order was processed. It can be set to an earlier date, which is how imported and backdated orders keep their real sale date.
Does backdating an order change its totals or inventory?
No. Backdating only changes the processed date. Line items, prices, taxes, discounts, the customer, payment status and fulfillment status stay exactly as they were. Inventory was already adjusted when the order was placed and isn't adjusted again.
Why does my backdated Shopify order show the day before the date I picked?
It's a timezone issue. If a tool saves your date as midnight UTC, stores in the Americas see the previous evening. Backdating tools should anchor the date to midday in your store's timezone, which keeps it on the calendar day you chose.
Can I backdate orders older than 60 days?
Yes, as long as the app has Shopify's read_all_orders permission. Without it, apps can only see orders from the last 60 days. Shopify approves that permission per app, so check an app's listing before you rely on it for old orders.
Is it legal to backdate orders?
Correcting a record to the date a sale really happened, such as a phone order entered late or an imported order, is normal bookkeeping. Changing dates to misreport revenue to tax authorities, lenders or customers isn't. Keep notes on why each order was backdated.