Shopify Draft Order Dates: Why the Order Uses the Completion Date
A Shopify draft order isn't an order yet, so the order created from it is dated when the draft is completed: when you mark it as paid, charge a card, or the customer pays the invoice. The draft keeps its own createdAt, invoiceSentAt and completedAt timestamps, and there's no field on the draft to choose the resulting order's date.
- The order created from a Shopify draft is dated when the draft is completed, not when the draft was created or the invoice was sent.
- A draft order records createdAt, updatedAt, invoiceSentAt, reserveInventoryUntil and completedAt as separate timestamps.
- A draft completes when you click Create order after Mark as paid, when you charge a card, or when the customer pays through the invoice link.
- Payment terms let you create the order now and collect payment later, with net terms of 7, 15, 30, 45, 60 or 90 days.
- Draft orders created on or after April 1, 2025 are deleted automatically after one year with no edits.
A Shopify draft order date and the date of the order it becomes are two different things. The draft is dated when you start it, but the order created from it is dated when the draft is completed: when you mark it as paid and click Create order, charge the customer's card, or the customer pays through the invoice link. Nothing from the draft's history moves the order's date earlier, and the draft screen has no date picker. If you know which step completes a draft, you can control which day the sale lands on.
This guide covers every timestamp a draft carries, which step actually creates the order, how payment terms change the timing, and what to do when a draft was completed later than the sale really happened.
What date does a Shopify order get when it comes from a draft?
The completion date. Shopify's help docs say that when a draft order is paid, it becomes a regular order on your Orders page. Until then it lives under Orders > Drafts and doesn't appear in your order list or sales reports.
That surprises people because a draft can sit open for a long time. A typical timeline for a wholesale or phone order looks like this:
| Day | What happens | Where the date is recorded | Order exists? |
|---|---|---|---|
| Oct 3 | You build the draft after a phone call | Draft createdAt | No |
| Oct 4 | You reserve the stock | Draft reserveInventoryUntil (the expiry you pick) | No |
| Oct 5 | You email the invoice | Draft invoiceSentAt, status Invoice sent | No |
| Oct 7 | You change the quantity | Draft updatedAt | No |
| Oct 12 | The customer pays through the link | Draft completedAt, new order created | Yes, dated Oct 12 |
The customer agreed to the sale on October 3, but the order says October 12. In Shopify's terms, the order's processed date (processedAt) and creation date (createdAt) are both set when the draft completes. If you want the full background on those two fields, see Shopify created_at vs processed_at.
Which timestamps does a draft order keep?
Five, and only one of them describes the order. Shopify's GraphQL Admin API documents these date fields on the DraftOrder object:
createdAt: when the draft was created in Shopify.updatedAt: when the draft was last changed.invoiceSentAt: when the invoice was last emailed to the customer. Sending it again overwrites the earlier value.reserveInventoryUntil: when reserved inventory is automatically restocked.completedAt: when the draft was converted to a new order.
The draft also has a status with three values: OPEN (unpaid, no invoice sent), INVOICE_SENT and COMPLETED. Once completed, the draft links to its order, so you can always look up how long it sat open by comparing createdAt with completedAt.
None of these fields is copied onto the order as its date. If you report on drafts, for example to measure how long quotes take to close, read them from the draft. If you report on sales, read the order.
When exactly does a draft become an order?
When you click Create order, charge a card, or the customer pays the invoice. Saving the draft or emailing the invoice doesn't create the order on its own. Shopify's help docs describe these paths:
- Mark as paid. For payment you've already received outside Shopify. Open the draft in Orders > Drafts, click Collect payment > Mark as paid, adjust Amount received if needed, and click Create order. The order is created on that click.
- Credit card. Click Collect payment > Credit card, enter the customer's billing and card details, and click Charge. This needs Shopify Payments. The order is created when the charge goes through.
- Send invoice. Click Send invoice, write a message, click Review invoice, then Send invoice. The customer gets a checkout link, and the order is created only when they complete that checkout. Shopify marks it Paid automatically. Don't mark the draft as paid first, or the link won't work.
- Payment due later. In the Payment section, select Payment due later, choose a term from the Payment terms list, and click Save. Shopify's B2B docs then describe sending the invoice and clicking Create order, which creates the order before the customer pays. Shopify's order status docs say an order created this way has a Payment pending status, and you collect the money afterwards.
Two practical consequences follow. First, a draft that's "done" in your head but not completed in Shopify still has no order date. Second, if checkout validation rules aren't met when you complete a draft, Shopify shows a warning where you can choose Ignore and create order, and the order is dated whenever you finally click it.
How do payment terms affect draft order dates?
Payment terms let you separate the order date from the payment date. With Payment due later, you create the order now and the customer pays by a due date, so the sale lands on the day you agreed it rather than the day the money arrives.
Shopify's deferred payments documentation lists four term types:
| Payment term | When payment is due | Good for |
|---|---|---|
| Due on receipt | The day you send the invoice | One-off phone or email orders you want on today's date |
| Due on fulfillment | The day you fulfill all items | Made-to-order or backordered goods |
| Net term (7, 15, 30, 45, 60 or 90 days) | That many days after the issue date | Wholesale and B2B accounts |
| Fixed term | A date you choose | Event orders or agreed installment dates |
The API's PaymentSchedule object defines the issue date (issuedAt) as when the invoice is sent, and dueAt as when the payment is due. Shopify's help docs don't spell out every edge case, such as what happens if you never send an invoice, so check the due date shown on the order after you create it.
If the order isn't paid by the due date, its status changes to Overdue. You can set up to five payment reminders under Settings > Notifications > Orders > Payment reminder, sent on the due date or up to 30 days after it. When payment arrives, you record it with Collect payment: Send invoice, Mark as paid or Pay by credit card.
For B2B, a company location's payment terms are applied to the draft automatically. On Shopify Plus you can also click + Require deposit and set a percentage, which Shopify calculates on the subtotal only.
Why is my draft order dated later than the sale?
Because the draft was completed later than the sale happened. The common causes:
- Waiting for payment before completing. You invoiced on the 5th and the customer paid on the 12th. The order is dated the 12th.
- Customer-submitted B2B drafts. If a company location is set to Submit all orders as drafts for review, the buyer's checkout creates a draft, and it isn't an order until you click Create order or the customer pays your invoice.
- POS carts saved as drafts. Shopify POS Pro can save a cart as a draft order to finish later. It's dated when it's finished.
- Late data entry. Market, trade show or phone sales entered as drafts days afterwards are dated on the entry day.
This is one of several reasons an order date can look off; for the others, such as time zones and imports, see why your Shopify order date looks wrong.
How do you keep draft order dates correct?
Complete the draft on the day the sale belongs to, and use payment terms instead of leaving drafts open. When that isn't possible, correct the order's date after it's created.
- Pick the date rule first. Decide whether a sale belongs on the day the customer commits, pays or receives the goods. Your accountant may have a view. Apply it every time.
- Complete paid drafts the same day. If the money is already in, use Mark as paid and Create order right away.
- Use Payment due later for unpaid orders. Choose Due on receipt or a net term and create the order now. The sale gets today's date and the payment status tracks the money.
- Correct late completions. If a draft was completed after the sale date, change the new order's processed date to the real date. Shopify's admin has no field for this, so it takes the Admin API or a backdating app. The steps are in how to backdate orders in Shopify.
- Leave a trail. Tag or note the order, for example
sale date 2026-10-03, draft completed late, so anyone reading it later knows why the dates differ.
Keep in mind that correcting the processed date doesn't change the order's createdAt, which no app can modify, and it doesn't move the sale in Shopify Analytics for an order that has already been recorded.
Watch out for deleted drafts
Shopify deletes draft orders created on or after April 1, 2025 after one year of inactivity, and any edit resets the timer. If you use open drafts as long-running quotes, edit or complete them before they hit a year, or export the details somewhere else.
How RetroOrder helps
When a draft was completed after the sale really happened, RetroOrder can move the new order's date back. Select the orders on the Orders page, choose More actions (⋯) > Backdate with RetroOrder, pick the sale date and click Backdate. It changes the order's processed date (processedAt), the date Shopify shows on the order, and anchors it to noon in your store's time zone so it doesn't slip a day. Line items, totals, taxes, the customer and fulfillment are untouched, and it works on orders older than 60 days. It doesn't change createdAt, and it doesn't move orders that are already recorded in Shopify Analytics or their payment transactions. 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 date does a Shopify order get when it's created from a draft?
The date the draft is completed. That's the moment you click Create order after marking it as paid, charge the customer's card, or the customer pays through the invoice link. The draft's own creation date and the date you sent the invoice don't carry over to the order.
Can I choose the order date when completing a draft order?
No. Neither the draft order screen nor the draftOrderComplete API mutation has a date field for the resulting order. If the sale belongs on an earlier date, complete the draft and then change the new order's processed date, which needs the Admin API or a backdating app.
Does sending an invoice change the draft order's date?
It doesn't change the order date, because there's no order yet. Shopify records when the invoice was last emailed in the draft's invoiceSentAt field and moves the draft to the Invoice sent status. The order appears only after the customer completes checkout through the link.
How long do Shopify draft orders last?
Shopify deletes draft orders created on or after April 1, 2025 after one year of inactivity. Any edit to the draft resets that timer. Completed drafts link to their order, and the order itself isn't affected by the draft's deletion rule.
When does a payment terms due date start counting on a draft order?
Shopify's help docs say net terms are due a set number of days after the issue date, and the API defines the issue date as when the invoice is sent. Due on receipt is due the day you send the invoice. Shopify doesn't document every edge case, so check the due date shown on the order after you create it.
Sources
- Shopify Help Center: Creating draft orders
- Shopify Help Center: Getting paid for draft orders
- Shopify Help Center: Sending invoices for draft orders
- Shopify Help Center: Managing orders with deferred payments
- Shopify Admin GraphQL API: DraftOrder object
- Shopify Admin GraphQL API: PaymentSchedule object (issuedAt, dueAt)