πOrder lifecycle
What each order status means, how an order moves from Ordered to Delivered, and how messages from Discord and email merge into one order.
- Written for
- Anyone who wants to understand why an order shows the status it does
- Applies to
- All plans
- Deprecated
- οΌ Deprecated
An order in Shippified is one purchase, built up from every message about it. A Discord checkout post, the retailer's confirmation email, the shipping notice, the delivery email and the carrier's scans all feed the same order. This guide explains what each status means, how an order moves between them, how the same order arriving from two places becomes one, and what "Unparsed order", Issue and Unknown Store mean.
You don't need to read this to use Shippified. Read it when an order shows a status you didn't expect, or when you see duplicates.
The five statuses
Every order has exactly one status. You'll see it in the Status column on the Orders page and in the Status field of the order drawer.
Status | What it means | What puts an order here |
|---|---|---|
Ordered | The purchase went through, and there's no sign it has shipped. | An order confirmation email, a checkout post from a monitor bot, or an order you added by hand without a tracking number. |
Shipped | The order has a tracking number, or the retailer said it shipped. It hasn't been confirmed delivered. | A shipping email, any message that includes a tracking number, a carrier scan, or you adding a tracking number to an Ordered order. |
Delivered | The package arrived. | A delivery email, or the carrier confirming delivery. |
Canceled | The retailer or bot reported a cancellation. | A cancellation email or bot message. |
Issue | Shippified couldn't work out enough to be useful: neither the store nor the item. | A message where no store and no item name could be found. |
Filter by any of these with the Status menu on the Orders page. See The Orders page.
You don't set the status by hand
Status always follows real signals: what the retailer or bot said, whether there's a tracking number, and what the carrier reports. The Status field in the drawer is read-only. The one way you affect it directly is adding a tracking number to an Ordered order, which moves it to Shipped.
How an order moves
A typical order goes through three stages, each triggered by a message or a carrier update:
- Ordered
Your monitor bot posts a successful checkout, or the retailer emails "Thanks for your order". A new order is created as Ordered.
- Shipped
The retailer's shipping email arrives with a tracking number, and merges into the order by its order number. The order moves to Shipped. If Shippified can track the carrier live (on shippified.net: DHL and DHL Express), it starts checking the package in the background.
- Delivered
The carrier confirms delivery, or the retailer's delivery email arrives. The order moves to Delivered, and the delivery date is recorded when the carrier provides one.
Not every order takes every step. An order can arrive already Shipped (a checkout post that includes tracking), jump straight from Ordered to Delivered, or end at Canceled.
Status only moves forward
Messages don't always arrive in order. A confirmation email can land after the shipping email, a bot can repost an old checkout, and a carrier can be slower than the retailer's email. To stop a late message undoing progress, statuses are ranked, and an order only ever moves to a higher rank:
Rank | Status |
|---|---|
1 (lowest) | Issue |
2 | Ordered |
3 | Canceled |
4 | Shipped |
5 (highest) | Delivered |
When a new message about an existing order arrives, the order keeps whichever status ranks higher: its current one or the one the new message implies.
Current status | New message says | Result | Why |
|---|---|---|---|
Delivered | "Thanks for your order" | Delivered | Ordered ranks lower. |
Shipped | Cancellation | Shipped | Canceled ranks lower than Shipped. |
Canceled | Shipping email with tracking | Shipped | Shipped ranks higher. |
Ordered | Cancellation | Canceled | Canceled ranks higher than Ordered. |
Issue | A proper order confirmation | Ordered | Anything ranks higher than Issue. |
Why Canceled ranks below Shipped
Retailers often cancel part of an order ("Sorry, we had to cancel some items from your order") and ship the rest. Because Canceled ranks below Shipped, a partial-cancel email can't pull a shipped order backwards.
Shippified can't tell a partial cancellation from a full one. If a partial-cancel email arrives before anything has shipped, the order is marked Canceled. It moves on to Shipped when the shipping email for the remaining items arrives. Until then, it shows as Canceled even though some items are still coming.
What carriers can and can't change
Carrier tracking (for carriers with live tracking, which on shippified.net means DHL and DHL Express; see Shipment tracking) follows the same forward-only rule, with one extra limit: it only moves Ordered and Shipped orders.
Ordered β Shipped once the carrier has scanned the package.
Ordered or Shipped β Delivered once the carrier confirms delivery.
Canceled and Issue orders are never changed by the carrier.
Event types: what each message says
Every message Shippified reads is classified as one event type: what the message is telling you about the order. The event type decides the status the message implies.
Event type | Typical message | Status it implies |
|---|---|---|
Order Placed | "Thanks for your order", "Order confirmed", a successful-checkout post from a bot | Ordered (or Shipped if the message includes a tracking number) |
Order Shipped | "Your order has shipped", "Shipping confirmation", "Your order is on its way" | Shipped |
Order Update | "Out for delivery", "Arriving tomorrow", "Ready for pickup", "Your order is delayed" | No change (or Shipped if the message includes a tracking number) |
Order Delivered | "Your order was delivered", "Your items have arrived", "Your order has been picked up" | Delivered |
Order Canceled | "Your order was canceled", "Sorry, we had to cancel some items", "We couldn't fulfill your order" | Canceled (or Shipped if the message includes a tracking number) |
Unknown | A message whose wording matched none of these | Ordered, Shipped if it has tracking, or Issue if the store and item are also unknown |
A few details:
Any tracking number means Shipped. Whatever the message type, if it carries a tracking number, it implies at least Shipped. Only a delivery notice implies more. A cancellation email that includes a tracking number therefore counts as Shipped, not Canceled.
No store and no item means Issue. A placed, update or unknown message where neither the store nor the item name could be found implies Issue instead of Ordered.
"Out for delivery" doesn't mean delivered. Update emails keep the order where it is. The delivery email or the carrier's delivery scan marks it Delivered.
When a subject mentions both a cancellation and shipping, the email counts as a cancellation notice. Delivery wording beats shipping wording in the same way.
Which emails are recognised
Shippified has built-in email templates for Target, Walmart, Amazon and Best Buy, one for each event type (for example "Target Order Shipped"). It recognises each retailer's mail by the sender's domain, including subdomains, and decides the event type mainly from the subject line.
Event type | Example subjects |
|---|---|
Order Placed | "Thanks for your order", "Thank you for your purchase", "Thanks for shopping with us!", "Here's your order", "Order confirmed", "We've received your order", "Ordered: item name" |
Order Shipped | "Your order has shipped", "Shipping confirmation", "Your order is on its way", "Your package is coming". For Amazon: subjects starting "Shipped:", or saying an item "has shipped" or a shipment "has been sent" |
Order Update | "Out for delivery", "Arriving today", "Your items are about to ship", "Your order is ready for pickup", "Pickup reminder", "Your order is delayed", "Delivery update", "New delivery date", "Update your payment" |
Order Delivered | "Your order was delivered", "Delivered: item name", "Your order has been picked up", "Your items have arrived" |
Order Canceled | "Your order was canceled", "Order cancellation", "Sorry, we had to cancel some items from your order", "We couldn't fulfill your order" |
Mail from other retailers, and Discord monitor bots, are covered by built-in bot templates, your own custom templates, or Shippified's general rules.
How the same order from Discord and email becomes one
You'll usually hear about one purchase several times: your monitor bot posts the checkout, then the retailer sends a confirmation, a shipping email and a delivery email. Shippified folds all of them into one order using the order number.
When a message comes in with an order number:
If you already have an order with exactly that order number, from any bot, inbox or manual entry, the message merges into it.
Otherwise, it creates a new order.
A message without an order number always creates a new order, because there's nothing to match it on.
What happens in a merge
Part of the order | After a merge |
|---|---|
Details already on the order (item name, tracking number, carrier, cost, size, and so on) | Kept. A later message never overwrites a value that's already there. |
Details that were missing | Filled in from the new message. This is how a shipping email adds the tracking number to your checkout. |
Item name | Kept, unless it was "Unparsed order". Then the new message's item name replaces it. |
Store | Kept, unless it was Unknown Store. Then the new message's store replaces it. |
Status | Whichever ranks higher (see Status only moves forward). |
Date (the Received column) | The earlier of the two, so the order keeps the date it was first placed. |
Your sale price and cost | Kept. |
Sources | Combined. Shippified records every channel that has seen the order: Discord, email and manual. |
It doesn't matter which bot or inbox each message came from. A checkout from a Discord monitor and a confirmation email from your Gmail merge as long as the order numbers match exactly, including dashes and letters.
How duplicates are prevented
Emails are never counted twice. Every email has a unique ID. If the same email reaches Shippified again (re-forwarded, re-polled, or imported by hand), it's recognised and skipped.
Deleted orders stay deleted. When you delete an order, the emails it was built from are skipped if they're read again (by a mailbox rebuild or a re-delivery), and the Inbox marks them Skipped. Only pasting the email in Import an email by hand brings the order back. A new message with the same order number, such as a later shipping email, still creates a new order. See Order details.
Discord posts are never treated as duplicates by content. Two identical checkout posts can be two real orders (two cooks of the same item), so each post is processed. Posts with the same order number still merge into one order.
Orders you add by hand follow the same rule: fill in the order number, and your entry merges with any existing order that has it.
The "confirmed" badge
When more than one channel has seen an order (for example a Discord monitor and a retailer email), the order's card in the recent orders list on Home shows a badge such as 2Γ confirmed. Hover over it to see which channels confirmed it. It's a quick check that a checkout was real and the retailer actually processed it.
"Unparsed order" and Unknown Store
These two labels mean Shippified read the message but couldn't find part of what it needed.
You see | What it means | What to do |
|---|---|---|
Unparsed order as the item name | No item name could be found in the message. | Open the order and type a name into Item name. Unlike other filled fields, it's editable while the order is still "Unparsed order". |
Unknown Store as the retailer | The message didn't identify a store Shippified knows (Target, Walmart, Amazon or Best Buy), or you chose Other / unspecified for a manual order. | Nothing is wrong if the store really isn't one of those four. Orders from other stores are grouped under the Unknown Store tab. |
Issue as the status | Both at once: the store is unknown and the item is "Unparsed order". | Open the order and fill in what you can. Then fix the cause (see below). |
A later message with the same order number can fix both: a real item name replaces "Unparsed order", a known store replaces Unknown Store, and the status moves up from Issue.
Fixing the cause. If a whole kind of message keeps producing unparsed orders, the lasting fix is a template. Pin the right built-in template to the bot, or build a custom one from a sample message on the Templates page, then re-run parsing (below). The Parser field in the order drawer shows which template read the order. See Custom templates.
Re-parsing
Shippified keeps a copy of every message that became an order. Re-run parsing, on the Templates page, rebuilds your orders from those saved messages using your current templates. Use it after you add or fix a template, so orders that were read badly the first time are corrected.
- Open Templates
Click Templates in the sidebar.
- Click Re-run parsing
It's at the top of the page, next to Build template. It reads Re-parsing⦠while it works.
- Read the summary
For example: "Re-parsed 140 orders: 6 updated, 2 merged, 1 removed as non-order mail."
What re-parsing does:
Rebuilds each order from its saved messages, oldest first, with the same merge rules as above.
Keeps your edits. Every field you filled in by hand, and your sale price, are carried over unchanged.
Keeps carrier data: delivery dates, estimated delivery and the other details the carrier provided. An order the carrier confirmed delivered stays Delivered.
Merges orders that now turn out to share an order number.
Removes orders whose messages all turn out not to be order mail (for example a marketing email that slipped through), unless you've edited the order or given it a sale price.
Doesn't bring back deleted orders. Messages from an order you deleted are skipped, unless you imported the email again by hand.
Leaves alone orders with no saved messages: orders you added by hand, and orders from before Shippified started keeping message copies.
If there's nothing to rebuild, you'll see "No orders with stored messages yet β new mail will be re-parseable."
To pick up emails Shippified never saw or ignored the first time, use Rebuild from mailbox instead. Re-parsing only works with messages it already has.
Notifications for integrations
If you've set up outbound webhooks, Shippified notifies your endpoint as orders move through their lifecycle:
Event | When it fires |
|---|---|
| A message or manual entry creates a new order. |
| A message merges into an existing order. |
| You save changes in the order drawer (or through the API). |
| An order becomes shipped: from a shipping message, a carrier scan, or you adding a tracking number. |
| An order becomes delivered: from a delivery message or the carrier. |
| Shippified gets an answer from a carrier for the order's package. |
If you've added a Shippified pings webhook in Settings β Forwarding, Shippified also posts a card to that Discord channel when an order is placed, ships, is delivered or gets an update, according to its Placed, Shipped, Delivered and Updates toggles. These come from every bot and inbox, Import an email by hand, orders you add with New order or through the API, and carrier tracking. When a message merges into an existing order, a ping is sent only if the status changes (or the message is itself an update, such as a delay). See Settings.
Orders brought in by Rebuild from mailbox don't fire webhooks or pings, so you aren't flooded with old news.
Troubleshooting
My order is stuck on Canceled but items are still arriving
A partial-cancel email arrived before anything shipped. The order moves to Shipped by itself when the shipping email for the rest arrives (with the same order number), or when you add the tracking number in the drawer.
My order shows Delivered but I haven't received it
The retailer's delivery email or the carrier reported it delivered. Status can't move backwards, so it stays Delivered. Open the order and use Check on carrier site to see the carrier's own record, then contact the retailer or carrier.
The shipping email didn't update my order
Check the order numbers match exactly. Open the order and compare its Order number with the one in the shipping email. If the order has no order number, fill it in so the next message can merge. Also open Inbox to see what happened to the email. See The Inbox.
I have two orders for the same purchase
One of them probably has no order number, or a slightly different one. See The Orders page.
Lots of orders are "Unparsed order" or Issue
The messages don't match any template well. Build a custom template from one of them, then click Re-run parsing. See Custom templates.