How to Create a Sales Order in QuickBooks Online (You Can't, Here's What Actually Works)
QuickBooks Online doesn't have a Sales Order transaction type, at any plan tier, including Advanced. Sales Orders only exist in QuickBooks Desktop Premier and Enterprise, not even Desktop Pro. In QBO, the closest equivalent is an Estimate converted into an Invoice once the work's ready to bill, or a Delayed Charge if you want to park a future charge without it hitting your books yet.
What to use instead in QuickBooks Online
1. Create an Estimate for the order. An Estimate is non-posting, meaning it doesn't touch any of your ledgers, so it captures the same "customer committed, nothing's shipped or invoiced yet" moment a sales order would, without the Sales Order transaction type itself.
2. Convert the Estimate to an Invoice when you're ready to bill. Open the Estimate and select Create invoice. You can invoice the full amount or just part of it, which covers the partial-shipment case a sales order is often used for.
3. Use a Delayed Charge for something you want to invoice later without an Estimate's approval step. + New, then Delayed charge, records the amount against the customer now but keeps it off your income statement until you convert it to an actual invoice.
4. For a partial order, invoice what's ready and leave the rest open. Invoice the portion you can fulfill now from the Estimate, then come back and invoice the remainder later from the same Estimate once the rest is ready.
5. If you genuinely need real sales order functionality, that's a QuickBooks Desktop Premier or Enterprise question, not an Online one. Features like open sales order tracking and partial-fulfillment status live there, not in QBO, and there's currently no QBO plan, including Advanced, that adds them.
Why the Estimate-and-Invoice workaround is worth automating
A real sales order tracks its own fulfillment status: open, partially filled, closed. The Estimate-plus-Invoice workaround doesn't do that natively, so someone ends up tracking which orders are fully shipped and which are still partial in a spreadsheet next to QuickBooks, because QuickBooks itself has no concept of "this order is 60% fulfilled."
That gap gets wider the more orders are in flight at once. A business doing a handful of orders a week can hold the open ones in their head. A business doing dozens can't, and that's exactly the kind of tracking that's easy to automate once the data about what's shipped and what isn't lives somewhere besides someone's memory.
What we've built on top of QuickBooks's Estimate-and-Invoice workflow
Order-to-Estimate automation
An order placed through your storefront or order system creates the matching QBO Estimate automatically, with the right customer and line items, instead of someone re-typing the order into QuickBooks by hand.
Fulfillment-triggered invoicing
When your warehouse or shipping system marks an order (or part of one) as fulfilled, the corresponding Invoice gets created straight from the Estimate, partial or full, without anyone manually matching the two up.
How are you tracking which orders are still open right now?
If it's a spreadsheet next to QuickBooks, tell us how it's structured, and we'll tell you if that tracking can move into your actual workflow instead.
Built a workaround for QuickBooks Online not having sales orders?
Tell us how you're currently tracking orders from placed to fulfilled, and we'll tell you whether the Estimate-and-Invoice process can run with less manual matching. QuickBooks' missing features are one example of a workflow gap; n-frames fixes gaps like this wherever they show up, QuickBooks or otherwise.
Let's talk