Skip to main content

Create a sales order

A sales order records what a customer is buying from you and tracks it from the order through fulfillment, payment, and close. Creating one is a two-part flow:

  1. Open a draft — pick the customer, order date, store, and currency.
  2. Add the products the customer is buying as line items.

This guide covers creating an order by hand, creating a customer or currency inline without leaving the dialog, and duplicating an existing order.

A few terms used on this page
  • Draft — a new order that's fully editable and hasn't committed any stock yet. Nothing is reserved or fulfilled until you approve it.
  • Walk-in order — an order with no saved customer attached (a counter sale, for example). SKU.io allows this.
  • Pricing tier — the price list assigned to a customer. It carries a currency, which the order can inherit.
  • Sales rep — the team member credited with the order. A customer can have a default that new orders inherit.

Before you begin

To create a sales order you need a few things in place:

RequirementWhy it's needed
Create sales orders permission (sales_orders.create)The Add Sales Order button only appears when you have it. (Duplicating an order is a separate permission — see Duplicate a sales order.)
A default currency configuredEvery order needs a currency. New orders default to your default currency; a customer's pricing tier can switch it.
(Optional) A customer recordSelecting one auto-fills the store, currency, addresses, shipping method, and sales rep. You can create one inline, or leave it blank for a walk-in order.
(Optional) A storeAttributes the order to a store. New orders pre-fill the default store from your sales-order settings.
tip

The examples below use SO-DOCS-0001 (customer Blue Bottle Retail, store Main Store, warehouse Main Warehouse) so you can follow along.

Create a sales order

The New Sales Order dialog captures only the order header — customer, date, store, and currency. You add products afterward on the order's own page.

  1. Go to Orders → Sales Orders.
  2. Click Add Sales Order in the top-right of the toolbar. The New Sales Order dialog opens on the Enter Manually tab.
  3. In Customer, search for and select the customer — for example, Blue Bottle Retail. To record a walk-in sale instead, leave this blank.
  4. Set the Order Date. It defaults to today; change it only if you're backdating the order.
  5. Choose the Store — for example, Main Store.
  6. Confirm the Currency. It defaults to your default currency and switches to the customer's pricing-tier currency when one is set. To bill in a currency you haven't added yet, add it inline.
  7. Click Create Draft.

What you'll see: SKU.io creates the order and opens it. The new order is a Draft, and its order number is generated automatically from the next sequence (for example, SO-DOCS-0001) — you don't enter one. It starts with these statuses, which move independently as the order progresses:

Status axisValue on a new draftMeaning
OrderDraftFully editable; no stock committed and not yet in the fulfillment pipeline.
FulfillmentUnfulfilledNothing has shipped.
PaymentUnpaidNo payment recorded.

To learn how these three axes are derived and why they move on their own, see How sales order status works.

An order dated today is stamped with the current time

The Order Date field is a date picker with no time, so a date on its own casts to midnight. When you leave the date at today's default, SKU.io stamps the order with the actual current time instead, so it reads correctly for carriers and stores in negative-offset time zones. A deliberately back- or forward-dated order keeps the exact date you chose.

Save the order as a quote

On a phone, the dialog also offers a Quote button next to Create Draft, which creates the order as a quote rather than a live draft. See Convert between orders and quotes for how quotes convert to orders.

Let the customer fill in the order details

When you select a saved customer, SKU.io copies that customer's defaults onto the new order so you don't retype them. These values are snapshotted at creation — editing the customer record later does not rewrite orders you've already placed, which keeps historical orders accurate.

Auto-filled from the customerNotes
StoreThe customer's default store overrides the site default.
CurrencyInferred from the customer's default pricing tier when it sets one.
Shipping and billing addressesThe customer's default addresses become the order's ship-to and bill-to.
Shipping methodThe customer's default domestic shipping method.
Sales repThe customer's default sales rep — but an auto-inherited rep never overrides a rep you've already set on the order.

You can change any of these afterward on the order's detail page. See View and edit a sales order to change the customer, addresses, ship-to override, or shipping method after the order exists.

What isn't part of the snapshot

A customer's tax-exempt status, house-account setting, and credit limit stay on the customer record — they aren't copied onto the order header the way the fields above are. Tax-exempt status is read where it applies (for example, at the point of sale — see Sell at the point of sale), not stored as an editable field on each order.

