Skip to main content

Quotes

📄️List Quotes

List quotes (paginated) using Spatie QueryBuilder. Authentication: Requires Bearer token (PAT). Filters (all optional): - filter[search] — fuzzy LIKE across quote_number, reference, customer_po_number (customer name is encrypted, not searched) - filter[status] — exact status (draft, sent, viewed, accepted, declined, expired, revised, converted) - filter[origin] — exact origin (staff, rfq) - filter[customer_id] — exact customer id - filter_groups — base64-encoded advanced-filter tree over id, quote_number, reference, customer_po_number, status, origin, customer_id, total, valid_until, created_at, updated_at Sort: sort=<field>, prefix - for DESC. Allowed sorts: id, quote_number, status, total, valid_until, created_at. Default: -id. Pagination: page (default 1), per_page (default 10). Returns a LengthAwarePaginator of QuoteResource.

📄️Create Sales Order from Quote

Creates a draft sales order from an accepted quote with price-locked lines (line unit prices are copied verbatim from the frozen quote lines — never re-resolved against the catalog). The quote is the independent source record and is never consumed; the order is stamped with quote_id + the accepted quote_version_id for provenance. Pass line_ids to order a subset (partial/progressive ordering — one quote may yield several orders). Requires Bearer token + the quotes.create-order permission. The quote must be in accepted status.