---
title: "Lists report-ready sales-order line rows from the sales-order line-items reporting view,
including pre-computed cost, invoice, ship, and return columns so callers do not need to
hand-join sales orders to line items, jobs, invoices, shipments, and returns."
method: POST
path: "/api/reporting/sales-order-lines/list"
tags: ["Reporting"]
---

# Lists report-ready sales-order line rows from the sales-order line-items reporting view,
including pre-computed cost, invoice, ship, and return columns so callers do not need to
hand-join sales orders to line items, jobs, invoices, shipments, and returns.

`POST /api/reporting/sales-order-lines/list`

## Query parameters

- `Sort.Field` string
- `Sort.Dir` 'ascending' | 'descending' — Specify sorting direction.
- `Skip` integer
- `Take` integer

## Request body

- DtoReportingSalesOrderLinesReportFilter — Constrained filter for the sales-order line-items reporting list endpoint. Every field maps to a fixed, server-controlled column; values are always bound as Dapper parameters and never concatenated into SQL.
  - `orderedDateFrom` string, date-time, nullable — Inclusive lower bound applied to the order's Ordered Date. Null means no lower bound.
  - `orderedDateTo` string, date-time, nullable — Inclusive upper bound applied to the order's Ordered Date (the whole `to` day is included). Null means no upper bound.
  - `deliveryDueDateFrom` string, date-time, nullable — Inclusive lower bound applied to the line's Delivery Due Date. Null means no lower bound.
  - `deliveryDueDateTo` string, date-time, nullable — Inclusive upper bound applied to the line's Delivery Due Date (the whole `to` day is included). Null means no upper bound.
  - `salesOrderStatus` string, nullable — Optional exact-match filter on the sales-order lifecycle status. Null means no status filter.
  - `customerName` string, nullable — Optional exact-match filter on the customer name. Null means no customer filter.
  - `accountingCode` string, nullable — Optional exact-match filter on the accounting code mapped to the line. Null means no accounting code filter.
  - `unshippedOnly` boolean, nullable — When true, returns only lines with quantity remaining to ship (Quantity to Ship > 0). When false or null, no ship-status filter is applied.

## Response `200`

A page of sales-order line report rows with the total matching count.

