Send orders and subscriptions
Anything you ship, deliver or hand over becomes an order on Sell, Orders, with what to pack and where it goes. Mark it shipped with tracking, and the customer gets an email at each step.
Every paid sale with something to ship, deliver or pick up shows up on Sell, Orders, oldest first. Each one says who it’s for, what to pack, and where it goes or the day they pick it up. Orders shows on Sell once something you sell ships or is picked up.
Mark shipped: open the order, choose the carrier, type the tracking number and tap Mark shipped. The customer gets an email from you with the tracking link. For local delivery the button says Out for delivery. Each order in the list also has its next step as a button, like Mark shipped or Ready for pickup, to move several quickly.
With Shippo connected, tap Buy a label instead: the shipping the customer paid for is picked, Shippo charges your own Shippo account, and the order is marked shipped with its tracking. Print the label from the order. See Charge for shipping and buy labels.
For pickup, mark it Ready for pickup when it’s ready and they get an email; mark it Picked up when they collect it.
Customers give their address when they check out, and sales tax is worked out from it. Something with a daily pickup limit, like 40 cakes a day, asks them to choose a day with room; a full day is shown as full and the next open day is offered. Set the limit with Pickups per day when you edit the product.
Subscriptions: a product that repeats, like a monthly bag of coffee, makes a new order each time it’s paid, sent to the address they gave. They can skip the next delivery from their account until the day before it’s charged: it isn’t charged and nothing ships. You can skip it for them on Money, under Sales.
Cancel an order that hasn’t gone out to refund it and put it back in stock. You see the refund before it happens. A subscription’s cancelled order refunds that delivery only; the subscription goes on.
When a subscription’s delivery is paid but something in it ran out, the order still shows up with a note. Restock and send it, or cancel it to refund that delivery.
For agents
List orders with commerce.orders (tab: to_ship, sent, done, cancelled) and read one with commerce.order. Move one or many with commerce.markOrders (orderIds, status: packed, shipped, delivered, picked_up, or unfulfilled to undo packed; tracking: { carrier, number, url? } with one shipped order). Cancel one that hasn’t gone out with commerce.cancelOrder (refund and restock default to true). Skip a subscription’s next delivery with commerce.skipDelivery (agreementId, on: its next charge date, until the day before); change where its orders go with commerce.setShipTo. At checkout, commerce.previewSale answers delivery; commerce.checkout needs shipTo (an address with a ZIP code) for ship or local_delivery, and pickupOn for a product with pickupPerDay (days with room: commerce.pickupDays). Each order says the shipping the customer picked (service) and, once bought, its label (labelUrl); buy one with commerce.labelRates and commerce.buyLabel. A customer reads their own with commerce.myOrders and commerce.myOrder. A pickup sold for a time (a restaurant order) has pickupAt and the customer’s note; commerce.pickups lists those by time (from, or agreementIds).