Sales Orders
Covers sales orders (SO), SO items, SO timeline notes, SO documents, and the SO-side master data (order channels, order status types, fulfillment status types). SO operations also drive the finished-goods inventory ledger (DEMAND / ALLOCATE / CONSUME events).
Writes
- Create sales order — Triggered from the Sales Orders page → "New SO". Creates an SO header (customer, channel, fulfillment location, costs — inventory / freight / promo / other / broker — MABD, status, optional QBO ID).
- Update sales order — Triggered from Sales Order Detail. Edits header fields and progresses status (Received → Entered → Shipped → Invoiced → Paid, or Rejected / In-Dispute / Completed).
- Delete sales order — Triggered from Sales Order Detail. Removes the SO and all its items, notes, and documents.
- Bulk-import sales orders — Triggered from the Data page → SO import. Uploads a CSV/Excel file to create multiple SOs at once.
- Add item to sales order — Triggered from Sales Order Detail items section. Adds a line for a SKU with quantity and unit price.
- Update sales order item — Triggered from Sales Order Detail items section. Changes quantity, unit price, or referenced SKU on an existing line.
- Remove item from sales order — Triggered from Sales Order Detail items section. Drops a line.
- Add timeline note — Triggered from Sales Order Detail timeline section. Appends a note (with status-at-time-of-note for context).
- Delete timeline note — Triggered from Sales Order Detail timeline section. Removes a note.
- Upload document to sales order — Triggered from Sales Order Detail documents section. Attaches a file (uploaded to GCS) with a display name.
- Delete document from sales order — Triggered from Sales Order Detail documents section. Detaches and removes a file.
- Create order channel — Triggered from Settings → Order channels. Adds a new channel (e.g., Direct, Distributor) with a color.
- Update order channel — Triggered from Settings → Order channels. Renames or recolors a channel.
- Delete order channel — Triggered from Settings → Order channels. Removes a channel (only allowed if no SO uses it).
- Reactivate order channel — Triggered from Settings → Order channels. Reverses a soft-delete / deactivation.
- Create order status type — Triggered from Settings → Order status types. Adds a new SO status.
- Update order status type — Triggered from Settings → Order status types. Renames or recolors a status.
- Delete order status type — Triggered from Settings → Order status types. Removes a status (only allowed if no SO is in it).
- Reactivate order status type — Triggered from Settings → Order status types. Reverses a soft-delete / deactivation.
- Create fulfillment status type — Triggered from Settings → Fulfillment status types. Adds a new fulfillment status (e.g., Pending, Partial, Fulfilled).
- Update fulfillment status type — Triggered from Settings → Fulfillment status types. Renames or recolors a status.
- Delete fulfillment status type — Triggered from Settings → Fulfillment status types. Removes a status (only allowed if no SO is in it).
- Reactivate fulfillment status type — Triggered from Settings → Fulfillment status types. Reverses a soft-delete / deactivation.
Reads
- List sales orders — Triggered from the Sales Orders page (default view). Returns SOs with header fields, optionally filtered by status / customer / channel / fulfillment status.
- Get sales order detail — Triggered by clicking an SO in the list. Returns the full SO with enrichment (computed fulfillment status).
- List items for a sales order — Triggered from Sales Order Detail. Returns the line items for one SO.
- List timeline notes for a sales order — Triggered from Sales Order Detail timeline section. Returns the notes attached to one SO.
- List documents for a sales order — Triggered from Sales Order Detail documents section. Returns the files attached to one SO.
- List order channels — Triggered from the Sales Orders filter dropdown, the SO create/edit form, and Settings → Order channels. Returns the available channels.
- Check if order channel is in use — Triggered before deleting an order channel. Returns whether any SO uses it.
- List order status types — Triggered from the Sales Orders filter dropdown, the SO status selector, and Settings → Order status types. Returns the available statuses.
- Check if order status type is in use — Triggered before deleting an order status type. Returns whether any SO is in it.
- List fulfillment status types — Triggered from the Sales Orders filter dropdown, Sales Order Detail, and Settings → Fulfillment status types. Returns the available fulfillment statuses.
- Check if fulfillment status type is in use — Triggered before deleting a fulfillment status type. Returns whether any SO is in it.