Limits, troubleshooting & FAQ
Limits and constraints
| Constraint | Behaviour |
|---|---|
| An accepted quotation converts once | Default ON (sales.quotation_single_conversion). Turn it off only if the business genuinely sells one acceptance into several documents. |
| Invoicing cannot exceed what was delivered | A database trigger enforces qty_invoiced ≤ qty_delivered for product lines — you cannot bill goods that never shipped, even with the DO requirement off. |
| Service lines never enter a delivery order | Delivery orders are product-only by design; a service line is treated as fulfilled when invoiced. |
| A posted document is never deleted | Draft → delete; posted → void with full reversal; settled → correct with a credit note. |
| Mixed currencies are not summed | A total mixing currencies has no meaning; figures are grouped by currency rather than added. |
| Serial-tracked items must name their serials | Shipping without them is refused rather than silently shipping “some” unit. |
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| ”Convert” is missing on an accepted quote | Already converted once | Open the document chain — the order it produced is linked there |
| Cannot invoice a confirmed order | sales.delivery_order_required is ON and nothing shipped yet | Create and deliver the DO, or turn the flag off if your business bills before shipping |
| Invoice total is lower than the order | Revenue was already recognized at order or shipment | Expected under on_order / on_shipment — the invoice posts only the net remainder |
| Delivery refuses to confirm | Not enough unreserved stock, or serials not entered | Check on-hand vs reserved; enter the serials that are physically leaving |
| A price differs from the price list | The list changed after price_lock_on_confirm froze the order | The frozen price is intentional; amend the order if the new price should apply |
| The rep sees no orders | Their data-scope tier is own and they are neither assignee nor creator | Assign them, or widen the tier under Settings → Roles |
| Commission is missing an order | The run’s period does not cover the order date, or the run is not approved | Check the period window, then approve the run |
FAQ
How is per-line tax handled? Each line item computes tax from its rate, but you can override the tax amount on any single line for special cases (exports, promotions, rounding). The quotation and order both show before-tax and after-tax columns so the totals are always transparent.
What’s the difference between a Sales Order and a Delivery Order? The Sales Order is the commercial commitment — what the customer agreed to buy and pay for. The Delivery Order is the logistics document that actually ships goods and decrements stock. One Sales Order can produce multiple partial delivery orders as inventory becomes available; service lines never appear on a delivery order at all.
Why doesn’t my service line show up on the delivery order? By design. Delivery orders only carry product lines — there’s nothing physical to pick and ship for a service. A service line is instead marked fulfilled automatically the moment it’s invoiced.
How do price lists override standard prices? When you select a customer that has an assigned price list, matching line items pull their price from that list automatically the moment they’re added. You can still override a single line manually if needed — the price list itself is untouched.
Does a customer return refund the money too? The return reverses stock immediately on confirmation. The financial side is completed by raising a credit note in Finance against the original invoice, which reduces the customer’s balance. If cash actually needs to leave the business, that’s a separate refund/payment step in Finance — the credit note doesn’t trigger it automatically.
What is revenue recognition, and do I need to configure it?
Most tenants never touch it — the default (on_invoice) recognizes revenue exactly when you’d expect: when the invoice is sent. Only businesses with regulatory or contractual reasons to recognize revenue earlier or across a longer delivery period (staged shipments, milestone-billed contracts) need to enable the advanced methods, and even then it’s set per Sales Order, not tenant-wide.
Can I change a Sales Order’s revenue recognition method after it’s confirmed? No, not once revenue has actually been posted against it — changing the method after the fact would leave the ledger inconsistent. Pick the method before confirming the order; if it’s genuinely wrong, void the order’s revenue entries first.
Where do reps see their commission? Reps use My Earnings for accrued/paid commission per deal and My Performance for quota attainment — both scoped to their own records only, even if their role could technically read wider data elsewhere.
Can I reuse a common order configuration? Yes. Save it as a Sales Order Template (or Sales Quotation Template), then generate new documents with the line items pre-filled and just adjust the customer and quantities.
Do I need Sales Teams enabled to use commissions? No — commissions work per individual rep regardless of whether Sales Teams is on. Teams add an organizational and, optionally, a data-scoping layer on top; they aren’t a prerequisite for paying commission.