Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dualentry.com/llms.txt

Use this file to discover all available pages before exploring further.

Order Management Reference

Sales orders in DualEntry capture a customer’s commitment to purchase before you invoice. They track what was ordered, what has shipped, and what remains to be billed - giving you a clear picture of future revenue and fulfillment obligations.

Creating a Sales Order

Navigate to Accounts Receivable → Sales Orders → New SO, or send a POST to /public/v2/sales-orders/. A sales order requires a customer, an order date, and at least one line item. Each line item includes a description, quantity, unit price, revenue account, and optional classification dimensions. You can attach supporting documents - quotes, signed agreements, purchase order copies from the customer - via the UI or the /public/v2/sales-orders/{id}/attachments/ endpoint. DualEntry validates required fields at submission. The customer must be active, the order date cannot fall in a closed period, and each line item must reference a valid revenue account. If the customer has a credit limit configured, the system checks whether the new order would push the customer’s total open balance beyond that limit and warns you before submission.

SO Approval and Fulfillment

Sales orders support dedicated approval workflows with the sales_order record type. Common routing rules include approval by a sales manager for orders above a dollar threshold, or review by a credit analyst for new customers. Once all approval stages pass, the SO moves to approved status and becomes available for fulfillment and invoicing. Rejected orders return to the creator with reviewer comments. When you ship goods or deliver services against a sales order, record the fulfillment. Each fulfillment line references an SO line and specifies the quantity fulfilled. DualEntry tracks fulfilled vs. ordered quantities so you can monitor outstanding commitments. Partial fulfillments are supported. If you ship in multiple batches, record each shipment separately. The SO status updates to partially_fulfilled until all lines are complete, then moves to fulfilled. Fulfillment records include a date, reference number, and optional tracking information, giving you a complete shipping history per order.

Backorder Handling

When you cannot fulfill the full ordered quantity - due to inventory constraints or supplier delays - DualEntry tracks the unfulfilled balance as a backorder. The sales order remains open, and the backorder quantity is visible on both the order and the customer’s account. When stock becomes available, you fulfill the backorder by recording an additional shipment against the same SO line. DualEntry updates the order status and links the new fulfillment to the original order for traceability. Backorders appear in a dedicated view under Accounts Receivable → Backorders, so you can monitor unfulfilled commitments across all customers in one place. The view shows the customer, order date, original quantity, fulfilled quantity, and backorder balance. You can filter by product, customer, or date range to prioritize fulfillment based on customer importance or order age.

Converting a Sales Order to an Invoice

When you are ready to bill, convert the SO to an invoice. Navigate to the sales order and select Convert to Invoice, or create an invoice via the API that references the SO ID. DualEntry pre-populates the invoice line items from the SO, adjusted for quantities fulfilled. You can convert an SO to an invoice in full or in part:
  • Full conversion - bill the entire order at once.
  • Partial conversion - bill only the fulfilled lines, leaving the rest on the SO for later invoicing.
The resulting invoice enters the standard invoice approval workflow. The link between SO and invoice is preserved for reporting. If you bill before fulfillment - for example, on a prepaid order - you can still convert the SO to an invoice, and fulfillment tracking continues independently of the billing status. If the billing terms differ from the original order - for example, a negotiated discount or additional charges - you can edit the invoice after conversion. The invoice stands as its own record, so changes do not alter the original sales order.

SO Status Tracking

Sales orders move through these statuses:
  • Draft - created but not yet submitted for approval.
  • Submitted - in the approval workflow.
  • Approved - approved and available for fulfillment.
  • Partially fulfilled - at least one shipment recorded, but not all lines are complete.
  • Fulfilled - all ordered quantities have been shipped or delivered.
  • Partially invoiced - at least one invoice created, but not all lines are billed.
  • Invoiced - fully billed.
  • Closed - fully fulfilled and invoiced, or manually closed.
  • Voided - cancelled before fulfillment.
Filter sales orders by status in the list view or via the API’s record_status parameter to monitor open commitments and pending invoicing. The SO list also supports filtering by customer, date range, and amount, which is useful for revenue forecasting and fulfillment planning. Open SOs represent committed but not-yet-billed revenue, giving your finance team advance visibility into upcoming invoicing volume.
Last modified on May 28, 2026