Navigation
19.5. Sales Orders: Allocation, Fulfillment, Documents, Drop-Ship, and Invoicing
Sell hardware from stock with AlgaPSA sales orders: soft and hard allocation, fulfillment with serial picking, order confirmation and packing slip documents, drop-ship POs, backorder purchasing, and automatic invoicing.
A sales order is a client's hardware order: the quote made real, reserved against your stock, picked, delivered, and billed. Manage them under Inventory → Sales Orders.
Each order tracks ordered, fulfilled, and invoiced quantities per line against live availability, with the next action right there on the line.
Lifecycle
| Status | Meaning |
|---|---|
| Draft | Being built; can start from an accepted quote |
| Confirmed | Committed — stock is allocated to the order |
| Partially fulfilled / Fulfilled | Deliveries recorded against the lines |
| Invoiced | Every line fully billed; where a completed order rests |
| Closed | Archived and read-only, set administratively |
| Cancelled | Called off — blocked once anything is fulfilled or invoiced |
A confirmed order with no fulfillment yet can be reopened back to draft, and you can release its allocation without changing status if you need to free the stock. Orders carry the client's PO number, ship-to address, and currency — the currency follows the client, so you cannot set it by hand — and each line records its cost at the moment it was added. That snapshot is the basis for margin reporting later. An order that starts from an accepted quote keeps a link back to it (see Client Equipment, Assets, and Quotes).
Allocation: promising stock
Confirming an order reserves stock so it can't be promised twice. Two modes:
- Soft allocation reserves quantities: the stock shows as unavailable to others, but in a pinch another order's fulfillment can still pick it (it is labeled as soft-allocated to someone else).
- Hard allocation holds it firmly: units held for one order are a hard block for every other order.
Either way, Available on the Stock screen drops immediately — on-hand doesn't change until delivery. If there isn't enough stock to allocate, the shortfall becomes a backorder (see below).
Fulfillment
Fulfill line by line as you deliver. For serialized products you pick the exact units — the picker highlights units already allocated to this order, and lets you reach for a unit that is only soft-allocated elsewhere while it labels it as such. A unit hard-held for another order is off limits, so one order cannot poach another's committed stock. On fulfillment:
- Stock is consumed at cost (per-unit cost for serialized, moving average otherwise) — this captured cost is what the Margin report uses as COGS.
- Delivered serialized units are recorded against the client, visible from the client's install base, and — if the product is set to create assets on delivery — automatically become managed Assets with the serial as asset tag and warranty carried over.
- An SO Fulfilled event fires, and low-stock signals trigger if the delivery crossed a reorder threshold.
Order documents
Sales orders generate three client-ready PDFs, rendered through the document designer:
| Document | Use |
|---|---|
| Order Confirmation | What the client ordered, at what price — can be emailed to the client directly, with the PDF attached |
| Packing Slip | Goes in the box |
| Pick List | What the warehouse pulls, from where |
Each type has its own layout, customizable in the document designer — reach it from Document Layouts in the Inventory navigation, or Manage layouts on the Sales Orders screen. You can give specific clients their own template overrides; resolution is per-client override first, then your tenant default, then the built-in standard layout.
Drop-ship
For lines you never want to touch, use drop-ship: AlgaPSA creates a linked purchase order — opened straight to the vendor, with no draft step — that ships from your vendor directly to the client. When the vendor confirms shipment, the receipt and the delivery are recorded in one step — the stock never appears in your on-hand counts, but the client's equipment records and your margins stay correct.
Backorders → purchase orders
When confirmed orders exceed available stock, the shortfall can be turned into purchasing in one step: AlgaPSA groups the missing quantities by each product's preferred vendor and creates one draft PO per vendor, costed from the vendor's price list. Products with no preferred vendor are listed out for you to order manually. Draft POs are never auto-sent — you review and submit them.
Invoicing
Two modes per order:
- On fulfillment: each delivery is billed automatically onto the client's open draft invoice — quantities append to the same draft rather than creating a pile of invoices, and finalized invoices are never touched.
- Manual: bill the order explicitly with Generate invoice when you're ready.
Invoice lines stay linked back to the sales order lines, and the client's configured tax settings apply. Once every line is fully billed, the order shows Invoiced.
