Solavel Docs

Sales Orders

Last updated

A sales order tells the warehouse what to send to a customer. In SolaStock it is the starting point of fulfillment: you confirm it, reserve stock for it, optionally pick and pack it, and ship it. Only the shipment takes stock out of the warehouse.

Sales orders are fulfillment documents only. The list says: "Fulfillment documents only — SolaStock reserves and ships stock. Invoices and accounting remain in SolaCount." Prices, discounts and tax on the order are there so the warehouse and the customer see the order value. They do not create an invoice, a receivable or a journal entry.

Who uses it: sales coordinators create and confirm orders; warehouse staff reserve, pick, pack and ship them.

Where to find it

Screen How to open it URL
Sales order list Sidebar Sales / Fulfillment → Sales Orders /inventory/sales-orders
New sales order New sales order (top-right of the list) /inventory/sales-orders/new
Sales order detail Click an order number in the list /inventory/sales-orders/{id}
Edit a draft Edit (top-right of a draft order) /inventory/sales-orders/{id}/edit

You see the menu item when your plan includes sales fulfillment and your role has View sales orders & fulfillment. A feature your plan does not include shows "This SolaStock feature is not available for the current plan or entitlement state."

You only see orders for warehouses you are assigned to (see Permissions).

The fulfillment flow at a glance

  1. Create the order and Confirm it.
  2. Reserve stock so the quantities are held for this customer.
  3. Optional: Create pick list, record picks, Mark picked (Picking).
  4. Optional: Create pack, record packages, Mark packed (Packing).
  5. Create shipment, complete lot/serial selection, Post shipment (Shipments). Stock goes OUT here.
  6. If goods come back, record a Sales Return from the shipment.

An invoice that the accountant sends from SolaCount arrives as a Fulfillment Request; approving it creates and confirms the order for you, and you carry on from step 2. A cash sale arrives on Cash Sale Dispatch and does not need an order.

Picking and packing never move stock. You can create a shipment straight from a reserved order.

Screen tour

The sales order list

The page title is Sales Orders, with New sales order on the right of the header and the fulfillment note under it.

Column Meaning
Order # The order number, for example SO-000031. Click it to open the order.
Customer The customer's name (the order's own name if no customer record is linked).
Date The order date.
Warehouse The shipping warehouse.
Status The order status (see Statuses and lifecycle).
Total The order total including tax.

The newest orders are listed first. The list shows the 50 most recent orders. There is no search, filter, bulk action or export on this list.

Empty state: No sales orders — "Create a sales order to reserve, pick, pack, and ship stock."

A Sample data badge next to the title means no organization is selected and example rows are shown.

The sales order detail page

From top to bottom:

Area What it shows
Header Order number and status badge. Edit on the right, for drafts only.
Progress stepper Five steps: Confirmed, Reserved, Picked, Packed, Shipped. Finished steps are marked done and the current step is highlighted. A cancelled order shows every step as cancelled.
Summary panel Customer, Subtotal, Discount, Tax, Total, Order date, Requested ship date, Warehouse, Reservation, Progress and Notes.
Tabs Lines and Reservations.
Action bar (under the tabs) The buttons the order's status allows (see Actions by status).
Footer note "Shipping posts stock OUT through the canonical ledger and records a shipment.posted outbox event for SolaCount. No invoice or journal entry is created here."

Reservation in the summary shows None, Fully reserved, or Partial (reserved/ordered), for example "Partial (30/50)". Hover it to see "30 of 50 reserved".

Progress shows Picked, Packed and Shipped with quantities against the ordered total, for example "Picked 50 / 50".

Lines tab

Column Meaning
Item Item name and SKU.
Ordered Ordered quantity. If you ordered in another unit it reads, for example, "2 CTN (48 base)".
Reserved Quantity currently held for the order.
Picked Quantity confirmed on a finished pick list.
Packed Quantity confirmed on a finished pack.
Shipped Quantity shipped by posted shipments.
Unit price Price per ordered unit.
Discount Line discount amount.
Tax Line tax amount.
Total Line total after discount and tax.

Reservations tab

The tab has two parts:

  1. Reservation options used by the next Reserve stock: Expires at (date and time, optional) and Priority (1 to 999, default 100). For each serial-tracked line still to reserve you also see "SKU · Select n serial number(s)" with a serial selector.

  2. Reservation list:

    Column Meaning
    Item Item name and SKU.
    Warehouse Where the stock is held.
    Quantity Reserved quantity, with the serial number for serial items.
    Priority The priority set when reserving.
    Expires The expiry time, or — if none.
    Status Active, Released or Expired.

    Empty state: No reservations — "Confirmed orders can reserve available stock."

