Skip to main content
Card class: HeroCategory: Cross-Channel: Revenue at Risk

At a glance

The count of orders that were not handed to Australia Post within the despatch promise you set at checkout. This is a warehouse-floor metric, not a carrier metric: it measures the time from order-paid to first AusPost scan, the window you control. An order can dispatch late and still arrive on time, but a late dispatch is the single most controllable cause of a missed customer promise.
What it countsCOUNT(orders WHERE first_auspost_scan_at - order_paid_at > dispatch_sla) over the rolling 7-day window. One row per order, scored against that order’s own despatch promise (same-day cut-off, next-business-day, or your configured handling time).
Data sourceOrder-paid timestamp from your store platform (Shopify / BigCommerce / Adobe order webhook). First AusPost scan (“Shipment information received” or first physical lodgement scan) from the AusPost Shipping & Tracking API GET /shipping/v1/track. The card joins on the order’s article ID / tracking number.
SLA definitionThe despatch promise is your configured handling time per service or per channel: same-day if ordered before the cut-off, otherwise next business day, measured in AusPost lodgement business days, skipping weekends and Australian public holidays.
First scan, not label printThe clock stops on the first AusPost physical scan (lodgement / “received by Australia Post”), not on label generation. A label printed but never lodged is a missed dispatch, not an on-time one. This is deliberate: the customer’s parcel has not moved until AusPost has it.
Time window7D vsP (rolling 7 days, compared with the prior 7 days). Short window because despatch is an operational metric you fix this week, not a quarterly trend.
Alert trigger>0 orders breached. Any missed-dispatch order fires. The promise you sold at checkout has a zero tolerance: one late despatch is one customer who was told a date you did not hit.
Rolesowner, operations, fulfilment

Calculation

For each order in the 7-day window the card computes the despatch elapsed time as the difference between the first AusPost scan timestamp and the order-paid timestamp, both converted to AusPost lodgement business time (AEST / AEDT, weekends and national public holidays excluded). It compares that elapsed time against the order’s despatch SLA: is_breached = (first_auspost_scan_at - order_paid_at) > dispatch_sla_business_window Orders with no first scan yet are handled conservatively: an order paid more than its SLA window ago with still no AusPost scan is counted as breached (the parcel has demonstrably not been lodged in time), while an order still inside its SLA window with no scan is in-flight and not counted. The card returns the breach count plus the period-over-period delta so you can see whether despatch discipline is improving or slipping week to week. Because the clock stops on the first carrier scan rather than label print, the metric isolates the part of the journey you own (pick, pack, lodge) from the part AusPost owns (transit). A high count here points at the warehouse: cut-off times missed, carrier collection not turning up, label printed but parcel left on the bench. It does not point at AusPost transit performance, which lives on On-Time Delivery Rate and Avg Transit (days).

Worked example