- DtoPagedResultDtoDtoReportingSalesOrderLinesReportRow — Paged result
  - `data` DtoReportingSalesOrderLinesReportRow[], required — The data
    - `companyName` string, nullable — Issuing company / tenant company name.
    - `associatedQuote` string, nullable — Quote number this SO was converted from, when applicable.
    - `salesOrderNumber` integer, nullable — Numeric sales-order identifier.
    - `customerPONumber` string, nullable — Customer's PO number recorded on the sales order.
    - `salesOrderStatus` string, nullable — SO lifecycle status.
    - `completedDate` string, date-time, nullable — Date the SO was marked complete.
    - `orderPriority` string, nullable — Order priority value.
    - `customerName` string, nullable — Customer display name.
    - `customerTier` string, nullable — Customer tier classification.
    - `paymentTerms` string, nullable — Payment terms name.
    - `city` string, nullable — Customer city.
    - `customerStateProvince` string, nullable — Customer state or province.
    - `customerContact` string, nullable — Name of the customer contact recorded on the order.
    - `customerPhone` string, nullable — Customer contact phone number.
    - `customerEmail` string, nullable — Customer contact email address.
    - `salesperson` string, nullable — Name of the assigned salesperson.
    - `orderedDate` string, date-time, nullable — Date the order was placed.
    - `lineItem` string, nullable — Item name on the SO line.
    - `lineItemDescription` string, nullable — Item description on the SO line.
    - `deliverBy` string, date-time, nullable — Customer-requested delivery-by date.
    - `lineItemType` string, nullable — Line classification (part, fee, etc.).
    - `blanketOrder` integer, nullable — 1 when the SO line is a blanket order, otherwise 0. (Computed 1/0 flag in the view.)
    - `deliveryDueDate` string, date-time, nullable — Computed delivery due date for the line.
    - `internalUnitOfMeasure` string, nullable — Internal unit of measure used by Fulcrum.
    - `customerPartNumber` string, nullable — Customer's part number for the line.
    - `customerPartDescription` string, nullable — Customer's description for the line.
    - `customerUnitOfMeasure` string, nullable — Unit of measure used on the customer's PO.
    - `accountingCode` string, nullable — Accounting code mapped to the line.
    - `accountingClass` string, nullable — Accounting classification for the line's account.
    - `itemTags` string, nullable — Comma-separated tags from the line's item.
    - `itemCategory` string, nullable — Category from the line's item.
    - `quantityOrdered` number, double, nullable — Quantity ordered on the line.
    - `unitPrice` number, double, nullable — Per-unit price billed to the customer.
    - `lineItemSubTotal` number, double, nullable — Extended line subtotal (Quantity × Unit Price).
    - `pricingStrategy` string, nullable — Pricing strategy used (e.g. Fixed, Shop Rate).
    - `hasDiscount` boolean, nullable — True when any discount has been applied to the line.
    - `isTimeAndMaterials` boolean, nullable — True when the line is priced time-and-materials.
    - `margin` number, double, nullable — Margin recorded on the line at order time.
    - `estimatedUnitCost` number, double, nullable — Estimated cost per produced unit (from costing).
    - `associatedJobs` string, nullable — Comma-separated list of associated job names.
    - `associatedJobStatuses` string, nullable — Comma-separated list of associated job statuses.
    - `jobTotalEstimatedLaborCost` number, double, nullable — Estimated labor cost summed across associated jobs.
    - `jobTotalEstimatedMachineCost` number, double, nullable — Estimated machine cost summed across associated jobs.
    - `jobTotalEstimatedMaterialCost` number, double, nullable — Estimated material cost summed across associated jobs.
    - `jobTotalEstimatedOPCost` number, double, nullable — Estimated outside-processing cost summed across associated jobs.
    - `jobTotalEstimatedCost` number, double, nullable — Total estimated cost summed across associated jobs.
    - `actualAvgUnitCost` number, double, nullable — Actual cost per produced unit, averaged across associated jobs.
    - `actualAvgMaterialUnitCost` number, double, nullable — Actual material cost per unit, averaged.
    - `actualAvgLaborUnitCost` number, double, nullable — Actual labor cost per unit, averaged.
    - `actualAvgMachineUnitCost` number, double, nullable — Actual machine cost per unit, averaged.
    - `actualAvgOPUnitCost` number, double, nullable — Actual outside-processing cost per unit, averaged.
    - `jobActualTotalCost` number, double, nullable — Actual total cost summed across associated jobs.
    - `totalQuantityProduced` number, double, nullable — Total quantity produced across associated jobs.
    - `hasInvoice` string, nullable — "Yes" when at least one invoice has been issued for this line, otherwise "No".
    - `totalQuantityInvoicedIssued` number, double, nullable — Total quantity invoiced (on issued invoices).
    - `invoiceNumbers` string, nullable — Comma-separated list of associated invoice numbers.
    - `invoiceStatuses` string, nullable — Comma-separated list of associated invoice statuses.
    - `invoiceLinesSubtotal` number, double, nullable — Sum of invoice-line subtotals across associated invoices.
    - `quantityShipped` number, double, nullable — Total quantity shipped to date.
    - `quantityToShip` number, double, nullable — Quantity remaining to ship (Ordered − Shipped).
    - `valueShipped` number, double, nullable — Extended value already shipped.
    - `valueToShip` number, double, nullable — Extended value remaining to ship.
    - `associatedShipmentNumbers` string, nullable — Comma-separated list of shipment numbers.
    - `associatedShipmentStatuses` string, nullable — Comma-separated list of shipment statuses.
    - `associatedShipmentMethods` string, nullable — Comma-separated list of shipment methods used.
    - `hasReturn` string, nullable — "Yes" when at least one return is associated with the line, otherwise "No".
    - `quantityToReturn` number, double, nullable — Quantity flagged to return.
    - `refundReason` string, nullable — Reason text for any refund logged against the line.
  - `page` integer, required — The 1-indexed page
  - `pageSize` integer, required — The page size
  - `totalCount` integer, required — The total count of records
  - `totalPages` integer, required — The total pages
  - `hasPreviousPage` boolean, required — True if there is a previous page
  - `hasNextPage` boolean, required — True if there is a next page

## Other responses

- `403` — The viewer lacks one of the required permissions (View Sales Order, View Customer, View Job, View Invoices, and View Shipments).

---

[API](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi.md) · [All operations](https://skmtc.net/fulcrumpro/apis/fulcrum-publicapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fulcrumpro/fulcrum-publicapi/revisions/1b5649cff14a/schema)
