;
 

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:
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:
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
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:
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:
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:
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:
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
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:
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:
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
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:
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:
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:
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:
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
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:
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:
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
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:
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:
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:
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:
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
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:
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:
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
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:
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:
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:
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:
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
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:
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:
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
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:
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:
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:
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:
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
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=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:
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:
Boolean, system generated, filterable, sortable, read-only
Specifies whether this object represents a parent (false) or subaccount (true).
ParentRef:
ReferenceType, filterable, sortable, default is null
Specifies the Parent AccountId if this represents a SubAccount.
Description:
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:
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:
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:
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:
Decimal, filterable, sortable, read-only
Specifies the balance amount for the current Account. Valid for Balance Sheet accounts.
CurrentBalanceWithSubAccounts:
Decimal, filterable, sortable, read-only
Specifies the cumulative balance amount for the current Account and all its sub-accounts.
CurrencyRef:
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]:
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:
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
AttachableRef [0..n]:
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:
String, read-only, default is null
FullPath FileAccess URI of the attachment. Returned for file attachments.
TempDownloadUri:
String, read-only, default is null
TempDownload URI which can be directly downloaded by clients. Returned for file attachments.
Size:
Decimal, filterable, sortable, default is null
Size of the attachment. Returned for file attachments.
ContentType:
String, max 100 chars, filterable, sortable, default is null
ContentType of the attachment. Returned for file attachments.
Category:
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:
String, max 100 chars, filterable, sortable, default is null
Latitude from where the attachment was requested.
Long:
String, max 100 chars, filterable, sortable, default is null
Longitude from where the attachment was requested.
PlaceName:
String, max 2000 chars, filterable, sortable, default is null
PlaceName from where the attachment was requested.
Tag:
String, max 2000 chars, filterable, sortable, default is null
Tag name for the requested attachment.
ThumbnailFileAccessUri:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
AccountBasedExpense LineDetail
CustomerRef:
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:
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:
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:
String
The billable status of the expense.
Constraints: Valid values: Billable, NotBillable, HasBeenBilled
MarkupInfo:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
TaxAmount:
Decimal
Sales tax paid as part of the expense.
TaxCodeRef:
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:
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

accountbasedexpenselinedetail

CustomerRef:
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:
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:
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:
String
The billable status of the expense.
Constraints: Valid values: Billable, NotBillable, HasBeenBilled
MarkupInfo:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
TaxAmount:
Decimal
Sales tax paid as part of the expense.
TaxCodeRef:
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:
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

attachableref

EntityRef:
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:
String, Filterable
For transaction objects, used to reference a transaction detail line.
IncludeOnSend:
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:
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:
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]
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:
String, read-only
Name of the custom field.
Type:
CustomFieldTypeEnum, read-only
Data type of custom field. Only one type is currently supported: StringType.
StringValue:
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:
Request object
The payload for the request for create, update, and delete operations.
Query:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
DocNumber:
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:
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:
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:
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:
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:
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]:
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.TxnLineId 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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
ItemBasedExpenseLineDetail
ItemRef:
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:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
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:
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
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:
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:
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:
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:
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
SalesTermRef:
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:
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:
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:
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:
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:
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:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
DocNumber:
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:
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:
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:
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:
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:
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.TxnLineId 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:
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:
Boolean
Indicates that the payment should be processed by merchant account service. Valid for QuickBooks companies with credit card processing.
TransactionLocationType:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
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:
BudgetTypeEnum, sortable, filterable, read-only
Budget types.
The only value currently supported is ProfitAndLoss.
BudgetEntryType:
BudgetEntryTypeEnum, read-only
Period that this budget detail covers..
Valid values include: Monthly, Quarterly, Annually.
Active:
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]:
BudgetDetail
Container for the budget items.
BudgetDate:
DateTime, read-only
Date of the individual BudgetDetail.
Amount:
BigDecimal, read-only
Amount assigned to a BudgetDetail.
AccountRef:
ReferenceType, read-only
Date of the individual BudgetDetail.
CustomerRef:
ReferenceType, read-only
Date of the individual BudgetDetail.
ClassRef:
ReferenceType, read-only
Date of the individual BudgetDetail.
DepartmentRef:
ReferenceType, read-only
Date of the individual BudgetDetail.