A Sydney DTC apparel brand, around 1,100 orders a week, despatch promise of “order by 1pm AEST for same-day lodgement, otherwise next business day”, AusPost Parcel Post default with Express Post offered at checkout. Reading taken at 09:00 AEST on Mon 20 Apr 26 for the trailing 7 days (Mon 13 Apr 26 to Sun 19 Apr 26).
DayOrdersDispatched on timeMissed dispatchDominant cause
Mon 13 Apr1681662Late afternoon picking backlog
Tue 14 Apr1911910
Wed 15 Apr1751705Carrier collection no-show
Thu 16 Apr1821811Single oversize awaiting repack
Fri 17 Apr2041968Cut-off missed, Friday volume spike
Sat 18 Apr96960
Sun 19 Apr84813Printed Sunday, no Sunday lodgement
Week1,1001,08119
The card reads 19 missed-dispatch orders, up from 12 the prior week (+58% vsP). The alert is tripped (it trips on anything above zero). Five things to notice:
  1. 19 orders is 19 broken promises. Each one was sold a despatch date at checkout that was not met. At an apparel AOV around 85,thatisroughly85, that is roughly 1,615 of revenue exposed to “where is my order” tickets, refund requests and review risk, before any goodwill spend. The count is the workload, not just a percentage.
  2. The Wednesday five is the carrier, not the warehouse. A collection no-show means the parcels were packed and labelled on time but AusPost did not turn up to collect. That is a different fix (escalate the booked collection with your AusPost account, or switch to Post Office / Parcel Locker lodgement as a fallback) to the Friday cut-off miss, which is a staffing-against-volume fix.
  3. Friday is the structural problem. Eight of nineteen misses landed on the highest-volume day because the 1pm cut-off was missed under load. This is the recurring DTC pattern: the promise is set for an average day and breaks on the peak day. Either staff Friday afternoons harder or move the Friday cut-off earlier and say so at checkout.
  4. The Sunday three are a promise-design fault, not an ops fault. AusPost does not lodge on Sundays for this merchant, so a “next business day” order placed Saturday cannot scan until Monday. If checkout copy implied Sunday despatch, fix the copy, not the warehouse. The metric is doing its job by surfacing the mismatch.
  5. Dispatch late does not mean delivered late. Some of these 19 will still arrive within the customer’s expected window because AusPost transit had slack. That does not make them not-breached: you missed the despatch promise you sold. Pair with Late Shipments to see how many late dispatches actually converted into late deliveries.

Sibling cards merchants should reference together

Dispatch SLA is the part of the journey you control. Pair it with these to separate warehouse causes from carrier causes:
CardWhy pair it with Orders with Carrier Dispatch SLA MissedWhat the combination tells you
Late ShipmentsThe delivered-late count downstream of dispatch.How many late dispatches actually became late deliveries. If dispatch misses but deliveries hold, AusPost transit is absorbing your slack; if both spike, the failure compounds.
On-Time Delivery RateThe carrier-transit half of the promise.Splits “we shipped late” from “the carrier was slow”. A healthy OTD with rising dispatch misses means the problem is firmly on your floor.
Express Post Next-Business-Day OTDPremium orders have the tightest dispatch window.A missed dispatch on an Express order is the most expensive kind: it can void the next-business-day guarantee and the refund clause.
Express Post SLA Breach (refund-clause trigger)Where a late dispatch becomes a refundable miss.Confirms whether a dispatch miss on Express crossed into automatic-refund territory.
Label Print Failures SpikeA common upstream cause of dispatch misses.If label generation failed at 11am, the parcels could not be lodged by 1pm. A label spike predicts a dispatch-miss spike same day.
Shipments with Tracking-Event Gap >24h (domestic) / >5d (intl)Detects the “labelled but never lodged” case.A first-scan that never arrives is both a dispatch miss here and a tracking gap there.
Avg Transit (days)The transit clock that starts after dispatch.Long transit plus late dispatch is the worst combination for the customer; budget extra checkout buffer when both run hot.

Reconciling against the source

