BlogShopify B2BSeptember 13, 2026

Shopify B2B Draft Orders: What to Define Before Sales Sends an Invoice

By Lake House Group · Shopify B2B draft orders, assisted sales, approvals, invoices, payment, and fulfillment controls

Key takeaways

  • Attach the right company, contact, and company location before products or prices are approved.
  • Separate the buyer request from the final commercial decision and preserve both records.
  • Set role-based authority for price, discount, shipping, tax, payment, and delivery exceptions.
  • Control edits after invoice and reconcile the final order with ERP, 3PL, and finance records.
  • Launch with an exception queue for stale, duplicate, unapproved, unpaid, or unsynced drafts.

A Shopify B2B draft order can be technically valid and still be commercially wrong.

The company can be attached. The products can be present. The invoice can send. Yet the order may use the wrong company location, a stale negotiated price, an unauthorized discount, an unapproved shipping promise, or payment terms that finance never agreed to.

That is why draft orders need more than a how-to. They need an operating contract. Before sales, customer service, or an app creates B2B orders on behalf of buyers, define who may create them, which commercial rules must apply, where approval happens, and what becomes locked when the invoice leaves Shopify.

Start with the purchasing entity

Shopify's developer guide defines a B2B purchasing entity as the combination of company, company contact, and company location. That distinction matters because the parent company is not enough to determine the buyer's commercial context.

One company can have multiple locations with different catalogs, shipping addresses, tax treatment, payment terms, purchasing contacts, and operational expectations. If a rep creates a draft order against the wrong location, every line can look reasonable while the order is wrong for the buyer.

Require these fields before products are added:

  • Company and company-location identifiers.
  • Buyer contact and invoice recipient.
  • Billing and shipping context.
  • Applicable catalog and currency.
  • Payment terms or immediate-payment path.
  • Tax status and any exemption reference.
  • Internal sales owner and order reason.

Use stable IDs in integrations and approval records. Company names, branch labels, and contact emails change too easily to serve as durable join keys.

Separate the request from the commercial decision

A phone call, email, quote request, reorder, or sales conversation can start the draft. It should not silently decide every commercial field.

Capture the buyer's request separately from the approved order state. The request may contain a product list, quantities, requested delivery date, special handling, or a target price. The commercial decision should show what the business actually approved: eligible products, final quantities, price source, discount authority, freight treatment, promised date, payment terms, and exception owner.

This separation creates a useful audit trail. When a buyer asks why the invoice differs from the original request, sales can explain the decision instead of reconstructing it from messages and overwritten line items.

Calculate before you create

Shopify's B2B draft-order guide separates calculation from creation. Its API example uses a calculation step to preview totals such as prices and taxes before creating the draft order for the purchasing entity.

Use the same idea even when staff work manually in the admin. Review the complete commercial result before the draft becomes customer-facing:

  • Confirm each variant and unit of measure.
  • Compare the applied price with the buyer's catalog or approved quote.
  • Check discounts, price locks, and custom line items.
  • Confirm tax, currency, shipping, and deposit treatment.
  • Check inventory or production constraints.
  • Compare the total with the accepted commercial record.

Do not approve only the subtotal. A correct line price can still lead to a wrong order when freight, tax, deposits, or delivery expectations differ.

Define what a salesperson may override

Shopify's draft-order overview explains that draft orders can support custom discounts, custom line items, customer-specific pricing, payment terms, deposits, price locks, and checkout customizations. That flexibility is useful because B2B orders often need human judgment. It also creates a larger exception surface.

Build an authority matrix. For each role, define whether the person may change quantity, unit price, discount, shipping charge, payment terms, deposit, due date, tax handling, product eligibility, or fulfillment promise.

Use thresholds that match risk. A small shipping adjustment may need no extra review. A margin exception, a new custom item, a large discount, or a promise against constrained inventory should route to a named approver. Record the approver, reason, old value, new value, and expiry date when the exception is temporary.

Avoid shared admin habits where anyone can change any field because Shopify allows it. Platform permission is not the same as commercial authority.

Decide when the draft becomes a commitment

A draft order moves through several states: requested, assembled, calculated, reviewed, invoiced, paid or placed on terms, converted to an order, released to fulfillment, changed, cancelled, or refunded.

Name the commitment point for each team. Sales may consider the deal committed when the buyer accepts a quote. Finance may consider it committed when credit is approved or payment is captured. Operations may consider it committed only when inventory is reserved and the order is released.