Create a sales order

  1. Go to Sales / Fulfillment → Sales Orders and click New sales order.

  2. Fill in the header:

    Field Required Rules / defaults Notes
    Transaction currency Marked required Lists your enabled currencies; defaults to your base currency. Three-letter code. The currency of the prices on this order.
    Order number Marked required, but leave it blank A new order always gets the next number in the SO-000001 series when you save. You can change the number later by editing the draft (up to 50 characters, unique).
    Customer No Lists active customers as "Code · Name". See Customers.
    Customer name No Placeholder "Optional override". If blank, the customer's name is used. Use it when this order must show a different name, or when you have no customer record.
    Warehouse Yes Only warehouses you are assigned to work. The warehouse that reserves and ships the stock.
    Order date No Defaults to today in your own calendar day.
    Requested ship date No Shown on the order for planning.
    Notes No Shown on the order.
  3. Add lines under Lines. Click + Add line for more rows, and × to remove one.

    Column Required Rules / defaults Notes
    Item Yes Lists active items as "SKU · Name". Only inventory items can be reserved and shipped. A service or non-inventory item is refused when stock moves. Items whose Available for sale box is unticked are not offered; saving or confirming a line with one is refused: "This item is not available for sale. Enable Available for sale in item settings to use it on a new sale."
    Ordered quantity Yes Greater than zero. Lines without an item or quantity are dropped when you save.
    Unit No Blank = the item's base unit. If you choose another unit, the item needs a conversion to its base unit.
    Unit price No 0 or more. Blank = 0. Price per chosen unit.
    Discount % No 0 to 100.
    Tax No Active sales taxes from Settings → Tax administration, shown as "VAT5 · 5%" or by treatment (zero, exempt). New lines start with your Default sales tax. No tax leaves the line without a tax code (see Tips).
    Line total — Calculated: (quantity × price − discount) + tax.
  4. Click Save draft. You see "Sales order created." and the order opens with status Draft.

Click Cancel to leave without saving.

Totals on the order

Total How it is calculated
Subtotal Sum of quantity × unit price, before discounts.
Discount Sum of line discounts (gross × Discount % ÷ 100).
Tax Sum of line tax, calculated on the line after discount.
Total Subtotal − Discount + Tax.

If saving fails

Message Cause Fix
"Add at least one line with an ordered quantity." No line has both an item and a quantity. Fill in at least one line.
"You are not assigned to this warehouse." The warehouse is outside your assignments. Choose one of your warehouses, or ask an owner to assign you in Team access.
Highlighted field (for example Warehouse) A required value is missing or invalid. Correct it and save again.
"Save failed." Any other failure. Check the message and try again.

Edit a draft

  1. Open a Draft order and click Edit (top-right).
  2. Change header fields or lines. You can also change Order number here.
  3. Click Save draft. You see "Draft updated."

Only drafts can be edited. Opening the edit page of a confirmed order sends you back to the order with "Only draft sales orders can be edited."

Confirm an order

  1. Open the draft and click Confirm in the action bar.
  2. The dialog Confirm sales order says: "This confirms the sales order for fulfillment under the existing stock and permission checks." Click Confirm sales order.
  3. You see "Sales order confirmed." The status becomes Confirmed and the stepper marks Confirmed.

Confirming does not hold stock. Reserve it next.

When SolaStock is connected to SolaCount, confirming checks that the order's customer, items, units, warehouse and tax codes are matched to SolaCount. If something is missing, confirming is refused with a mapping review message. Finish the matching on the SolaCount integration page and try again (SolaCount integration).

Reserve stock

  1. Open a Confirmed (or Partially reserved) order and click the Reservations tab.
  2. Optional: set Expires at to release the hold automatically at that time, and a Priority from 1 to 999.
  3. For each serial-tracked line, select exactly the number of serial numbers shown in "Select n serial number(s)".
  4. Click Reserve stock in the action bar. You see "Stock reserved."

What happens:

  • SolaStock holds available stock in the order's warehouse for each line still short. For lot-tracked items it takes the lots with the earliest expiry first.
  • The status becomes Reserved when every line is fully reserved, Partially reserved when only some stock was available, and stays Confirmed when nothing could be reserved.
  • Reserved stock is no longer available to other orders or documents. You see it as reserved quantity in Current Stock and in the Reservation Report (Reports).
  • Click Reserve stock again after more stock arrives. Only the missing quantities are reserved.

If the serial count does not match, you see "Select exactly n serial(s) for SKU."

