account

An Account object is a component of a Chart Of Accounts, and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity. Delete is achieved by setting the Active attribute to false in an object update request; thus, making it inactive. In this type of delete, the record is not permanently deleted, but is hidden for display purposes. References to inactive objects are left intact.

For France locales, only:

  • If an Account object is created under the category where the purchSaleLocationRequired attribute is true in the master category list, the system does not allow more then one account to be created for the same location. For example, if an expense account 606401 is associated with location Within France under account category 6064, then the system does not allow another account (6064XX) to be created with the same location Within France under the same 6064 account category.
  • If Account is created under the category where both purchSaleLocationRequired attribute and vatCodeRequired attribute is true in the master category list, the system does not allow more then one account to be created for the same location and VAT code combination. For example, if an income account 703001 is associated with location Within France and 20 % TVA FR VAT rate under account category 703, then the system does not allow another account (703XXX) to be created with the same location Within France and 20 % TVA FR VAT rate under same account category 703.
  • If Account is not used in any transaction then the system allows edits on fields AcctNum, Name, TxnLocationType, TaxCodeRef, and AccountAlias.
  • If Account is used in a transaction and transaction is soft closed then system will not allow edits for AcctNum, Name, TxnLocationType, and TaxCodeRef.
  • If account is used in Transaction and transaction is not soft closed then system will not allow edits for TxnLocationType and TaxCodeRef.
  • QuickBooks Online uses a master account list for CRUD operations, which is driven from the French generally accepted Plan Comptable General (PCG) list. This list contains an array of JSON objects, with each entry corresponding to a number prefix in the PCG list. Click here to open the master category list (in a new tab).
    Attribute Data type Description
    detailType String DetailType of the account in QuickBooks Online.
    name String Default name of the account.
    accountAlias String Default accountAlias for account.
    number String Account starting with this number falls under this category.
    nonPosting Boolean Ff true, account creation for this category is not allowed.
    purchSaleLocationRequired Boolean If true, the system allows account created under this category to be associated with TxnLocationType.
    defaultPurchSaleLocation String Default location for account created.
    defaultTaxCode String Default TaxCode associated with the account.
    canSetOpeningBalance Boolean If true, opening balance can be set for these accounts.
    vatCodeRequired Boolean If true, the system allows a VAT code to be associated with this account.
    journalCodeRequired Boolean If true, the system allows a JournalCode object to be associated with this account.
    itemCategoryType Array Accounts created under this category can be associated with particular type of item. For example, if Array contains PRODUCT then the account created can be associated with item of type PRODUCT only.
    includedTxnApplicableSet Array For internal use.
    excludedTxnApplicableSet Array For internal use.
    bankAccountFilterTypes Array For internal use.

The account object

SAMPLE OBJECT
{ "Account": { "Name": "MyJobs", "SubAccount": false, "FullyQualifiedName": "MyJobs", "Active": true, "Classification": "Asset", "AccountType": "Accounts Receivable", "AccountSubType": "AccountsReceivable", "CurrentBalance": 0, "CurrentBalanceWithSubAccounts": 0, "CurrencyRef": { "value": "USD", "name": "United States Dollar" }, "domain": "QBO", "sparse": false, "Id": "94", "SyncToken": "0", "MetaData": { "CreateTime": "2014-12-31T09:29:05-08:00", "LastUpdatedTime": "2014-12-31T09:29:05-08:00" } }, "time": "2014-12-31T09:29:05.717-08:00" }

SAMPLE OBJECT
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-07-13T12:30:07.458-07:00"> <Account domain="QBO" sparse="false"> <Id>93</Id> <SyncToken>0</SyncToken> <MetaData> <CreateTime>2015-07-13T12:34:47-07:00</CreateTime> <LastUpdatedTime>2015-07-13T12:34:47-07:00</LastUpdatedTime> </MetaData> <Name>MyClients</Name> <SubAccount>false</SubAccount> <FullyQualifiedName>MyClients</FullyQualifiedName> <Active>true</Active> <Classification>Asset</Classification> <AccountType>Accounts Receivable</AccountType> <AccountSubType>AccountsReceivable</AccountSubType> <CurrentBalance>0</CurrentBalance> <CurrentBalanceWithSubAccounts>0</CurrentBalanceWithSubAccounts> <CurrencyRef name="United States Dollar">USD</CurrencyRef> </Account> </IntuitResponse>

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
SubAccount:
optional
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
optional
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
optional
String, maximum of 100 chars, filterable, sortable, default is null
User entered description for the account, which may include user entered information to guide bookkeepers/accountants in deciding what journal entries to post to the account.
FullyQualifiedName:
optional
String, system generated, filterable, sortable, read-only
Fully qualified name of the object; derived from Name and ParentRef. The fully qualified name prepends the topmost parent, followed by each subaccount separated by colons and takes the form of Parent:Account1:SubAccount1:SubAccount2. System generated. Limited to 5 levels.
Active:
optional
Boolean, filterable, default is true
Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.
Classification:
optional
String, filterable, default is derived from AccountType and AccountSubtype
The classification of an account. Not supported for non-posting accounts.
Valid values include: Asset, Equity, Expense, Liability, Revenue
AccountType:
required if AccountSubType is not specified
AccountTypeEnum, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, filterable
The account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
CurrentBalance:
optional
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
optional
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
optional
CurrencyRef
Reference to the currency in which this account holds amounts.
TaxCodeRef:
minor version 3
ReferenceType, default is null
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.
AccountAlias:
minor version 5
String, default is value of Account.Name
A user friendly name for the account. It must be unique across all account categories. For France locales, only.
For example, if an account is created under category 211 with AccountAlias of Terrains, then the system does not allow creation of an account with same AccountAlias of Terrains for any other category except 211. In other words, 211001 and 215001 accounts cannot have same AccountAlias because both belong to different account category.
For France locales, only.
TxnLocationType
minor version 5
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

Create a account

REQUEST URL
Sandbox Base URL: https://sandbox-quickbooks.api.intuit.com
Production Base URL: https://quickbooks.api.intuit.com