The Shopify developer workflow includes sending an invoice to the company contact and then marking the draft order complete to create the corresponding order. Put controls around both moments:

  • Before invoice: validate identity, products, price, tax, freight, terms, and approval.
  • After invoice but before payment: define who may edit and whether a revised invoice is required.
  • Before completion: confirm payment or credit status and the final total.
  • Before fulfillment release: confirm inventory, routing, delivery promise, and downstream sync.

If those gates are implicit, different teams will act on different versions of the same sale.

Control edits after the invoice is sent

The highest-risk draft order is often the one that changes after the buyer has seen it.

Define which fields remain editable after invoice, what forces a new approval, and how the buyer receives the revised version. Treat changes to price, quantity, tax, shipping, payment terms, deposit, address, or delivery date as versioned commercial events.

Keep the accepted quote or request reference beside the draft-order ID. If an integration recreates or updates drafts, make its writes idempotent so retries do not duplicate lines, discounts, invoices, or fulfillment instructions.

When a change cannot be applied safely to the existing draft, cancel or supersede it with a clear link to the replacement. Do not leave two apparently valid invoices competing for payment.

Connect payment and fulfillment without skipping review

Invoice delivery is not the end of the workflow. The final order needs to reach finance, inventory, the ERP, the 3PL, customer service, analytics, and lifecycle systems with the same commercial context.

Map the handoff:

  • Payment captured, deposit collected, or terms approved.
  • Draft completed and final Shopify order created.
  • Inventory reservation or production allocation confirmed.
  • Fulfillment hold or release set correctly.
  • ERP and accounting records reconciled.
  • Buyer confirmation and internal notifications sent.
  • Klaviyo, support, and reporting events checked for the right customer and company.

Use one owner for exceptions between invoice and fulfillment. A paid order with an invalid address, unavailable product, or missing company-location reference should not bounce between sales and operations while the buyer waits.

Test the workflow with real edge cases

Test more than a clean order for an existing account. Build scenarios that expose the operating boundaries:

  • Two company locations with different catalogs or terms.
  • A buyer contact who should not purchase for every location.
  • A negotiated price that differs from the current catalog.
  • A discount above a rep's approval threshold.
  • A custom line item or unpublished product.
  • A deposit followed by a remaining balance.
  • An invoice edited after the buyer receives it.
  • A payment failure or overdue terms state.
  • A partial shipment, backorder, cancellation, or refund.
  • An integration retry after the draft was already created.

For each scenario, compare the source request, approval record, Shopify draft, invoice, final order, ERP record, fulfillment instruction, and buyer communication. The workflow passes only when those records describe the same commercial decision.

Launch with a draft-order exception queue

Your first operating report should show drafts without a valid company location, drafts using manual prices, discounts above threshold, invoices sent without approval, stale drafts, duplicate drafts, drafts changed after invoice, paid drafts not completed, completed orders not released, and downstream sync failures.

Review the queue daily during launch. Assign each exception to sales, ecommerce, finance, or operations, with a due date and a clear next action. As volume grows, monitor cycle time from request to invoice, revision rate, approval time, payment conversion, order-release delay, and repeated exception types.

The goal is not to remove human judgment from B2B selling. It is to make that judgment visible, controlled, and consistent from the first request to the fulfilled order.

Where Lake House Group fits

Lake House Group treats Shopify B2B draft orders as part of the commerce operating layer. We connect company and catalog design, assisted-sales workflows, pricing authority, payment, ERP and 3PL handoffs, and operational readbacks so a custom order remains trustworthy after the invoice is sent.

If your team is moving wholesale sales into Shopify or replacing email-and-spreadsheet order entry, talk to Lake House Group about Shopify migration and unified Shopify operations.

Related reading:

Frequently asked questions

What is a Shopify B2B draft order?
A Shopify B2B draft order is an order assembled before it becomes a final order. It can carry a company, company contact, and company-location context, then move through calculation, review, invoice, payment or terms, completion, and fulfillment.
What should be checked before sending a B2B draft-order invoice?
Check the purchasing entity, product variants, units, catalog prices, negotiated exceptions, discounts, tax, currency, shipping, payment terms, inventory constraints, approval record, invoice recipient, and final total.
Who should be allowed to edit a Shopify B2B draft order?
Give sales, customer service, finance, and operations only the edit authority their roles require. Define separate thresholds for price, discount, shipping, tax, payment terms, products, and delivery promises, with approval for high-risk exceptions.
How should draft orders connect to ERP and 3PL systems?
Use stable company, location, product, and order identifiers; make integration writes idempotent; preserve approval and price context; and reconcile the Shopify draft, final order, ERP record, fulfillment instruction, and payment state.