Quotes
Allows querying and managing quotes for a Xero organization. Quotes are used to provide potential customers with a detailed offer of goods or services at specified prices before an order is placed.
Table Specific Information
The Quotes table allows you to SELECT, INSERT, and UPDATE Quote lines for a Xero organization. The Id column is generated by the add-in; it combines the index of the line item with the unique, Xero-generated QuoteId.
SELECT
The Xero API allows extensive filtering and ordering. You can define WHERE and ORDER BY clauses in a query to filter and order the results using any non-line-item column.
Note: The Xero API does not support filtering on line items or journal lines.
INSERT
To insert a single row, set the required fields. A new table object is created as a single entry. To insert a new Quote, the ContactId and Date fields are required in addition to at least one line item. A Quote line item must at minimum contain a description (LineItem_Description).
- You can insert a new Quote with multiple line items using an XML aggregate.
The elements supported here are the same as the LineItem columns without the "LineItem_" prefix. Please refer to the
Xero documentation of the Quotes API for more details.
INSERT INTO Quotes (ContactId, Date, LineItemAggregate) VALUES ( '883628bc-7f22-4234-8a4c-81571816a8a1', '2023-11-21', '<LineItem> <Description>Example Description</Description> </LineItem>' )
- You can also create multiple Quotes in a single query by using a bulk insert.
To do this, you should not include a QuoteId in your query, then specify the values for the first line item of each Quote to add.
INSERT INTO Quotes (ContactId, Date, LineItem_Description) VALUES ('883628bc-7f22-4234-8a4c-81571816a8a1', '2023-11-21', 'Example Description'), ('883628bc-7f22-4234-8a4c-81571816a8a1', '2023-11-21', 'Example Description') - You can also insert new line items on an existing object by specifying the Xero-generated value of the existing record. For example, to add 2 new line items to an existing Quote:
INSERT INTO Quotes (QuoteId, LineItem_Description) VALUES ('fbb38812-dcc4-4e07-9ebd-2c38e1409b18', 'newItem1'), ('fbb38812-dcc4-4e07-9ebd-2c38e1409b18', 'newItem2')
Note: Inserting into existing records will count as two operations against the Xero API. One is required to retrieve the existing record, and another to update the record with new data.
UPDATE
You can update any field that is not read-only.
Note: UPDATE operations will count as two operations against the Xero API. One is required to retrieve the existing record, and another to update the record with new data.
Columns
| Name | Type | ReadOnly | Description |
| Id [KEY] | String | False |
A combination of the line item index and the unique Xero identifier for the Quote. |
| QuoteId | String | False |
The unique Xero identifier for the quote, linking the line item to the quote. |
| ContactId | String | False |
The unique identifier for the contact associated with the quote, representing the customer. |
| ContactName | String | False |
The name of the contact person for the quote, typically the customer or company. |
| Date | Date | False |
The date the quote was created or issued to the customer. |
| ExpiryDate | Date | False |
The date when the quote expires, after which it is no longer valid. |
| Status | String | False |
The current status of the quote. For example, 'DRAFT', 'SUBMITTED', 'ACCEPTED', 'DECLINED', or 'EXPIRED'. |
| LineItem_LineItemId | String | False |
The Xero-generated identifier for a specific line item in the quote. |
| LineItem_Description | String | False |
A brief description of the item or service being quoted. This field is required for each line item. |
| LineItem_Quantity | Double | False |
The quantity of the item or service being quoted, must be a positive value. |
| LineItem_UnitAmount | Decimal | False |
The unit price of the quoted item or service, before any taxes or discounts. |
| LineItem_ItemCode | String | False |
A user-defined code that uniquely identifies the quoted item, useful for inventory management. |
| LineItem_AccountCode | String | False |
The account code associated with the item or service being quoted. This must be a valid and active account in the organisation. |
| LineItem_TaxType | String | False |
The tax type applied to the line item, overriding the default tax code for the selected account. |
| LineItem_TaxAmount | Decimal | False |
The calculated amount of tax applied to the line item, based on the 'TaxType' and 'UnitAmount'. |
| LineItem_LineAmount | Decimal | False |
The total value of the line item, calculated by multiplying 'Quantity' by 'UnitAmount', including any discounts. |
| LineItem_DiscountRate | Double | False |
The percentage discount applied to the line item. Discounts are optional and are typically applied to 'ACCREC'-type (sales) quotes. |
| LineItem_TrackingCategory1_CategoryId | String | False |
The ID of the first tracking category used for tracking the line item. Two tracking categories can be defined per item. |
| LineItem_TrackingCategory1_CategoryName | String | False |
The name of the first tracking category used for categorizing the line item. |
| LineItem_TrackingCategory1_OptionId | String | False |
The ID of the first option in the tracking category. |
| LineItem_TrackingCategory1_OptionName | String | False |
The name of the first option in the tracking category. |
| LineItem_TrackingCategory2_CategoryId | String | False |
The ID of the second tracking category used for tracking the line item. |
| LineItem_TrackingCategory2_CategoryName | String | False |
The name of the second tracking category. |
| LineItem_TrackingCategory2_OptionId | String | False |
The ID of the second option in the tracking category. |
| LineItem_TrackingCategory2_OptionName | String | False |
The name of the second option in the tracking category. |
| QuoteNumber | String | False |
The unique alphanumeric identifier for the quote, used for tracking and referencing the quote. |
| LineAmountTypes | String | False |
Specifies whether line amounts include tax. Valid values are 'Exclusive', 'Inclusive', and 'NoTax'. |
| Reference | String | False |
An additional reference number associated with 'ACCREC'-type (sales) quotes. |
| CurrencyCode | String | False |
The ISO 4217 currency code indicating the currency used for the quote. |
| CurrencyRate | Decimal | False |
The exchange rate applied to the quote if it's a multicurrency transaction. If not specified, XE.com daily rates are used. |
| SubTotal | Decimal | False |
The subtotal of the quote, which excludes taxes and additional charges. |
| TotalTax | Decimal | False |
The total tax amount for the quote, calculated based on applicable tax rates. |
| Total | Decimal | False |
The total amount for the quote, including both the subtotal and the total tax. |
| TotalDiscount | Decimal | False |
The total value of discounts applied to the quote's line items. |
| BrandingThemeId | String | False |
The ID of the branding theme used for the quote, which affects its appearance. |
| Terms | String | False |
The terms of the quote, outlining the conditions under which the quote is valid or any specific terms agreed upon. |
| UpdatedDateUTC | Datetime | False |
The timestamp of when the quote was last updated or modified. |
| TenantId | String | False |
The ID of the tenant to query instead of the connection tenant, useful for multi-tenant environments. |
| LineItemAggregate | String | False |
Used to define multiple 'Quote LineItem' rows using XML values. This should be included only when performing an 'INSERT' operation. |