How Shopify's Store Timezone Affects Order Dates and Reports

By The RetroOrder teamPublished 7 min read
Short answer

Shopify records every order timestamp in UTC and displays it in the store timezone set under Settings > General > Store defaults. That setting decides which calendar day an order lands on in the admin, when discounts start and end, and when scheduled Flow workflows run. Payout timing and API timestamps stay in UTC, so tools that read them need their own conversion.

Key takeaways
  • Shopify stores order timestamps in UTC and converts them to the store timezone for display.
  • The store timezone is set under Settings > General, in the Store defaults section, and is separate from your personal account's timezone.
  • Discount start and end times follow the timezone selected in the Shopify admin, so a sale set to start November 26 in an Eastern store starts at 12:00 am Eastern.
  • Shopify Payments records payment capture times in UTC, so payouts can group an evening sale with the next day's sales.
  • ShopifyQL's WITH TIMEZONE modifier lets you calculate daily or monthly totals in a specific IANA timezone such as America/New_York.

Your Shopify order timezone is the store timezone. Shopify records every order timestamp in UTC, then shows it in the timezone selected under Settings > General > Store defaults, and that conversion decides which calendar day an order appears on in your admin. The same setting controls when discounts start and end, and it is the default for scheduled Shopify Flow workflows. Several things don't follow it, though: payment capture times for payouts, API timestamps and some tax documents are in UTC. This guide maps which is which, and how to change the setting without confusing your books.

What timezone does Shopify use for order dates?

Two at once: UTC for storage and your store timezone for display. A Shopify team member confirmed on the developer forum that an order's created_at "is stored in UTC" and returned in a configured timezone, usually the shop's.

That split explains most timezone confusion. The moment an order happened is fixed. What changes is the local label put on it. Take one order placed at 10:30 pm on March 5 by a customer in Los Angeles:

Store timezoneWhat the admin showsCalendar day
Pacific Time (UTC-8 in March before daylight saving starts)10:30 pmMarch 5
Eastern Time (UTC-5)1:30 amMarch 6
London (UTC+0)6:30 amMarch 6
UTC, as read raw from the API2026-03-06T06:30:00ZMarch 6

Same order, same instant, and three of the four views put it on the next day. If your store is set to Eastern Time but you ship from California, every late-evening West Coast order lands on tomorrow's date in the admin. That's correct behavior for the setting you chose, which is why the setting matters.

For the full list of date fields on an order and which screen reads which, see Shopify created_at vs processed_at.

Where is the store timezone set in Shopify?

In Settings > General, in the Store defaults section, under Time zone. Shopify's help center gives the same path on desktop and in the Shopify app (menu, then Settings, then General in the Store settings section).

Three details are worth knowing before you touch it:

  • It's per store, not per user. Your personal Shopify account has its own timezone. Staff in Berlin and staff in Chicago see the same store timezone on orders.
  • It's one timezone per store. Markets, locations and sales channels don't get their own. If you sell in the US and Australia from one store, one region will always see some orders on the "wrong" local day. Pick the timezone your accounting runs in.
  • Named zones follow daylight saving. The list uses named zones such as Pacific Time, not fixed offsets. Your offset from UTC changes twice a year in zones that observe daylight saving, so Los Angeles is UTC-8 in winter and UTC-7 in summer. Any script that hard-codes -08:00 will be wrong for about eight months of the year.

Which parts of Shopify follow the store timezone, and which use UTC?

Most of what you see in the admin follows the store timezone. Money movement and raw data often don't. This table collects what Shopify's own documentation says, feature by feature:

FeatureTimezone usedWhat Shopify's docs say
Order dates in the adminStore timezoneStored in UTC, returned in the shop's configured timezone
Live ViewStore timezoneInformation "is displayed in your store's local time"
Discount start and endStore timezoneStart and end times depend on the timezone selected in the admin
Shopify Flow scheduled time triggerStore timezone by defaultYou can optionally pick another timezone per workflow
Shopify Payments capture time (payouts)UTCCapture date and time "is recorded in Coordinated Universal Time (UTC)"
GraphQL Admin API timestampsUTCDevelopers report order timestamps come back in UTC, with a Z suffix
Transaction history exportIncludes UTC offsetCreated At shows date, time and the difference from UTC/GMT
Singapore GST invoices (Shopify Payments)UTCInvoice "uses the UTC time zone, which might be different from your store's time zone"
ShopifyQL queriesWhatever you set with WITH TIMEZONERuns time-based calculations in the IANA timezone you specify

Shopify's help docs don't state the timezone for every built-in report. Merchant answers on the Shopify Community say Analytics follows the store timezone, but if a number matters, check a few orders near midnight against the report before trusting it.

Discounts start at midnight in your store's timezone

Shopify's discount documentation gives a direct example: if your store is set to Eastern Time and you choose a start date of November 26, the discount starts at 12:00 am Eastern on November 26. A customer in California can use it from 9:00 pm on November 25. If you announce a sale as "starts Friday" to a West Coast audience, either set the start time accordingly or say which timezone you mean.

Payouts are grouped by UTC days

