Sales orders, deliveries and invoices that move in one flow
Sales order management software for B2B traders: turn customer POs into orders, reserve stock, dispatch in part or in full, then invoice what was delivered.
In short
1flux is sales order management software for B2B trading and distribution companies. A customer PO becomes an order request, then a sales order with the quotation's lines, discounts, VAT and shipping carried over. Activating the order reserves its stock, the warehouse picks and dispatches in part or in full, and finance invoices only what was delivered. Every delivery note, invoice and customer payment posts its own journal, and one board shows where each order stands.
View as text
- Harbourline Contracting LLC's purchase order, PO 7741, arrives with the accepted quotation and waits in Order request.
- Operations create sales order SO-2026-0042 and activate it, which reserves the stock. The card moves to Sales order, at To pick.
- The warehouse dispatches all 10 items. The delivery note posts cost of goods sold, and the card moves to Delivery note.
- Finance posts the sales invoice for the delivered quantities. The card moves to Sales invoice with AED 63,000.00 due.
- The customer payment is recorded against the invoice, and the order reaches Payment completed. Nobody dragged the card: each document moved it.
What should sales order management software fix?
Order problems in a trading company tend to start in the hand-offs between “yes” and “paid”.
“The customer's PO was in someone's inbox. Operations started without it.”
“Sales promised next week. The warehouse didn't have the stock.”
“We shipped 40 of 50 and invoiced all 50.”
“The storekeeper can see our prices on the pick list.”
“Nobody can tell me which delivered orders haven't been invoiced.”
“The aging report doesn't match the ledger.”
In 1flux, every step is a document, and every document hands off to the next. Sales, the warehouse and finance work on the same order, and each person sees what their job needs.
Every customer PO lands in one inbox
1flux collects customer purchase orders in Order requests, the operations inbox of “Customer POs waiting to become sales orders”.
- From a won quotation: the salesperson attaches the customer PO to the accepted quote and chooses Send to operations.
- Without a quotation: Record a customer PO captures a PO that arrived by email or by hand, with the customer, PO number, date, file and salesperson.
- Paperwork first: the PO number, date and file are all required, and the PO date must fall between 30 days ago and a year ahead.
- Clear outcomes: requests are Awaiting order, Converted or Declined. A decline needs a reason, which the salesperson sees on the quotation.
- No duplicates from re-issued quotes: each quotation revision chain can have only one live request.
See how quotes get here in 1flux Quotations.
- Quotation (QT-2026-00118): Accepted.
- Attach customer PO (Number, date and file).
- Order request (Send to operations): Awaiting order.
- Sales order (SO-2026-0042).
Create the sales order without retyping the quote
Create sales order on a request copies what the customer agreed to.
- Lines, units, discounts, VAT and shipping carry over. Selling units convert to the inventory unit, for example boxes to pieces.
- The quotation’s document discount is spread across lines before VAT, so VAT is charged on the discounted amount. If VAT or the total ends up different from the quotation, 1flux warns you.
- Lines typed on the quote without a catalogue item are flagged for you to match before saving.
You can also create orders directly. Choosing the customer fills in currency, credit days, salesperson and the delivery address, which follows the Saudi National Address structure of building number, street, district, city, region and postal code where it applies.
- 1flux warns about a possible duplicate when recent orders for the same customer look similar.
- Custom fields on sales orders can be made required.
- Creating an order needs the customer PO number and date, credit days and a Fulfil from warehouse. Numbering runs per company per year, for example
SO-2026-0042.
New sales order
From customer PO 7741 · Harbourline Contracting LLC
| Item | Qty | VAT |
|---|---|---|
| Chilled water pump, 15 kW | 4 Pcs | 5% |
| Pressure vessel, 300 L | 4 Pcs | 5% |
| Control panel with VFD | 2 Pcs | 5% |
- Net
- 59,520.00
- VAT
- 2,976.00
- Total
- AED 62,496.00
How does 1flux keep payment terms where they were agreed?
1flux enforces a maximum number of credit days per customer on every sales order. An order with longer terms is refused unless the user holds the Override customer credit days permission, and the form tells each person which rule applies to them.
Without the permission
Can't exceed the customer's credit-day limit
An order with more credit days than the customer’s cap is refused: “Credit days cannot exceed {customer}’s limit of N.”
With the override permission
You may go beyond the customer's credit-day limit
People who hold Override customer credit days can give an order longer terms than the customer’s cap.
- Credit basis: count credit days from the invoice date, the delivery date or the month-end statement date.
- Due dates follow: each invoice’s due date comes from the order’s credit days and the customer’s basis.
Activate the order and reserve its stock
Activation is the moment operations release an order to the warehouse. Activate and reserve stock reserves each line’s outstanding quantity in the order’s warehouse and puts the order on the warehouse board.
- Promises you can see: items show on hand, reserved and available per warehouse, so sales knows what’s already committed. That’s stock reservation feeding available to promise.
- Protected stock: reserved quantities can’t be moved out by a transfer.
- Hold with a reason: Put order on hold releases the reservation and takes the order off the board. Every activation and hold is logged with its reason.
- Buy for the order: a “Customer demand” requisition links to the sales order and copies its open lines. See purchase requisitions.
- Sales order (SO-2026-0042): Awaiting activation.
- Activate and reserve stock (Reason logged).
- Stock reserved (Transfers can’t move it).
- Warehouse board (Ready to pick): To pick.
An order-to-cash board that moves only when documents do
1flux shows every order on one board with five columns. Cards can't be dragged; an order moves when the real document exists, so the board agrees with the warehouse and the ledger.
- Order request (Customer PO attached) . Nothing posts.
- Sales order (Order confirmed) . Nothing posts.
- Delivery note (Any delivery) . Posts Dr COGS , Cr Inventory.
- Sales invoice (Invoice posted) . Posts Dr AR , Cr Revenue, VAT.
- Payment completed (Delivered, invoiced, paid) . Posts Dr Bank , Cr AR.
- Sub-state badges: Draft, Awaiting activation, On hold, To pick, Picking, Ready to dispatch, Part delivered · to pick.
- Progress meters: Delivered x/y and Invoiced on every card.
- Late warnings: SLA at risk, SLA breached and Delivery overdue. Stage SLAs and notify or create-task automations are set in Settings → Workflows → Sales orders.
- Next-step buttons: from Create sales order to Record payment, shown only to people allowed to take that step.
Give the warehouse a pick list, not a price list
1flux gives storekeepers their own board with three columns: To pick → Picking → Ready to dispatch. It shows quantities and delivery details only. Prices, totals and credit terms are removed on the server, so they never reach the warehouse screen.
- Flags: Waiting over 24 hours, Short of stock, Part delivered and Due today.
- One-click moves: Start picking, then Confirm all picked.
- Filter by warehouse, search by order, item or destination, and switch to Full screen for a wall display.
- The Warehouse overview opens on what needs action: late picks, shortages, part-delivered orders and dispatches due today.
Read more about multi-warehouse stock, picking and dispatch.
Warehouse board
Pick, check and dispatch customer orders. The board shows quantities and delivery details only.
How does 1flux handle partial deliveries?
1flux lets you dispatch part of an order and keep the rest open. The storekeeper enters a quantity per line, the vehicle number and the driver name, then chooses Dispatch goods.
- Each dispatch creates its own delivery note.
- In the same step, stock goes down, the reservation is released and cost of goods sold posts at your costing method.
- The rest of the order returns to To pick as Part delivered · to pick.
- Dispatch is blocked if there isn’t enough stock.
- The delivery note prints without prices.
- Sales order (40 items ordered) . Nothing posts.
- Delivery note (24 dispatched) . Posts Dr COGS , Cr Inventory.
- Back to To pick (16 remaining): Part delivered · to pick . Nothing posts.
- Delivery note (16 dispatched) . Posts Dr COGS , Cr Inventory.
Invoice exactly what was delivered
1flux raises sales invoices from delivered quantities, so you bill what actually left the warehouse. Finance works from the Ready to invoice list or the Create invoice button on the board.
- What can be invoiced: stock lines up to the delivered quantity; service lines up to the ordered quantity, without a delivery.
- Partial invoicing: several invoices per order. The last one takes any rounding remainder, so the invoices add up exactly to the order.
- VAT per line at the rate valid on the invoice date, and foreign currency with the exchange rate on or before the invoice date stored on the invoice.
- Due date from the order’s credit days and the customer’s credit basis.
- Statuses: Posted, unpaid · Partially paid · Paid · Overdue · Void.
- Safe to post: a double-click can’t create a second invoice. Voiding needs a reason and posts a full mirror journal.
- Clear blockers: if a posting account isn’t mapped, the period is closed or a rate is missing, 1flux says exactly what to fix.
Each invoice posts the receivable, revenue and output VAT by itself through automated posting. It prints as a tax invoice page showing your company’s VAT number, and saves as PDF from the browser.
E-invoicing built in. 1flux issues ZATCA-compliant e-invoices for Saudi Arabia, covering Phase 1 (generation) and Phase 2 (integration with ZATCA’s Fatoora platform). In the UAE, 1flux supports e-invoicing under the Federal Tax Authority’s programme, ready for the 2027 go-live dates.
New sales invoice
SO-2026-0042 · Harbourline Contracting LLC
| Chilled water pump, 15 kWUp to 4 can be invoiced | 4 |
| Pressure vessel, 300 LUp to 4 can be invoiced | 4 |
| Control panel with VFDUp to 2 can be invoiced | 2 |
- Invoice date
- 14 Oct 2026
- Due date
- 12 Dec 2026
- Total
- AED 62,496.00
Record customer payments, in any currency
Record payment applies one receipt to one or more open invoices of the same customer, company and currency. Apply oldest first allocates it in one click.
- Methods: bank transfer, cash, card, cheque or other, deposited into the bank or cash account you choose.
- Exchange differences: for foreign-currency invoices, 1flux relieves the receivable at the booked rate and posts the realised FX gain or loss automatically.
- Voids: a payment can be voided with a reason and a mirror journal.
- Sales invoice (USD, rate on the invoice date) . Posts Dr AR , Cr Revenue, VAT.
- Customer payment (Apply oldest first) . Posts Dr Bank , Cr AR , FX.
- Payment completed (Receivable cleared) . Nothing posts.
See what customers owe, reconciled to the ledger
Receivables shows what customers owe from posted invoices, aged by days past due.
- Aging buckets: Current, 1–30, 31–60, 61–90 and over 90 days.
- Ledger check: compares open invoices with the receivable control account and shows Reconciled or the difference.
- Customer statement: every invoice and payment with a running balance, exportable to CSV.
Receivables
What customers owe from posted sales invoices, aged by how long they are past due.
Open receivables
AED 714,300
Overdue
AED 301,700
- Receivable accounts in the ledger
- 714,300.00
- Open sales invoices
- 714,300.00
- Journals without a customer
- 0.00
Start the day on what needs action
The Sales overview opens on a Needs action list. Each row has one action that opens exactly the records behind it:
- “N orders are past the promised delivery date”
- “N customer POs are waiting for a sales order”
- “N confirmed orders are waiting to be activated”
- “N delivered orders are waiting for an invoice”
- overdue receivables, with the amount and number of customers
Tiles and charts below it cover open order value, deliveries, invoicing and collections. People without price access see counts instead of amounts.
Sales
Open order value
AED 1,284,600
18 orders
To deliver
12
orders
Awaiting invoice
AED 214,380
4 orders
Collected this month
AED 642,150
12 payments
How does an order move from PO to payment?
Seven documents, each created from the one before.
The customer PO arrives
Attached to the accepted quote, or recorded with Record a customer PO.
Operations create the sales order
Lines, discounts, VAT and shipping carry over, and the credit-days cap is checked.
Activate and reserve stock
The order appears on the warehouse board as To pick.
Pick and dispatch
In full or in part. Each dispatch creates a delivery note and posts cost of goods sold.
Invoice
Finance posts a sales invoice for delivered quantities. Receivable, revenue and output VAT post.
Collect
Finance records the payment. The receivable clears and any FX difference posts.
Done
The card reaches Payment completed when everything is delivered, invoiced and paid.
Connected to the rest of 1flux
Sales orders sit in the middle of quote to cash, so every step reads from the step before.
- QuotationsAccepted quote + PO
- Sales ordersReserve and dispatch
- InventoryJournals post
- Accounting
- Quotations: accepted quotes hand off with the customer PO.
- Inventory: reservations, stock balances and costing for every dispatch.
- Purchasing: linked requisitions and purchase orders show on the order under Linked purchasing.
- Accounting: every delivery, invoice and payment posts its own journal.
- CRM: salespeople follow their orders on the same order-to-cash board inside the CRM app.
Follow the whole flow, from PO to paid, in the quote-to-cash guide.
Who works on a sales order?
Everyone between the customer's PO and the money in the bank, each with the view their job needs.
Sales coordinators and operations
Turn POs into orders and release them to the warehouse.
Storekeepers and warehouse leads
A clear, price-free pick list.
Finance teams
Invoice deliveries and chase receivables.
Salespeople
"Where's my order?", answered without calling the warehouse.
Built for trading and distribution companies that deliver against customer POs on credit terms.
Does 1flux support ZATCA or UAE e-invoicing?
Yes. 1flux issues ZATCA-compliant e-invoices for Saudi Arabia, covering Phase 1 (generation) and Phase 2 (integration with ZATCA's Fatoora platform). For the UAE, 1flux supports e-invoicing under the Federal Tax Authority's programme, ready for the 2027 go-live dates. E-invoices are issued from 1flux sales invoices, which post the receivable, revenue and output VAT per line at the invoice-date rate. See e-invoicing in 1flux.
Can I deliver and invoice an order in parts?
Yes. The warehouse can dispatch any quantity up to what's left on each line, and every dispatch creates its own delivery note. The rest of the order returns to To pick. Finance can raise several invoices per order, each for quantities already delivered, and the last invoice absorbs any rounding so the invoices add up exactly to the order total.
Can warehouse staff pick orders without seeing prices?
Yes. The 1flux warehouse board, pick list and dispatch screens show items, quantities and delivery details only. Prices, totals and credit terms are removed on the server before the page is sent, so they can't be revealed by inspecting the browser. Separately, a price permission controls who sees amounts on sales orders, invoices and boards.
Can 1flux enforce customer credit days on sales orders?
Yes. 1flux enforces a maximum number of credit days per customer on every sales order. An order with longer terms is refused unless the user holds the Override customer credit days permission. Credit days count from the invoice date, the delivery date or the month-end statement date, and each invoice's due date follows from the order's terms and the customer's basis.
How does 1flux show where every order stands?
1flux shows every order on one order-to-cash board with five columns: Order request, Sales order, Delivery note, Sales invoice and Payment completed. Cards move only when the real document exists, with sub-state badges, SLA warnings, delivered and invoiced meters and next-step buttons. The Sales overview also lists late orders, orders waiting to be activated and delivered orders waiting for an invoice.
How are customer payments recorded in 1flux?
1flux records each customer payment against one or more open invoices of the same customer, company and currency, and Apply oldest first allocates it in one click. Methods are bank transfer, cash, card, cheque or other, posted to the bank or cash account you choose. For foreign-currency invoices, 1flux relieves the receivable at the booked rate and posts the realised FX gain or loss automatically.
Quotations
Quotes from your catalogue or a customer's PO, approved, locked and sent.
Multi-warehouse
Stock per warehouse and company, reservations, a price-free pick board and delivery notes.
Receivables and receipts
Apply payments across invoices, age every balance and prove the total against the ledger.
Automated posting
Receipts, deliveries, invoices and payments post balanced journals through one gateway.
Quote-to-cash guide
The eight stages from enquiry to cash in the bank, with the documents, controls, KPIs and a checklist.
Inventory
One catalogue, live stock per warehouse and company, and every stock posting in the ledger.
Book a demo
See an order go from PO to payment
Watch a customer PO become a sales order, a partial delivery, an invoice and a payment, with every journal posted.
Last updated