bundleresponse

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:
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:
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:
Boolean, filterable, default is true
If true, the object is currently enabled for use by QuickBooks.
Description:
String, maximum of 4000 chars
Description of the item.
FullyQualifiedName:
String default is null, read-only
Fully qualified name of the object. System generated from Name.
Taxable:
Boolean
If true, transactions for this item are taxable. Applicable to US companies, only.
UnitPrice:
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:
String, filterable, sortable
Set to the literal string, Group.
PurchaseCost:
Decimal, maximum of 99999999999
Amount paid when buying or ordering the item, as expressed in the home currency.
PrintGroupedItems:
Boolean, default is false
If set to true, bundle components are displayed when printing or sending transactions.
ItemGroupDetail:
ItemGroupDetail
Details of the bundle contents.
ItemGroupLine [0..n]:
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:
ItemRef
value:
required
string
The ID for the referenced item object as found in the Item.Id field of the Item object payload.
name:
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
string
The item type for this reference. Use Item.Type to populate this field.
Qty:
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:
String
Memo associated with this cash back transaction.

changedatacaptureresponse

CDCResponse:
Response object
The payload for the response.
QueryResponse [0..n]:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Name:
String, maximum of 100 chars
Name of the category.
Active:
Boolean, filterable
For categories, this is always set to true.
SubItem:
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:
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:
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:
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:
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:
String
The check number printed on the check.
Status:
String
Status of the check. Values provided by service/business logic.
NameOnAcct:
String
Name of persons or entities holding the account, as printed on the check.
AcctNum:
String
Checking account number, as printed on the check.
BankName:
String
The name of the bank on which the check was drawn.

classrequest

Name:
required for create
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:
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:
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:
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:
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:
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]:
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:
String, system-defined
The full name of the currency.
Active:, default is true
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:
String, filterable, sortable
Unique identifier for this object.
Sort order is ASC by default.
SyncToken:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CompanyName:
String, maximum of 1024 chars
The name of the company.
LegalName:
String, maximum of 1024 chars
The legal name of the company.
CompanyAddr:
PhysicalAddress
Company Address as described in preference
CustomerCommunicationAddr:
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:
PhysicalAddress
Legal Address given to the government for any government communication.
PrimaryPhone:
TelephoneNumber
rimary phone number.
CompanyStartDate:
DateTime
DateTime when company file was created. This field and Metadata.CreateTimecontain the same value.
FiscalYearStartMonth:
MonthEnum
The start month of fiscal year.
Country:
String
Country name to which the company belongs for financial calculations.
Email:
EmailAddress, max 100 chars
Default email address.
WebAddr:
WebSiteAddress, max 1000 chars
Website address.
SupportedLanguages:
String
Comma separated list of languages.
NameValue [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
CustomField
Custom field or data extension.
DocNumber:
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:
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:
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:
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:
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:
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]:
minimum one sales item line 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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
DescriptionLineDetail
ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
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:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
Subtotal LineDetail
ItemRef:
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:
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:
MemoRef
User-entered message to the customer; this message is visible to end user on their transactions.
BillAddr:
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:
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:
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:
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:
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
TotalAmt:
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:
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:
Boolean
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.
Default Value: false
Constraints: US versions of QuickBooks only.
PrintStatus:
String, default is NotSet
; Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete .
EmailStatus:
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:
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:
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:
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:
Decimal
Indicates the total credit amount still available to apply towards the payment.
TransactionLocationType:
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

contactinfo

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

creditcardpayment

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

creditchargeinfo

Type:
String
Type of credit card. For example, MasterCard, Visa, Discover, American Express, and so on.
NameOnAcct:
String
Account holder name, as printed on the card.
CcExpiryMonth:
Integer
Expiration Month on card, expressed as a number:
1=January,
2=February, etc.
CcExpiryYear:
Integer, default is current year
Expiration Year on card, expressed as a 4 digit number
1999, 2003, etc.
BillAddrStreet:
String, maximum 255 characters
Credit card holder billing address of record: the street address to which credit card statements are sent.
PostalCode:
String, maximum 30 characters
Credit card holder billing postal code. Five digits in the USA.
Amount:
Decimal
The amount processed using the credit card.
ProcessPayment:
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:
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:
String, maximum 100 characters
Code returned from the credit card processor to indicate that the charge will be paid by the card issuer.
TxnAuthorizationTime:
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:
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:
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:
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
Title:
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:
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:
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:
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:
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:
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:
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:
String, maximum of 50 chars, filterable, sortable, default is null
The name of the company associated with the person or organization.
PrintOnCheckName:
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:
Boolean, filterable, sortable, default is true
If true, this entity is currently enabled for use by QuickBooks.
PrimaryPhone:
TelephoneNumber, maximum of 21 chars
Primary phone number.
AlternatePhone:
TelephoneNumber, maximum of 21 chars
Alternate phone number.
Mobile:
TelephoneNumber, maximum of 21 chars
Mobile phone number.
Fax:
TelephoneNumber, maximum of 21 chars
Fax number.
PrimaryEmailAddr:
EmailAddress, filterable
Primary email address.
WebAddr:
WebSiteAddress, maximum of 1000 chars
Website address.
DefaultTaxCodeRef:
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:
Boolean
If true, transactions for this customer are taxable.
BillAddr:
PhysicalAddress
Default billing address.
ShipAddr:
PhysicalAddress
Default shipping address.
Notes:
String, maximum of 2000 chars
Free form text describing the Customer.
Job:
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:
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:
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:
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:
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:
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:
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:
Date, Write-on-create
Date of the Open Balance for the create operation.
BalanceWithJobs:
Decimal, Sortable
Cumulative open balance amount for the Customer (or Job) and all its sub-jobs. Cannot be written to QuickBooks.
CurrencyRef:
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:
String
Preferred delivery method. Values are Print, Email, or None.
ResaleNum:
String, 15 chars
Resale number or some additional info about the customer.
ARAccountRef:
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:
String, read-only
Name of the custom field.
Type:
CustomFieldTypeEnum, read-only
Data type of custom field. Only one type is currently supported: StringType.
StringValue:
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:
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:
DateTime, read-only
Delivery date and time.
DeliveryAddressCc:
EmailAddress
Carbon copy email address of recipients. Multiple email addresses are separated by commas.
DeliveryAddressBcc:
EmailAddress
Blind carbon copy email address of recipients. Multiple email addresses are separated by commas.

departmentrequest

Name:
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:
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:
Boolean, filterable, 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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
Decimal, max 15 digits in 10.5 format, required
The amount of the line item.
DetailType:
LineDetailTypeEnum, required
Set to DepositLineDetailfor this type of line.
DepositLineDetail:
Deposit LineDetail
CustomField:[0..3]
CustomField
Provision for data extension.

depositlinedetail

Entity:
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:
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:
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:
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:
String
Check number for the desposit.
TxnType:
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:
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:
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]:
Line
Individual line items of a transaction. Valid Line types include:
Deposit line:
DepositToAccountRef:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
TxnDate:
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:
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:
minor version 3
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
PrivateNote:
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:
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.TxnLineId 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:
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:
String
Used internally to specify originating source of a credit card transaction.
CashBack:
CashBackInfo
TotalAmt:
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:
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:
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

descriptiononly

ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
DescriptionLineDetail
ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
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:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
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:
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:
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:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
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:
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:
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:
ReferenceType
Discount item used in calculating and applying the discount on the sales transaction paid.
PercentBased:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
ReferenceType
Income account used to track discounts received from vendors on purchases.

emailaddress

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

employeerequest

GivenName:
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:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
Organization:
Boolean, default is false or null

true--the object represents an organization.
false--the object represents a person.
Title:
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:
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:
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:
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:
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:
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:
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:
Boolean, filterable, default is true
If true, this entity is currently enabled for use by QuickBooks.
PrimaryPhone:
TelephoneNumber
Primary phone number.
Mobile:
TelephoneNumber
Mobile phone number.
PrimaryEmailAddr:
EmailAddress
Primary email address.
EmployeeNumber:
String, filterable, sortable max 100 chars, default is null
Specifies the ID number of the employee in the employer's directory.
SSN:
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:
Boolean, default is false
If true, this entity is currently enabled for use by QuickBooks.
BillRate:
BigDecimal, default is null
This attribute can only be set if BillableTime is true.
Not supported when QuickBooks Payroll is enabled.
BirthDate:
Date, default is null
Birth date of the employee.
Gender:
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:
Date, default is null
Hire date of the employee.
ReleasedDate:
Date, default is null
Release date of the employee.

entitlementsresponse

QboCompany:
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:
String
Billing plan associated with this company.
MaxUsers:
Integer
Maximum billable users allowed in the company.
CurrentUsers:
Integer
Billable users currently in the company.
DaysRemainingTrial:
Integer
Remaining trial period days.
Entitlement:
TelephoneNumber
rimary phone number.
CompanyStartDate:
DateTime
DateTime when company file was created. This field and Metadata.CreateTime contain the same value.
EmployerId:
String
Employer identifier (EIN).
FiscalYearStartMonth:
MonthEnum
The start month of fiscal year.
Country:
String
Country name to which the company belongs for financial calculations.
Email:
EmailAddress, max 100 chars
Default email address.
WebAddr:
WebSiteAddress
Website address.
SupportedLanguages:
String
Comma separated list of languages.
Entitlement [0..n]:


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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
CustomField
Custom field or data extension.
DocNumber:
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:
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:
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:
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:
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:
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:
String
One of the following status settings: Accepted, Closed, Pending, Rejected
LinkedTxn[0..n]:
LinkedTxn
Zero or more Invoice objects related to this transaction.
Use LinkedTxn.TxnLineId as the ID in a separate Invoice read request to retrieve details of the linked object.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
DescriptionLineDetail
ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
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:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
Subtotal LineDetail
ItemRef:
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:
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:
MemoRef
User-entered message to the customer; this message is visible to end user on their transactions.
BillAddr:
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:
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:
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:
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:
ReferenceType
Reference to the ShipMethod associated with the transaction. There is no shipping method list. Reference resolves to a string.
DueDate:
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:
Date, default is null
Date for delivery of goods or services.
GlobalTaxCalculation:
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
TotalAmt:
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:
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:
String, default is NotSet
; Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete .
EmailStatus:
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:
Date
Date by which estimate must be accepted before invalidation.
AcceptedBy:
String
Name of customer who accepted the estimate.
AcceptedDate:
Date
Date estimate was accepted.
TransactionLocationType:
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:
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]:
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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

grouplinedetail

GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
DescriptionLineDetail
ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
CustomField
Custom field or data extension.
DocNumber:
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:
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:
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:
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:
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:
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]:
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 ReimbCharge, 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.TxnLineId 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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
DescriptionLineDetail
ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
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:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
Subtotal LineDetail
ItemRef:
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:
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:
MemoRef
User-entered message to the customer; this message is visible to end user on their transactions.
BillAddr:
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:
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:
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:
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:
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:
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
ShipMethodRef:
ReferenceType
Reference to the ShipMethod associated with the transaction. There is no shipping method list. Reference resolves to a string.
ShipDate:
Date, default is null
Date for delivery of goods or services.
TrackingNum:
String
Shipping provider's tracking number for the delivery of the goods associated with the transaction.
TotalAmt:
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:
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:
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:
String, default is NotSet
; Printing status of the invoice.
Valid values: NotSet, NeedToPrint, PrintComplete .
EmailStatus:
String, default is NotSet
Email status of the invoice.
Valid values: NotSet, NeedToSend, EmailSent
BillEmail:
EmailAddress
Identifies the e-mail address where the invoice is sent. If EmailStatus=NeedToSend, BillEmailis a required input.
BillEmailCc:
EmailAddress, maximum 200 characters
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.InvoiceCcEmailAddress. If this email address is invalid, carbon copy email is not sent.
BillEmailBcc:
EmailAddress, maximum 200 characters
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.InvoiceBccEmailAddress. If this email address is invalid, blind carbon copy email is not sent.
DeliveryInfo:
DeliveryInfo, read-only
Email delivery information. Returned when a request has been made to deliver email with the send operation.
Balance:
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:
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:
String
Used internally to specify originating source of a credit card transaction.
Deposit:
Decimal
The deposit made towards this invoice.
TransactionLocationType:
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:
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:
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:
String, maximum of 4000 chars
Description of the item.
Active:
Boolean, filterable, default is true
If true, the object is currently enabled for use by QuickBooks.
SubItem:
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:
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:
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:
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:
Boolean
If true, transactions for this item are taxable. Applicable to US companies, only.
SalesTaxIncluded:
Boolean, default is false
True if the sales tax is included in the item amount, and therefore is not calculated for the transaction.
UnitPrice:
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.
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.
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:
String, max 1000 chars
Purchase description for the item.
PurchaseTaxIncluded:
Boolean, default is false
True if the purchase tax is included in the item amount, and therefore is not calculated for the transaction.
PurchaseCost:
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:
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:
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:
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:
minor version 3
Decimal
Sales tax abatement rate for India locales.
ReverseChargeRate:
minor version 3
Decimal
Sales tax reverse charge rate for India locales.
ServiceType:
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:
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
string
The item type for this reference. Use Item.Type to populate this field.

itemgroupdetail

ItemGroupLine [0..n]:
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:
ItemRef
value:
required
string
The ID for the referenced item object as found in the Item.Id field of the Item object payload.
name:
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
string
The item type for this reference. Use Item.Type to populate this field.
Qty:
String
The quantity of this object to include in the bundle.

itemgroupline

ItemRef:
ItemRef
value:
required
string
The ID for the referenced item object as found in the Item.Id field of the Item object payload.
name:
string
An identifying name for the object being referenced by value. Use Item.FullyQualifiedName to populate this field.
type:
string
The item type for this reference. Use Item.Type to populate this field.
Qty:
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 delete and update
IdType, sortable, filterable, read-only
Unique Identifier for an Intuit entity (object).
Required for the update operation.
SyncToken:
required for delete and update
String, read-only
Version number of the entity.
Required for the update operation.
MetaData:
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]:
CustomField
Custom field or data extension.
Name:
required
String, 2 to 20 characters in length
A name representing the journal code.
Type:
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:
String
A free-form description of the journal code.
Active:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
ItemBasedExpenseLineDetail
ItemRef:
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:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
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:
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

itembasedexpenselinedetail

ItemRef:
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:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
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:
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.

itemreceiptline

Id:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
Decimal, max 15 digits in 10.5 format, required
The amount of the line item.
DetailType:
LineDetailTypeEnum, required
Set to ItemReceiptLineDetailfor this type of line.

jobinfo

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

journalentryline

Id:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
JournalEntryLineDetail
PostingType:
required
PostingTypeEnum
Indicates whether this JournalEntry line is a debit or credit. Valid values: Credit, Debit
Entity:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
JournalEntryLineDetail
PostingType:
required
PostingTypeEnum
Indicates whether this JournalEntry line is a debit or credit. Valid values: Credit, Debit
Entity:
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:
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:
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:
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:
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:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
DocNumber:
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:
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:
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:
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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
JournalEntryLineDetail
PostingType:
required
PostingTypeEnum
Indicates whether this JournalEntry line is a debit or credit. Valid values: Credit, Debit
Entity:
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:
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:
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:
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:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
DescriptionLineDetail
ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
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:
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:
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:
String
Used internally to specify originating source of the entry.
Adjustment:
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:
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

linkedtxn

TxnId:
String
Transaction Id of the related transaction.
TxnType:
String
Transaction type.
TxnLineId:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
Amount:
Decimal, max 15 digits in 10.5 format, required
The amount of the line item.
LinkedTxn[0..n]:
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]:
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:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
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:
DateTime, filterable, sortable, read-only
Time the entity was created in the source domain.
LastUpdatedTime:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
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:
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:
Decimal, Read-only
Indicates the unpaid amount of the transaction after this payment is applied.
Discount:
DiscountOverride
Reference to a Discount item and its properties that this line can overwrite.
DiscountRef:
ReferenceType
Discount item used in calculating and applying the discount on the sales transaction paid.
PercentBased:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
ReferenceType
Income account used to track discounts received from vendors on purchases.

paymentlinedetail

ItemRef:
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:
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:
Decimal, Read-only
Indicates the unpaid amount of the transaction after this payment is applied.
Discount:
DiscountOverride
Reference to a Discount item and its properties that this line can overwrite.
DiscountRef:
ReferenceType
Discount item used in calculating and applying the discount on the sales transaction paid.
PercentBased:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
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:
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
TxnDate:
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:
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:
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:
String, max of 4000 chars
User entered, organization-private note about the transaction.
TxnStatus:
String, default is PAID
The status of the transaction. For Payment objects, this status is always set to PAID.
Line [0..n]:
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.TxnLineId 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:
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:
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:
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:
String, filterable, sortable
The reference number for the payment received. For example,  Check # for a check, envelope # for a cash donation.
CreditCardPayment:
CreditCardPayment
Information about a payment received by credit card. Inject with data only if the payment was transacted through Intuit Payments API.
TxnSource:
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:
Decimal, read-only
Indicates the amount that has not been applied to pay amounts owed for sales transactions.
TransactionLocationType:
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:
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:
Boolean, filterable, sortable, default is true
If true, this entity is currently enabled for use by QuickBooks.
Type:
String
Defines the type of payment. Valid values include CREDIT_CARD or NON_CREDIT_CARD.

physicaladdress

Id:
String, system defined, read-only
Unique identifier of the QuickBooks object for the address, mainly used for modifying the address.
Line1:
string, maximum of 500 chars
First line of the address.
Line2:
string, maximum of 500 chars
Second line of the address.
Line3:
string, maximum of 500 chars
Third line of the address.
Line4:
String, maximum of 500 chars
Fourth line of the address.
Line5:
maximum of 500 chars
Fifth line of the address.
City:
string, maximum of 255 chars
City name.
Country:
string, maximum of 255 chars
Country name.
CountrySubDivisionCode:
string, maximum of 255 chars
Region within a country. For example, state name for USA, province name for Canada.
PostalCode:
string, maximum of 31 chars
Postal code. For example, zip code for USA and Canada
Note:
String
Note for the customer
Lat:
String
Latitude coordinate of Geocode (Geospacial Entity Object Code). INVALIDis returned for invalid latitudes.
Long:
String
Longitude coordinate of Geocode (Geospacial Entity Object Code). INVALIDis returned for invalid longitudes.

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:
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, 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]:
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, 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]:
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.
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.
InvoiceCcEmailAddress, string. Default carbon copy email address where invoices are sent. Override this setting in with the Invoice.BillEmailCc attribute. Max 200 characters. Ignored if address is invalid.
InvoiceBccEmailAddress, string. Default blind carbon copy email address where invoices are sent. Override this setting in with the Invoice.BillEmailBccc attribute. Max 200 characters. Ignored if address is invalid.
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]:
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]:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
PurchaseOrderItem LineDetail [[Ext:IncludeFile Section=ApiReference File=Accounting\models\purchaseorderitmelinedetail.html mode=Collapsed]]
CustomField:[0..3]
CustomField
Provision for data extension.