Shopify Payments records payment capture times in UTC, and payouts follow business days, with payments captured Friday, Saturday and Sunday grouped into one payout. For a store in the Americas, an evening sale is already the next day in UTC. So a sale your sales report puts on Friday can sit in the payout batch with Saturday's sales. When you reconcile payouts to daily sales, expect the evening hours to move, and match on transactions rather than on daily totals.

What happens if you change your Shopify store timezone?

Shopify's help article on the setting explains where to change it but doesn't describe any effect on past orders or reports. Since timestamps are stored in UTC, the underlying data doesn't change. What changes is how it's labeled and grouped: orders near midnight can move to a different local day, and daily totals near day boundaries can shift with them.

A worked example. A store has been set to London time but operates from New York. A Tuesday order placed at 9:00 pm New York time currently shows as 2:00 am Wednesday (during US and UK daylight saving time). After switching the store to Eastern Time, the same order shows as 9:00 pm Tuesday. Wednesday's total drops by that order and Tuesday's rises by it. Weekly and monthly totals change only for orders near the week or month boundary.

Before changing the timezone on an established store:

  1. Run a sales report for a recent full week and a recent full month, and export or save them.
  2. Change the Time zone in Settings > General and click Save.
  3. Run the same reports again and compare the daily totals.
  4. If you've already closed months in your accounting system, talk to whoever keeps your books before changing it, since a re-run of a closed month may no longer match what was filed.
  5. Tell anyone who reconciles payouts or runs scripts against your store, because their day boundaries may now differ from yours.

The best time to fix a wrong timezone is early, before you have many closed periods. If your dates already look off by a day and you're not sure the timezone is the cause, our guide to why a Shopify order date looks wrong walks through the other common causes.

How do timezones affect imports, scripts and reports outside the admin?

Anything that reads raw timestamps has to do the timezone conversion itself, and the most common bug is skipping it.

Imports. When you create orders with a past date, write a full timestamp with an offset, ideally midday in the store timezone, such as 2026-05-13T12:00:00-07:00. A bare date often becomes midnight UTC, which is the previous evening anywhere in the Americas. Our guide on importing historical orders with their original dates covers this in detail.

API scripts. A developer on Shopify's forum found that GraphQL returns order timestamps in UTC, while the older REST API had returned them with the shop's local offset. Scripts migrated from REST to GraphQL can suddenly put late-evening orders on the next day. Read the store's timezone from the Shop object (ianaTimezone, for example America/Los_Angeles) and convert before grouping by date. Don't use timezoneOffset as a constant, because it changes with daylight saving.

ShopifyQL. In Shopify's query language you can add WITH TIMEZONE 'America/New_York' to a query. Shopify's own example uses it with SINCE startOfMonth(-1m) UNTIL endOfMonth(-1m) so that sales near the edge of the month fall into the expected month. Set it to your store's IANA zone when you want a query to match your books.

Third-party analytics. Shopify's discrepancies guide lists different reporting timezones as one reason numbers differ between Shopify and tools such as Google Analytics. Set the other tool's reporting timezone to match the store before comparing daily figures.

How RetroOrder helps

A timezone mismatch is a setting problem, so fix it in Settings > General, not by editing orders. Where timezones do damage order data is when orders were imported or entered with midnight-UTC dates and now sit on the wrong day. Shopify's admin can't edit an order's processed date. RetroOrder adds Backdate with RetroOrder to the Orders page: select the orders, open More actions (⋯), pick the date and click Backdate. It anchors each date to noon in your store's timezone so it can't slip a day, and it leaves line items, totals, taxes, the customer and fulfillment untouched. It changes the date shown on the order, not Shopify's createdAt, and it doesn't move existing orders in Shopify Analytics, where they stay on the day they were first recorded. The free plan covers 10 backdated orders per calendar month; RetroOrder Unlimited is $9.99/month with a 14-day free trial.

Frequently asked questions

What timezone does Shopify use for orders?

Shopify stores order timestamps in UTC and shows them in your store's timezone, which you set under Settings > General in the Store defaults section. The moment an order happened never changes; the timezone only decides which local date and time you see for it in the admin.

Can I set a different timezone for each Shopify market or location?

No. Shopify's help docs describe one store timezone per store, chosen from the Time zone list in Settings > General. If you sell in several regions, pick the timezone your books and team work in. Some features, such as Shopify Flow's scheduled time trigger, let you choose a different timezone for that one workflow.

Does Shopify adjust for daylight saving time?

The Time zone list uses named zones, such as Eastern Time, rather than fixed offsets, and named zones follow their region's daylight saving rules. Your UTC offset changes twice a year in zones that observe it, so a script that hard-codes an offset like -05:00 will be one hour off for part of the year.

Why don't my Shopify payouts match my daily sales?

Partly because Shopify Payments records the time a payment is captured in UTC, while your sales are grouped by days in the store timezone. An order paid at 8 pm in Los Angeles is already the next day in UTC. Payouts also follow business days, and payments captured Friday through Sunday are grouped into one payout.

Sources

  1. Shopify Help Center: Set up your business settings (store time zone)
  2. Shopify Help Center: Amount off products and orders discounts
  3. Shopify Help Center: Payout timing
  4. Shopify Help Center: Shopify Flow scheduled time trigger
  5. ShopifyQL reference: WITH (TIMEZONE)
  6. Shopify Developer Community: REST to GraphQL order timezone issue