---
title: "Updates or creates one or more quotes"
method: POST
path: "/Quotes"
tags: ["Accounting"]
---

# Updates or creates one or more quotes

`POST /Quotes`

## Query parameters

- `summarizeErrors` boolean

## Headers

- `Idempotency-Key` string

## Request body

- Quotes
  - `Quotes` Quote[]
    - `QuoteID` string, uuid — QuoteID GUID is automatically generated and is returned after create or GET.
    - `QuoteNumber` string — Unique alpha numeric code identifying a quote (Max Length = 255)
    - `Reference` string — Additional reference number
    - `Terms` string — Terms of the quote
    - `Contact` Contact
      - `ContactID` string, uuid — Xero identifier
      - `MergedToContactID` string, uuid — ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber.
      - `ContactNumber` string — This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero.
      - `AccountNumber` string — A user defined account number. This can be updated via the API and the Xero UI (max length = 50)
      - `ContactStatus` 'ACTIVE' | 'ARCHIVED' | 'GDPRREQUEST' — Current status of a contact – see contact status types
      - `Name` string — Full name of contact/organisation (max length = 255)
      - `FirstName` string — First name of contact person (max length = 255)
      - `LastName` string — Last name of contact person (max length = 255)
      - `CompanyNumber` string — Company registration number (max length = 50)
      - `EmailAddress` string — Email address of contact person (umlauts not supported) (max length = 255)
      - `ContactPersons` ContactPerson[] — See contact persons
        - `FirstName` string — First name of person
        - `LastName` string — Last name of person
        - `EmailAddress` string — Email address of person
        - `IncludeInEmails` boolean — boolean to indicate whether contact should be included on emails with invoices etc.
      - `BankAccountDetails` string — Bank account number of contact
      - `TaxNumber` string — Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)
      - `TaxNumberType` 'SSN' | 'EIN' | 'ITIN' | 'ATIN' — Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers
      - `AccountsReceivableTaxType` string — The tax type from TaxRates
      - `AccountsPayableTaxType` string — The tax type from TaxRates
      - `Addresses` Address[] — Store certain address types for a contact – see address types
        - `AddressType` 'POBOX' | 'STREET' — define the type of address
        - `AddressLine1` string — max length = 500
        - `AddressLine2` string — max length = 500
        - `AddressLine3` string — max length = 500
        - `AddressLine4` string — max length = 500
        - `City` string — max length = 255
        - `Region` string — max length = 255
        - `PostalCode` string — max length = 50
        - `Country` string — max length = 50, [A-Z], [a-z] only
        - `AttentionTo` string — max length = 255
      - `Phones` Phone[] — Store certain phone types for a contact – see phone types
        - `PhoneType` 'DEFAULT' | 'DDI' | 'MOBILE' | 'FAX' | 'OFFICE'
        - `PhoneNumber` string — max length = 50
        - `PhoneAreaCode` string — max length = 10
        - `PhoneCountryCode` string — max length = 20
      - `IsSupplier` boolean — true or false – Boolean that describes if a contact that has any AP invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact.
      - `IsCustomer` boolean — true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact.
      - `SalesDefaultLineAmountType` 'INCLUSIVE' | 'EXCLUSIVE' | 'NONE' — The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
      - `PurchasesDefaultLineAmountType` 'INCLUSIVE' | 'EXCLUSIVE' | 'NONE' — The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
      - `DefaultCurrency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EEK' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZMK' | 'ZWD' — 3 letter alpha code for the currency – see list of currency codes
      - `XeroNetworkKey` string — Store XeroNetworkKey for contacts.
      - `SalesDefaultAccountCode` string — The default sales account code for contacts
      - `PurchasesDefaultAccountCode` string — The default purchases account code for contacts
      - `SalesTrackingCategories` SalesTrackingCategory[] — The default sales tracking categories for contacts
        - `TrackingCategoryName` string — The default sales tracking category name for contacts
        - `TrackingOptionName` string — The default purchase tracking category name for contacts
      - `PurchasesTrackingCategories` SalesTrackingCategory[] — The default purchases tracking categories for contacts
        - `TrackingCategoryName` string — The default sales tracking category name for contacts
        - `TrackingOptionName` string — The default purchase tracking category name for contacts
      - `TrackingCategoryName` string — The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
      - `TrackingCategoryOption` string — The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
      - `PaymentTerms` PaymentTerm
        - `Bills` Bill
          - `Day` integer — Day of Month (0-31)
          - `Type` 'DAYSAFTERBILLDATE' | 'DAYSAFTERBILLMONTH' | 'OFCURRENTMONTH' | 'OFFOLLOWINGMONTH'
        - `Sales` Bill
          - `Day` integer — Day of Month (0-31)
          - `Type` 'DAYSAFTERBILLDATE' | 'DAYSAFTERBILLMONTH' | 'OFCURRENTMONTH' | 'OFFOLLOWINGMONTH'
      - `UpdatedDateUTC` string — UTC timestamp of last update to contact
      - `ContactGroups` ContactGroup[] — Displays which contact groups a contact is included in
        - `Name` string — The Name of the contact group. Required when creating a new contact group
        - `Status` 'ACTIVE' | 'DELETED' — The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.
        - `ContactGroupID` string, uuid — The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9
        - `Contacts` Contact[] — The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL.
      - `Website` string — Website address for contact (read only)
      - `BrandingTheme` BrandingTheme
        - `BrandingThemeID` string, uuid — Xero identifier
        - `Name` string — Name of branding theme
        - `LogoUrl` string — The location of the image file used as the logo on this branding theme
        - `Type` 'INVOICE' — Always INVOICE
        - `SortOrder` integer — Integer – ranked order of branding theme. The default branding theme has a value of 0
        - `CreatedDateUTC` string — UTC timestamp of creation date of branding theme
      - `BatchPayments` BatchPaymentDetails — Bank details for use on a batch payment stored with each contact
        - `BankAccountNumber` string — Bank account number for use with Batch Payments
        - `BankAccountName` string — Name of bank for use with Batch Payments
        - `Details` string — (Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18
        - `Code` string — (NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
        - `Reference` string — (NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
      - `Discount` number, double — The default discount rate for the contact (read only)
      - `Balances` Balances — The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)
        - `AccountsReceivable` AccountsReceivable
          - `Outstanding` number, double
          - `Overdue` number, double
        - `AccountsPayable` AccountsPayable
          - `Outstanding` number, double
          - `Overdue` number, double
      - `Attachments` Attachment[] — Displays array of attachments from the API
        - `AttachmentID` string, uuid — Unique ID for the file
        - `FileName` string — Name of the file
        - `Url` string — URL to the file on xero.com
        - `MimeType` string — Type of file
        - `ContentLength` integer — Length of the file content
        - `IncludeOnline` boolean — Include the file with the online invoice
      - `HasAttachments` boolean — A boolean to indicate if a contact has an attachment
      - `ValidationErrors` ValidationError[] — Displays validation errors returned from the API
        - `Message` string — Validation error message
      - `HasValidationErrors` boolean — A boolean to indicate if a contact has an validation errors
      - `StatusAttributeString` string — Status of object
    - `LineItems` LineItem[] — See LineItems
      - `LineItemID` string, uuid — LineItem unique ID
      - `Description` string — Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a <Description> element that contains at least 1 character
      - `Quantity` number, double — LineItem Quantity
      - `UnitAmount` number, double — LineItem Unit Amount
      - `ItemCode` string — See Items
      - `AccountCode` string — See Accounts
      - `AccountID` string, uuid — The associated account ID related to this line item
      - `TaxType` string — The tax type from TaxRates
      - `TaxAmount` number, double — The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated <TaxAmount> is not correct.
      - `Item` LineItemItem
        - `Code` string — User defined item code (max length = 30)
        - `Name` string — The name of the item (max length = 50)
        - `ItemID` string, uuid — The Xero identifier for an Item
      - `LineAmount` number, double — If you wish to omit either the Quantity or UnitAmount you can provide a LineAmount and Xero will calculate the missing amount for you. The line amount reflects the discounted price if either a DiscountRate or DiscountAmount has been used i.e. LineAmount = Quantity * Unit Amount * ((100 - DiscountRate)/100) or LineAmount = (Quantity * UnitAmount) - DiscountAmount
      - `Tracking` LineItemTracking[] — Optional Tracking Category – see Tracking. Any LineItem can have a maximum of 2 <TrackingCategory> elements.
        - `TrackingCategoryID` string, uuid — The Xero identifier for a tracking category
        - `TrackingOptionID` string, uuid — The Xero identifier for a tracking category option
        - `Name` string — The name of the tracking category
        - `Option` string — See Tracking Options
      - `DiscountRate` number, double — Percentage discount being applied to a line item (only supported on ACCREC invoices – ACC PAY invoices and credit notes in Xero do not support discounts
      - `DiscountAmount` number, double — Discount amount being applied to a line item. Only supported on ACCREC invoices and quotes. ACCPAY invoices and credit notes in Xero do not support discounts.
      - `RepeatingInvoiceID` string, uuid — The Xero identifier for a Repeating Invoice
      - `Taxability` 'TAXABLE' | 'NON_TAXABLE' | 'EXEMPT' | 'PART_TAXABLE' | 'NOT_APPLICABLE' — The type of taxability
      - `SalesTaxCodeId` number — The ID of the sales tax code
      - `TaxBreakdown` TaxBreakdownComponent[] — An array of tax components defined for this line item
        - `TaxComponentId` string, uuid — The unique ID number of this component
        - `Type` 'SYSGST/USCOUNTRY' | 'SYSGST/USSTATE' | 'SYSGST/USCOUNTY' | 'SYSGST/USCITY' | 'SYSGST/USSPECIAL' — The type of the jurisdiction
        - `Name` string — The name of the jurisdiction
        - `TaxPercentage` number — The percentage of the tax
        - `TaxAmount` number — The amount of the tax
        - `TaxableAmount` number — The amount that is taxable
        - `NonTaxableAmount` number — The amount that is not taxable
        - `ExemptAmount` number — The amount that is exempt
        - `StateAssignedNo` string — The state assigned number of the jurisdiction
        - `JurisdictionRegion` string — Name identifying the region within the country
    - `Date` string — Date quote was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation
    - `DateString` string — Date the quote was issued (YYYY-MM-DD)
    - `ExpiryDate` string — Date the quote expires – YYYY-MM-DD.
    - `ExpiryDateString` string — Date the quote expires – YYYY-MM-DD.
    - `Status` 'DRAFT' | 'SENT' | 'DECLINED' | 'ACCEPTED' | 'INVOICED' | 'DELETED' — The status of the quote.
    - `CurrencyCode` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EEK' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZMK' | 'ZWD' — 3 letter alpha code for the currency – see list of currency codes
    - `CurrencyRate` number, double — The currency rate for a multicurrency quote
    - `SubTotal` number, double — Total of quote excluding taxes.
    - `TotalTax` number, double — Total tax on quote
    - `Total` number, double — Total of Quote tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts
    - `TotalDiscount` number, double — Total of discounts applied on the quote line items
    - `Title` string — Title text for the quote
    - `Summary` string — Summary text for the quote
    - `BrandingThemeID` string, uuid — See BrandingThemes
    - `UpdatedDateUTC` string — Last modified date UTC format
    - `LineAmountTypes` 'EXCLUSIVE' | 'INCLUSIVE' | 'NOTAX' — Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
    - `StatusAttributeString` string — A string to indicate if a invoice status
    - `ValidationErrors` ValidationError[] — Displays array of validation error messages from the API
      - `Message` string — Validation error message

## Response `200`

Success - return response of type Quotes array with updated or created Quote

- Quotes
  - `Quotes` Quote[]
    - `QuoteID` string, uuid — QuoteID GUID is automatically generated and is returned after create or GET.
    - `QuoteNumber` string — Unique alpha numeric code identifying a quote (Max Length = 255)
    - `Reference` string — Additional reference number
    - `Terms` string — Terms of the quote
    - `Contact` Contact
      - `ContactID` string, uuid — Xero identifier
      - `MergedToContactID` string, uuid — ID for the destination of a merged contact. Only returned when using paging or when fetching a contact by ContactId or ContactNumber.
      - `ContactNumber` string — This can be updated via the API only i.e. This field is read only on the Xero contact screen, used to identify contacts in external systems (max length = 50). If the Contact Number is used, this is displayed as Contact Code in the Contacts UI in Xero.
      - `AccountNumber` string — A user defined account number. This can be updated via the API and the Xero UI (max length = 50)
      - `ContactStatus` 'ACTIVE' | 'ARCHIVED' | 'GDPRREQUEST' — Current status of a contact – see contact status types
      - `Name` string — Full name of contact/organisation (max length = 255)
      - `FirstName` string — First name of contact person (max length = 255)
      - `LastName` string — Last name of contact person (max length = 255)
      - `CompanyNumber` string — Company registration number (max length = 50)
      - `EmailAddress` string — Email address of contact person (umlauts not supported) (max length = 255)
      - `ContactPersons` ContactPerson[] — See contact persons
        - `FirstName` string — First name of person
        - `LastName` string — Last name of person
        - `EmailAddress` string — Email address of person
        - `IncludeInEmails` boolean — boolean to indicate whether contact should be included on emails with invoices etc.
      - `BankAccountDetails` string — Bank account number of contact
      - `TaxNumber` string — Tax number of contact – this is also known as the ABN (Australia), GST Number (New Zealand), VAT Number (UK) or Tax ID Number (US and global) in the Xero UI depending on which regionalized version of Xero you are using (max length = 50)
      - `TaxNumberType` 'SSN' | 'EIN' | 'ITIN' | 'ATIN' — Identifier of the regional type of tax number, such as US, UK, or other regional tax identifiers
      - `AccountsReceivableTaxType` string — The tax type from TaxRates
      - `AccountsPayableTaxType` string — The tax type from TaxRates
      - `Addresses` Address[] — Store certain address types for a contact – see address types
        - `AddressType` 'POBOX' | 'STREET' — define the type of address
        - `AddressLine1` string — max length = 500
        - `AddressLine2` string — max length = 500
        - `AddressLine3` string — max length = 500
        - `AddressLine4` string — max length = 500
        - `City` string — max length = 255
        - `Region` string — max length = 255
        - `PostalCode` string — max length = 50
        - `Country` string — max length = 50, [A-Z], [a-z] only
        - `AttentionTo` string — max length = 255
      - `Phones` Phone[] — Store certain phone types for a contact – see phone types
        - `PhoneType` 'DEFAULT' | 'DDI' | 'MOBILE' | 'FAX' | 'OFFICE'
        - `PhoneNumber` string — max length = 50
        - `PhoneAreaCode` string — max length = 10
        - `PhoneCountryCode` string — max length = 20
      - `IsSupplier` boolean — true or false – Boolean that describes if a contact that has any AP invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts payable invoice is generated against this contact.
      - `IsCustomer` boolean — true or false – Boolean that describes if a contact has any AR invoices entered against them. Cannot be set via PUT or POST – it is automatically set when an accounts receivable invoice is generated against this contact.
      - `SalesDefaultLineAmountType` 'INCLUSIVE' | 'EXCLUSIVE' | 'NONE' — The default sales line amount type for a contact. Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
      - `PurchasesDefaultLineAmountType` 'INCLUSIVE' | 'EXCLUSIVE' | 'NONE' — The default purchases line amount type for a contact Only available when summaryOnly parameter or paging is used, or when fetch by ContactId or ContactNumber.
      - `DefaultCurrency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EEK' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZMK' | 'ZWD' — 3 letter alpha code for the currency – see list of currency codes
      - `XeroNetworkKey` string — Store XeroNetworkKey for contacts.
      - `SalesDefaultAccountCode` string — The default sales account code for contacts
      - `PurchasesDefaultAccountCode` string — The default purchases account code for contacts
      - `SalesTrackingCategories` SalesTrackingCategory[] — The default sales tracking categories for contacts
        - `TrackingCategoryName` string — The default sales tracking category name for contacts
        - `TrackingOptionName` string — The default purchase tracking category name for contacts
      - `PurchasesTrackingCategories` SalesTrackingCategory[] — The default purchases tracking categories for contacts
        - `TrackingCategoryName` string — The default sales tracking category name for contacts
        - `TrackingOptionName` string — The default purchase tracking category name for contacts
      - `TrackingCategoryName` string — The name of the Tracking Category assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
      - `TrackingCategoryOption` string — The name of the Tracking Option assigned to the contact under SalesTrackingCategories and PurchasesTrackingCategories
      - `PaymentTerms` PaymentTerm
        - `Bills` Bill
          - `Day` integer — Day of Month (0-31)
          - `Type` 'DAYSAFTERBILLDATE' | 'DAYSAFTERBILLMONTH' | 'OFCURRENTMONTH' | 'OFFOLLOWINGMONTH'
        - `Sales` Bill
          - `Day` integer — Day of Month (0-31)
          - `Type` 'DAYSAFTERBILLDATE' | 'DAYSAFTERBILLMONTH' | 'OFCURRENTMONTH' | 'OFFOLLOWINGMONTH'
      - `UpdatedDateUTC` string — UTC timestamp of last update to contact
      - `ContactGroups` ContactGroup[] — Displays which contact groups a contact is included in
        - `Name` string — The Name of the contact group. Required when creating a new contact group
        - `Status` 'ACTIVE' | 'DELETED' — The Status of a contact group. To delete a contact group update the status to DELETED. Only contact groups with a status of ACTIVE are returned on GETs.
        - `ContactGroupID` string, uuid — The Xero identifier for an contact group – specified as a string following the endpoint name. e.g. /297c2dc5-cc47-4afd-8ec8-74990b8761e9
        - `Contacts` Contact[] — The ContactID and Name of Contacts in a contact group. Returned on GETs when the ContactGroupID is supplied in the URL.
      - `Website` string — Website address for contact (read only)
      - `BrandingTheme` BrandingTheme
        - `BrandingThemeID` string, uuid — Xero identifier
        - `Name` string — Name of branding theme
        - `LogoUrl` string — The location of the image file used as the logo on this branding theme
        - `Type` 'INVOICE' — Always INVOICE
        - `SortOrder` integer — Integer – ranked order of branding theme. The default branding theme has a value of 0
        - `CreatedDateUTC` string — UTC timestamp of creation date of branding theme
      - `BatchPayments` BatchPaymentDetails — Bank details for use on a batch payment stored with each contact
        - `BankAccountNumber` string — Bank account number for use with Batch Payments
        - `BankAccountName` string — Name of bank for use with Batch Payments
        - `Details` string — (Non-NZ Only) These details are sent to the org’s bank as a reference for the batch payment transaction. They will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement imported into Xero. Maximum field length = 18
        - `Code` string — (NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
        - `Reference` string — (NZ Only) Optional references for the batch payment transaction. It will also show with the batch payment transaction in the bank reconciliation Find & Match screen. Depending on your individual bank, the detail may also show on the bank statement you import into Xero.
      - `Discount` number, double — The default discount rate for the contact (read only)
      - `Balances` Balances — The raw AccountsReceivable(sales invoices) and AccountsPayable(bills) outstanding and overdue amounts, not converted to base currency (read only)
        - `AccountsReceivable` AccountsReceivable
          - `Outstanding` number, double
          - `Overdue` number, double
        - `AccountsPayable` AccountsPayable
          - `Outstanding` number, double
          - `Overdue` number, double
      - `Attachments` Attachment[] — Displays array of attachments from the API
        - `AttachmentID` string, uuid — Unique ID for the file
        - `FileName` string — Name of the file
        - `Url` string — URL to the file on xero.com
        - `MimeType` string — Type of file
        - `ContentLength` integer — Length of the file content
        - `IncludeOnline` boolean — Include the file with the online invoice
      - `HasAttachments` boolean — A boolean to indicate if a contact has an attachment
      - `ValidationErrors` ValidationError[] — Displays validation errors returned from the API
        - `Message` string — Validation error message
      - `HasValidationErrors` boolean — A boolean to indicate if a contact has an validation errors
      - `StatusAttributeString` string — Status of object
    - `LineItems` LineItem[] — See LineItems
      - `LineItemID` string, uuid — LineItem unique ID
      - `Description` string — Description needs to be at least 1 char long. A line item with just a description (i.e no unit amount or quantity) can be created by specifying just a <Description> element that contains at least 1 character
      - `Quantity` number, double — LineItem Quantity
      - `UnitAmount` number, double — LineItem Unit Amount
      - `ItemCode` string — See Items
      - `AccountCode` string — See Accounts
      - `AccountID` string, uuid — The associated account ID related to this line item
      - `TaxType` string — The tax type from TaxRates
      - `TaxAmount` number, double — The tax amount is auto calculated as a percentage of the line amount (see below) based on the tax rate. This value can be overriden if the calculated <TaxAmount> is not correct.
      - `Item` LineItemItem
        - `Code` string — User defined item code (max length = 30)
        - `Name` string — The name of the item (max length = 50)
        - `ItemID` string, uuid — The Xero identifier for an Item
      - `LineAmount` number, double — If you wish to omit either the Quantity or UnitAmount you can provide a LineAmount and Xero will calculate the missing amount for you. The line amount reflects the discounted price if either a DiscountRate or DiscountAmount has been used i.e. LineAmount = Quantity * Unit Amount * ((100 - DiscountRate)/100) or LineAmount = (Quantity * UnitAmount) - DiscountAmount
      - `Tracking` LineItemTracking[] — Optional Tracking Category – see Tracking. Any LineItem can have a maximum of 2 <TrackingCategory> elements.
        - `TrackingCategoryID` string, uuid — The Xero identifier for a tracking category
        - `TrackingOptionID` string, uuid — The Xero identifier for a tracking category option
        - `Name` string — The name of the tracking category
        - `Option` string — See Tracking Options
      - `DiscountRate` number, double — Percentage discount being applied to a line item (only supported on ACCREC invoices – ACC PAY invoices and credit notes in Xero do not support discounts
      - `DiscountAmount` number, double — Discount amount being applied to a line item. Only supported on ACCREC invoices and quotes. ACCPAY invoices and credit notes in Xero do not support discounts.
      - `RepeatingInvoiceID` string, uuid — The Xero identifier for a Repeating Invoice
      - `Taxability` 'TAXABLE' | 'NON_TAXABLE' | 'EXEMPT' | 'PART_TAXABLE' | 'NOT_APPLICABLE' — The type of taxability
      - `SalesTaxCodeId` number — The ID of the sales tax code
      - `TaxBreakdown` TaxBreakdownComponent[] — An array of tax components defined for this line item
        - `TaxComponentId` string, uuid — The unique ID number of this component
        - `Type` 'SYSGST/USCOUNTRY' | 'SYSGST/USSTATE' | 'SYSGST/USCOUNTY' | 'SYSGST/USCITY' | 'SYSGST/USSPECIAL' — The type of the jurisdiction
        - `Name` string — The name of the jurisdiction
        - `TaxPercentage` number — The percentage of the tax
        - `TaxAmount` number — The amount of the tax
        - `TaxableAmount` number — The amount that is taxable
        - `NonTaxableAmount` number — The amount that is not taxable
        - `ExemptAmount` number — The amount that is exempt
        - `StateAssignedNo` string — The state assigned number of the jurisdiction
        - `JurisdictionRegion` string — Name identifying the region within the country
    - `Date` string — Date quote was issued – YYYY-MM-DD. If the Date element is not specified it will default to the current date based on the timezone setting of the organisation
    - `DateString` string — Date the quote was issued (YYYY-MM-DD)
    - `ExpiryDate` string — Date the quote expires – YYYY-MM-DD.
    - `ExpiryDateString` string — Date the quote expires – YYYY-MM-DD.
    - `Status` 'DRAFT' | 'SENT' | 'DECLINED' | 'ACCEPTED' | 'INVOICED' | 'DELETED' — The status of the quote.
    - `CurrencyCode` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EEK' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LVL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SKK' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'STD' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VEF' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZMK' | 'ZWD' — 3 letter alpha code for the currency – see list of currency codes
    - `CurrencyRate` number, double — The currency rate for a multicurrency quote
    - `SubTotal` number, double — Total of quote excluding taxes.
    - `TotalTax` number, double — Total tax on quote
    - `Total` number, double — Total of Quote tax inclusive (i.e. SubTotal + TotalTax). This will be ignored if it doesn’t equal the sum of the LineAmounts
    - `TotalDiscount` number, double — Total of discounts applied on the quote line items
    - `Title` string — Title text for the quote
    - `Summary` string — Summary text for the quote
    - `BrandingThemeID` string, uuid — See BrandingThemes
    - `UpdatedDateUTC` string — Last modified date UTC format
    - `LineAmountTypes` 'EXCLUSIVE' | 'INCLUSIVE' | 'NOTAX' — Line amounts are exclusive of tax by default if you don’t specify this element. See Line Amount Types
    - `StatusAttributeString` string — A string to indicate if a invoice status
    - `ValidationErrors` ValidationError[] — Displays array of validation error messages from the API
      - `Message` string — Validation error message

## Other responses

- `400` — A failed request due to validation error

---

[API](https://skmtc.net/xeroapi/apis/xero-accounting-api.md) · [All operations](https://skmtc.net/xeroapi/apis/xero-accounting-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xeroapi/xero-accounting-api/versions/dc231cafd8de/schema)