Walk-in and unsaved customers

Leaving Customer blank creates a valid order with no linked customer. You can still enter one-off contact and address details on the order itself, so counter sales and one-time buyers don't need a saved customer record.

Add a currency inline

If the customer bills in a currency you haven't set up, add it without leaving the dialog:

  1. In the Currency field, click the + icon.
  2. In the Add Currency dialog, search Select Currency and pick the currency. Currencies you've already added appear disabled with an Already added label.
  3. Enter the Conversion to Default rate (how much one unit of your default currency is worth in the new currency).
  4. Click Add.

What you'll see: the new currency is added and selected on the order.

Create a customer inline

You can also create a new customer without leaving the create flow:

  1. In the Customer field, type the new customer's name.
  2. Click Create new customer in the results. The Create Customer dialog opens.
  3. Enter the Name (required), and optionally Company, Email, and Phone.
  4. (Optional) Click Add Address to record a first address. Choose whether it's the Shipping address, the Billing address, or both, then fill in the address fields. You can add a separate second address when shipping and billing differ.
  5. Click Create Customer.

What you'll see: the customer is created, selected on the order, and its defaults are loaded exactly as if you'd picked an existing customer.

Keep at least one address role checked

When you add an inline address, at least one of Shipping or Billing must stay checked. Unchecking both re-checks the other automatically — an address has to serve at least one role.

Adding a sales rep or shipping method inline

The create dialog itself only creates customers and currencies inline. To create a new sales rep or shipping method on the fly, do it while editing the order on its detail page — see View and edit a sales order.

Add products to the draft

A new draft opens with no line items. On the order's page, add what the customer is buying — inline, from a dialog, or by pasting or importing a list. Adding, editing, mapping, and reclassifying lines are covered in Manage order lines. To apply discounts or add shipping and handling charges, see Add discounts and charges.

When the order is ready, approve it to commit stock and enter the fulfillment pipeline — see Approve, reserve, and allocate stock.

Import instead of keying an order by hand

The New Sales Order dialog's Import from PDF tab reads a customer's purchase-order PDF and drafts an order from it. To bring in many orders at once from a spreadsheet, use the CSV importer on the list page. Both are covered in Import sales orders.

Duplicate a sales order

When a new order closely matches one you've placed before — same customer, same products — duplicate the existing order instead of rebuilding it. Duplicating requires the Update permission (sales_orders.update) — the edit permission that also gates changing and archiving an order, not the create permission. On the order's page the Duplicate item appears only when you hold it; in the list the row action always shows, but the copy is created only if you have the permission. See Permissions reference.

From the order's page:

  1. Open the sales order you want to copy, for example SO-DOCS-0001.
  2. Click More near the top-right of the page.
  3. Under Actions, click Duplicate.

From the list:

  1. On Orders → Sales Orders, open the row's actions menu.
  2. Click Duplicate, then confirm in the Duplicate Sales Order prompt.

What you'll see: SKU.io creates a copy and opens it. The duplicate carries over the customer, addresses, currency, and every line item, and starts fresh as a Draft with a new order number.

None of the original's progress carries over

Only the order details are copied. The copy starts Draft / Unfulfilled / Unpaid: approvals, allocations, fulfillments, payments, and reservations all reset to zero — so a copy of a shipped, paid order is an empty draft again. Review the copied lines before you approve it.

A duplicated channel order becomes a local order

Duplicating strips the link back to the original marketplace order — the channel line IDs and listing links are dropped and the copy is created on your local channel. The duplicate is an ordinary in-house order you build and fulfill like any other, not a mirror of the channel order.

Next steps

Video transcript

To create a sales order, go to Orders, Sales Orders, and click Add Sales Order. The New Sales Order dialog captures only the order header, and opens on your default store and currency. Search for the customer — here, Blue Bottle Retail — and SKU copies in their addresses and other defaults. Confirm the order date, then click Create Draft. The order opens as a fully editable draft, with its number generated for you. It starts Unfulfilled and Unpaid, and commits no stock yet. The customer's details are copied onto the order, so later edits to the customer record don't change it. From here, add the products the customer is buying as line items, then approve the order when it's ready.

Last verified: