Query estimates/quotes with line items, validity, and conversion status.
GraphQL
query GetEstimate($id: ID!) {
Estimate(id: $id) {
id
label
status
total
dated_at
customer { id label }
line_items {
id
variant { id label }
quantity
price
}
}
}
GraphQL
query Estimates(
$where: QueryEstimatesWhereWhereConditions,
$orderBy: [QueryEstimatesOrderByOrderByClause!],
$search: String,
$first: Int,
$page: Int
) {
Estimates(
where: $where,
orderBy: $orderBy,
search: $search,
first: $first,
page: $page
) {
paginatorInfo {
total
currentPage
}
data {
id
label
status
dated_at
total
customer { id label }
}
}
}
Field Type Description idInt Unique identifier. labelString Estimate number. statusEstimateStatus Current workflow state. dated_atDate Document date. expire_atDate Expiration date of the offer. shipping_atDate Target delivery date. tax_typeTaxType "Exclusive" or "Inclusive". default_discountFloat Global discount value. discount_typeDiscountType "percentage" or "amount". total_unitsFloat Total quantity across all lines. subtotalFloat Net before taxes and global discount. total_without_taxFloat Total amount excluding tax. total_ecotaxFloat Environmental tax sum. totalFloat Grand total including taxes. notesString Public notes for the PDF. internal_notesString Hidden internal comments. for_the_attention_ofString Primary contact person. external_referenceString Internal reference. exchange_rateFloat Currency conversion rate. location_labelString Origin warehouse name. ordered_statusOrderedStatus Progress of transformation into Sales Orders. billing_statusBillingStatus Progress of transformation into Invoices. payment_statusPaymentStatus Estimated payment progress. transformed_quantityFloat Quantity already ordered or invoiced. ordered_quantityFloat Quantity documented in sales orders. unordered_quantityFloat Quantity still pending order. billed_quantityFloat Quantity already invoiced. unbilled_quantityFloat Quantity still pending invoice. paid_quantityFloat Quantity paid for. unpaid_quantityFloat Quantity pending payment. currencyCurrency Estimate currency. customerCustomer Linked customer. price_levelPriceLevel Applied price list. account_representativeAccountRepresentative Linked sales rep. seasonSeason Business season. payment_informationPaymentInformation Bank details for payment. billing_addressAddress Customer billing address. shipping_addressAddress Customer shipping address. line_items[LineItemEstimate] Detailed item lines. total_taxes[DocumentTaxRate] Summary of taxes. invoices_countInt Number of linked invoices. invoices[Invoice] Resulting invoices history. orders_countInt Number of linked sales orders. orders[Order] Resulting orders history. public_idString Token for public web viewing. public_view_countInt Web view statistics. public_last_accessed_atJSON Last web view timestamp. email_histories[EmailHistory] Communication logs. files[File] Attached files. pdf_templatePdfTemplate Design used for PDF generation. created_atDateTime Creation time. updated_atDateTime Last update time. custom_fields[EntityCustomField] Custom fields for this entity.
The following fields can be used in the where parameter:
id, label, status, expire_at, shipping_at, currency, tax_type, default_discount, total_units, subtotal, total_without_tax, total_ecotax, total, billed_quantity, unbilled_quantity, paid_quantity, unpaid_quantity, ordered_quantity, unordered_quantity, orders_count, invoices_count, transformed_quantity, notes, internal_notes, for_the_attention_of, external_reference, dated_at, created_at, updated_at, customer_id, price_level_id, account_representative_id, season_id, variant_id, variant_label, variant_sku, location_id, batch_number_id, product_tag_id, customer_tag_id, is_sent, payment_status, billing_status, ordered_status.
Example Filters:
Field Example status{ "column": "STATUS", "operator": "EQ", "value": "pending" }customer_id{ "column": "CUSTOMER_ID", "operator": "EQ", "value": 100050 }expire_at{ "column": "EXPIRE_AT", "operator": "LT", "value": "2025-12-31" }
You can sort results using the orderBy parameter:
id
label
status
expire_at
shipping_at
currency
total
dated_at
customer_label
You can group estimates using the groupBy parameter for reports:
Field Description idGroup by internal ID. yearGroup by year of dated_at. monthGroup by month of dated_at. dayGroup by day of dated_at.
Value Description unpublishedDraft status (hidden). pendingDocument sent/awaiting customer decision. acceptedCustomer agreed to the offer. rejectedCustomer declined the offer. cancelledDocument voided.
Value Description not_orderedNo sales order created from this estimate. partially_orderedSome items included in sales orders. orderedFull value reached in sales orders.
Value Description not_billedNo invoice generated. partially_billedPartial invoices created. billedFull value reached in invoices.
Value Description unpaidNo payment recorded. partially_paidPartial payment received. paidFully paid.
Value Description amountFixed discount amount. percentagePercentage-based discount.
Value Description exclusiveTax calculated on top of the net price. inclusiveTax included in the displayed price.