A reservation whose Expires at time has passed is shown as Expired the next time you open the order, and its stock is free again.

Release a reservation

  1. Open a Reserved or Partially reserved order.
  2. Click Release reservation. You see "Reservation released."

All active reservations of the order are released, every line's Reserved goes back to 0, and the status returns to Confirmed. There is no confirmation dialog.

Create a pick list or shipment

Button Shown when Result
Create pick list Reserved or Partially reserved "Pick list created." The pick list PICK-<order number> opens. See Picking.
Create shipment Reserved, Partially reserved, Partially picked, Picked, Packing, Packed or Partially shipped "Draft shipment created — review it, then post it to ship." The draft shipment SHIP-<order number> opens. See Shipments.

If everything has already shipped, Create shipment shows "Nothing remains to ship for this order."

Cancel an order

  1. Open the order and click Cancel order (red, in the action bar). It is shown for every status except Draft, Shipped and Cancelled.
  2. The dialog Cancel sales order says: "This cancels the selected sales order under the existing fulfillment and reservation rules." Click Cancel sales order.
  3. You see "Sales order cancelled."

Cancelling releases all of the order's reservations. It does not undo posted shipments, and it does not cancel pick lists, packs or draft shipments already created. A draft order has no cancel button; just leave it as a draft.

Statuses and lifecycle

Status Meaning Set by
Draft Being prepared. Editable. Saving a new order.
Confirmed Accepted for fulfillment. No stock held. Confirm, Release reservation, or a reservation that found no stock.
Partially reserved Some lines or quantities reserved. Reserve stock with too little stock.
Reserved Every line fully reserved. Reserve stock.
Partially picked A pick list was finished but not every line was picked in full. Mark picked on a pick list.
Picked Every line picked in full. Mark picked.
Packing A pack was finished but not every line was packed in full. Mark packed on a pack.
Packed Every line packed in full. Mark packed.
Partially shipped Some quantities shipped. Posting a shipment.
Shipped Every line shipped in full. Posting a shipment.
Cancelled Cancelled; reservations released. Cancel order.

Actions by status

Status Buttons
Draft Edit (header), Confirm
Confirmed Reserve stock, Cancel order
Partially reserved Reserve stock, Release reservation, Create pick list, Create shipment, Cancel order
Reserved Release reservation, Create pick list, Create shipment, Cancel order
Partially picked, Picked, Packing, Packed Create shipment, Cancel order
Partially shipped Create shipment, Cancel order
Shipped, Cancelled None (view only)

Each button is greyed out if your role lacks the permission behind it.

Permissions

Role View Create, edit, confirm, cancel Reserve / release Create pick list Create shipment
Organization Owner All warehouses Yes Yes Yes Yes
SolaStock Administrator All warehouses Yes Yes Yes Yes
Inventory Manager (scoped) Assigned warehouses No Yes Yes Yes
Warehouse Manager (scoped) Assigned warehouses No Yes Yes Yes
Warehouse Operator (scoped) Assigned warehouses No Yes Yes Yes
Inventory Viewer (scoped) Assigned warehouses No No No No

Custom roles can combine the individual permissions: View sales orders & fulfillment, Create / edit / confirm / cancel sales orders, Reserve / release stock for sales orders, Create pick lists & record picks and Create & post shipments (stock OUT).

Warehouse scope is enforced by the server:

  • Orders for warehouses you are not assigned to are not listed and cannot be opened, reserved, picked or shipped.
  • Choosing such a warehouse on a new order is refused with "You are not assigned to this warehouse."
  • A refused action shows "You do not have permission for this action."

Confirmations and "Status not confirmed"

Confirm and Cancel order always ask for confirmation. If the connection drops while an action runs you may see Status not confirmed — "We could not confirm whether the change completed. Check the current status before submitting again." Click Check current status and look at the order's status and the Reservations tab before you try again, so you do not reserve or ship twice.

Worked examples

Al Noor Trading LLC sells bottled water and handheld scanners from its Dubai Main warehouse. Sara Khan enters orders; Omar Haddad (Warehouse Operator, assigned to Dubai Main) fulfills them.

