Sales Orders

From quotation to delivery — every step tracked, every change audited.

View Pricing

Key Capabilities

A complete order lifecycle that connects your sales team to your warehouse and your books.

Quotation → Confirmation

Create quotes, email them to customers with a unique confirmation link. Customers click to confirm — the order locks price, exchange rate, and moves to fulfillment.

Warehouse Integration

Confirmed orders automatically create stock pickings for your warehouse team. Delivery status updates in real time as items are picked, packed, and shipped.

Backorder Support

When you can't ship everything at once, the system creates a backorder automatically — numbered SO-YYYY-NNNN-B1, B2, etc. Nothing falls through the cracks.

Immutable Audit Trail

Every state change — draft, quoted, confirmed, shipped, done, cancelled — is logged with the user, timestamp, and before/after details. No edits without a trace.

How It Works

1
Create & Quote

Build the order with product lines, quantities, prices, and discounts. Set validity period and payment terms. Send the quotation via email with a confirmation link.

2
Confirm & Reserve

Customer confirms (via email link or you confirm manually). Exchange rate locks. Stock picking is created automatically for your warehouse.

3
Ship & Invoice

Warehouse fulfills the picking. Delivery status updates on the order. Create the invoice from delivered quantities — partial invoicing supported.


Order confirmation email screenshot

Customer Self-Confirmation

When you send a quotation, the system generates a unique UUID token with a 3-day expiry. The customer receives an email with a confirmation link — one click moves the order from quotation to confirmed. No login required.

  • UUID token with configurable expiry (default 3 days)
  • Public confirmation page — no login needed
  • Exchange rate and prices lock at confirmation time
  • Automatic stock picking creation on confirmation
  • Email template customizable per company

Order status tracking screenshot

Delivery & Invoice Status Tracking

Each order tracks two independent statuses: delivery (nothing → partial → full) and invoicing (nothing → partial → full). This lets you handle split shipments, partial invoicing, and prepayments without losing track.

  • qty_delivered updated automatically when picking is done
  • qty_invoiced updated when invoice is created from order
  • qty_to_deliver and qty_to_invoice computed in real time
  • Backorders auto-numbered: SO-YYYY-NNNN-B1, B2, etc.

Multi-currency order screenshot

Multi-Currency Orders

Create orders in any currency. The exchange rate is fetched automatically and locked at confirmation — protecting both you and your customer from rate fluctuations between quoting and delivery.

  • Order currency independent from company home currency
  • Exchange rate fetched from Frankfurter API
  • Rate locked at confirmation — not at invoice time
  • Journal entries record both foreign and home currency
Works Seamlessly With
Inventory Invoicing Accounting Customers Field Sales

Never Lose Track of an Order

See how ToolHub connects your sales pipeline to your warehouse floor — with full audit trail and zero manual data entry.

See Pricing