Where to look in the carrier’s own tooling: The despatch clock has two ends and two sources. The order-paid end lives in your store admin (Shopify Orders, BigCommerce Orders, Adobe Commerce Sales). The first-scan end lives in Australia Post MyPost Business or the AusPost tracking portal, where the first event is “Shipment information received by Australia Post” (the manifest / electronic lodgement) followed by the first physical lodgement scan. The card stops the clock on the first physical scan, not the electronic-manifest event, because the manifest can be created hours before the parcel actually moves. To reproduce a single order: take its paid time from the store, find its article on the AusPost portal, read the first physical scan timestamp, subtract weekends and AU public holidays, and compare against your configured handling time. The AusPost portal shows scan timestamps in carrier-local time (AEST / AEDT), so a parcel scanned at 00:30 AEST sits on the previous UTC day in our index. Why our number may legitimately differ from the carrier’s view:
ReasonDirectionWhy
Manifest event vs physical scanOurs can read higherIf you reconcile against the electronic “information received” event, you will see an earlier time than the card, which waits for the first physical lodgement scan. Manifest-only parcels that never physically lodged are breaches we catch and the manifest view hides.
Tracking-event ingestion lagOurs can lagAusPost pushes tracking events in batches; lag is typically minutes to a couple of hours, longer at peak. A parcel lodged 20 minutes ago may not yet show a first scan in our index, so a borderline order can flip from in-flight to breached as the scan lands.
AEST/AEDT vs UTCBoundary days offThe card computes business-day windows in carrier-local time but stores raw timestamps in UTC. Daylight-saving transitions and the midnight boundary can shift a small number of orders by a day; over 7 days this is well under the breach signal.
Public-holiday calendarEitherThe card uses the national AU public-holiday calendar. State-only holidays (for example a state show day) are not lodgement days for that state’s depot but are normal elsewhere; a state-only holiday can make the card read a breach the carrier would consider on time, or vice versa. Configure your lodgement state to correct this.
Handling-time config driftEitherIf your configured despatch SLA in the connector does not match the promise actually shown at checkout, the card scores against the configured value. Keep the two in sync.
Cross-connector reconciliation:
CardExpected relationshipCauses of legitimate divergence
shopify.fulfilment_delay_alertUpstream peer. Shopify’s delay alert fires on paid-to-fulfilled (label print); this card runs paid-to-first-scan.Shopify can mark fulfilled on label print while the parcel sits unlodged; the gap between the two is exactly the “labelled but not lodged” failure this card catches and Shopify’s metric misses.
shopify.unfulfilled_ordersLeading indicator.A backlog of unfulfilled orders today predicts dispatch misses tomorrow.

Known limitations / merchant FAQs

An order dispatched late but the customer got it on time. Why is it counted? Because you missed the promise you sold, not the promise the carrier made. The despatch SLA is a checkout commitment; breaking it is a breach even if AusPost transit had enough slack to recover. The card measures controllable failure. Use Late Shipments to see the subset that actually reached the customer late. The clock stops on first scan, not label print. Why? Because a printed label is not a moved parcel. The single most common silent failure in DTC fulfilment is “label printed, parcel left on the bench”. Stopping the clock on the first AusPost physical scan means that failure is caught here as a missed dispatch, where a label-print-based metric would record it as on time. Why did the count jump when nothing changed in the warehouse? Check three things. (1) A carrier collection no-show: the parcels were ready but AusPost did not collect, so no scan landed in time. (2) A label-generation outage upstream (see Label Print Failures Spike) that delayed lodgement. (3) A public holiday or daylight-saving boundary that compressed the lodgement window. None of these are picking-speed problems. How should I handle the cut-off versus the despatch promise? The cut-off is the contract. If you promise same-day for orders before 1pm, the card scores everything before 1pm against same-day and everything after against next business day. The most common self-inflicted breach is a Friday or peak-day cut-off that is realistic on an average day but not on a high-volume day. Either staff to the peak or move the cut-off earlier and update checkout copy. Does this include weekends and public holidays? The window is computed in lodgement business days: weekends and national AU public holidays are excluded from the elapsed-time clock. An order paid Saturday for “next business day” is due Monday, not Sunday. State-only holidays may need the lodgement state configured on the connector to score correctly. What is the playbook the moment this trips? In order: (1) check whether the misses cluster on one day or one cause (collection no-show, cut-off miss, label outage), (2) if it is a collection no-show, escalate the booked collection with your AusPost account and lodge the backlog at a Post Office / Business Hub as a same-day fallback, (3) if it is a cut-off miss under volume, pull the cut-off earlier for the affected day and reflect it at checkout, (4) for any Express orders in the breach set, check Express Post SLA Breach (refund-clause trigger) immediately, those carry a refund liability. Why is the alert set at zero rather than a percentage? Because despatch is the part you fully control and every miss is a named customer with a broken promise. A percentage threshold would normalise a baseline of broken promises. The card fires on the first miss so the cause can be caught while it is still same-day fixable; you can suppress the alert during a known event (peak, collection outage) rather than raising the floor.

Tracked live in Vortex IQ Nerve Centre

Orders with Carrier Dispatch SLA Missed is one of hundreds of KPI pulses Vortex IQ tracks across Australia Post and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.