purchaseorderitemlinedetail

ItemRef:
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:
ReferenceType
Reference to the Class for the line item.
UnitPrice:
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:
ReferenceType
Reference to the PriceLevel of the service or item for the line.
MarkupInfo:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items to be purchased.
TaxCodeRef:
ReferenceType
Reference to the TaxCodefor the purchase of this item.
ServiceDate:
Date
Date when the service is performed.
ManuallyClosed:
Boolean
The item on the line is marked as if fully received, but it is closed as no longer available.
OpenQty:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
ItemBasedExpenseLineDetail
ItemRef:
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:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
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:
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
CustomField
Custom field or data extension.
DocNumber:
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:
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:
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]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
ItemBasedExpenseLineDetail
ItemRef:
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:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
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:
BillableStatusEnum
The billable status of the expense.
Valid values: Billable, NotBillable, HasBeenBill (not available for Bill objects)
TaxInclusiveAmt:
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:
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:
String, max of 4000 chars
A message for the vendor. This text appears on the Purchase Order object sent to the vendor.
ClassRef:
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:
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:
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:
PhysicalAddress
Address to which the payment should be sent.
ShipAddr:
PhysicalAddress
Address to which the vendor shipped or will ship any goods associated with the purchase.
ShipMethodRef:
ReferenceType
Reference to the user-defined ShipMethod associated with the transaction. Store shipping method string in both ShipMethodRef.value and ShipMethodRef.name.
POStatus:
String
Purchase order status. Valid values are: Open and Closed.
TxnTaxDetail:
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:
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:
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:
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
TransactionLocationType:
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.

purchaserequest

Line [0..n]:
required
Line
Individual line items of a transaction. Valid Linetype for create: Account based expense line:
AccountRef:
required
ReferenceType
Specifies the account reference. Check must specify bank account, CreditCard must specify credit card account.
Validation Rules:Valid and Active Account Reference of an appropriate type.
PaymentType:
required
String
Payment Type can be  Cash, Check, or CreditCard.

purchaseresponse

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:
ModificationMetaData
Descriptive information about the object. The MetaData values are set by Data Services and are read only for all applications.
DocNumber:
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; duplicate values are not accepted. 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.
If Preferences:CustomTxnNumber is set to true and if a duplicate DocNumber needs to be supplied, add the query parameter name/value pair, include=allowduplicatedocnum, to the URI.
Sort order is ASC by default.
TxnDate:
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:
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:
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:
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:
String, max of 4000 chars
User-entered, organization-private note about the transaction. This field maps to the Memo field on the Expense form in the QuickBooks UI.
Line [0..n]:
required
Line
Individual line items of a transaction. Valid Linetypes include:
Item based expense line:

This line detail type is available if Preferences.ProductAndServicesPrefs.ForPurchase is set to true.
Account based expense line:
TxnTaxDetail:
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.
AccountRef:
required
ReferenceType
Specifies the account reference to which this purchase is applied based on the PaymentType. A type of Check should have bank account, CreditCard should specify credit card account, etc. 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.
PaymentType:
required
String
Type can be  Cash, Check, or CreditCard.
PaymentMethodRef:
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.
EntityRef:
ReferenceType,
Specifies the party with whom an expense is associated. Can be Customer, Vendor, or Employee.
Query the corresponding name list resource of the associated type to determine the appropriate object to reference here. Use the Id and DisplayName values from that object for EntityRef.value and EntityRef.name, respectively. Set EntityRef.type to the type of object associated with this expense. For example, if this object represents a purchase from a vendor, then set EntityRef.type to Vendor and query the Vendor resource for the appropriate object to reference.
Credit:
Boolean, default is False
False—it represents a charge.
True—it represents a refund.
Valid only for  CreditCardpayment type.

Validation Rules: Valid only for  CreditCardtransactions.
TxnSource:
String
Used internally to specify originating source of a credit card transaction.
GlobalTaxCalculation:
GlobalTaxCalculationEnum, default is TaxExcluded
Method in which tax is applied. Allowed values are: TaxExcluded, TaxInclusive, and NotApplicable.
RemitToAddr:
PhysicalAddress, read-only
Address to which the payment should be sent. This attribute is applicable only for  Check. Ignored for  CreditCard charge or refund.
TotalAmt:
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.
PrintStatus:
String, default is NeedToPrint
PrintStatus is applicable only for  Check.  Ignored for  CreditCardcharge or refund.
Valid values: NotSet, NeedToPrint, PrintComplete.
TransactionLocationType:
minor version 4
String, default is WithinFrance
The account location. Valid values include:
  • WithinFrance
  • FranceOverseas
  • OutsideFranceWithEU
  • OutsideEU

For France locales, only.
PurchaseEx:
Internal use
For internal use.

referencetype

value:
required
string
The ID for the referenced object as found in the Id field of the object payload. The context is set by the type of reference and is specific to the QuickBooks company file.
name:
string
An identifying name for the object being referenced by value and is derived from the field that holds the common name of that object. This varies by context and specific type of object referenced. For example, references to a Customer object use Customer.DisplayName to populate this field. Optionally returned in responses, implementation dependent.

refundreceiptrequest

Line [0..n]:
required
RefundReceipt 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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
Decimal
The total amount of the line item including tax.
Constraints: Available when endpoint is evoked with the minorversion=1query parameter.
DepositToAccountRef:
required
ReferenceType
Accounts receivable asset account from which payment money is refunded. 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 DepositToAccountRef.name, respectively.

refundreceiptresponse

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:
ModificationMetaData
Descriptive information about the entity. The MetaData values are set by Data Services and are read only for all applications.
CustomField [0..3]:
CustomField
Custom field or data extension.
DocNumber:
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:
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:
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:
CurrencyRefType
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:
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:
String, max of 4000 chars
User entered, organization-private note about the transaction. This note does not appear on the refund receipt to the customer. This field maps to the Memo field on the refund receipt form.
Line [0..n]:
sales item line 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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
String, max 4000 chars
Free form text description of the line item that appears in the printed record.
DetailType:
LineDetailTypeEnum, required
Set to GroupLineDetailfor this type of line.
GroupLineDetail:
GroupLineDetail
GroupItemRef:
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:
Decimal, default is 1
Quantity of the group item.
Line [0..n]:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
SalesItemLineDetail
ItemRef:
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:
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:
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:
MarkupInfo
Markup information for the expense.
PercentBased:
Boolean
True if the markup is expressed as a percentage.
Value:
Decimal
Markup value.
Percent:
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:
ReferenceType
Reference to a PriceLevel for the markup. Support for this element will be available in the coming months.
Qty:
Decimal
Number of items for the line.
TaxCodeRef:
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:
Date
Date when the service is performed.
TaxInclusiveAmt:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
DescriptionLineDetail
ServiceDate:
Date
Date when the service is performed.
TaxCodeRef:
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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
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:
Boolean
True if the discount is a percentage; null or false if discount based on amount.
DiscountPercent:
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:
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:
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:
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 (read-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:
Decimal, positive integer
Specifies the position of the line in the collection of transaction lines.
Description:
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:
Subtotal LineDetail
ItemRef:
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:
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:
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:
MemoRef
User-entered message to the customer; this message is visible to end user on their transaction.
BillAddr:
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:
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:
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.
TotalAmt:
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:
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:
Boolean
If false or null, calculate