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.
- Backdating an existing order changes the date on the order, not Shopify Analytics. Sales reports keep the day the sale was first recorded.
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 or a sales report. 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, and Shopify Analytics keeps the day the sale was first recorded (see the reports section below). If an accounting sync or report still shows the old date, check which date 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, for example after moving from WooCommerce, Magento or Squarespace.
- Orders you re-created by hand, such as an order rebuilt after a payment problem, that should carry the original sale date.
- Event and market sales logged in bulk after the event.
- Matching your accounting records, when your books already date a sale correctly and the Shopify order should agree.
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.
Does backdating change Shopify Analytics and reports?
It changes the order, not Shopify's sales history. A backdated order shows the new date on the order page, in the Orders list and to any app or report that reads the order's processed date. Shopify Analytics sales reports keep counting the sale on the day it was first recorded.
We tested this on our own demo store in October 2026. Three orders created in June were backdated to September 8. Their order pages and the Orders list showed September 8, but Total sales over time in Shopify Analytics still counted them in June, and their payment transactions kept their June dates. A fourth order, created through the Admin API with a processed date of September 15 from the start, showed up on September 15 in the same report.
That lines up with how Shopify documents its reports. Shopify's API docs say the processed date you set when an order is created is the one used in analytics, and the sales report docs explain that sales are recorded on the day they happen, with later changes recorded on the day they're made. Backdating an existing order doesn't rewrite those earlier sales records.
| Where you look | Shows the backdated date? |
|---|---|
| Order page and Orders list | Yes |
Admin API processedAt / processed_at, and apps that read it | Yes |
| Shopify Analytics sales reports (such as Total sales over time) | No, the sale stays on the day it was first recorded |
| Payment transactions and Shopify Payments payouts | No |
createdAt / created_at and the timeline's creation entry | No, it can never change |
| Accounting, ERP and other integrations | Depends on the field each one reads |
What this means in practice:
- If you need the right date on the order record, for your team, your customer or an integration that reads the processed date, backdating fixes it.
- If you need a sale to count in a past period of Shopify Analytics, the order has to be created with that date, which is what migration and import tools do. Backdating afterwards won't move it.
- Check your integrations. Accounting and ERP tools may book a sale on the processed date, the creation date or the payment date, and some keep the first date they synced. Find out which field yours reads.
- Do one order first. Backdate a single order, confirm the date everywhere you care about (order page, Orders list, 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.
Does backdating an order change Shopify Analytics?
Not for an order that already exists. In our October 2026 test, backdated orders showed the new date on the order page and in the Orders list, but Shopify's Total sales over time report still counted them on the day they were first recorded. Only orders created with an earlier processed date, such as imports, appear on that earlier date in Analytics.
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.