Example 1: a quick order shipped straight from reservation

  1. Sara clicks New sales order: Customer CUS-GULFSTAR · Gulf Star Supermarkets LLC, Warehouse DXB · Dubai Main, Requested ship date 8 Oct 2026.
  2. Line: Water 500ml x24, Ordered quantity 50, Unit price 25.00, Discount % 0, Tax VAT5 · 5%. Line total 1,312.50.
  3. Save draft → SO-000031, Draft. Subtotal AED 1,250.00, Discount 0.00, Tax 62.50, Total 1,312.50.
  4. Confirm → Confirm sales order → "Sales order confirmed."
  5. Omar opens the order, clicks Reserve stock → "Stock reserved." Dubai Main had 180 cartons, so the order is Reserved and Reservation reads Fully reserved.
  6. Omar clicks Create shipment, types the ship-to address and posts it (Shipments). The order is Shipped and the Lines tab shows Shipped 50. Dubai Main drops from 180 to 130 cartons.

Example 2: partial reservation, discount, pick and pack

  1. Sara creates SO-000032 for Gulf Star from Dubai Main with two lines:

    Item Qty Unit price Discount % Tax Line total
    Water 500ml x24 120 25.00 10 VAT5 · 5% 2,835.00
    Barcode Scanner BS-200 (serial) 2 450.00 0 VAT5 · 5% 945.00

    Totals: Subtotal 3,900.00, Discount 300.00, Tax 180.00, Total 3,780.00. She saves and confirms it.

  2. Dubai Main has 80 cartons of water. On Reservations, Omar sets Priority 50 and Expires at 10 Oct 2026 17:00, selects serials BS200-0091 and BS200-0092, and clicks Reserve stock. Result: water 80 of 120 reserved, scanners 2 of 2. Status Partially reserved, Reservation "Partial (82/122)".

  3. A transfer brings 60 more cartons into Dubai Main. Omar clicks Reserve stock again; the extra 40 cartons are reserved. Status Reserved, Fully reserved.

  4. Omar clicks Create pick list (PICK-SO-000032), picks everything and marks it picked. The order is Picked, Progress "Picked 122 / 122".

  5. He creates the pack, packs everything and marks it packed. The order is Packed.

  6. He clicks Create shipment, selects the two serials, posts it. The order is Shipped; the stepper shows all five steps done.

  7. In SolaCount, Sara creates the invoice for AED 3,780.00 and links it to the shipment with Review shipment link (SolaCount invoices).

How it connects

Where What happens
Customers Source of the Customer picker and the customer name.
Current Stock Reservations raise reserved quantity and lower available quantity. Nothing moves on hand until a shipment posts.
Picking, Packing Created from the order. Finishing them updates the order's Picked/Packed quantities and status.
Shipments Created from the order. Posting releases the reservations, moves stock out and updates Shipped and status.
Reports The Reservation Report lists active reservations.
SolaCount When connected, confirming an order and reserving or releasing stock are recorded as integration events (Sales order confirmed, Stock reserved, Stock reservation released). No journal is posted for them. Invoices are created in SolaCount. See SolaCount integration.

Tips and common problems

Problem Cause Fix
The number I typed was replaced by SO-… New orders always get a server-issued number. Edit the draft to change the number if you really need to.
Reserve stock is missing The order is a draft, already fully reserved, or past reservation (picked, packed, shipping). Confirm a draft first.
The order stays Partially reserved or Confirmed after reserving Not enough available stock in the order's warehouse (stock held by other orders does not count). Receive or transfer stock, then click Reserve stock again.
"Select exactly n serial(s) for SKU." The serial selection on the Reservations tab does not match the quantity still to reserve. Select exactly that many serials.
Create pick list is missing The order is not reserved. Click Reserve stock first.
A line has tax although I chose No tax With no tax code on the line, the item's own tax code is used if it has one. Pick an explicit zero-rated or exempt tax instead.
A service item cannot be shipped Service and non-inventory items never move stock. Bill services in SolaCount instead of on the sales order.
Confirm or reserve says a mapping review is required SolaStock is connected to SolaCount and a customer, item, unit, warehouse or tax code is not matched. Finish matching on the SolaCount integration page.
I can't find an order a colleague mentioned It belongs to a warehouse you are not assigned to, or it is older than the 50 most recent. Ask an owner to check your warehouse assignments.
No invoice appeared SolaStock never invoices. Create the invoice in SolaCount and link it to the shipment, or let the accountant send the invoice first as a Fulfillment Request.
"Invoice INV-… will fulfil this sales order. Approve its SolaCount request before shipping, so the goods are not billed twice." The accountant linked an invoice to this open order. Approve the request on Fulfillment Requests, then ship from the order.
"Confirm the sales order before dispatching its remaining quantities." / "The shipment quantity exceeds the quantity remaining on this sales order." The order belongs to a request and cannot ship what is not open. Refresh the order and enter the actual remaining quantity.
An item is missing from the item picker It is inactive, not an inventory item, or Available for sale is unticked. Edit the item; see Items.

Related