What it does
An order is what a won quote becomes when the customer commits; an invoice is what an order becomes once goods or services are delivered. Both carry product lines, both honour a Prices Locked flag that decides whether they track the price list, and both are closed rather than deleted.
Key facts
- Creating an order from a quote: activate the quote, then Create Order. The dialog asks for Date Won (defaults to today) and a description. Products, price list and currency all copy from the quote, and the quote closes as Won.
- Order name is capped at 100 characters. Price List and Currency are required to add products, though an administrator can make the price list optional.
- Orders can also be created standalone, with products pulled from an opportunity via Get Products or added by hand.
- Closing an order: Fulfill for delivered goods and services, Cancel for undelivered. There's no bulk fulfil — you can't set multiple orders to fulfilled at once.
- Closed, partially fulfilled and fully fulfilled orders can't be updated. That's the practical point of no return.
- Prices Locked is read-only while creating an order and editable after save, via Lock Pricing and Use Current Pricing on the command bar.
- With prices locked: Price Per Unit is disabled on every line, changing the price list does not reprice, and you can't add write-in products because they'd need a price. You can still add catalogue products at their default price.
- With prices unlocked: lines follow the current price list, except lines whose price was overridden — those stay where they were put.
- When an order is created from a quote, Prices Locked is set to Yes if sales order processing integration is off. If integration is on, it takes the default for the
ispricelockedcolumn, typically No. - Invoices are created from an order with Create Invoice. If an external order processing application is integrated, the command reads Submit Order instead and locks the order against editing in Sales.
- Invoice statuses: Active on creation, then Paid via Invoice Paid or Cancelled via Cancel Invoice. Both count as closed.
- Tax on orders and invoices is manual per line; the header total is just the sum. Currency rules are unchanged — header and lines must match, and currency can't change while lines exist.
- The Order Close table mirrors the Order description attribute. If you lengthen or change description on Order without matching it on Order Close, data gets truncated on closure.
When to use / skip
Use orders and invoices in Dynamics when there's no ERP, when the ERP integration is one-way from Sales, or when the client genuinely tracks fulfilment against the CRM record. Small and mid-size clients with a light finance system are the sweet spot.
Skip them — and this is the more common answer — when Business Central, Finance and Operations, SAP or NetSuite owns order-to-cash. Duplicating orders and invoices in Sales gives you two systems of record, and finance will always win that argument. In that case, stop the Sales process at the won quote and let the integration take over. Sales Order Processing integration exists precisely so the order becomes read-only in Sales once it's submitted downstream.
The half-way position — orders in Sales, invoices in the ERP — is workable but needs a clear rule about who can fulfil an order and what fulfilment means when the money is tracked elsewhere.
Configuration decisions
- Whether Sales owns orders and invoices at all, or hands off at the won quote. Settle this before you design anything else in this area.
- The default for Prices Locked, and whether sellers can toggle it. Locked prices protect an agreed deal; unlocked prices keep long-running orders aligned to the current list.
- Whether sales order processing integration is enabled, since it changes both the Prices Locked default and whether the command reads Create Invoice or Submit Order.
- What Fulfill and Cancel mean in the client's language, and who's allowed to use them, given that both are effectively irreversible.
- Whether invoices are ever created directly rather than from an order, and how those reconcile with finance.
- Whether tax is captured on Sales-side orders and invoices or deliberately left blank because the finance system calculates it.
Gotchas
- Fulfilment is a one-way door. Once an order is fulfilled — even partially — it can't be updated, and the recovery is cancelling and recreating. Sellers discover this by doing it.
- Prices Locked defaulting differently depending on whether order processing integration is enabled catches teams who tested in a sandbox with different settings from production.
- Locking prices blocks write-in products entirely. If the client's process is "add a bespoke line at the last minute", locked prices break it and the error message doesn't explain why.
- Overridden line prices survive unlocking. Sellers assume "Use Current Pricing" refreshes everything; it leaves overrides alone.
- No bulk fulfil means a client processing hundreds of orders a day needs a flow or a custom action. Find that out during scoping, not during UAT.
- Description length mismatches between Order and Order Close truncate closure notes silently. It's an easy miss when someone extends the field for a client requirement.
- Creating an order closes the quote as Won automatically, which means order creation is also a pipeline event. Reports that count won quotes and won opportunities separately can double up.
Consultant notes
- Ask on day one which system issues the invoice. The answer decides whether this whole area is a configuration exercise or a two-line scope reduction.
- If an ERP is in play, demo the Submit Order behaviour so the client sees the record going read-only. It reassures finance more than any slide will.
- Walk the client through Prices Locked with a worked example — one order locked, one not, then change the price list. It's the fastest way to get a decision.
- Before go-live, confirm nobody outside a small group can fulfil or cancel orders, and that the client knows both are irreversible.
- Check the Order and Order Close description lengths match if anyone has customised them. Two minutes now, an odd data-loss ticket avoided later.
Worth another look if an ERP integration lands, or if order volumes make the lack of bulk fulfilment a problem.