Operation: POST /v3/company/<companyID>/account
Content type: application/json
  • Name must be unique.
  • The Account.Name attribute must not contain double quotes (") or colon (:).
  • The Account.AcctNum attribute must not contain a colon (:).
Request body
SAMPLE REQUEST
{ "AccountType": "Accounts Receivable", "Name": "MyJobs" }

SAMPLE REQUEST
<Account xmlns="http://schema.intuit.com/finance/v3"> <Name>MyClients</Name> <!--change name if the request fails with 400 due to Duplicate name--> <AccountType>Accounts Receivable</AccountType> </Account>

The minimum elements to create an Account object are listed here.

Name:
required
String, required, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
AccountType:
required if AccountSubType is not specified
AccountTypeEnum,required if AccountSubType is not specified, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, required if AccountType is not specified, filterable
AThe account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
TaxCodeRef:
required for France locales
minor version 3
ReferenceType
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.
Returns
SAMPLE RESPONSE
{ "Account": { "Name": "MyJobs", "SubAccount": false, "FullyQualifiedName": "MyJobs", "Active": true, "Classification": "Asset", "AccountType": "Accounts Receivable", "AccountSubType": "AccountsReceivable", "CurrentBalance": 0, "CurrentBalanceWithSubAccounts": 0, "CurrencyRef": { "value": "USD", "name": "United States Dollar" }, "domain": "QBO", "sparse": false, "Id": "94", "SyncToken": "0", "MetaData": { "CreateTime": "2014-12-31T09:29:05-08:00", "LastUpdatedTime": "2014-12-31T09:29:05-08:00" } }, "time": "2014-12-31T09:29:05.717-08:00" }

SAMPLE RESPONSE
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-07-13T12:30:07.458-07:00"> <Account domain="QBO" sparse="false"> <Id>93</Id> <SyncToken>0</SyncToken> <MetaData> <CreateTime>2015-07-13T12:34:47-07:00</CreateTime> <LastUpdatedTime>2015-07-13T12:34:47-07:00</LastUpdatedTime> </MetaData> <Name>MyClients</Name> <SubAccount>false</SubAccount> <FullyQualifiedName>MyClients</FullyQualifiedName> <Active>true</Active> <Classification>Asset</Classification> <AccountType>Accounts Receivable</AccountType> <AccountSubType>AccountsReceivable</AccountSubType> <CurrentBalance>0</CurrentBalance> <CurrentBalanceWithSubAccounts>0</CurrentBalanceWithSubAccounts> <CurrencyRef name="United States Dollar">USD</CurrencyRef> </Account> </IntuitResponse>

Returns the newly created Account object.

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
SubAccount:
optional
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
optional
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
optional
String, maximum of 100 chars, filterable, sortable, default is null
User entered description for the account, which may include user entered information to guide bookkeepers/accountants in deciding what journal entries to post to the account.
FullyQualifiedName:
optional
String, system generated, filterable, sortable, read-only
Fully qualified name of the object; derived from Name and ParentRef. The fully qualified name prepends the topmost parent, followed by each subaccount separated by colons and takes the form of Parent:Account1:SubAccount1:SubAccount2. System generated. Limited to 5 levels.
Active:
optional
Boolean, filterable, default is true
Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.
Classification:
optional
String, filterable, default is derived from AccountType and AccountSubtype
The classification of an account. Not supported for non-posting accounts.
Valid values include: Asset, Equity, Expense, Liability, Revenue
AccountType:
required if AccountSubType is not specified
AccountTypeEnum, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, filterable
The account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
CurrentBalance:
optional
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
optional
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
optional
CurrencyRef
Reference to the currency in which this account holds amounts.
TaxCodeRef:
minor version 3
ReferenceType, default is null
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.
AccountAlias:
minor version 5
String, default is value of Account.Name
A user friendly name for the account. It must be unique across all account categories. For France locales, only.
For example, if an account is created under category 211 with AccountAlias of Terrains, then the system does not allow creation of an account with same AccountAlias of Terrains for any other category except 211. In other words, 211001 and 215001 accounts cannot have same AccountAlias because both belong to different account category.
For France locales, only.
TxnLocationType
minor version 5
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

Read a account

REQUEST URL
Sandbox Base URL: https://sandbox-quickbooks.api.intuit.com
Production Base URL: https://quickbooks.api.intuit.com

Operation: GET /v3/company/<companyID>/account/<accountId>

Retrieves the details of an Account object that has been previously created.

Returns

SAMPLE RESPONSE
{ "Account": { "Name": "Accounts Payable (A/P)", "SubAccount": false, "FullyQualifiedName": "Accounts Payable (A/P)", "Active": true, "Classification": "Liability", "AccountType": "Accounts Payable", "AccountSubType": "AccountsPayable", "CurrentBalance": -1091.23, "CurrentBalanceWithSubAccounts": -1091.23, "domain": "QBO", "sparse": false, "Id": "33", "SyncToken": "0", "MetaData": { "CreateTime": "2014-09-12T10:12:02-07:00", "LastUpdatedTime": "2015-06-30T15:09:07-07:00" } }, "time": "2015-07-13T12:50:36.72-07:00" }

SAMPLE RESPONSE
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-07-13T12:51:18.467-07:00"> <Account domain="QBO" sparse="false"> <Id>33</Id> <SyncToken>0</SyncToken> <MetaData> <CreateTime>2014-09-12T10:12:02-07:00</CreateTime> <LastUpdatedTime>2015-06-30T15:09:07-07:00</LastUpdatedTime> </MetaData> <Name>Accounts Payable (A/P)</Name> <SubAccount>false</SubAccount> <FullyQualifiedName>Accounts Payable (A/P)</FullyQualifiedName> <Active>true</Active> <Classification>Liability</Classification> <AccountType>Accounts Payable</AccountType> <AccountSubType>AccountsPayable</AccountSubType> <CurrentBalance>-1091.23</CurrentBalance> <CurrentBalanceWithSubAccounts>-1091.23</CurrentBalanceWithSubAccounts> </Account> </IntuitResponse>

Returns the Account object.

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
SubAccount:
optional
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
optional
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
optional
String, maximum of 100 chars, filterable, sortable, default is null
User entered description for the account, which may include user entered information to guide bookkeepers/accountants in deciding what journal entries to post to the account.
FullyQualifiedName:
optional
String, system generated, filterable, sortable, read-only
Fully qualified name of the object; derived from Name and ParentRef. The fully qualified name prepends the topmost parent, followed by each subaccount separated by colons and takes the form of Parent:Account1:SubAccount1:SubAccount2. System generated. Limited to 5 levels.
Active:
optional
Boolean, filterable, default is true
Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.
Classification:
optional
String, filterable, default is derived from AccountType and AccountSubtype
The classification of an account. Not supported for non-posting accounts.
Valid values include: Asset, Equity, Expense, Liability, Revenue
AccountType:
required if AccountSubType is not specified
AccountTypeEnum, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, filterable
The account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
CurrentBalance:
optional
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
optional
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
optional
CurrencyRef
Reference to the currency in which this account holds amounts.
TaxCodeRef:
minor version 3
ReferenceType, default is null
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.
AccountAlias:
minor version 5
String, default is value of Account.Name
A user friendly name for the account. It must be unique across all account categories. For France locales, only.
For example, if an account is created under category 211 with AccountAlias of Terrains, then the system does not allow creation of an account with same AccountAlias of Terrains for any other category except 211. In other words, 211001 and 215001 accounts cannot have same AccountAlias because both belong to different account category.
For France locales, only.
TxnLocationType
minor version 5
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

Full update a account

REQUEST URL
Sandbox Base URL: https://sandbox-quickbooks.api.intuit.com
Production Base URL: https://quickbooks.api.intuit.com

Operation: POST /v3/company/<companyID>/account
Content type: application/json

Use this operation to update any of the writable fields of an existing account object. The request body must include all writable fields of the existing object as returned in a read response. Writable fields omitted from the request body are set to NULL. The ID of the object to update is specified in the request body.

Request body

SAMPLE REQUEST
{ "Name": "Accounts Payable (A/P)", "SubAccount": false, "FullyQualifiedName": "Accounts Payable (A/P)", "Active": true, "Classification": "Liability", "Description": "Description added during update.", "AccountType": "Accounts Payable", "AccountSubType": "AccountsPayable", "CurrentBalance": -1091.23, "CurrentBalanceWithSubAccounts": -1091.23, "domain": "QBO", "sparse": false, "Id": "33", "SyncToken": "0", "MetaData": { "CreateTime": "2014-09-12T10:12:02-07:00", "LastUpdatedTime": "2015-06-30T15:09:07-07:00" } }

SAMPLE REQUEST
<Account xmlns="http://schema.intuit.com/finance/v3" domain="QBO" sparse="false"> <Id>33</Id> <SyncToken>2</SyncToken> <MetaData> <CreateTime>2014-09-12T10:12:02-07:00</CreateTime> <LastUpdatedTime>2015-07-13T15:35:13-07:00</LastUpdatedTime> </MetaData> <Name>Accounts Payable (A/P)</Name> <SubAccount>false</SubAccount> <Description>Another description update.</Description> <FullyQualifiedName>Accounts Payable (A/P)</FullyQualifiedName> <Active>true</Active> <Classification>Liability</Classification> <AccountType>Accounts Payable</AccountType> <AccountSubType>AccountsPayable</AccountSubType> <CurrentBalance>-1091.23</CurrentBalance> <CurrentBalanceWithSubAccounts>-1091.23</CurrentBalanceWithSubAccounts> </Account>

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
SubAccount:
optional
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
optional
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
optional
String, maximum of 100 chars, filterable, sortable, default is null
User entered description for the account, which may include user entered information to guide bookkeepers/accountants in deciding what journal entries to post to the account.
FullyQualifiedName:
optional
String, system generated, filterable, sortable, read-only
Fully qualified name of the object; derived from Name and ParentRef. The fully qualified name prepends the topmost parent, followed by each subaccount separated by colons and takes the form of Parent:Account1:SubAccount1:SubAccount2. System generated. Limited to 5 levels.
Active:
optional
Boolean, filterable, default is true
Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.
Classification:
optional
String, filterable, default is derived from AccountType and AccountSubtype
The classification of an account. Not supported for non-posting accounts.
Valid values include: Asset, Equity, Expense, Liability, Revenue
AccountType:
required if AccountSubType is not specified
AccountTypeEnum, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, filterable
The account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
CurrentBalance:
optional
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
optional
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
optional
CurrencyRef
Reference to the currency in which this account holds amounts.
TaxCodeRef:
minor version 3
ReferenceType, default is null
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.
AccountAlias:
minor version 5
String, default is value of Account.Name
A user friendly name for the account. It must be unique across all account categories. For France locales, only.
For example, if an account is created under category 211 with AccountAlias of Terrains, then the system does not allow creation of an account with same AccountAlias of Terrains for any other category except 211. In other words, 211001 and 215001 accounts cannot have same AccountAlias because both belong to different account category.
For France locales, only.
TxnLocationType
minor version 5
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

Returns

SAMPLE RESPONSE
{ "Account": { "Name": "MyJobs", "SubAccount": false, "FullyQualifiedName": "MyJobs", "Active": true, "Classification": "Asset", "AccountType": "Accounts Receivable", "AccountSubType": "AccountsReceivable", "CurrentBalance": 0, "CurrentBalanceWithSubAccounts": 0, "CurrencyRef": { "value": "USD", "name": "United States Dollar" }, "domain": "QBO", "sparse": false, "Id": "94", "SyncToken": "0", "MetaData": { "CreateTime": "2014-12-31T09:29:05-08:00", "LastUpdatedTime": "2014-12-31T09:29:05-08:00" } }, "time": "2014-12-31T09:29:05.717-08:00" }

SAMPLE RESPONSE
<IntuitResponse xmlns="http://schema.intuit.com/finance/v3" time="2015-07-13T12:30:07.458-07:00"> <Account domain="QBO" sparse="false"> <Id>93</Id> <SyncToken>0</SyncToken> <MetaData> <CreateTime>2015-07-13T12:34:47-07:00</CreateTime> <LastUpdatedTime>2015-07-13T12:34:47-07:00</LastUpdatedTime> </MetaData> <Name>MyClients</Name> <SubAccount>false</SubAccount> <FullyQualifiedName>MyClients</FullyQualifiedName> <Active>true</Active> <Classification>Asset</Classification> <AccountType>Accounts Receivable</AccountType> <AccountSubType>AccountsReceivable</AccountSubType> <CurrentBalance>0</CurrentBalance> <CurrentBalanceWithSubAccounts>0</CurrentBalanceWithSubAccounts> <CurrencyRef name="United States Dollar">USD</CurrencyRef> </Account> </IntuitResponse>

The account response body.

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
SubAccount:
optional
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
optional
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
optional
String, maximum of 100 chars, filterable, sortable, default is null
User entered description for the account, which may include user entered information to guide bookkeepers/accountants in deciding what journal entries to post to the account.
FullyQualifiedName:
optional
String, system generated, filterable, sortable, read-only
Fully qualified name of the object; derived from Name and ParentRef. The fully qualified name prepends the topmost parent, followed by each subaccount separated by colons and takes the form of Parent:Account1:SubAccount1:SubAccount2. System generated. Limited to 5 levels.
Active:
optional
Boolean, filterable, default is true
Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.
Classification:
optional
String, filterable, default is derived from AccountType and AccountSubtype
The classification of an account. Not supported for non-posting accounts.
Valid values include: Asset, Equity, Expense, Liability, Revenue
AccountType:
required if AccountSubType is not specified
AccountTypeEnum, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, filterable
The account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
CurrentBalance:
optional
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
optional
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
optional
CurrencyRef
Reference to the currency in which this account holds amounts.
TaxCodeRef:
minor version 3
ReferenceType, default is null
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.
AccountAlias:
minor version 5
String, default is value of Account.Name
A user friendly name for the account. It must be unique across all account categories. For France locales, only.
For example, if an account is created under category 211 with AccountAlias of Terrains, then the system does not allow creation of an account with same AccountAlias of Terrains for any other category except 211. In other words, 211001 and 215001 accounts cannot have same AccountAlias because both belong to different account category.
For France locales, only.
TxnLocationType
minor version 5
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

Query a account

REQUEST URL
Sandbox Base URL: https://sandbox-quickbooks.api.intuit.com
Production Base URL: https://quickbooks.api.intuit.com

Operation: POST /v3/company/<companyID>/query?query=<selectStatement>
Content type: text/plain
SAMPLE QUERY
select * from Account where Metadata.CreateTime > '2014-12-31'

SAMPLE QUERY
select * from Account where Metadata.CreateTime > '2014-12-31'

Returns

Returns the results of the query.

All complex types are listed below.

accountrequest

Name:
required
String, required, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
AccountType:
required if AccountSubType is not specified
AccountTypeEnum,required if AccountSubType is not specified, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, required if AccountType is not specified, filterable
AThe account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
TaxCodeRef:
required for France locales
minor version 3
ReferenceType
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.

accountresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, max 100 characters
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
SubAccount:
optional
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
optional
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
optional
String, maximum of 100 chars, filterable, sortable, default is null
User entered description for the account, which may include user entered information to guide bookkeepers/accountants in deciding what journal entries to post to the account.
FullyQualifiedName:
optional
String, system generated, filterable, sortable, read-only
Fully qualified name of the object; derived from Name and ParentRef. The fully qualified name prepends the topmost parent, followed by each subaccount separated by colons and takes the form of Parent:Account1:SubAccount1:SubAccount2. System generated. Limited to 5 levels.
Active:
optional
Boolean, filterable, default is true
Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.
Classification:
optional
String, filterable, default is derived from AccountType and AccountSubtype
The classification of an account. Not supported for non-posting accounts.
Valid values include: Asset, Equity, Expense, Liability, Revenue
AccountType:
required if AccountSubType is not specified
AccountTypeEnum, filterable
A detailed account classification that specifies the use of this account. The type is based on the Classification.
AccountSubType:
required if AccountType is not specified
String, filterable
The account sub-type classification and is based on the AccountType value.
AcctNum:
required for France locales
String, default is null
User-defined account number to help the user in identifying the account within the chart-of-accounts and in deciding what should be posted to the account. The Account.AcctNum attribute must not contain colon (:).
For France locales:
  • Name must be unique.
  • Length must be between 6 and 15 characters
  • Must start with the account number from the master category list.
  • Name limited to alpha-numeric characters.
CurrentBalance:
optional
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
optional
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
optional
CurrencyRef
Reference to the currency in which this account holds amounts.
TaxCodeRef:
minor version 3
ReferenceType, default is null
Reference to the default tax code used by this account. Tax codes are referenced by the TaxCode.Id in the TaxCode object. Available when endpoint is invoked with the minorversion=3 query parameter. For global locales, only.
AccountAlias:
minor version 5
String, default is value of Account.Name
A user friendly name for the account. It must be unique across all account categories. For France locales, only.
For example, if an account is created under category 211 with AccountAlias of Terrains, then the system does not allow creation of an account with same AccountAlias of Terrains for any other category except 211. In other words, 211001 and 215001 accounts cannot have same AccountAlias because both belong to different account category.
For France locales, only.
TxnLocationType
minor version 5
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

attachablerequest

AttachableRef [0..n]:
optional
AttachableRef
Specifies the transaction object to which this attachable file is to be linked.
FileName:
required for file attachments
String, maximum 1000 chars, filterable, sortable, default is null
FileName of the attachment.
Note:
required for note attachments
String, max 2000 chars, filterable, sortable
The note is either related to the attachment specified with the FileName attribute, or as a standalone note.

attachableresponse

Id:
required for update
IdType, filterable, sortable
Unique Identifier for an Intuit entity (object).
Required for the update operation.
SyncToken:
required for update
String, read-only
Version number of the entity.
Required for the update operation.
MetaData:
optional
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
AttachableRef [0..n]:
optional
AttachableRef
Specifies the transaction object to which this attachable file is to be linked.
FileName:
required for file attachments
String, maximum 1000 chars, filterable, sortable, default is null
FileName of the attachment.
Note:
required for standalone notes
String, max 2000 chars, filterable, sortable
This note is either related to the attachment specified by FileName or is a standalone note.
FileAccessUri:
optional
String, read-only, default is null
FullPath FileAccess URI of the attachment. Returned for file attachments.
TempDownloadUri:
optional
String, read-only, default is null
TempDownload URI which can be directly downloaded by clients. Returned for file attachments.
Size:
optional
Decimal, filterable, sortable, default is null
Size of the attachment. Returned for file attachments.
ContentType:
optional
String, max 100 chars, filterable, sortable, default is null
ContentType of the attachment. Returned for file attachments.
Category:
optional
String, max 100 chars, filterable, sortable, default is null
Category of the attachment. Valid values include (case sensitive): Contact Photo, Document, Image, Receipt, Signature, Sound, Other.
Lat:
optional
String, max 100 chars, filterable, sortable, default is null
Latitude from where the attachment was requested.
Long:
optional
String, max 100 chars, filterable, sortable, default is null
Longitude from where the attachment was requested.
PlaceName:
optional
String, max 2000 chars, filterable, sortable, default is null
PlaceName from where the attachment was requested.
Tag:
optional
String, max 2000 chars, filterable, sortable, default is null
Tag name for the requested attachment.
ThumbnailFileAccessUri:
optional
String, read-only, default is null
FullPath FileAccess URI of the attachment thumbnail if the attachment file is of a content type with thumbnail support. Returned for file attachments.
ThumbnailTempDownloadUri:
optional
String, read-only, filterable, sortable
Thumbnail TempDownload URI which can be directly downloaded by clients. This is only available if the attachment file is of a content type with thumbnail support. Returned for file attachments.

accounttypes

Classification

AccountType

AccountSubType

Asset Bank CashOnHand (default)
Checking
MoneyMarket
RentsHeldInTrust
Savings
TrustAccounts
Other Current Asset AllowanceForBadDebts
DevelopmentCosts
EmployeeCashAdvances (default)
OtherCurrentAssets
Inventory
Investment_MortgageRealEstateLoans
Investment_Other
Investment_TaxExemptSecurities
Investment_USGovernmentObligations
LoansToOfficers
LoansToOthers
LoansToStockholders
PrepaidExpenses
Retainage
UndepositedFunds
Fixed Asset AccumulatedDepletion
AccumulatedDepreciation
DepletableAssets
FurnitureAndFixtures (default)
Land
LeaseholdImprovements
OtherFixedAssets
AccumulatedAmortization
Buildings
IntangibleAssets
MachineryAndEquipment
Vehicles
Other Asset LeaseBuyout
OtherLongTermAssets
SecurityDeposits
AccumulatedAmortizationOfOtherAssets
Goodwill
Licenses (default)
OrganizationalCosts
Accounts Receivable AccountsReceivable
Equity Equity OpeningBalanceEquity (default)
PartnersEquity
RetainedEarnings
AccumulatedAdjustment
OwnersEquity
PaidInCapitalOrSurplus
​PartnerContributions
PartnerDistributions
PreferredStock
CommonStock
TreasuryStock
Expense Expense AdvertisingPromotional
BadDebts
BankCharges
CharitableContributions
Entertainment
EntertainmentMeals
EquipmentRental
FinanceCosts
GlobalTaxExpense
Insurance
InterestPaid
LegalProfessionalFees
OfficeGeneralAdministrativeExpenses
OtherMiscellaneousServiceCost
PromotionalMeals
RentOrLeaseOfBuildings
RepairMaintenance
ShippingFreightDelivery
SuppliesMaterials
Travel (default)
TravelMeals
Utilities
Auto
CostOfLabor
DuesSubscriptions
PayrollExpenses
TaxesPaid
UnappliedCashBillPaymentExpense
OtherExpense Depreciation (default)
ExchangeGainOrLoss
OtherMiscellaneousExpense
PenaltiesSettlements
Amortization
CostOfGoodsSold EquipmentRentalCos
OtherCostsOfServiceCos
ShippingFreightDeliveryCos
SuppliesMaterialsCogs
CostOfLaborCos (default)
Liability Accounts Payable AccountsPayable
CreditCard CreditCard
LongTermLiability NotesPayable (default)
OtherLongTermLiabilities
ShareholderNotesPayable
OtherCurrentLiability DirectDepositPayable
LineOfCredit
LoanPayable
GlobalTaxPayable
GlobalTaxSuspense
OtherCurrentLiabilities (default)
PayrollClearing
PayrollTaxPayable
PrepaidExpensesPayable
RentsInTrustLiability
TrustAccountsLiabilities
FederalIncomeTaxPayable
InsurancePayable
SalesTaxPayable
StateLocalIncomeTaxPayable
Revenue Income NonProfitIncome
OtherPrimaryIncome (default)
SalesOfProductIncome
ServiceFeeIncome
DiscountsRefundsGiven
UnappliedCashPaymentIncome
OtherIncome DividendIncome
InterestEarned
OtherInvestmentIncome (default)
OtherMiscellaneousIncome
TaxExemptInterest

accountbasedexpenseline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to AccountBasedExpenseLineDetailfor this type of line.
AccountBasedExpenseLineDetail:
optional
AccountBasedExpense LineDetail
CustomerRef:
optional
ReferenceType
​Reference to the Customer associated with the expense. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
AccountRef:
optional
ReferenceType
Reference to the Expense account associated with this item. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Expense. Use Account.Id and Account.Name from that object for AccountRef.value and AccountRef.name, respectively.
For France locales: The account associated with the referenced Account object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then this account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
BillableStatus:
optional
String
The billable status of the expense.
Constraints: Valid values: Billable, NotBillable, HasBeenBilled
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
TaxAmount:
optional
Decimal
Sales tax paid as part of the expense.
TaxCodeRef:
optional
ReferenceType
The TaxCodeassociated with the sales tax for the expense. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TaxInclusiveAmt:
optional
minor version 1
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

accountbasedexpenselinedetail

CustomerRef:
optional
ReferenceType
​Reference to the Customer associated with the expense. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
AccountRef:
optional
ReferenceType
Reference to the Expense account associated with this item. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Expense. Use Account.Id and Account.Name from that object for AccountRef.value and AccountRef.name, respectively.
For France locales: The account associated with the referenced Account object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then this account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
BillableStatus:
optional
String
The billable status of the expense.
Constraints: Valid values: Billable, NotBillable, HasBeenBilled
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
TaxAmount:
optional
Decimal
Sales tax paid as part of the expense.
TaxCodeRef:
optional
ReferenceType
The TaxCodeassociated with the sales tax for the expense. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TaxInclusiveAmt:
optional
minor version 1
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

attachableref

EntityRef:
optional
ReferenceType, Filterable
Object reference to which this attachment is linked.
  • Set EntityRef.value with the Id of the target object as returned in its response body when queried.
  • Set EntityRef.type with the specific type of the target object. For example, invoice, bill, item, etc.
LineInfo:
optional
String, Filterable
For transaction objects, used to reference a transaction detail line.
IncludeOnSend:
optional
Boolean, Filterable
Used when EntityRef.type references a transaction object. This field indicates whether or not the attachment is sent with the transaction when Save and Send button is clicked in the QuickBooks UI or when the Send endpoint (send email) is invoked for the object.
Inactive:
optional
Boolean, Filterable, default is false
Indicates whether or not to include references to hidden entities when filtering. When set to true , hidden references are returned in the result set.
For filtering results, it works with AttachableRef.EntityRef.Type , AttachableRef.EntityRef.Value and AttachableRef.NoRefOnly filters in combination.
NoRefOnly:
optional
Boolean, Filterable
Indicates whether or not to find attachable records that have no references to any entity. Combine with AttachableRef.Inactiveto return hidden references.
CustomField: [0..n]
optional
CustomField
If the user tries to fetch a record without permission, the permission denied message is conveyed through this field.
DefinitionId:
required
String, read-only.
Unique identifier of the CustomFieldDefinition that corresponds to this CustomField.
Name:
optional
String, read-only
Name of the custom field.
Type:
optional
CustomFieldTypeEnum, read-only
Data type of custom field. Only one type is currently supported: StringType.
StringValue:
optional
String
The value for the StringTypecustom field.

batchrequest

BatchItemRequest [0..n]:
required
batchitemrequest
A wrapper around all request objects for this batch operation.

batchitemrequest

bId:
required
String
Unique identifier for the batch item.
operation:
required for create, update, and delete
String
The operation to perform with the supplied request object payload. Do not use if this batchitemrequest object is for a query operation.
Valid values include: create, update, delete
resourceName:
optional
Request object
The payload for the request for create, update, and delete operations.
Query:
optional
string
The SELECT statement for the query. When Query is defined, do not define the operation attribute. See Querying data for information about creating SELECT statements.

batchresponse

BatchItemResponse [0..n]:
required
batchitemresponse
A wrapper around all response objects for this batch operation.

batchitemresonse

resourceName:
Response object
The payload for the response. If the operation results in an error, a Fault object is returned.
QueryResponse:
array of response objects
The payload for the query response. Returned only if a query operation is specified in the batch request. If the operation results in an error, a Fault object is returned.
bId:
required
String
Unique identifier for the batch item. This corresponds to the id supplied in the corresponding batch item request.

billresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
DocNumber:
optional
String, maximum of 21 chars, filterable, sortable
Reference number for the transaction. If not explicitly provided at create time, this field is populated based on the setting of Preferences:CustomTxnNumber as follows:
  • If Preferences:CustomTxnNumber is true a custom value can be provided. If no value is supplied, the resulting DocNumber is null.
  • If Preferences:CustomTxnNumber is false, resulting DocNumber is system generated by incrementing the last number by 1.
If Preferences:CustomTxnNumber is false and a value is supplied, that value is stored even if it is a duplicate. Recommended best practice: check the setting of Preferences:CustomTxnNumber before setting DocNumber.
Sort order is ASC by default.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
DepartmentRef:
optional
ReferenceType, default is null
A reference to a Department object specifying the location of the transaction, as defined using location tracking in QuickBooks Online. Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Memo field on the Invoice form.
LinkedTxn [0..n]:
optional
LinkedTxn, read-only
Zero or more bill payment transactions linked to this Bill object. The LinkedTxn.TxnType is always set to BillPaymentCheck regardless of payment method. Determine actual payment method by querying the BillPayment.PayType attribute.
Use LinkedTxn.TxnId as the ID in a separate BillPayment read request to retrieve details of the linked object.
Line [0..n]:
required
Line
Individual line items of a transaction. Valid Line types include:
Item based expense line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to ItemBasedExpenseLineDetail for this type of line.
ItemBasedExpenseLineDetail:
optional
ItemBasedExpenseLineDetail
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal

Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
PriceLevelRef:
optional
ReferenceType
Reference to the PriceLevel of the service or item for the line. Support for this element will be available in the coming months.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
CustomerRef:
optional
ReferenceType
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
BillableStatus:
optional
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Account based expense line:
TxnTaxDetail:
optional
TxnTaxDetail
This data type provides information for taxes charged on the transaction as a whole. It captures the details of all taxes calculated for the transaction based on the tax codes referenced by the transaction. This can be calculated by QuickBooks business logic or you may supply it when adding a transaction.
VendorRef:
required
ReferenceType, filterable, sortable
Reference to the vendor for this transaction. Query the Vendor name list resource to determine the appropriate Vendor object to reference here. Use Vendor.Id and Vendor.Name from that object for VendorRef.value and VendorRef.name, respectively.
APAccountRef:
optional
ReferenceType, filterable, sortable
Specifies to which AP account the bill is credited. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for APAccountRef.value and APAccountRef.name, respectively. The specified account must have Account.Classification set to Liability and Account.AccountSubType set to AccountsPayable.
If the company has a single AP account, the account is implied. However, it is recommended that the AP Account be explicitly specified in all cases to prevent unexpected errors when relating transactions to each other.
TotalAmt:
optional
BigDecimal, filterable, sortable, read-only
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
GlobalTaxCalculation:
optional
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
SalesTermRef:
optional
ReferenceType, filterable, sortable
Reference to the Term associated with the transaction. Query the Term name list resource to determine the appropriate Term object to reference here. Use Term.Id and Term.Name from that object for SalesTermRef.value and SalesTermRef.name, respectively.
DueDate:
optional
Date, filterable, sortable
Date when the payment of the transaction is due. If date is not provided, the number of days specified in SalesTermRef added the transaction date will be used.
Balance:
optional
Decimal, filterable, read-only
The balance reflecting any payments made against the transaction. Initially set to the value of TotalAmt. A Balance of 0 indicates the invoice is fully paid. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
HomeBalance:
optional
minor version 3
Decimal, read-only, applicable if multicurrency is enabled for the company
Convenience field containing the amount in Balance expressed in terms of the home currency. Calculated by QuickBooks business logic. Available when endpoint is evoked with the minorversion=3 query parameter.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

billpaymentcheck

BankAccountRef:
required
ReferenceType, filterable, sortable
Reference to the bank account. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for APAccountRef.value and APAccountRef.name, respectively. The specified account must have Account.AccountType set to Bank and Account.AccountSubType set to Checking.
PrintStatus:
optional
PrintStatusEnum, default is NeedToPrint
Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete.

billpaymentcreditcard

CCAccountRef:
required
ReferenceType, filterable, sortable
Reference to the credit card account. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for CCAccountRef.value and CCAccountRef.name, respectively. The specified account must have Account.AccountType set to Credit Card and Account.AccountSubType set to CreditCard.
Inject with data only if the payment was transacted through Intuit Payments API.

billpaymentrequest

Line [0..n]:
required
Line
Individual line items representing zero or more Bill, VendorCredit, and JournalEntry objects linked to this BillPayment object. Valid Line types include:
Linked transaction line:
VendorRef:
required
ReferenceType, filterable, sortable
Reference to the vendor for this transaction.
PayType:
required
BillPaymentTypeEnum
The payment type. Valid values include: Check, CreditCard
CheckPayment:
required if PayType is Check
BillPaymentCheck
Reference to the vendor for this transaction.
BankAccountRef:
required
ReferenceType, filterable, sortable
Reference to the bank account. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for APAccountRef.value and APAccountRef.name, respectively. The specified account must have Account.AccountType set to Bank and Account.AccountSubType set to Checking.
PrintStatus:
optional
PrintStatusEnum, default is NeedToPrint
Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete.
CreditCardPayment:
required if PayType is CreditCard
BillPaymentCreditCard, filterable via CCAccountRef, sortable
Information about a credit card payment for the transaction. Not applicable to Estimate and SalesOrder. Used when PayType is CreditCard.
TotalAmt:
required
BigDecimal, filterable, sortable
Indicates the total amount of the associated with this payment. This includes the total of all the payments from the BillPayment Details.

billpaymentresponse

Id:
required for update
String, filterable, sortable
Unique Identifier for an Intuit entity (object).
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the entity.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
DocNumber:
optional
String, maximum of 21 chars, filterable, sortable
Reference number for the transaction. If not explicitly provided at create time, this field is populated based on the setting of Preferences:CustomTxnNumber as follows:
  • If Preferences:CustomTxnNumber is true a custom value can be provided. If no value is supplied, the resulting DocNumber is null.
  • If Preferences:CustomTxnNumber is false, resulting DocNumber is system generated by incrementing the last number by 1.
If Preferences:CustomTxnNumber is false and a value is supplied, that value is stored even if it is a duplicate. Recommended best practice: check the setting of Preferences:CustomTxnNumber before setting DocNumber.
Sort order is ASC by default.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
DepartmentRef:
optional
ReferenceType, default is null
A reference to a Department object specifying the location of the transaction, as defined using location tracking in QuickBooks Online. Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Memo field on the form.
Line [0..n]:
required
Line
Individual line items representing zero or more Bill, VendorCredit, and JournalEntry objects linked to this BillPayment object.
Use Line.LinkedTxn.TxnId as the ID in a separate Bill, VendorCredit, or JournalEntry read request to retrieve details of the linked object.
Linked transaction line:
VendorRef:
required
ReferenceType, filterable, sortable
Reference to the vendor for this transaction. Query the Vendor name list resource to determine the appropriate Vendor object to reference here. Use Vendor.Id and Vendor.Name from that object for VendorRef.value and VendorRef.name, respectively.
APAccountRef:
optional
ReferenceType, filterable, sortable
Specifies to which AP account the bill is credited. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for APAccountRef.value and APAccountRef.name, respectively. The specified account must have Account.Classification set to Liability and Account.AccountSubType set to AccountsPayable.
If the company has a single AP account, the account is implied. However, it is recommended that the AP Account be explicitly specified in all cases to prevent unexpected errors when relating transactions to each other.
PayType:
required
BillPaymentTypeEnum
The payment type. Valid values include: Check, CreditCard
CheckPayment:
required if PayType is Check
BillPaymentCheck, filterable via BankAccountRef, sortable

Information about a check payment for the transaction. Not applicable to Estimate and SalesOrder. Used when PayType is Check.
CreditCardPayment:
required if PayType is CreditCard
BillPaymentCreditCard, filterable via CCAccountRef, sortable
Information about a credit card payment for the transaction. Not applicable to Estimate and SalesOrder. Used when PayType is CreditCard.
TotalAmt:
required
BigDecimal, filterable, sortable
Indicates the total amount associated with this payment. This includes the total of all the payments from the payment line details. If TotalAmt is greater than the total on the lines being paid, the overpayment is treated as a credit and exposed as such on the QuickBooks UI. It cannot be negative.
ProcessBillPayment:
optional
Boolean
Indicates that the payment should be processed by merchant account service. Valid for QuickBooks companies with credit card processing.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

budgetresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
optional
String, sortable, filterable, read-only
User recognizable name for the Account. Account.Name attribute must not contain double quotes (") or colon (:).
StartDate:
required
DateTime
Budget begin date.
EndDate:
required
DateTime
Budget end date.
BudgetType:
optional
BudgetTypeEnum, sortable, filterable, read-only
Budget types.
The only value currently supported is ProfitAndLoss.
BudgetEntryType:
optional
BudgetEntryTypeEnum, read-only
Period that this budget detail covers..
Valid values include: Monthly, Quarterly, Annually.
Active:
optional
Boolean, filterable, default is true
Whether or not active inactive accounts may be hidden from most display purposes and may not be posted to.
BudgetDetail [0..n]:
optional
BudgetDetail
Container for the budget items.
BudgetDate:
optional
DateTime, read-only
Date of the individual BudgetDetail.
Amount:
optional
BigDecimal, read-only
Amount assigned to a BudgetDetail.
AccountRef:
optional
ReferenceType, read-only
Date of the individual BudgetDetail.
CustomerRef:
optional
ReferenceType, read-only
Date of the individual BudgetDetail.
ClassRef:
optional
ReferenceType, read-only
Date of the individual BudgetDetail.
DepartmentRef:
optional
ReferenceType, read-only
Date of the individual BudgetDetail.

bundleresponse

Id:
required
IdType, filterable, sortable
Unique Identifier for an Intuit entity (object).
SyncToken:
required
String, read-only
Version number of the entity.
MetaData:
optional
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, maximum of 100 chars, filterable, sortable
Name of the item.
Sku:
optional
minor version 4
String, maximum of 100 chars, filterable, default is null
The stock keeping unit (SKU) for this Item. This is a company-defined identifier for an item or product used in tracking inventory.
Active:
optional
Boolean, filterable, default is true
If true, the object is currently enabled for use by QuickBooks.
Description:
optional
String, maximum of 4000 chars
Description of the item.
FullyQualifiedName:
optional
String default is null, read-only
Fully qualified name of the object. System generated from Name.
Taxable:
optional
Boolean
If true, transactions for this item are taxable. Applicable to US companies, only.
UnitPrice:
optional
Decimal, maximum of 99999999999, sortable, default is 0.
Corresponds to the Price/Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
Type:
optional
String, filterable, sortable
Set to the literal string, Group.
PurchaseCost:
optional
Decimal, maximum of 99999999999
Amount paid when buying or ordering the item, as expressed in the home currency.
PrintGroupedItems:
optional
Boolean, default is false
If set to true, bundle components are displayed when printing or sending transactions.
ItemGroupDetail:
optional
ItemGroupDetail
Details of the bundle contents.
ItemGroupLine [0..n]:
optional
ItemGroupLine
One or more Item objects that comprise a bundle; objects must already exist in the company. Query the Item name list resource for the Item objects that go into the bundle. For each object, create an ItemRef element. Use Item.Id, Item.FullyQualifiedName, and Item.Type for ItemRef.value, ItemRef.name, and ItemRef.type respectively.
ItemRef:
optional
ItemRef
value:
required
string
The ID for the referenced item object as found in the Item.Id field of the Item object payload.
name:
optional
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
optional
string
The item type for this reference. Use Item.Type to populate this field.
Qty:
optional
String
The quantity of this object to include in the bundle.

cashbackinfo

AccountRef:
required
ReferenceType
The bank acount into which the cashback amount is transferred. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for AccountRef.value and \AccountRef.name, respectively. The specified account must have Account.Classification set to Asset.
Amount:
required
String
Amount of the cash back transaction.
Memo:
optional
String
Memo associated with this cash back transaction.

changedatacaptureresponse

CDCResponse:
optional
Response object
The payload for the response.
QueryResponse [0..n]:
optional
array of object types
The payload for the query response. Each element in the array of object types corresponds to a resource specified with the entities query parameter in the request.
nameOfResource [0..n]:
array of response objects
An array of qualifying objects for the change data capture operation. For deleted objects, "status":"Deleted" is returned in the payload for the object.
startPosition:
String
The starting count of the response for pagination.
maxResults:
String
Number of objects in this group.
totalCount:
String
The total count of qualifying objects returned in this response.

classrequest

Name:
required
String, maximum of 100 chars
Name of the category.
Type:
required
String
Must be set to the literal string, Category
Available when endpoint is envoked with the minorversion=4 query paramter. Without minorversion=4, the type is set to Service.
SubItem:
required for sub-category
Boolean, default is false
true--The object is a sub-category.
false--The object is a top-level category (default).
Sub-categories can be nested to a maximum depth of three levels below a top-level category.
ParentRef:
required if SubItem is set to true
ReferenceType, default is null
The immediate parent of the sub item in the hierarchical Category:Sub-category list. If SubItem is true, then ParenRef is required. Query the Item name list resource to determine the appropriate object to reference here. Use Item.Id and Item.Name from that object for ParentRef.value and ParentRef.name, respectively.

classresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
optional
String, maximum of 100 chars
Name of the category.
Active:
optional
Boolean, filterable
For categories, this is always set to true.
SubItem:
optional
Boolean
Denotes this object is a sub-category. Returned in the response body if this object is a sub-category.
true--This is a sub-category.
false--This is a top-level category (default).
ParentRef:
optional
ReferenceType
Reference to the parent of this sub-category. Returned in the response body only when SubItem is set to true. Query the Item name list resource to determine the appropriate object to reference here. Use Item.Id and Item.DisplayName from that object for ParentRef.value and ParentRef.name, respectively.
Level:
optional
Integer, system generated
Specifies the level of the hierarchy in which the object is located. First sub-category level below the top-most category is 1. Returned in the response body only when SubItem is set to true.
Sub-categories can be nested to a maximum depth of three levels below a top-level category.
FullyQualifiedName:
optional
String read-only
Colon-separated list of the top-level category, followed by each sub-category in the hierarchy. Takes the form of Category:SubCategory1:SubCategory2:.... Limited to 5 levels: 4 category levels with an inventory, non-inventory, or service item as the 5th.
Type:
optional
String filterable, sortable
Set to the literal string, Category.
When querying Item objects with minor versions earlier than 4 specified, Category types are returned as type Service.

checkpayment

CheckNum:
optional
String
The check number printed on the check.
Status:
optional
String
Status of the check. Values provided by service/business logic.
NameOnAcct:
optional
String
Name of persons or entities holding the account, as printed on the check.
AcctNum:
optional
String
Checking account number, as printed on the check.
BankName:
optional
String
The name of the bank on which the check was drawn.

classrequest

Name:
required
String, maximum of 100 chars
User recognizable name for the Class.
ParentRef:
required if this object is a subclass
ReferenceType, default is null
For class objects that are sub-classes: the immediate parent of this object.

classresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData, filterable, sortable
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, maximum of 100 chars
User recognizable name for the Class.
SubClass:
optional
Boolean, system defined, filterable, sortable
Specifies whether this object is a subclass.
true--this object represents a subclass.
false or null--this object represents a top-level class.
ParentRef:
required if this object is a subclass
ReferenceType, default is null
The immediate parent of the SubClass.
FullyQualifiedName:
optional
String, max 100 chars, filterable, sortable, default is null
Fully qualified name of the entity. The fully qualified name prepends the topmost parent, followed by each sub class separated by colons. Takes the form of Parent:Class1:SubClass1:SubClass2. Limited to 5 levels.
Active:
optional
Boolean, filterable, sortable, default is true
If true, this entity is currently enabled for use by QuickBooks.

companycurrencyrequest

Code:
required
String, maximum of 100 chars
A three letter string representing the ISO 4217 code for the currency. For example, USD, AUD, EUR, and so on.

companycurrencyresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData, filterable, sortable
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
optional
CustomField
Custom field or data extension.
Code:
required
String, maximum of 100 chars
A three letter string representing the ISO 4217 code for the currency. For example, USD, AUD, EUR, and so on. Click here for a list of supported currency codes.
Name:
optional
String, system-defined
The full name of the currency.
Active:
optional
Boolean, filterable, sortable, default is true
Indicates whether this currency is active in the company or not.
true--This currency is active and enabled for use by QuickBooks.
false--This currency is inactive, is hidden from most display purposes, and is not availble for use with financial transactions.

companyinforesponse

Id:
optional
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
optional
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CompanyName:
optional
String, maximum of 1024 chars
The name of the company.
LegalName:
optional
String, maximum of 1024 chars
The legal name of the company.
CompanyAddr:
optional
PhysicalAddress
Company Address as described in preference
CustomerCommunicationAddr:
optional
PhysicalAddress
Address of the company as given to their customer, sometimes the address given to the customer mail address is different from Company address.
LegalAddr:
optional
PhysicalAddress
Legal Address given to the government for any government communication.
PrimaryPhone:
optional
TelephoneNumber
rimary phone number.
CompanyStartDate:
optional
DateTime
DateTime when company file was created. This field and Metadata.CreateTimecontain the same value.
FiscalYearStartMonth:
optional
MonthEnum
The start month of fiscal year.
Country:
optional
String
Country name to which the company belongs for financial calculations.
Email:
optional
EmailAddress, max 100 chars
Default email address.
WebAddr:
optional
WebSiteAddress, max 1000 chars
Website address.
SupportedLanguages:
optional
String
Comma separated list of languages.
NameValue [0..n]:
optional
NameValue pairs
Any other preference not covered with the standard set of attributes. See Data Services Extensions, below, for special reserved name/value pairs.
NameValue.Name--Name of the element.
NameValue.Value--Value of the element.

creditmemorequest

Line [0..n]:
required

The minimum line item required for the request is one of the following.
Sales item line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Group item line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
required
LineDetailTypeEnum
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
required
GroupLineDetail
GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.
CustomerRef:
required
ReferenceType, filterable
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.

creditmemoresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
optional
CustomField
Custom field or data extension.
DocNumber:
optional
String, maximum of 21 chars, filterable, sortable
Reference number for the transaction. If not explicitly provided at create time, this field is populated based on the setting of Preferences:CustomTxnNumber as follows:
  • If Preferences:CustomTxnNumber is true a custom value can be provided. If no value is supplied, the resulting DocNumber is null.
  • If Preferences:CustomTxnNumber is false, resulting DocNumber is system generated by incrementing the last number by 1.
If Preferences:CustomTxnNumber is false and a value is supplied, that value is stored even if it is a duplicate. Recommended best practice: check the setting of Preferences:CustomTxnNumber before setting DocNumber.
Sort order is ASC by default.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
DepartmentRef:
optional
ReferenceType, default is null
A reference to a Department object specifying the location of the transaction. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the deposit form.
Line [0..n]:
required
Line
Individual line items of a transaction. Valid Line types include:
Sales item line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Group item line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
required
LineDetailTypeEnum
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
required
GroupLineDetail
GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Description only:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars A string representing one of the following:
  • Free form text description of the line item that appears in the printed record.
  • A subtotal line inline with other lines on the sales form and holds the sum of amounts on all lines above it. This is distinct from the overall transaction subtotal represented with a SubTotal detail line.
    • In create requests, set to Subtotal: (case sensitive) to create the subtotal line; the amount is generated by QuickBooks Online business logic.
    • In read requests, lines with Subtotal: nn.nn returned in this field denote subtotal lines in the object.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DescriptionOnlyfor this type of line.
DescriptionLineDetail:
optional
DescriptionLineDetail
ServiceDate:
optional
Date
Date when the service is performed.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

Discount line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation. Not supported for BillPayment, Estimate, Invoice, or Payment objects.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DiscountLineDetailfor this type of line.
DiscountLineDetail:
optional
DiscountLineDetail
Discount detail type for the entire transaction. This is in contrast to a discount applied to a specific line. The company preference Sales Form Entry | Discounts must be enabled for this type of line to be available.
PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Income and Account.AccountSubType=DiscountsRefundsGiven. Use Account.Id and Account.Name from that object for DiscountAccountRef.value and DiscountAccountRef.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with this discount. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
The TaxCodeassociated with the sales tax for the expense. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

Subtotal Line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SubtotalLineDetailfor this type of line.
SubtotalLineDetail:
optional
Subtotal LineDetail
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
TxnTaxDetail:
optional
TxnTaxDetail
This data type provides information for taxes charged on the transaction as a whole. It captures the details sales taxes calculated for the transaction based on the tax codes referenced by the transaction. This can be calculated by QuickBooks business logic or you may supply it when adding a transaction. See Global tax model for more information about this element.
CustomerRef:
required
ReferenceType, filterable
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
CustomerMemo:
optional
MemoRef
User-entered message to the customer; this message is visible to end user on their transactions.
BillAddr:
optional
PhysicalAddress
Bill-to address of the credit memo. If BillAddris not specified, and a default Customer:BillingAddr is specified in QuickBooks for this customer, the default bill-to address is used by QuickBooks.
ShipAddr:
optional
PhysicalAddress
Identifies the address where the goods must be shipped. If ShipAddris not specified, and a default Customer:ShippingAddr is specified in QuickBooks for this customer, the default ship-to address will be used by QuickBooks.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
SalesTermRef:
optional
ReferenceType, filterable
Reference to the sales term associated with the transaction. Query the Term name list resource to determine the appropriate Term object to reference here. Use Term.Id and Term.Name from that object for SalesTermRef.value and SalesTermRef.name, respectively.
GlobalTaxCalculation:
optional
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
TotalAmt:
optional
BigDecimal
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
HomeTotalAmt:
optional
Decimal, read-only, applicable if multicurrency is enabled for the company
Total amount of the transaction in the home currency. Includes the total of all the charges, allowances and taxes. Calculated by QuickBooks business logic.
ApplyTaxAfterDiscount:
optional
Boolean, default is false
If false or null, calculate the sales tax first, and then apply the discount. If true, subtract the discount first and then calculate the sales tax. US versions of QuickBooks only.
PrintStatus:
optional
String, default is NotSet
; Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete .
EmailStatus:
optional
String, default is NotSet
Email status of the invoice.
Valid values: NotSet, NeedToSend, EmailSent
BillEmail:
required if EmailStatus=NeedToSend
EmailAddress
Identifies the e-mail address where the invoice is sent.
Balance:
optional
Decimal, filterable, sortable, read-only
The balance reflecting any payments made against the transaction. Initially set to the value of TotalAmt. A Balance of 0 indicates the invoice is fully paid. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
HomeBalance:
optional
minor version 3
Decimal, read-only, applicable if multicurrency is enabled for the company
Convenience field containing the amount in Balance expressed in terms of the home currency. Calculated by QuickBooks business logic. Available when endpoint is evoked with the minorversion=3 query parameter.
PaymentMethodRef:
optional
ReferenceType, read-only, default is null
Reference to a PaymentMethod associated with this transaction. Query the PaymentMethod name list resource to determine the appropriate PaymentMethod object to reference here. Use PaymentMethod.Id and PaymentMethod.Name from that object for PaymentMethodRef.value and PaymentMethodRef.name, respectively.
RemainingCredit:
optional
Decimal
Indicates the total credit amount still available to apply towards the payment.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

contactinfo

Type:
optional
String
The type of contact information.
Valid values: TelephoneNumber
Telephone:
optional
TelephoneNumber

creditcardpayment

CreditChargeInfo:
optional
CreditChargeInfo
Holds creditcard information to request a credit card payment from a merchant account service.
CreditChargeResponse:
optional
CreditChargeResponse
Holds credit-card transaction response information from a merchant account service.

creditchargeinfo

Type:
optional
String
Type of credit card. For example, MasterCard, Visa, Discover, American Express, and so on.
NameOnAcct:
optional
String
Account holder name, as printed on the card.
CcExpiryMonth:
optional
Integer
Expiration Month on card, expressed as a number:
1=January,
2=February, etc.
CcExpiryYear:
optional
Integer, default is current year
Expiration Year on card, expressed as a 4 digit number
1999, 2003, etc.
BillAddrStreet:
optional
String, maximum 255 characters
Credit card holder billing address of record: the street address to which credit card statements are sent.
PostalCode:
optional
String, maximum 30 characters
Credit card holder billing postal code. Five digits in the USA.
Amount:
optional
Decimal
The amount processed using the credit card.
ProcessPayment:
optional
Boolean
-false or no value-Store credit card information only. Do not store QuickBooks Payment transaction information in CreditChargeResponse.
-true-Store credit card payment transaction information in CreditChargeResponse below. Use this setting when QuickBooks Payments is configured to process credit card charges.

creditchargeresponse

CCTransId:
optional
String, maximum 100 characters
Unique identifier of the payment transaction. It can be used to track the status of transactions, or to search transactions.
AuthCode:
optional
String, maximum 100 characters
Code returned from the credit card processor to indicate that the charge will be paid by the card issuer.
TxnAuthorizationTime:
optional
DateTime
Timestamp indicating the time in which the card processor authorized the transaction.
dateTime:
string
Local time zone: YYYY-MM-DDTHH:MM:SS
UTC: YYYY-MM-DDT HH :MM: SSZ
Specific time zone: YYYY-MM-DDT HH :MM:SS +/- HH :MM
Status:
optional
CCPaymentStatusEnum
Indicates the status of the payment transaction. Possible values include Completed, Unknown.

currencyref

value:
required
string
A three letter string representing the ISO 4217 code for the currency. For example, USD, AUD, EUR, and so on.
name:
optional
string
The full name of the currency.

customerresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
Title:
conditionally required
String, maximum of 15 chars, default is null
Title of the person. This tag supports i18n, all locales. The DisplayName attribute or at least one of Title, GivenName, MiddleName, FamilyName, or Suffix attributes is required.
GivenName:
conditionally required
String, maximum of 25 chars, filterable, sortable, default is null
Given name or first name of a person. The DisplayName attribute or at least one of Title, GivenName, MiddleName, FamilyName, or Suffix attributes is required.
MiddleName:
conditionally required
String, maximum of 25 chars, filterable, sortable, default is null
Middle name of the person. The person can have zero or more middle names. The DisplayName attribute or at least one of Title, GivenName, MiddleName, FamilyName, or Suffix attributes is required.
FamilyName:
conditionally required
String, maximum of 25 chars, filterable, sortable, default is null
Family name or the last name of the person. The DisplayName attribute or at least one of Title, GivenName, MiddleName, FamilyName, or Suffix attributes is required.
Suffix:
conditionally required
String, maximum of 10 chars, filterable, sortable, default is null
Suffix of the name. For example, Jr. The DisplayName attribute or at least one of Title, GivenName, MiddleName, FamilyName, or Suffix attributes is required.
DisplayName:
conditionally required
String, maximum of 100 chars, filterable, sortable
The name of the person or organization as displayed. Must be unique across all Customer, Vendor, and Employee objects. Cannot be removed with sparse update.
If not supplied, the system generates DisplayName by concatenating customer name components supplied in the request from the following list: Title, GivenName, MiddleName, FamilyName, and Suffix.
FullyQualifiedName:
optional
String, system generated, filterable, sortable, default is null
Fully qualified name of the object. The fully qualified name prepends the topmost parent, followed by each sub element separated by colons. Takes the form of Customer:Job:Sub-job. System generated. Limited to 5 levels.
CompanyName:
optional
String, maximum of 50 chars, filterable, sortable, default is null
The name of the company associated with the person or organization.
PrintOnCheckName:
optional
String, maximum of 110 chars, filterable, sortable
Name of the person or organization as printed on a check. If not provided, this is populated from DisplayName.
Constraints: Cannot be removed with sparse update.
Active:
optional
Boolean, filterable, sortable, default is true
If true, this entity is currently enabled for use by QuickBooks.
PrimaryPhone:
optional
TelephoneNumber, maximum of 21 chars
Primary phone number.
AlternatePhone:
optional
TelephoneNumber, maximum of 21 chars
Alternate phone number.
Mobile:
optional
TelephoneNumber, maximum of 21 chars
Mobile phone number.
Fax:
optional
TelephoneNumber, maximum of 21 chars
Fax number.
PrimaryEmailAddr:
optional
EmailAddress, filterable
Primary email address.
WebAddr:
optional
WebSiteAddress, maximum of 1000 chars
Website address.
DefaultTaxCodeRef:
optional
ReferenceType
Reference to a default tax code associated with this Customer object. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for DefaultTaxCodeRef.value and DefaultTaxCodeRef.name, respectively.
Taxable:
optional
Boolean
If true, transactions for this customer are taxable.
BillAddr:
optional
PhysicalAddress
Default billing address.
ShipAddr:
optional
PhysicalAddress
Default shipping address.
Notes:
optional
String, maximum of 2000 chars
Free form text describing the Customer.
Job:
optional
Boolean, default is false or null
If true, this is a Job or sub-customer. If false or null, this is a top level customer, not a Job or sub-customer.
BillWithParent:
optional
Boolean, default is false
If true, this Customer object is billed with its parent. If false, or null the customer is not to be billed with its parent. This attribute is valid only if this entity is a Job or sub Customer.
ParentRef:
optional
ReferenceType, default is null
A reference to a Customer object that is the immediate parent of the Sub-Customer/Job in the hierarchical Customer:Job list.
Required for the create operation if this object is a sub-customer or Job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for ParentRef.value and ParentRef.name, respectively.
Level:
optional
Integer, default is 0
Specifies the level of the hierarchy in which the entity is located. Zero specifies the top level of the hierarchy; anything above will be level with respect to the parent.
Constraints:up to 5 levels
SalesTermRef:
optional
ReferenceType
Reference to a SalesTerm associated with this Customer object. Query the Term name list resource to determine the appropriate Term object to reference here. Use Term.Id and Term.Name from that object for SalesTermRef.value and SalesTermRef.name, respectively.
PaymentMethodRef:
optional
ReferenceType, default is null
Reference to a PaymentMethod associated with this Customer object. Query the PaymentMethod name list resource to determine the appropriate PaymentMethod object to reference here. Use PaymentMethod.Id and PaymentMethod.Name from that object for PaymentMethodRef.value and PaymentMethodRef.name, respectively.
Balance:
optional
Decimal, Filterable, Sortable, Write-on-create
Specifies the open balance amount or the amount unpaid by the customer. For the create operation, this represents the opening balance for the customer. When returned in response to the query request it represents the current open balance (unpaid amount) for that customer.
OpenBalanceDate:
optional
Date, Write-on-create
Date of the Open Balance for the create operation.
BalanceWithJobs:
optional
Decimal, Sortable
Cumulative open balance amount for the Customer (or Job) and all its sub-jobs. Cannot be written to QuickBooks.
CurrencyRef:
optional
CurrencyRef
Reference to the currency in which all amounts for this customer are expressed. If not specified, currency for this customer is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
PreferredDeliveryMethod:
optional
String
Preferred delivery method. Values are Print, Email, or None.
ResaleNum:
optional
String, 16 chars
Resale number or some additional info about the customer.
ARAccountRef:
optional
minor version 3
ReferenceType
Identifies the accounts receivable account to be used for this customer. Each customer must have his own AR account. Applicable for France companies, only. Available when endpoint is evoked with the minorversion=3 query parameter.
Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Accounts Receivable. Use Account.Id and Account.Name from that object for DepositToAccountRef.value and DepositToAccountRef.name, respectively.

customfield

DefinitionId:
required
String, read-only.
Unique identifier of the CustomFieldDefinition that corresponds to this CustomField.
Name:
optional
String, read-only
Name of the custom field.
Type:
optional
CustomFieldTypeEnum, read-only
Data type of custom field. Only one type is currently supported: StringType.
StringValue:
optional
String
The value for the StringTypecustom field.

date

The date format follows the XML Schema standard.
date:
string
Local timezone: YYYY-MM-DD
UTC: YYYY-MM-DDZ
Specific time zone: YYYY-MM-DD+/-HH:MM

dataservicesextensions

Extension Description
NeoEnabled The type of company, classic or Harmony.
NameValue.Name="NeoEnabled"
NameValue.Value="neoFlag"

where neoFlag is defined as:


true—Harmony company
false—Classic company
FirstTxnDate The date of the first transaction for the company.
NameValue.Name="firsttxndate"
NameValue.Value="date"
where date is of the format yyyy-mm-dd
This extension is avaliable when the include=firsttxndatequery parameter is include in the endpoint URI:
A GET request looks like the following
baseURL/company
/213316401/companyinfo/213316401?
include=firsttxndate

A Query Request looks like the following
baseURL/company/213316401/query?query=select * from CompanyInfo include=firsttxndate
IndustryType The industry type for the company. This is defined when the company is first created.
IndustryCode The NAICS/SIC industry code for the company. This is defined when the company is first created.
CompanyType The company type as defined when the company is first created. Possible values include:

Sole Proprietor
Partnership
Limited Liability
Corporation
Organization
OfferingSKU The specific QuickBooks Online product. Possible values include:

QuickBooks Online Plus
QuickBooks Online
Simple Start
QuickBooks Online Essentials
SubscriptionStatus
minor version 3
The QuickBooks subscription status.
Possible values, prior to minor version 3:
TRIAL-Company is in trial
PAID-For any other state
When CompanyInfo endpoint is invoked with minorversion=3, possible values include:
TRIAL-Company is in trial.
SUBSCRIBED-Company is subscribed.
TRIALOPTIN-Company is in trial and user has provided credit card info.
RESTRICTED-The customer's subscription payment failed and QuickBooks services is waiting for the customer to update their payment information. During this state, customers have read and write access to their company file. If the customer does not update the payment information within a week, the state moves to cancelled/suspended and write access is revoked.
SUSPENDED-Company in a lock-out mode, for instance due to payment failure.
EXPIRED-Company in a lock-out mode due to missing payment information.
CANCELLED-Company is cancelled by the user or support agent.
UNKNOWN-Context of the company is not available.
PayrollFeature Whether subscription is enabled for the payroll feature.
  • true—Enabled.
  • false—Disabled.
AccountantFeature Whether subscription is enabled for the accountant feature.
  • true—Enabled.
  • false—Disabled.
ItemCategoriesFeature Whether a company is category enabled. Currently available for sandbox companies, only. This functionality will be rolled out to all companies in the coming months.
  • true—Enabled for catgories.
  • false—Not enabled for categories.

datetime

dateTime:
string
Local time zone: YYYY-MM-DDTHH:MM:SS
UTC: YYYY-MM-DDT HH :MM: SSZ
Specific time zone: YYYY-MM-DDT HH :MM:SS +/- HH :MM

deliveryinfo

DeliveryType:
optional
DeliveryTypeEnum, read-only
Type of the delivery. Used to confirm that email has been sent via the send operation.
Valid values currently include: Email.
DeliveryTime:
optional
DateTime, read-only
Delivery date and time.

departmentrequest

Name:
optional
String, required, maximum of 100 chars
User recognizable name for the department.
ParentRef:
required if this object is a subdepartment
ReferenceType, default is null
The immediate parent of the SubDepartment.
Required for the create operation if this object is a SubDepartment.

departmentresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData, filterable, sortable
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, maximum of 100 chars
User recognizable name for the Department.
SubDepartment:
optional
Boolean, sortable, default is false
Specifies whether this Department object is a SubDepartment.
true--SubDepartment.
false or null--top-level Department.
ParentRef:
required if this object is a subdepartment
ReferenceType, default is null
The immediate parent of the SubDepartment.
Required for the create operation if this object is a SubDepartment.
FullyQualifiedName:
optional
String, system generated, filterable, sortable
Fully qualified name of the entity. The fully qualified name prepends the topmost parent, followed by each sub element separated by colons. Takes the form of Parent:Department1:SubDepartment1:SubDepartment2. Limited to 5 levels.
Active:
optional
Boolean, filterable, sortable, default is true
If true, this entity is currently enabled for use by QuickBooks. If set to false, this entity is not available.

depositline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
optional
Decimal, max 15 digits in 10.5 format, required
The amount of the line item.
DetailType:
optional
LineDetailTypeEnum, required
Set to DepositLineDetailfor this type of line.
DepositLineDetail:
optional
Deposit LineDetail
CustomField:[0..3]
optional
CustomField
Provision for data extension.

depositlinedetail

Entity:
optional
ReferenceType
Reference to a customer from which deposit was received. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for Entity.value and Entity.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
AccountRef:
optional
ReferenceType
Account where the funds are deposited. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Income. Use Account.Id and Account.Name from that object for AccountRef.value and AccountRef.name, respectively.
If you do not specify this account, payment is applied to the Undeposited Funds account.
For France locales: The account associated with the referenced Account object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then this account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
PaymentMethodRef:
optional
ReferenceType, default is null
Reference to a PaymentMethod associated with this transaction. Query the PaymentMethod name list resource to determine the appropriate PaymentMethod object to reference here. Use PaymentMethod.Id and PaymentMethod.Name from that object for PaymentMethodRef.value and PaymentMethodRef.name, respectively.
CheckNum:
optional
String
Check number for the desposit.
TxnType:
optional
TxnTypeEnum
Type of the payment transaction. For information purposes only.
APCreditCard, ARRefundCreditCard, Bill, BillPaymentCheck, BuildAssembly, CarryOver, CashPurchase, Charge, Check, CreditMemo, Deposit, EFPLiabilityCheck, EFTBillPayment, EFTRefund, Estimate, InventoryAdjustment, InventoryTransfer, Invoice, ItemReceipt, JournalEntry, LiabilityAdjustment, Paycheck, PayrollLiabilityCheck, Purchase, PurchaseOrder, PriorPayment, ReceivePayment, RefundCheck, RefundReceipt, SalesOrder, SalesReceipt, SalesTaxPaymentCheck, Transfer, TimeActivity, VendorCredit, YTDAdjustment
TaxCodeRef:
optional
minor version 4
ReferenceType
Sales/Purchase tax code associated with the Line. For Non US Companies. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TaxApplicableOn:
optional
minor version 4
TaxApplicableOnEnum, required if TaxCodeRef is specified.
Indicates whether the tax applicable on the line is sales or purchase. For Non US Companies.
Valid value: Sales, Purchase

depositrequest

Line [0..n]:
optional
Line
Individual line items of a transaction. Valid Line types include:
Deposit line:
DepositToAccountRef:
optional
ReferenceType
Identifies the account to be used for this deposit. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType is Other Current Asset or Bank. Use Account.Id and Account.Name from that object for DepositToAccountRef.value and DepostiToAccountRef.name, respectively.

depositresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
DepartmentRef:
optional
ReferenceType, default is null

A reference to a Department object specifying the location of the transaction, as defined using location tracking in QuickBooks Online. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate Department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
GlobalTaxCalculation:
optional
minor version 3
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Memo field on the Invoice form.
TxnStatus:
optional
PaymentStatusEnum
Status of the transaction. Valid values include:
Draft, Overdue, Pending, Payable, Paid, Trash, and Unpaid.
Line [0..n]:
required
Line
Individual line items comprising the deposit. Specify a Line.LinkedTxn element along with DepositLine detail type if this line is to record a deposit for an existing transaction. Select UndepositedFunds account on the existing transaction to make it available for the Deposit.
  • Possible types of transactions that can be linked to a Deposit include: Transfer, Payment (for Cash, CreditCard, and Check payment method types), SalesReceipt, RefundReceipt, JournalEntry.
  • In addition, any expense object whose line item has AccountReceivable can be linked to a Payment and then that Payment can be linked to a Deposit object.

Use Line.LinkedTxn.TxnId as the ID in a separate read request for the specific resource to retrieve details of the linked object.
Linked transaction line:
Deposit line:
TxnTaxDetail:
optional
minor version 4
TxnTaxDetail
This data type provides information for taxes charged on the transaction as a whole. It captures the details sales taxes calculated for the transaction based on the tax codes referenced by the transaction. This can be calculated by QuickBooks business logic or you may supply it when adding a transaction. For non-US companies.
See Global tax model for more information about this element.
DepositToAccountRef:
required
ReferenceType
Identifies the account to be used for this deposit. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType is Other Current Asset or Bank. Use Account.Id and Account.Name from that object for DepositToAccountRef.value and DepostiToAccountRef.name, respectively.
TxnSource:
optional
String
Used internally to specify originating source of a credit card transaction.
CashBack:
optional
CashBackInfo
TotalAmt:
optional
BigDecimal
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
HomeTotalAmt:
optional
Decimal, read-only, applicable if multicurrency is enabled for the company
Total amount of the transaction in the home currency. Includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic. Available when endpoint is evoked with the minorversion=3 query parameter.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

descriptiononly

ServiceDate:
optional
Date
Date when the service is performed.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

descriptiononlyline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars A string representing one of the following:
  • Free form text description of the line item that appears in the printed record.
  • A subtotal line inline with other lines on the sales form and holds the sum of amounts on all lines above it. This is distinct from the overall transaction subtotal represented with a SubTotal detail line.
    • In create requests, set to Subtotal: (case sensitive) to create the subtotal line; the amount is generated by QuickBooks Online business logic.
    • In read requests, lines with Subtotal: nn.nn returned in this field denote subtotal lines in the object.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DescriptionOnlyfor this type of line.
DescriptionLineDetail:
optional
DescriptionLineDetail
ServiceDate:
optional
Date
Date when the service is performed.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

discountline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation. Not supported for BillPayment, Estimate, Invoice, or Payment objects.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DiscountLineDetailfor this type of line.
DiscountLineDetail:
optional
DiscountLineDetail
Discount detail type for the entire transaction. This is in contrast to a discount applied to a specific line. The company preference Sales Form Entry | Discounts must be enabled for this type of line to be available.
PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Income and Account.AccountSubType=DiscountsRefundsGiven. Use Account.Id and Account.Name from that object for DiscountAccountRef.value and DiscountAccountRef.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with this discount. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
The TaxCodeassociated with the sales tax for the expense. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

discountlinedetail

PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Income and Account.AccountSubType=DiscountsRefundsGiven. Use Account.Id and Account.Name from that object for DiscountAccountRef.value and DiscountAccountRef.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with this discount. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
The TaxCodeassociated with the sales tax for the expense. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

discountoverride

DiscountRef:
optional
ReferenceType
Discount item used in calculating and applying the discount on the sales transaction paid.
PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts received from vendors on purchases.

emailaddress

Address:
optional
String, maximum of 100 chars
An email address. The address format must follow the RFC 822 standard.

employeerequest

GivenName:
optional
String, maximum of 25 chars, filterable, sortable, default is null
Given name or Family name of a person. At least one of GivenName or FamilyName attributes is required.
FamilyName:
optional
String, maximum of 25 chars, filterable, sortable, default is null
Family name or the last name of the person. At least one of GivenName or FamilyName attributes is required.
PrimaryAddr:
required when QuickBooks Payroll is enabled
PhysicalAddress
Represents the physical street address for this employee. If QuickBooks Payroll is enabled for the company, the following PhysicalAddress fields are required:
  • City
  • CountrySubDivisionCode
  • PostalCode

employeeresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Organization:
optional
Boolean, default is false or null

true--the object represents an organization.
false--the object represents a person.
Title:
optional
String, cmaximum 15 chars, default is null
Title of the person.
This tag supports i18n, all locale.
Not supported when QuickBooks Payroll is enabled.
GivenName:
optional
String, maximum of 25 chars, filterable, sortable, default is null
Given name or family name of a person. At least one of GivenName or FamilyName attributes is required.
MiddleName:
optional
String, maximum of 25 chars, filterable, sortable, default is null
Middle name of the person. The person can have zero or more middle names.
FamilyName:
optional
String, maximum of 25 chars, filterable, sortable, default is null
Family name or the last name of the person. At least one of GivenName or FamilyName attributes is required.
Suffix:
optional
String, maximum of 10 chars, filterable, sortable, default is null
Suffix of the name. For example, Jr.
Not supported when QuickBooks Payroll is enabled.
DisplayName:
optional
String, maximum of 100 chars, filterable, sortable
The name of the person or organization as displayed. Default Value: If not supplied, the system generates DisplayName by concatenating employee name components supplied in the request from the following list: Title, GivenName, MiddleName, FamilyName, and Suffix.
When QuickBooks Payroll is enabled, this attribute is read-only and a concatenation of GivenName, MiddleName, and FamilyName.
PrintOnCheckName:
optional
String, maximum of 100 chars, filterable, sortable
Name of the person or organization as printed on a check. If not provided, this is populated from DisplayName.
Cannot be removed with sparse update.
Not supported when QuickBooks Payroll is enabled.
Active:
optional
Boolean, filterable, default is true
If true, this entity is currently enabled for use by QuickBooks.
PrimaryPhone:
optional
TelephoneNumber
Primary phone number.
Mobile:
optional
TelephoneNumber
Mobile phone number.
PrimaryEmailAddr:
optional
EmailAddress
Primary email address.
EmployeeNumber:
optional
String, max 100 chars, default is null
Specifies the ID number of the employee in the employer's directory.
SSN:
optional
String, max 100 chars, default is null
Social security number (SSN) of the employee. If SSN is set, it is masked in the response with XXX-XX-XXXX. If XXX-XX-XXXX is sent in the create or update request, XXX-XX-XXXX is ignored and the old value is preserved.
This attribute cannot be passed in a request when QuickBooks Payroll is enabled. Code for this field must be removed before submitting.
PrimaryAddr:
required when QuickBooks Payroll is enabled
PhysicalAddress
Represents the physical street address for this employee. If QuickBooks Payroll is enabled for the company, the following PhysicalAddress fields are required:
  • City
  • CountrySubDivisionCode
  • PostalCode
BillableTime:
optional
Boolean, default is false
If true, this entity is currently enabled for use by QuickBooks.
BillRate:
optional
BigDecimal, default is null
This attribute can only be set if BillableTime is true.
Not supported when QuickBooks Payroll is enabled.
BirthDate:
optional
Date, default is null
Birth date of the employee.
Gender:
optional
String, default is null
Gender of the employee. To clear the gender value, set to Null in a full update request. Supported values include: Male or Female.
HiredDate:
optional
Date, default is null
Hire date of the employee.
ReleasedDate:
optional
Date, default is null
Release date of the employee.

entitlementsresponse

QboCompany:
optional
Boolean
Check if the company is a QuickBooks Online company. false is returned if not a QuickBooks Online company, the company exists in the Intuit ecosystem, but is not a QuickBooks Online company, or the company is a QuickBooks Online company, but the current user does not belong to the company.
PlanName:
optional
String
Billing plan associated with this company.
MaxUsers:
optional
Integer
Maximum billable users allowed in the company.
CurrentUsers:
optional
Integer
Billable users currently in the company.
DaysRemainingTrial:
optional
Integer
Remaining trial period days.
Entitlement:
optional
TelephoneNumber
rimary phone number.
CompanyStartDate:
optional
DateTime
DateTime when company file was created. This field and Metadata.CreateTime contain the same value.
EmployerId:
optional
String
Employer identifier (EIN).
FiscalYearStartMonth:
optional
MonthEnum
The start month of fiscal year.
Email:
optional
EmailAddress, max 100 chars
Default email address.
WebAddr:
optional
WebSiteAddress
Website address.
SupportedLanguages:
optional
String
Comma separated list of languages.
Entitlement [0..n]:
optional


Entitlement.id--Integer. Name of the entitlement.
Entitlement.name--String. Name of the entitlement.
Entitlement.Term--Boolean. Availability of entitlement: On or Off.

estimaterequest

Line [0..n]:
required
Estimate line object
The minimum line item required for the request is one of the following.
Sales item line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Group item line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
required
LineDetailTypeEnum
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
required
GroupLineDetail
GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.
CustomerRef:
required
ReferenceType, filterable
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.

estimateresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
optional
CustomField
Custom field or data extension.
DocNumber:
optional
String, maximum of 21 chars, filterable, sortable
Reference number for the transaction. If not explicitly provided at create time, this field is populated based on the setting of Preferences:CustomTxnNumber as follows:
  • If Preferences:CustomTxnNumber is true a custom value can be provided. If no value is supplied, the resulting DocNumber is null.
  • If Preferences:CustomTxnNumber is false, resulting DocNumber is system generated by incrementing the last number by 1.
If Preferences:CustomTxnNumber is false and a value is supplied, that value is stored even if it is a duplicate. Recommended best practice: check the setting of Preferences:CustomTxnNumber before setting DocNumber.
Sort order is ASC by default.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
DepartmentRef:
optional
ReferenceType, default is null
A reference to a Department object specifying the location of the transaction. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Memo field on the Invoice form.
TxnStatus:
optional
String
One of the following status settings: Accepted, Closed, Pending, Rejected
LinkedTxn[0..n]:
optional
LinkedTxn
Zero or more Invoice objects related to this transaction.
Use LinkedTxn.TxnId as the ID in a separate Invoice read request to retrieve details of the linked object.
Line [0..n]:
optional
Line
Individual line items of a transaction. Valid Line types include:
Sales item line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Group item line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
required
LineDetailTypeEnum
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
required
GroupLineDetail
GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Description only (also used for inline Subtotal lines):
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars A string representing one of the following:
  • Free form text description of the line item that appears in the printed record.
  • A subtotal line inline with other lines on the sales form and holds the sum of amounts on all lines above it. This is distinct from the overall transaction subtotal represented with a SubTotal detail line.
    • In create requests, set to Subtotal: (case sensitive) to create the subtotal line; the amount is generated by QuickBooks Online business logic.
    • In read requests, lines with Subtotal: nn.nn returned in this field denote subtotal lines in the object.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DescriptionOnlyfor this type of line.
DescriptionLineDetail:
optional
DescriptionLineDetail
ServiceDate:
optional
Date
Date when the service is performed.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

Discount line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation. Not supported for BillPayment, Estimate, Invoice, or Payment objects.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DiscountLineDetailfor this type of line.
DiscountLineDetail:
optional
DiscountLineDetail
Discount detail type for the entire transaction. This is in contrast to a discount applied to a specific line. The company preference Sales Form Entry | Discounts must be enabled for this type of line to be available.
PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Income and Account.AccountSubType=DiscountsRefundsGiven. Use Account.Id and Account.Name from that object for DiscountAccountRef.value and DiscountAccountRef.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with this discount. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
The TaxCodeassociated with the sales tax for the expense. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

Subtotal Line (used for the overall transaction)
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SubtotalLineDetailfor this type of line.
SubtotalLineDetail:
optional
Subtotal LineDetail
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
TxnTaxDetail:
optional
TxnTaxDetail
This data type provides information for taxes charged on the transaction as a whole. It captures the details sales taxes calculated for the transaction based on the tax codes referenced by the transaction. This can be calculated by QuickBooks business logic or you may supply it when adding a transaction. See Global tax model for more information about this element.
CustomerRef:
required
ReferenceType, filterable
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
CustomerMemo:
optional
MemoRef
User-entered message to the customer; this message is visible to end user on their transactions.
BillAddr:
optional
PhysicalAddress
Bill-to address of the Invoice. If BillAddris not specified, and a default Customer:BillingAddr is specified in QuickBooks for this customer, the default bill-to address is used by QuickBooks.
ShipAddr:
optional
PhysicalAddress
Identifies the address where the goods must be shipped. If ShipAddris not specified, and a default Customer:ShippingAddr is specified in QuickBooks for this customer, the default ship-to address will be used by QuickBooks.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerTxn is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
SalesTermRef:
optional
ReferenceType
Reference to the sales term associated with the transaction. Query the Term name list resource to determine the appropriate Term object to reference here. Use Term.Id and Term.Name from that object for SalesTermRef.value and SalesTermRef.name, respectively.
ShipMethodRef:
optional
ReferenceType
Reference to the ShipMethod associated with the transaction. There is no shipping method list. Reference resolves to a string.
DueDate:
optional
Date, filterable, sortable
Date when the payment of the transaction is due. If date is not provided, the number of days specified in SalesTermRef added the transaction date will be used.
ShipDate:
optional
Date, default is null
Date for delivery of goods or services.
GlobalTaxCalculation:
optional
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
TotalAmt:
optional
BigDecimal
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
ApplyTaxAfterDiscount:
optional
Boolean, default is false
If false or null, calculate the sales tax first, and then apply the discount. If true, subtract the discount first and then calculate the sales tax.
PrintStatus:
optional
String, default is NotSet
; Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete .
EmailStatus:
optional
String, default is NotSet
Email status of the invoice.
Valid values: NotSet, NeedToSend, EmailSent
BillEmail:
required if EmailStatus=NeedToSend
EmailAddress
Identifies the e-mail address where the invoice is sent.
ExpirationDate:
optional
Date
Date by which estimate must be accepted before invalidation.
AcceptedBy:
optional
String
Name of customer who accepted the estimate.
AcceptedDate:
optional
Date
Date estimate was accepted.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

exchangerateresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData, filterable, sortable
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
optional
CustomField
Custom field or data extension.
SourceCurrencyCode:
required for update
String filterable, exactly 3 chars
The source currency from which the exchange rate is specified, and usually. Specify as a three letter string representing the ISO 4217 code for the currency. For example, USD, AUD, EUR, and so on.
For example, in the equation 65 INR = 1 USD, INR is the source currency.
TargetCurrencyCode:
optional
String, exactly 3 chars, default is the home currency as defined in company preferences
The target currency against which the exchange rate is specified. Specify as a three letter string representing the ISO 4217 code for the currency. For example, USD, AUD, EUR, and so on.
For example, in the equation 65 INR = 1 USD, USA is the target currency.
Rate:
required for update
Decimal
The exchange rate between SourceCurrencyCode and TargetCurrencyCode on the AsOfDate date.
AsOfDate:
required for update
Boolean, filterable
Date on which this exchange rate was set.

groupline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
required
LineDetailTypeEnum
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
required
GroupLineDetail
GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

grouplinedetail

GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

invoicerequest

Line [0..n]:
required
Invoice line object
The minimum line item required for the request is one of the following.
Sales item line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Group item line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
required
LineDetailTypeEnum
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
required
GroupLineDetail
GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Inline subtotal using Description line type:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars A string representing one of the following:
  • Free form text description of the line item that appears in the printed record.
  • A subtotal line inline with other lines on the sales form and holds the sum of amounts on all lines above it. This is distinct from the overall transaction subtotal represented with a SubTotal detail line.
    • In create requests, set to Subtotal: (case sensitive) to create the subtotal line; the amount is generated by QuickBooks Online business logic.
    • In read requests, lines with Subtotal: nn.nn returned in this field denote subtotal lines in the object.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DescriptionOnlyfor this type of line.
DescriptionLineDetail:
optional
DescriptionLineDetail
ServiceDate:
optional
Date
Date when the service is performed.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
CustomerRef:
required
ReferenceType, filterable
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.

invoiceresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
optional
CustomField
Custom field or data extension.
DocNumber:
optional
String, maximum of 21 chars, filterable, sortable
Reference number for the transaction. If not explicitly provided at create time, this field is populated based on the setting of Preferences:CustomTxnNumber as follows:
  • If Preferences:CustomTxnNumber is true a custom value can be provided. If no value is supplied, the resulting DocNumber is null.
  • If Preferences:CustomTxnNumber is false, resulting DocNumber is system generated by incrementing the last number by 1.
If Preferences:CustomTxnNumber is false and a value is supplied, that value is stored even if it is a duplicate. Recommended best practice: check the setting of Preferences:CustomTxnNumber before setting DocNumber.
Sort order is ASC by default.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
DepartmentRef:
optional
ReferenceType, default is null
A reference to a Department object specifying the location of the transaction. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the invoice to the customer. This field maps to the Statement Memo field on the Invoice form in the QuickBooks Online UI.
LinkedTxn[0..n]:
optional
LinkedTxn
Zero or more related transactions to this Invoice object. The following linked relationships are supported:
  • Links to Estimate and TimeActivity objects can be established directly to this Invoice object with UI or with the API. Create, Read, Update, and Query operations are avaialble at the API level for these types of links.
  • Links to expenses incurred on behalf of the customer are returned in the response with LinkedTxn.TxnType set to ReimburseCharge, ChargeCredit or StatementCharge corresponding to billable customer expenses of type Cash, Delayed Credit, and Delayed Charge, respectively. Links to these types of transactions are established within the QuickBooks UI, only, and are available as read-only at the API level.
  • Links to payments applied to an Invoice object are returned in the response with LinkedTxn.TxnType set to Payment. Links to Payment transactions are established within the QuickBooks UI, only, and are available as read-only at the API level.

Use LinkedTxn.TxnId as the ID in a separate read request for the specific resource to retrieve details of the linked object.
Line [0..n]:
required
Line
Individual line items of a transaction. Valid Line types include:
Sales item line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Group item line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
required
LineDetailTypeEnum
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
required
GroupLineDetail
GroupItemRef:
optional
ReferenceType
Reference to a group item for all the lines that belong to the bundle. Query the Item name list resource to determine the appropriate Item group object (Item.Type=Group) to reference here. Use Item.Id and Item.Name from that object for GroupItemRef.value and GroupItemRef.name, respectively.
Quantity:
optional
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
optional
Line
Individual ItemLine elements that comprise a bundle. Returned in responses.
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SalesItemLineDetailfor this type of line.
SalesItemLineDetail:
optional
SalesItemLineDetail
ItemRef:
optional
ReferenceType
Reference to an Item object.
  • Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively.
  • Set ItemRef.value to SHIPPING_ITEM_ID when Line.amount represents transaction-wide shipping charges. Valid when Preferences.SalesFormsPrefs.AllowShipping is set to true.
  • When a line lacks an ItemRef it is treated as documentation and the Line.Amountattribute is ignored.

For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency. You can override the unit price of the subject item by supplying a new value with create or update operations.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
ServiceDate:
optional
Date
Date when the service is performed.
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Description only (also used for inline Subtotal lines):
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars A string representing one of the following:
  • Free form text description of the line item that appears in the printed record.
  • A subtotal line inline with other lines on the sales form and holds the sum of amounts on all lines above it. This is distinct from the overall transaction subtotal represented with a SubTotal detail line.
    • In create requests, set to Subtotal: (case sensitive) to create the subtotal line; the amount is generated by QuickBooks Online business logic.
    • In read requests, lines with Subtotal: nn.nn returned in this field denote subtotal lines in the object.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DescriptionOnlyfor this type of line.
DescriptionLineDetail:
optional
DescriptionLineDetail
ServiceDate:
optional
Date
Date when the service is performed.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

Discount line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation. Not supported for BillPayment, Estimate, Invoice, or Payment objects.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DiscountLineDetailfor this type of line.
DiscountLineDetail:
optional
DiscountLineDetail
Discount detail type for the entire transaction. This is in contrast to a discount applied to a specific line. The company preference Sales Form Entry | Discounts must be enabled for this type of line to be available.
PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType=Income and Account.AccountSubType=DiscountsRefundsGiven. Use Account.Id and Account.Name from that object for DiscountAccountRef.value and DiscountAccountRef.name, respectively.
ClassRef:
optional
ReferenceType
Reference to the Class associated with this discount. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
The TaxCodeassociated with the sales tax for the expense. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.

Subtotal Line (used for the overall transaction)
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to SubtotalLineDetailfor this type of line.
SubtotalLineDetail:
optional
Subtotal LineDetail
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
TxnTaxDetail:
optional
TxnTaxDetail
This data type provides information for taxes charged on the transaction as a whole. It captures the details sales taxes calculated for the transaction based on the tax codes referenced by the transaction. This can be calculated by QuickBooks business logic or you may supply it when adding a transaction. See Global tax model for more information about this element.
CustomerRef:
required
ReferenceType, filterable
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
CustomerMemo:
optional
MemoRef
User-entered message to the customer; this message is visible to end user on their transactions.
BillAddr:
optional
PhysicalAddress
Bill-to address of the Invoice. If BillAddris not specified, and a default Customer:BillingAddr is specified in QuickBooks for this customer, the default bill-to address is used by QuickBooks.
ShipAddr:
optional
PhysicalAddress
Identifies the address where the goods must be shipped. If ShipAddris not specified, and a default Customer:ShippingAddr is specified in QuickBooks for this customer, the default ship-to address will be used by QuickBooks.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerTxn is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
SalesTermRef:
optional
ReferenceType, filterable
Reference to the sales term associated with the transaction. Query the Term name list resource to determine the appropriate Term object to reference here. Use Term.Id and Term.Name from that object for SalesTermRef.value and SalesTermRef.name, respectively.
DueDate:
optional
Date, filterable, sortable
Date when the payment of the transaction is due. If date is not provided, the number of days specified in SalesTermRef added the transaction date will be used.
GlobalTaxCalculation:
optional
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
ShipMethodRef:
optional
ReferenceType
Reference to the ShipMethod associated with the transaction. There is no shipping method list. Reference resolves to a string.
ShipDate:
optional
Date, default is null
Date for delivery of goods or services.
TrackingNum:
optional
String
Shipping provider's tracking number for the delivery of the goods associated with the transaction.
TotalAmt:
optional
BigDecimal
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
HomeTotalAmt:
optional
Decimal, read-only, applicable if multicurrency is enabled for the company
Total amount of the transaction in the home currency. Includes the total of all the charges, allowances and taxes. Calculated by QuickBooks business logic.
ApplyTaxAfterDiscount:
optional
Boolean, default is false
If false or null, calculate the sales tax first, and then apply the discount. If true, subtract the discount first and then calculate the sales tax.
PrintStatus:
optional
String, default is NotSet
; Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete .
EmailStatus:
optional
String, default is NotSet
Email status of the invoice.
Valid values: NotSet, NeedToSend, EmailSent
BillEmail:
optional
EmailAddress
Identifies the e-mail address where the invoice is sent. If EmailStatus=NeedToSend, BillEmailis a required input.
BillEmailCc:
optional
EmailAddress
Identifies the carbon copy e-mail address where the invoice is sent. If not specified, this field is populated from that defined in Preferences.SalesFormsPrefs.SalesEmailCc. If this email address is invalid, carbon copy email is not sent.
BillEmailBcc:
optional
EmailAddress
Identifies the blind carbon copy e-mail address where the invoice is sent. If not specified, this field is populated from that defined in Preferences.SalesFormsPrefs.SalesEmailBcc. If this email address is invalid, blind carbon copy email is not sent.
DeliveryInfo:
optional
DeliveryInfo, read-only
Email delivery information. Returned when a request has been made to deliver email with the send operation.
Balance:
optional
Decimal, filterable, sortable, read-only
The balance reflecting any payments made against the transaction. Initially set to the value of TotalAmt. A Balance of 0 indicates the invoice is fully paid. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
HomeBalance:
optional
minor version 3
Decimal, read-only, applicable if multicurrency is enabled for the company
Convenience field containing the amount in Balance expressed in terms of the home currency. Calculated by QuickBooks business logic. Available when endpoint is evoked with the minorversion=3 query parameter.
TxnSource:
optional
String
Used internally to specify originating source of a credit card transaction.
Deposit:
optional
Decimal
The deposit made towards this invoice.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

itemrequest

Name:
required for create
String, required, maximum of 100 chars, filterable, sortable
Name of the item.
IncomeAccountRef:
required for Inventory and Service item types
ReferenceType
Reference to the posting account, that is, the account that records the proceeds from the sale of this item. Must be an account with account type of Sales of Product Income. span>. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for IncomeAccountRef.value and IncomeAccountRef.name, respectively.
For France locales:
  • This is an optional field.
  • This is the sales account id, If not provided it defaults to the default sales account: 706100 and 707100 are the default expense accounts used for Service and Product type of item, respectively.
ExpenseAccountRef:
required for Inventory, NonInventory, and Service item types
ReferenceType
Reference to the expense account used to pay the vendor for this item. Must be an account with account type of Cost of Goods Sold. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for ExpenseAccountRef.value and ExpenseAccountRef.name, respectively.
For France locales:
  • This is an optional field.
  • This is the purchase account id, If not provided it defaults to the default purchase account: 605100 and 601100 are the default expense accounts used for Service and Product type of item, respectively.
AssetAccountRef:
required for Inventory item types
ReferenceType
Reference to the Inventory Asset account that tracks the current value of the inventory. If the same account is used for all inventory items, the current balance of this account will represent the current total value of the inventory. Must be an account with account type of Other Current Asset. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for AssetAccountRef.value and AssetAccountRef.name, respectively.
InvStartDate:
required for Inventory item types
Date
Date of opening balance for the inventory transaction. Required when creating an Item.Type=Inventory.

itemresponse

Id:
required for update
IdType, filterable, sortable
Unique Identifier for an Intuit entity (object).
Required for the update operation.
SyncToken:
required for update
String, read-only
Version number of the entity.
Required for the update operation.
MetaData:
optional
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, maximum of 100 chars, filterable, sortable
Name of the item.
Sku:
optional
minor version 4
String, maximum of 100 chars, filterable, default is null
The stock keeping unit (SKU) for this Item. This is a company-defined identifier for an item or product used in tracking inventory.
Description:
optional
String, maximum of 4000 chars
Description of the item.
Active:
optional
Boolean, filterable, default is true
If true, the object is currently enabled for use by QuickBooks.
SubItem:
optional
Boolean, default is false or null
If true, this is a sub item. If false or null, this is a top-level item.
Creating inventory hierarchies with traditional inventory items is being phased out in lieu of using categories and sub categories. See Category object definition and CRUD examples on this page, and the developer guide Migrating to categories.
ParentRef:
optional
ReferenceType, default is null
The immediate parent of the sub item in the hierarchical Item:SubItem list. If SubItem is true, then ParenRef is required. If SubItem is true, then ParenRef is required. Query the Item name list resource to determine the appropriate object to reference here. Use Item.Id and Item.Name from that object for ParentRef.value and ParentRef.name, respectively.
Level:
optional
Integer, default is 0, read-only
Specifies the level of the hierarchy in which the entity is located. Zero specifies the top level of the hierarchy; anything above will be the next level with respect to the parent. Limited to 5 levels.
FullyQualifiedName:
optional
String default is null, read-only
Fully qualified name of the entity. The fully qualified name prepends the topmost parent, followed by each sub element separated by colons. Takes the form of Item:SubItem. Returned from an existing object and not input on a new object.Limited to 5 levels.
Taxable:
optional
Boolean
If true, transactions for this item are taxable. Applicable to US companies, only.
SalesTaxIncluded:
optional
Boolean, default is false
True if the sales tax is included in the item amount, and therefore is not calculated for the transaction.
UnitPrice:
optional
Decimal, maximum of 99999999999, sortable, default is 0.
Corresponds to the Price/Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
Type:
Required when minor version 4 is specified.
String, filterable, sortable
Classification that specifies the use of this item. See the description at the top of the Item entity page for details about supported item types.
For requests with minor versions earlier than 4 specified, this field is read-only and system-defined as follows:
  • Inventory--Default setting when TrackQtyOnHand, InvStartDate, and AssetAccountRef are specified. Used for goods the company sells and buys that are tracked as inventory.
  • Service--Default setting when TrackQtyOnHand, InvStartDate, and AssetAccountRef are not specified. Used for non-tangible goods the company sells and buys that are not tracked as inventory. For example, specialized labor, consulting hours, and professional fees.

For requests with minor version=4 query parameter, this field is required to be explicitly set with one of the following:
  • Inventory--Used for goods the company sells and buys that are tracked as inventory.
  • Service--Used for non-tangible goods the company sells and buys that are not tracked as inventory. For example, specialized labor, consulting hours, and professional fees.
  • NonInventory--Use for goods the company sells and buys that are not tracked as inventory. For example, office supplies or goods bought on behalf of the customer.

When querying Item objects with minor versions earlier than 4 specified, NonInventory types are returned as type Service.
For French locales, Type is tied with ItemCategoryType: if ItemCategoryType is set to Service, then Type is set to Service, if ItemCategoryType is Product, then Type is set to NonInventory.
ItemCategoryType:
required
minor version 3
String
Classification that specifies the use of this item. Applicable for France companies, only. Available when endpoint is evoked with the minorversion=3 query parameter.
Read-only after object is created.
Valid values include: Product and Service.
IncomeAccountRef:
required for Inventory and Service item types
ReferenceType
Reference to the posting account, that is, the account that records the proceeds from the sale of this item. Must be an account with account type of Sales of Product Income. span>. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for IncomeAccountRef.value and IncomeAccountRef.name, respectively.
For France locales:
  • This is an optional field.
  • This is the sales account id, If not provided it defaults to the default sales account: 706100 and 707100 are the default expense accounts used for Service and Product type of item, respectively.
ExpenseAccountRef:
required for Inventory, NonInventory, and Service item types
ReferenceType
Reference to the expense account used to pay the vendor for this item. Must be an account with account type of Cost of Goods Sold. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for ExpenseAccountRef.value and ExpenseAccountRef.name, respectively.
For France locales:
  • This is an optional field.
  • This is the purchase account id, If not provided it defaults to the default purchase account: 605100 and 601100 are the default expense accounts used for Service and Product type of item, respectively.
PurchaseDesc:
optional
String, max 1000 chars
Purchase description for the item.
PurchaseTaxIncluded:
optional
Boolean, default is false
True if the purchase tax is included in the item amount, and therefore is not calculated for the transaction.
PurchaseCost:
optional
Decimal, maximum of 99999999999
Amount paid when buying or ordering the item, as expressed in the home currency.
AssetAccountRef:
required for Inventory item types.
ReferenceType
Reference to the Inventory Asset account that tracks the current value of the inventory. If the same account is used for all inventory items, the current balance of this account will represent the current total value of the inventory. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for AssetAccountRef.value and AssetAccountRef.name, respectively.
TrackQtyOnHand:
optional
Boolean, default is false
True if there is quantity on hand to be tracked. Once this value is true, it cannot be updated to false. Applicable for items of type Inventory.
Not applicable for Service or NonInventory item types.
InvStartDate:
required for Inventory type items.
Date
Date of opening balance for the inventory transaction.
For read operations, the date returned in this field is always the originally provided inventory start date.
For update operations, the date supplied is interpreted as the inventory adjust date, is stored as such in the underlying data model, and is reflected in the QuickBooks Online UI for the object. The inventory adjust date is not exposed for read operations through the API.
QtyOnHand:
required for Inventory type items.
Decimal, sortable
Current quantity of the Inventory items available for sale. Not used for Service or NonInventory type items.
SalesTaxCodeRef:
optional
ReferenceType
Reference to the sales tax code for the Sales item. Applicable to Service and Sales item types only. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for SalesTaxCodeRef.value and SalesTaxCodeRef.name, respectively.
PurchaseTaxCodeRef:
optional
ReferenceType
Reference to the purchase tax code for the item. Applicable to Service, Other Charge, and Product (Non-Inventory) item types. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for PurchaseTaxCodeRef.value and PurchaseTaxCodeRef.name, respectively.
AbatementRate:
optional
minor version 3
Decimal
Sales tax abatement rate for India locales.
ReverseChargeRate:
optional
minor version 3
Decimal
Sales tax reverse charge rate for India locales.
ServiceType:
optional
minor version 3
String
Sales tax service type for India locales.

itemreftype

value:
required
string
The ID for the referenced item object as found in the Item.Id field of the Item object payload.
name:
optional
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
optional
string
The item type for this reference. Use Item.Type to populate this field.

itemgroupdetail

ItemGroupLine [0..n]:
optional
ItemGroupLine
One or more Item objects that comprise a bundle; objects must already exist in the company. Query the Item name list resource for the Item objects that go into the bundle. For each object, create an ItemRef element. Use Item.Id, Item.FullyQualifiedName, and Item.Type for ItemRef.value, ItemRef.name, and ItemRef.type respectively.
ItemRef:
optional
ItemRef
value:
required
string
The ID for the referenced item object as found in the Item.Id field of the Item object payload.
name:
optional
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
optional
string
The item type for this reference. Use Item.Type to populate this field.
Qty:
optional
String
The quantity of this object to include in the bundle.

itemgroupline

ItemRef:
optional
ItemRef
value:
required
string
The ID for the referenced item object as found in the Item.Id field of the Item object payload.
name:
optional
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
optional
string
The item type for this reference. Use Item.Type to populate this field.
Qty:
optional
String
The quantity of this object to include in the bundle.

journalcoderequest

Name:
required
String, 2 to 20 characters in length
A name representing the journal code.

journalcoderesponse

Id:
required for update
IdType, sortable, filterable, read-only
Unique Identifier for an Intuit entity (object).
Required for the update operation.
SyncToken:
required for update
String, read-only
Version number of the entity.
Required for the update operation.
MetaData:
optional
ModificationMetaData, filterable, sortable
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
optional
CustomField
Custom field or data extension.
Name:
required
String, 2 to 20 characters in length
A name representing the journal code.
Type:
optional
String
The type of this journal code. The value cannot be changed once the object is created. Valid types include:
Expenses
Sales
Bank
Nouveaux
Wages
Cash
Others
Description:
optional
String
A free-form description of the journal code.
Active:
optional
Boolean, filterable, sortable, default is true
Indicates whether this journalcode object is active in the company or not.
true--This journalcode object is active and enabled for use by QuickBooks.
false--This journalcode object is inactive, is hidden from most display purposes, and is not availble for use with financial transactions.

journalreport

[[Ext:IncludeFile Section=ApiReference File=Accounting\models\journalreport.html mode=Collapsed ]]

itembasedexpenseline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to ItemBasedExpenseLineDetail for this type of line.
ItemBasedExpenseLineDetail:
optional
ItemBasedExpenseLineDetail
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal

Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
PriceLevelRef:
optional
ReferenceType
Reference to the PriceLevel of the service or item for the line. Support for this element will be available in the coming months.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
CustomerRef:
optional
ReferenceType
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
BillableStatus:
optional
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

itembasedexpenselinedetail

ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal

Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
PriceLevelRef:
optional
ReferenceType
Reference to the PriceLevel of the service or item for the line. Support for this element will be available in the coming months.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
CustomerRef:
optional
ReferenceType
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
BillableStatus:
optional
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

itemreceiptline

Id:
optional
String, Required for update
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
optional
Decimal, max 15 digits in 10.5 format, required
The amount of the line item.
DetailType:
optional
LineDetailTypeEnum, required
Set to ItemReceiptLineDetailfor this type of line.

jobinfo

Status:
optional
String
Current status of the job.
Valid values: Awarded, Closed, InProgress, None, NotAwarded, Pending
StartDate:
optional
Date
Starting date of the Job.
ProjectedEndDate:
optional
Date
Projected end date of the job.
EndDate:
optional
Date
End date of the job.
Description:
optional
String, maximum of 99 chars
Job description.
JobTypeRef:
optional
ReferenceType
Reference to the JobType.

journalentryline

Id:
optional
String, Required for update
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to JournalEntryLineDetailfor this type of line.
JournalEntryLineDetail:
optional
JournalEntryLineDetail
PostingType:
required
PostingTypeEnum
Indicates whether this JournalEntry line is a debit or credit. Valid values: Credit, Debit
Entity:
optional
Type:
EntityTypeEnum
Object type. Output only. Valid values are Vendor, Employee, or Customer.
EntityRef:
required
ReferenceType

Query the corresponding name list resource as specified by Entity to determine the appropriate object to reference here. Use the Id and DisplayName values from that object for EntityRef.value and EntityRef.name, respectively.
AccountRef:
required
ReferenceType
Reference to the account associated with this line. Query the Account name list resource to determine the appropriate Account object to reference here, based on the side of the journal entry represented by this line. Use Account.Id and Account.Name from that object for AccountRef.value and AccountRef.name, respectively.
For France locales: The account associated with the referenced Account object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then this account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerTxn is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
DepartmentRef:
optional
ReferenceType
A reference to a Department object specifying the location of the transaction. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TaxApplicableOn:
required if TaxCodeRef is specified
TaxApplicableOnEnum
Indicates whether the tax applicable on the line is sales or purchase.
Valid value: Sales, Purchase
TaxAmount:
required if TaxCodeRef is specified
Decimal
Min: 0, Max:999999999
Tax amount of the line.
BillableStatus:
optional
String
The billable status of the journal entry line. The line is to be billed to a customer if the account is an expense account and EntityRef specifies a Customer object.
Valid values: Billable, NotBillable, HasBeenBilled
JournalCodeRef:
optional
required
minor version 5
ReferenceType
For France locales, only. Reference to a JournalCode object. This must be present for both Credit and Debit posting sides of the JournalEntry object. Query the JournalCode name list resource to determine the appropriate JournalCode object to reference here. Use JournalCode.Id and JournalCode.Name from that object for JournalCodeRef.value and JournalCodeRef.name, respectively.

journalentrylinedetail

PostingType:
required
PostingTypeEnum
Indicates whether this JournalEntry line is a debit or credit. Valid values: Credit, Debit
Entity:
optional
Type:
EntityTypeEnum
Object type. Output only. Valid values are Vendor, Employee, or Customer.
EntityRef:
required
ReferenceType

Query the corresponding name list resource as specified by Entity to determine the appropriate object to reference here. Use the Id and DisplayName values from that object for EntityRef.value and EntityRef.name, respectively.
AccountRef:
required
ReferenceType
Reference to the account associated with this line. Query the Account name list resource to determine the appropriate Account object to reference here, based on the side of the journal entry represented by this line. Use Account.Id and Account.Name from that object for AccountRef.value and AccountRef.name, respectively.
For France locales: The account associated with the referenced Account object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then this account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerTxn is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
DepartmentRef:
optional
ReferenceType
A reference to a Department object specifying the location of the transaction. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TaxApplicableOn:
required if TaxCodeRef is specified
TaxApplicableOnEnum
Indicates whether the tax applicable on the line is sales or purchase.
Valid value: Sales, Purchase
TaxAmount:
required if TaxCodeRef is specified
Decimal
Min: 0, Max:999999999
Tax amount of the line.
BillableStatus:
optional
String
The billable status of the journal entry line. The line is to be billed to a customer if the account is an expense account and EntityRef specifies a Customer object.
Valid values: Billable, NotBillable, HasBeenBilled
JournalCodeRef:
optional
required
minor version 5
ReferenceType
For France locales, only. Reference to a JournalCode object. This must be present for both Credit and Debit posting sides of the JournalEntry object. Query the JournalCode name list resource to determine the appropriate JournalCode object to reference here. Use JournalCode.Id and JournalCode.Name from that object for JournalCodeRef.value and JournalCodeRef.name, respectively.

journalentryrequest

Line [0..n]:
required
Line, required
Individual line items of a journal entry. Two line items are required: one with PostingType set to Debit and one with PostingType set to Credit. Set Line.DetailType to JournalEntryLineDetail for both lines.
Id:
optional
String, Required for update
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to JournalEntryLineDetailfor this type of line.
JournalEntryLineDetail:
optional
JournalEntryLineDetail
PostingType:
required
PostingTypeEnum
Indicates whether this JournalEntry line is a debit or credit. Valid values: Credit, Debit
Entity:
optional
Type:
EntityTypeEnum
Object type. Output only. Valid values are Vendor, Employee, or Customer.
EntityRef:
required
ReferenceType

Query the corresponding name list resource as specified by Entity to determine the appropriate object to reference here. Use the Id and DisplayName values from that object for EntityRef.value and EntityRef.name, respectively.
AccountRef:
required
ReferenceType
Reference to the account associated with this line. Query the Account name list resource to determine the appropriate Account object to reference here, based on the side of the journal entry represented by this line. Use Account.Id and Account.Name from that object for AccountRef.value and AccountRef.name, respectively.
For France locales: The account associated with the referenced Account object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then this account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerTxn is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
DepartmentRef:
optional
ReferenceType
A reference to a Department object specifying the location of the transaction. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TaxApplicableOn:
required if TaxCodeRef is specified
TaxApplicableOnEnum
Indicates whether the tax applicable on the line is sales or purchase.
Valid value: Sales, Purchase
TaxAmount:
required if TaxCodeRef is specified
Decimal
Min: 0, Max:999999999
Tax amount of the line.
BillableStatus:
optional
String
The billable status of the journal entry line. The line is to be billed to a customer if the account is an expense account and EntityRef specifies a Customer object.
Valid values: Billable, NotBillable, HasBeenBilled
JournalCodeRef:
optional
required
minor version 5
ReferenceType
For France locales, only. Reference to a JournalCode object. This must be present for both Credit and Debit posting sides of the JournalEntry object. Query the JournalCode name list resource to determine the appropriate JournalCode object to reference here. Use JournalCode.Id and JournalCode.Name from that object for JournalCodeRef.value and JournalCodeRef.name, respectively.
JournalCodeRef:
required for France locales
minor version 5
ReferenceType
Reference to a JournalCode object. Query the JournalCode name list resource to determine the appropriate JournalCode object to reference here. Use JournalCode.Id and JournalCode.Name from that object for JournalCodeRef.value and JournalCodeRef.name, respectively.

journalentryresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
DocNumber:
optional
String, maximum of 21 chars, filterable, sortable
Reference number for the transaction. If not explicitly provided at create time, this field is populated based on the setting of Preferences:CustomTxnNumber as follows:
  • If Preferences:CustomTxnNumber is true a custom value can be provided. If no value is supplied, the resulting DocNumber is null.
  • If Preferences:CustomTxnNumber is false, resulting DocNumber is system generated by incrementing the last number by 1.
If Preferences:CustomTxnNumber is false and a value is supplied, that value is stored even if it is a duplicate. Recommended best practice: check the setting of Preferences:CustomTxnNumber before setting DocNumber.
Sort order is ASC by default.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction.
Line [0..n]:
required
Line
Individual line items of a transaction. There must be at least one pair of Journal Entry Line elements, representing a debit and a credit, called distribution lines. Valid Line types include:
Journal Entry Line:
Id:
optional
String, Required for update
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to JournalEntryLineDetailfor this type of line.
JournalEntryLineDetail:
optional
JournalEntryLineDetail
PostingType:
required
PostingTypeEnum
Indicates whether this JournalEntry line is a debit or credit. Valid values: Credit, Debit
Entity:
optional
Type:
EntityTypeEnum
Object type. Output only. Valid values are Vendor, Employee, or Customer.
EntityRef:
required
ReferenceType

Query the corresponding name list resource as specified by Entity to determine the appropriate object to reference here. Use the Id and DisplayName values from that object for EntityRef.value and EntityRef.name, respectively.
AccountRef:
required
ReferenceType
Reference to the account associated with this line. Query the Account name list resource to determine the appropriate Account object to reference here, based on the side of the journal entry represented by this line. Use Account.Id and Account.Name from that object for AccountRef.value and AccountRef.name, respectively.
For France locales: The account associated with the referenced Account object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then this account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerTxn is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
DepartmentRef:
optional
ReferenceType
A reference to a Department object specifying the location of the transaction. Available if Preferences.AccountingInfoPrefs.TrackDepartments is set to true.
Query the Department name list resource to determine the appropriate department object to reference here. Use Department.Id and Department.Name from that object for DepartmentRef.value and DepartmentRef.name, respectively.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TaxApplicableOn:
required if TaxCodeRef is specified
TaxApplicableOnEnum
Indicates whether the tax applicable on the line is sales or purchase.
Valid value: Sales, Purchase
TaxAmount:
required if TaxCodeRef is specified
Decimal
Min: 0, Max:999999999
Tax amount of the line.
BillableStatus:
optional
String
The billable status of the journal entry line. The line is to be billed to a customer if the account is an expense account and EntityRef specifies a Customer object.
Valid values: Billable, NotBillable, HasBeenBilled
JournalCodeRef:
optional
required
minor version 5
ReferenceType
For France locales, only. Reference to a JournalCode object. This must be present for both Credit and Debit posting sides of the JournalEntry object. Query the JournalCode name list resource to determine the appropriate JournalCode object to reference here. Use JournalCode.Id and JournalCode.Name from that object for JournalCodeRef.value and JournalCodeRef.name, respectively.

Description only:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars A string representing one of the following:
  • Free form text description of the line item that appears in the printed record.
  • A subtotal line inline with other lines on the sales form and holds the sum of amounts on all lines above it. This is distinct from the overall transaction subtotal represented with a SubTotal detail line.
    • In create requests, set to Subtotal: (case sensitive) to create the subtotal line; the amount is generated by QuickBooks Online business logic.
    • In read requests, lines with Subtotal: nn.nn returned in this field denote subtotal lines in the object.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to DescriptionOnlyfor this type of line.
DescriptionLineDetail:
optional
DescriptionLineDetail
ServiceDate:
optional
Date
Date when the service is performed.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
TxnTaxDetail:
optional
TxnTaxDetail
This data type provides information for taxes charged on the transaction as a whole. It captures the details sales taxes calculated for the transaction based on the tax codes referenced by the transaction. This can be calculated by QuickBooks business logic or you may supply it when adding a transaction. See Global tax model for more information about this element.
TotalAmt:
optional
BigDecimal
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
HomeTotalAmt:
optional
Decimal, read-only, applicable if multicurrency is enabled for the company
Total amount of the transaction in the home currency. Includes the total of all the charges, allowances and taxes. Calculated by QuickBooks business logic.
TxnSource:
optional
String
Used internally to specify originating source of the entry.
Adjustment:
optional
Boolean
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. By default, this is recalculated by the system based on sub-items total and overridden.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

linkedtxn

TxnId:
optional
String
Transaction Id of the related transaction.
TxnType:
optional
String
Transaction type.
TxnLineId:
optional
String
The line number of a specific line of the linked transaction. If supplied, the TxnId and TxnType attributes of the linked transaction must also be populated.

line

Id:
optional
String, Required for update
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
optional
Decimal, max 15 digits in 10.5 format, required
The amount of the line item.
LinkedTxn[0..n]:
optional
Transaction to which the current entity is related. For example, an invoice line may link to a sales order or estimate.

linelinkedtxn

Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
LinkedTxn [0..n]:
optional
Transaction to which the current entity is related. For example, a billpayment line links to the originating bill object for which the billpayment is applied.

markupinfo

PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.

memoref

value:
required
string, maximum 1000 chars, default is null
User-entered message to the customer; this message is visible to the end user on their transactions.

modificationmetadata

CreateTime:
optional
DateTime, filterable, sortable, read-only
Time the entity was created in the source domain.
LastUpdatedTime:
optional
DateTime, filterable, sortable, read-only
Time the entity was last updated in the source domain.

paymentline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to PaymentLineDetailfor this type of line.
PaymentLineDetail:
required
PaymentLineDetail
Discount detail type for the entire transaction. This is in contrast to a discount applied to a specific line. The company preference Sales Form Entry | Discountsmust be enabled for this type of line to be available.
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
Balance:
optional
Decimal, read-only
Indicates the unpaid amount of the transaction after this payment is applied.
Discount:
optional
DiscountOverride
Reference to a Discount item and its properties that this line can overwrite.
DiscountRef:
optional
ReferenceType
Discount item used in calculating and applying the discount on the sales transaction paid.
PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts received from vendors on purchases.

paymentlinedetail

ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
Balance:
optional
Decimal, read-only
Indicates the unpaid amount of the transaction after this payment is applied.
Discount:
optional
DiscountOverride
Reference to a Discount item and its properties that this line can overwrite.
DiscountRef:
optional
ReferenceType
Discount item used in calculating and applying the discount on the sales transaction paid.
PercentBased:
optional
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
optional
Decimal
Percentage by which the amount due is reduced, from 0% to 100%. To enter a discount of 8.5% use 8.5, not 0.085.
DiscountAccountRef:
optional
ReferenceType
Income account used to track discounts received from vendors on purchases.

paymentresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction.
TxnStatus:
optional
String, default is PAID
The status of the transaction. For Payment objects, this status is always set to PAID.
Line [0..n]:
optional
Line
Zero or more transactions accounting for this payment. Values for Line.LinkedTxn.TxnTypecan be one of the following:
  • Expense--Payment is reimbursement for expense paid by cash made on behalf of the customer
  • Check--Payment is reimbursement for expense paid by check made on behalf of the customer
  • CreditCardCredit--Payment is reimbursement for a credit card credit made on behalf of the customer
  • JournalEntry--Payment is linked to the representative journal entry
  • CreditMemo--Payment is linked to the credit memo the customer has with the business
  • Invoice--The invoice to which payment is applied

Use Line.LinkedTxn.TxnId as the ID in a separate read request for the specific resource to retrieve details of the linked object.

Linked transaction line:
CustomerRef:
required
ReferenceType, filterable
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
ARAccountRef:
optional
ReferenceType
Specifies the accounts receivable account associated with this payment. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for ARAccountRef.value and ARAccountRef.name, respectively. The specified account must have Account.AccountType set to Accounts Receivable.
DepositToAccountRef:
optional
ReferenceType, default is Undeposited Funds account
Identifies the account to be used for this payment. Query the Account name list resource to determine the appropriate Account object to reference here, where Account.AccountType is Other Current Asset or Bank. Use Account.Id and Account.Name from that object for DepositToAccountRef.value and DepostiToAccountRef.name, respectively.
If you do not specify this account, payment is applied to the Undeposited Funds account.
PaymentMethodRef:
optional
ReferenceType, default is null
Reference to a PaymentMethod associated with this transaction. Query the PaymentMethod name list resource to determine the appropriate PaymentMethod object to reference here. Use PaymentMethod.Id and PaymentMethod.Name from that object for PaymentMethodRef.value and PaymentMethodRef.name, respectively.
PaymentRefNum:
optional
String, filterable, sortable
The reference number for the payment received. For example,  Check # for a check, envelope # for a cash donation.
CreditCardPayment:
optional
CreditCardPayment
Information about a payment received by credit card. Inject with data only if the payment was transacted through Intuit Payments API.
TxnSource:
optional
String
Used internally to specify originating source of a credit card transaction.
TotalAmt:
required
Decimal
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
UnappliedAmt:
optional
Decimal, read-only
Indicates the amount that has not been applied to pay amounts owed for sales transactions.
TransactionLocationType:
optional
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

paymentmethodrequest

Name:
required
String, maximum of 31 chars
User recognizable name for the payment method.

paymentmethodresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
required
String, maximum of 31 chars
User recognizable name for the payment method.
Active:
optional
Boolean, filterable, sortable, default is true
If true, this entity is currently enabled for use by QuickBooks.
Type:
optional
String
Defines the type of payment. Valid values include CREDIT_CARD or NON_CREDIT_CARD.

physicaladdress

For further information about the PhysicalAddress data type, click here.

Id:
optional
String, system defined, read-only
Unique identifier of the QuickBooks object for the address, mainly used for modifying the address.
Line1
Line2
Line3
Line4
Line5:
optional
string, individual maximum of 500 chars, up to combined max of 2000 chars
First through fifth lines of the address.
City:
optional
string, maximum of 255 chars
City name.
Country:
optional
string, maximum of 255 chars
Country name.
CountrySubDivisionCode:
optional
string, maximum of 255 chars
Region within a country. For example, state name for USA, province name for Canada.
PostalCode:
optional
string, maximum of 31 chars
Postal code. For example, zip code for USA and Canada
Lat:
optional
String
Latitude coordinate of Geocode (Geospacial Entity Object Code). INVALIDis returned for invalid addresses.
Long:
optional
String
Longitude coordinate of Geocode (Geospacial Entity Object Code). INVALIDis returned for invalid addresses.

preferencesresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
AccountingInfoPrefs
The following settings are available for QuickBooks Online Plus editions, only. To determine this edition type, query the value of the OfferingSku CustomerInfo.Name name/value pair for QuickBooks Online Plus.
TrackDepartments:
Boolean
This setting corresponds to the Track locations preference in QuickBooks Online Company Settings under Categories. If Track locations is set to On, this attribute is returned as true in the response. Otherwise, false is returned.
DepartmentTerminology:
String
Specifies the term used by the company for department. This string is used as a label on transaction forms. Possible values include: Business, Department, Division, Location, Property, Store, Territory. This is returned only if the company's Track location preference is enabled. See TrackDepartments above.
ClassTrackingPerTxnLine:
ClassTrackingPerTxn:
Boolean
These settings correspond to how classes are assigned when Track classes in QuickBooks Online Company Settings under Categories is set to On. For more information about using classes with the QuickBooks API, see Class tracking developer guide and class resource information.
  • ClassTrackingPerTxnLine--if set to true, assign classes at the line level.
  • ClassTrackingPerTxn--if set to true, assign classes at the transaction level.
Only one of ClassTrackingPerTxnLine or ClassTrackingPerTxn can be set to true at a given time. If Track classes is set to Off in company settings, both are set to false.
CustomerTerminology:
String
This setting corresponds to the Customer label preference in QuickBooks Online Company Settings and specifies the term used by the company for customers. This string is used in many places throughout the QuickBooks UI having to do with sales-side activities. Possible values include: Clients, Customers, Donors, Guests, Members, Patients, Tenants.
ProductAndServicesPrefs

ForSales, boolean. Product and Services for Sales enabled. Default Value: false
ForPurchase, boolean. Product and Services for Purchase enabled. Default Value: false
QuantityWithPriceAndRate, boolean. Quantity with price and rate enabled. Default Value: false
QuantityOnHand, boolean. Quantity on hand enabled. Default Value: false
SalesFormsPrefs
CustomField:
See the Custom Fields developer guide for complete details on configuring and managing custom fields.
CustomField [0..3]:, BooleanTypeCustomFieldDefinition.
Toggles whether Sales Forms Custom Fields are enabled on the sales form. Sales forms can have up to three custom fields.
CustomField [0..3]:
optional
Name:
String, read-only
The internal name of an enabled custom field. Name takes the form SalesFormsPrefs.SalesCustomNameN, where N is 1, 2, or 3 for up to three available custom fields.
Type:
CustomFieldTypeEnum, system defined as BooleanType
Denotes this is a custom field enabling object.
BooleanValue:
Boolean
Used to enable the custom field. Set to True to enable the field. Once enabled, it is available on sales forms in the QuickBOoks UI and available for QuickBooks services.

CustomField [0..3]:, StringTypeCustomFieldDefinition.
Defines field label names for custom fields that have been enabled. They need to be both enabled and defined in order for them to be available in sales forms.
CustomField [0..3]:
optional
Name:
String, read-only
The internal name of an enabled custom field, Name takes the form SalesFormsPrefs.SalesCustomNameN, where N is 1, 2, or 3 for up to three available custom fields that have been enabled. Use the numeric part, represented by N here, as the CustomField.DefinitionId when configuring custom fields in transactions.
Type:
CustomFieldTypeEnum, system defined as StringType
Denotes that this is a custom field definition. This type of custom field is available once the field has been enabled with a corresponding CustomField object of type BooleanType.
StringValue:
String
The name of the custom field as it appears on the sales form.

CustomTxnNumbers, boolean. Enables the ability to specify custom transaction numbers. Default Value: false
AllowDeposit, boolean. Enables specifying Deposit. Default Value: false
AllowDiscount, boolean. Enables specifying Discount. Default Value: false
DefaultDiscountAccount, string. Default discount account.
AllowEstimates, boolean. Enables specifying Estimates. Default Value: false
EstimateMessage, string. Message to the customers on estimates.
ETransactionEnabledStatus, ETYransactionEnabledStatusEnum. Enables ETransaction status. Default Value: false
ETransactionAttachPDF, boolean. Specifies whether sales form PDF should be attached with ETransaction mails. Default Value: false
ETransactionPaymentEnabled, boolean. Enables ETransaction payment. Default Value: false
IPNSupportEnabled, boolean. IPN support enabled. No longer used and is being deprecated. Default Value: false
AllowServiceDate, boolean. Enables specifying service date. Default Value: false
AllowShipping, boolean. Enables specifying shipping info. Default Value: false
DefaultShippingAccount, string. Default shipping account.
DefaultTerms, ReferenceType. Default sales terms. Default Value: N/A
DefaultCustomerMessage, string. Default customer message.
SalesEmailCc, string. Default carbon copy email address where invoices are sent. Override this setting with the Invoice.BillEmailCc attribute. Max 200 characters. Ignored if address is invalid. Available with minor version 8.
SalesEmailBcc, string. Default blind carbon copy email address where invoices are sent. Override this setting with the Invoice.BillEmailBccc attribute. Max 200 characters. Ignored if address is invalid. Available with minor version 8.
EmailMessagesPrefs

InvoiceMessage, EmailMessage. Message for invoice.
EstimateMessage, EmailMessage. Message for estimate.
SalesReceiptMessage, EmailMessage. Mssage for sales receipt.
StatementMessage, EmailMessage. Message for statement.
VendorAndPurchasesPrefs

POCustomField, BooleanTypeCustomFieldDefinition.
Toggles whether Purchase Order Custom Fields are enabled on the purchase order. Purchase orders can have up to three custom fields.
CustomField [0..3]:
optional
Name:
String, read-only
The internal name of the custom field. Name takes the form PurchasePrefs.UsePurchaseNameN, where N is 1, 2, or 3 for up to three available custom fields.
Type:
CustomFieldTypeEnum, system defined as BooleanType
Denotes this is a custom field enabling object.
BooleanValue:
Boolean
Used to enable the custom field. Set to True to enable the field. Once enabled, it is available on purchase order forms in the QuickBOoks UI and available for QuickBooks services.

POCustomField, StringTypeCustomFieldDefinition.
Defines field label names for custom fields that have been enabled. They need to be both enabled and defined in order for them to be available in purchase orders.
CustomField [0..3]:
optional
Name:
String, read-only
The internal name of an enabled custom field, Name takes the form PurchasePrefs.PurchaseCustomNameN, where N is 1, 2, or 3 for up to three available custom fields that have been enabled.
Type:
CustomFieldTypeEnum, system defined as StringType
Denotes that this is a custom field definition. This type of custom field is available once the field has been enabled with a corresponding CustomField object of type BooleanType.
StringValue:
String
The name of the custom field as it appears on the Purchase Order form.

TrackingByCustomer, boolean. Enables tracking by customer. Default Value: false
BillableExpenseTracking, boolean. Billable Expense tracking enabled. Default Value: false
DefaultTerms, ReferenceType. Default terms.
DefaultMarkup, decimal. Default markup rate used to calculate the markup amount on the transactions. To enter a markup rate of 8.5%, enter 8.5, not 0.085.
POCustomField, CustomFieldDefinition. Defines PO custom field.
TimeTrackingPrefs

UseServices, boolean. Services for time tracking enabled. Default Value: false
BillCustomers, boolean. Enables billing customers for time.
ShowBillRateToAll, boolean. Billing rate to all employees enabled. Default Value: false
WorkWeekStartDate, WeekEnum, read-only. Work week starting day.
MarkTimeEntiresBillable, boolean. Mark time entries as billable. Default Value: false
TaxPrefs

UsingSalesTax, boolean, read-only. Sales tax enabled.
TaxGroupCodeRef, string, read-only. Reference to the TaxCode.Id for tax code group to use.
CurrencyPrefs

MultiCurrencyEnabled, boolean, read-only. Multicurrency enabled for this company. Not available with QuickBooks Simple Start.
HomeCurrency, ReferenceType read-only. Currency code of the country where the business is physically located.
ReportPrefs

ReportBasis, ReportBasisEnum. Accounting method for summary.
CalcAgingReportFromTxnDate, boolean. Calculation aging from transaction date. Default Value is false
OtherPrefs

Specifies extension of Preference resource to allow extension of Name-Value pair based extension at the top level.
Name, String. Name of the element.
Value, String. Value of the element.

purchaseorderitemline

Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to PurchaseOrderItemLineDetailfor this type of line.
PurchaseOrderItemLineDetail:
optional
PurchaseOrderItem LineDetail [[Ext:IncludeFile Section=ApiReference File=Accounting\models\purchaseorderitmelinedetail.html mode=Collapsed]]
CustomField:[0..3]
optional
CustomField
Provision for data extension.

purchaseorderitemlinedetail

ItemRef:
optional
ReferenceType
Reference to the Item. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class for the line item.
UnitPrice:
optional
Decimal
Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
PriceLevelRef:
optional
ReferenceType
Reference to the PriceLevel of the service or item for the line.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items to be purchased.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor the purchase of this item.
ServiceDate:
optional
Date
Date when the service is performed.
ManuallyClosed:
optional
Boolean
The item on the line is marked as if fully received, but it is closed as no longer available.
OpenQty:
optional
Decimal
Read-onlyRepresents the difference between the quantity ordered and actually received.

purchaseorderrequest

Line [0..n]:
required
Line
Individual line items of a transaction. Valid Line types include:
Item line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to ItemBasedExpenseLineDetail for this type of line.
ItemBasedExpenseLineDetail:
optional
ItemBasedExpenseLineDetail
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal

Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
PriceLevelRef:
optional
ReferenceType
Reference to the PriceLevel of the service or item for the line. Support for this element will be available in the coming months.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
CustomerRef:
optional
ReferenceType
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
BillableStatus:
optional
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.
VendorRef:
required
ReferenceType
The vendor reference for this transaction.
APAccountRef:
required
ReferenceType, filterable
Specifies which AP account to which the bill is credited. Many/most small businesses have a single AP account, so the account can be implied. When specified, the account must be a Liability account, and further, the sub-type must be of type Payables.
We strongly recommend that the AP Account be explicitly specified in all cases as companies that have more then one AP account will encounter unexpected errors when relating transactions to each other.

purchaseorderresponse

Id:
required for update
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
required for update
String
Version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying an older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.
MetaData:
optional
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
optional
CustomField
Custom field or data extension.
DocNumber:
optional
String, maximum of 21 chars, filterable, sortable
Reference number for the transaction. If not explicitly provided at create time, this field is populated based on the setting of Preferences:CustomTxnNumber as follows:
  • If Preferences:CustomTxnNumber is true a custom value can be provided. If no value is supplied, the resulting DocNumber is null.
  • If Preferences:CustomTxnNumber is false, resulting DocNumber is system generated by incrementing the last number by 1.
If Preferences:CustomTxnNumber is false and a value is supplied, that value is stored even if it is a duplicate. Recommended best practice: check the setting of Preferences:CustomTxnNumber before setting DocNumber.
Sort order is ASC by default.
TxnDate:
optional
Date, filterable, sortable, default is current server date
The date entered by the user when this transaction occurred.
For posting transactions, this is the posting date that affects the financial statements. If the date is not supplied, the current date on the server is used.
Sort order is ASC by default.
PrivateNote:
optional
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the purchase order to the vendor. This field maps to the Memo field on the Purchase Order form.
LinkedTxn [0..n]:
optional
LinkedTxn, read-only
Zero or more Bill objects linked to this purchase order; LinkedTxn.TxnType is set to Bill. To retrieve details of a linked Bill transaction, issue a separate request to read the Bill whose ID is linkedTxn.TxnId.
Line [0..n]:
required
Line
Individual line items of a transaction. Valid Line types include:
Item-based expense line:
Id:
required for update
String
The Id of the line item. Its use in requests is as folllows:
  • If Idis greater than zero and exists for the company, the request is considered an update operation for a line item.
  • If no Idis provided, the Idprovided is less than or equal to zero, or the Idprovided is greater than zero and does not exist for the company then the request is considered a create operation for a line item.
Available in all objects that use lines and support the update operation.
LineNum:
optional
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
optional
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
required
Decimal, max 15 digits in 10.5 format
The amount of the line item.
DetailType:
required
LineDetailTypeEnum
Set to ItemBasedExpenseLineDetail for this type of line.
ItemBasedExpenseLineDetail:
optional
ItemBasedExpenseLineDetail
ItemRef:
optional
ReferenceType
Reference to the Item. Query the Item name list resource to determine the appropriate Item object to reference here. Use Item.Id and Item.Name from that object for ItemRef.value and ItemRef.name, respectively. When a line lacks an ItemRef it is treated as documentation and the Line.Amount attribute is ignored.
For France locales: The account associated with the referenced Item object is looked up in the account category list.
  • If this account has same location as specified in the transaction by the TransactionLocationType attribute and the same VAT as in the line item TaxCodeRef attribute, then the item account is used.
  • If there is a mismatch, then the account from the account category list that matches the transaction location and VAT is used.
  • If this account is not present in the account category list, then a new account is created with the new location, new VAT code, and all other attributes as in the default account.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the expense. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerLine is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
UnitPrice:
optional
Decimal

Unit price of the subject item as referenced by ItemRef. Corresponds to the Rate column on the QuickBooks Online UI to specify either unit price, a discount, or a tax rate for item.
If used for unit price, the monetary value of the service or product, as expressed in the home currency.
If used for a discount or tax rate, express the percentage as a fraction. For example, specify 0.4 for 40% tax.
PriceLevelRef:
optional
ReferenceType
Reference to the PriceLevel of the service or item for the line. Support for this element will be available in the coming months.
MarkupInfo:
optional
MarkupInfo
Markup information for the expense.
PercentBased:
optional
Boolean
True if the markup is expressed as a percentage.
Value:
optional
Decimal
Markup value.
Percent:
optional
Decimal
Markup amount expressed as a percent of charges already entered in the current transaction. To enter a rate of 10% use 10.0, not 0.01.
PriceLevelRef:
optional
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
optional
Decimal
Number of items for the line.
TaxCodeRef:
optional
ReferenceType
Reference to the TaxCodefor this item. Query the TaxCode name list resource to determine the appropriate TaxCode object to reference here. Use TaxCode.Id and TaxCode.Name from that object for TaxCodeRef.value and TaxCodeRef.name, respectively.
CustomerRef:
optional
ReferenceType
Reference to a customer or job. Query the Customer name list resource to determine the appropriate Customer object to reference here. Use Customer.Id and Customer.DisplayName from that object for CustomerRef.value and CustomerRef.name, respectively.
BillableStatus:
optional
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
optional
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

Account-based expense line:
VendorRef:
required
ReferenceType
Reference to the vendor for this transaction. Query the Vendor name list resource to determine the appropriate Vendor object to reference here. Use Vendor.Id and Vendor.Name from that object for VendorRef.value and VendorRef.name, respectively.
APAccountRef:
required
ReferenceType, filterable
Specifies to which AP account the bill is credited. Query the Account name list resource to determine the appropriate Account object to reference here. Use Account.Id and Account.Name from that object for APAccountRef.value and APAccountRef.name, respectively. The specified account must have Account.Classification set to Liability and Account.AccountSubType set to AccountsPayable.
If the company has a single AP account, the account is implied. However, it is recommended that the AP Account be explicitly specified in all cases to prevent unexpected errors when relating transactions to each other.
TotalAmt:
optional
BigDecimal
Indicates the total amount of the transaction. This includes the total of all the charges, allowances, and taxes. Calculated by QuickBooks business logic; any value you supply is over-written by QuickBooks.
Memo:
optional
String, max of 4000 chars
A message for the vendor. This text appears on the Purchase Order object sent to the vendor.
ClassRef:
optional
ReferenceType
Reference to the Class associated with the transaction. Available if Preferences.AccountingInfoPrefs.ClassTrackingPerTxn is set to true. Query the Class name list resource to determine the appropriate Class object to reference here. Use Class.Id and Class.Name from that object for ClassRef.value and ClassRef.name, respectively.
SalesTermRef:
optional
ReferenceType
Reference to the sales term associated with the transaction. Query the Term name list resource to determine the appropriate Term object to reference here. Use Term.Id and Term.Name from that object for SalesTermRef.value and SalesTermRef.name, respectively.
DueDate:
optional
Date, filterable, sortable
Date when the payment of the transaction is due. If date is not provided, the number of days specified in SalesTermRef added the transaction date will be used.
VendorAddr:
optional
PhysicalAddress
Address to which the payment should be sent.
ShipAddr:
optional
PhysicalAddress
Address to which the vendor shipped or will ship any goods associated with the purchase.
ShipMethodRef:
optional
ReferenceType
Reference to the user-defined ShipMethod associated with the transaction. Store shipping method string in both ShipMethodRef.value and ShipMethodRef.name.
POStatus:
optional
String
Purchase order status. Valid values are: Open and Closed.
TxnTaxDetail:
optional
TxnTaxDetail
This data type provides information for taxes charged on the transaction as a whole. It captures the details sales taxes calculated for the transaction based on the tax codes referenced by the transaction. This can be calculated by QuickBooks business logic or you may supply it when adding a transaction. See Global tax model for more information about this element.
CurrencyRef:
optional
CurrencyRefType, read-only
Reference to the currency in which all amounts on the associated transaction are expressed. If not returned, currency for the transaction is the home currency of the company, as defined by Preferences.CurrencyPrefs.HomeCurrency.
ExchangeRate:
optional
Decimal, default is 1, applicable if multicurrency is enabled for the company
The number of home currency units it takes to equal one unit of currency specified by CurrencyRef.
GlobalTaxCalculation:
optional
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied.