The Estimate object
An estimate is a formal proposal detailing costs and terms for goods or services to a customer. It can be called a “bid” or “proposal” and uses similar fields to invoices in QuickBooks. As a non-posting transaction, it serves as a planning tool that can be converted to an invoice upon customer acceptance.
The estimate's billing address.
The estimate's class. Classes can be used to categorize objects into meaningful segments, such as department, location, or type of work. In QuickBooks, class tracking is off by default. A class defined here is automatically used in this estimate's line items unless overridden at the line item level.
The date and time when this estimate was created, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone in QuickBooks.
The estimate's currency. For built-in currencies, the name and code are standard international values. For user-defined currencies, all values are editable.
The customer or customer-job associated with this estimate.
The message to display to the customer on the estimate.
The custom fields for the estimate object, added as user-defined data extensions, not included in the standard QuickBooks object.
The predefined template in QuickBooks that determines the layout and formatting for this estimate when printed or displayed.
The date by which this estimate must be paid, in ISO 8601 format (YYYY-MM-DD).
The market exchange rate between this estimate's currency and the home currency in QuickBooks at the time of this transaction. Represented as a decimal value (e.g., 1.2345 for 1 EUR = 1.2345 USD if USD is the home currency).
A globally unique identifier (GUID) you, the developer, can provide for tracking this object in your external system.
The unique identifier assigned by QuickBooks to this estimate. This ID is unique across all transaction types.
Indicates whether this estimate is active. Inactive objects are typically hidden from views and reports in QuickBooks.
Indicates whether this estimate is included in the queue of documents for QuickBooks to email to the customer.
The estimate's line item groups, each representing a predefined set of related items.
The estimate's line items, each representing a single product or service quoted.
The estimate's linked transactions, such as payments applied, credits used, or associated purchase orders.
IMPORTANT: You must specify the parameter includeLinkedTransactions
when fetching a list of estimates to receive this field because it is not returned by default.
A memo or note for this estimate that appears in reports, but not on the estimate. Use customerMessage
to add a note to this estimate.
The type of object. This value is always "qbd_estimate"
.
"qbd_estimate"
A built-in custom field for additional information specific to this estimate. Unlike the user-defined fields in the customFields
array, this is a standard QuickBooks field that exists for all estimates for convenience. Developers often use this field for tracking information that doesn't fit into other standard QuickBooks fields. Unlike otherCustomField1
and otherCustomField2
, which are line item fields, this exists at the transaction level. Hidden by default in the QuickBooks UI.
The customer's Purchase Order (PO) number associated with this estimate. This field is often used to cross-reference the estimate with the customer's purchasing system.
The case-sensitive user-defined reference number for this estimate, which can be used to identify the transaction in QuickBooks. This value is not required to be unique and can be arbitrarily changed by the QuickBooks user.
The current revision number of this estimate object, which changes each time the object is modified. When updating this object, you must provide the most recent revisionNumber
to ensure you're working with the latest data; otherwise, the update will return an error.
The estimate's sales representative. Sales representatives can be employees, vendors, or other names in QuickBooks.
The sales-tax code for this estimate, determining whether it is taxable or non-taxable. This can be overridden at the transaction-line level.
Default codes include "Non" (non-taxable) and "Tax" (taxable), but custom codes can also be created in QuickBooks. If QuickBooks is not set up to charge sales tax (via the "Do You Charge Sales Tax?" preference), it will assign the default non-taxable code to all sales.
The sales-tax item used to calculate the actual tax amount for this estimate's transactions by applying a specific tax rate collected for a single tax agency. Unlike salesTaxCode
, which only indicates general taxability, this field drives the actual tax calculation and reporting.
The sales tax percentage applied to this estimate, represented as a decimal string.
The total amount of sales tax charged for this estimate, represented as a decimal string.
The origin location from where the product associated with this estimate is shipped. This is the point at which ownership and liability for goods transfer from seller to buyer. Internally, QuickBooks uses the term "FOB" for this field, which stands for "freight on board". This field is informational and has no accounting implications.
The estimate's shipping address.
The subtotal of this estimate, which is the sum of all estimate lines before taxes and payments are applied, represented as a decimal string.
The estimate's payment terms, defining when payment is due and any applicable discounts.
The total monetary amount of this estimate, equivalent to the sum of the amounts in lines
and lineGroups
, represented as a decimal string.
The total monetary amount of this estimate converted to the home currency of the QuickBooks company file. Represented as a decimal string.
The date of this estimate, in ISO 8601 format (YYYY-MM-DD).
The date and time when this estimate was last updated, in ISO 8601 format (YYYY-MM-DDThh:mm:ss±hh:mm). The time zone is the same as the user's time zone in QuickBooks.