ECM-21Required
Ship within the promised time or offer to cancel
Show a shipping or delivery time on every product you sell, and ship within it. When an order will be late, tell the buyer before the date. Give a new date and a free way to cancel for a full refund.
How to do it
In the US, the FTC Mail, Internet or Telephone Order Merchandise Rule covers online orders. Ship within the time you state, or within 30 days when you state none. Allow 50 days when the buyer applies for your credit to pay. A delay notice gives a revised date, or says why there is none, and offers a free way to cancel. Silence never counts as consent to a second delay. Refund a cancelled order within 7 working days, or within one billing cycle when you are the creditor. In the EU, Article 18 of the Consumer Rights Directive sets delivery within 30 days unless you agreed another time. After a missed date, the buyer may set a further period and then end the contract, and must get every payment back. Store the promised date on each order line, and run a daily job that finds lines near their date and not shipped.
Examples
SQL example
-- lines that need a delay notice today: returns rows only when the notice job failed
SELECT l.id, l.order_id, l.promised_ship_by
FROM order_line l
WHERE l.state IN ('pending', 'allocated', 'picked', 'packed')
AND l.promised_ship_by < now() + interval '2 days'
AND NOT EXISTS (SELECT 1 FROM delay_notice n WHERE n.line_id = l.id AND n.new_date >= now());
How to check
A daily query lists unshipped lines within two days of their promised date. Each has a delay notice sent with a cancel link. A test cancels a late order through that link, and the refund is issued the same day.
Sources
- FTC, business guide to the Mail, Internet, or Telephone Order Merchandise Rule
- Consumer Rights Directive 2011/83/EU, Article 18
Related rules
- ECM-10 Sell preorders and backorders only with a shipping date in E-commerce and fulfilment
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/ecommerce/orders-and-fulfilment/shipping-time-promise">Agent Wranglers e-commerce and fulfilment playbook</a>. In code you write, add a comment next to it with the same link.