conductor-node 3.2.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BaseClient.d.ts +5 -0
- package/dist/BaseClient.js +9 -0
- package/dist/Client.d.ts +21 -0
- package/dist/Client.js +62 -0
- package/dist/__tests__/Client.test.d.ts +1 -0
- package/dist/__tests__/Client.test.js +16 -0
- package/dist/environment.d.ts +2 -0
- package/dist/environment.js +16 -0
- package/dist/qbd/ClientQbd.d.ts +376 -0
- package/dist/qbd/ClientQbd.js +393 -0
- package/dist/qbd/__tests__/ClientQbd.test.d.ts +1 -0
- package/dist/qbd/__tests__/ClientQbd.test.js +26 -0
- package/dist/qbd/qbdTypes.d.ts +3007 -0
- package/dist/qbd/qbdTypes.js +2 -0
- package/package.json +4 -4
|
@@ -0,0 +1,3007 @@
|
|
|
1
|
+
interface AccountAdd {
|
|
2
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen.
|
|
3
|
+
|
|
4
|
+
For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
5
|
+
Name: string;
|
|
6
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
7
|
+
IsActive?: boolean;
|
|
8
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz. In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
9
|
+
ParentRef?: ParentRef;
|
|
10
|
+
/** The type of QuickBooks account. You cannot create or modify a non-posting account through the SDK, because QuickBooks creates these accounts behind the scenes. This means that you cannot send an `AccountAdd` request with an `AccountType` of `NonPosting`. */
|
|
11
|
+
AccountType: AccountType;
|
|
12
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
13
|
+
AccountNumber?: string;
|
|
14
|
+
/** The bank account number or an identifying note about the account. If a `BankNumber` exists in a QuickBooks company file, it will only be returned to applications that have been granted permission to access sensitive data and that are using SDK v2.0 or greater. */
|
|
15
|
+
BankNumber?: string;
|
|
16
|
+
/** A descriptive text field. */
|
|
17
|
+
Desc?: string;
|
|
18
|
+
/** The amount of money in, or the value of, this account as of `OpenBalanceDate`. On a bank statement, the amount of money in the account at the beginning of the statement period. */
|
|
19
|
+
OpenBalance?: string;
|
|
20
|
+
/** The date when an opening balance was entered for this account. */
|
|
21
|
+
OpenBalanceDate?: string;
|
|
22
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:
|
|
23
|
+
|
|
24
|
+
Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false) Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true)
|
|
25
|
+
|
|
26
|
+
A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales.
|
|
27
|
+
|
|
28
|
+
A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
29
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
30
|
+
/** An internal representation of the tax line associated with this account. */
|
|
31
|
+
TaxLineID?: number;
|
|
32
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code.
|
|
33
|
+
|
|
34
|
+
When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
35
|
+
CurrencyRef?: CurrencyRef;
|
|
36
|
+
}
|
|
37
|
+
export interface AccountAddRq {
|
|
38
|
+
AccountAdd: AccountAdd;
|
|
39
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address.
|
|
40
|
+
|
|
41
|
+
The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name.
|
|
42
|
+
|
|
43
|
+
Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
44
|
+
IncludeRetElement?: string[] | string;
|
|
45
|
+
}
|
|
46
|
+
export interface AccountAddRs {
|
|
47
|
+
AccountRet?: AccountRet;
|
|
48
|
+
ErrorRecovery?: ErrorRecovery;
|
|
49
|
+
}
|
|
50
|
+
interface AccountFilter {
|
|
51
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
52
|
+
ListID?: string[] | string;
|
|
53
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
54
|
+
FullName?: string[] | string;
|
|
55
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
56
|
+
ListIDWithChildren?: string;
|
|
57
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. For names that do not have children, `FullNameWithChildren` is exactly the same as `FullName`. */
|
|
58
|
+
FullNameWithChildren?: string;
|
|
59
|
+
}
|
|
60
|
+
interface AccountMod {
|
|
61
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
62
|
+
ListID: string;
|
|
63
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
64
|
+
EditSequence: string;
|
|
65
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen.
|
|
66
|
+
|
|
67
|
+
For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
68
|
+
Name?: string;
|
|
69
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
70
|
+
IsActive?: boolean;
|
|
71
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz. In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
72
|
+
ParentRef?: ParentRef;
|
|
73
|
+
/** The type of QuickBooks account. You cannot create or modify a non-posting account through the SDK, because QuickBooks creates these accounts behind the scenes. This means that you cannot send an `AccountAdd` request with an `AccountType` of `NonPosting`. */
|
|
74
|
+
AccountType?: AccountType;
|
|
75
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
76
|
+
AccountNumber?: string;
|
|
77
|
+
/** The bank account number or an identifying note about the account. If a `BankNumber` exists in a QuickBooks company file, it will only be returned to applications that have been granted permission to access sensitive data and that are using SDK v2.0 or greater. */
|
|
78
|
+
BankNumber?: string;
|
|
79
|
+
/** A descriptive text field. */
|
|
80
|
+
Desc?: string;
|
|
81
|
+
/** The amount of money in, or the value of, this account as of `OpenBalanceDate`. On a bank statement, the amount of money in the account at the beginning of the statement period. */
|
|
82
|
+
OpenBalance?: string;
|
|
83
|
+
/** The date when an opening balance was entered for this account. */
|
|
84
|
+
OpenBalanceDate?: string;
|
|
85
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:
|
|
86
|
+
|
|
87
|
+
Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false) Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true)
|
|
88
|
+
|
|
89
|
+
A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales.
|
|
90
|
+
|
|
91
|
+
A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
92
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
93
|
+
/** An internal representation of the tax line associated with this account. */
|
|
94
|
+
TaxLineID?: number;
|
|
95
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code.
|
|
96
|
+
|
|
97
|
+
When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
98
|
+
CurrencyRef?: CurrencyRef;
|
|
99
|
+
}
|
|
100
|
+
export interface AccountModRq {
|
|
101
|
+
AccountMod: AccountMod;
|
|
102
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address.
|
|
103
|
+
|
|
104
|
+
The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name.
|
|
105
|
+
|
|
106
|
+
Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
107
|
+
IncludeRetElement?: string[] | string;
|
|
108
|
+
}
|
|
109
|
+
export interface AccountModRs {
|
|
110
|
+
AccountRet?: AccountRet;
|
|
111
|
+
ErrorRecovery?: ErrorRecovery;
|
|
112
|
+
}
|
|
113
|
+
export interface AccountQueryRq {
|
|
114
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`.
|
|
115
|
+
|
|
116
|
+
A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
117
|
+
ListID?: string[] | string;
|
|
118
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
119
|
+
FullName?: string[] | string;
|
|
120
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
121
|
+
MaxReturned?: number;
|
|
122
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
123
|
+
ActiveStatus?: ActiveStatus;
|
|
124
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.
|
|
125
|
+
|
|
126
|
+
For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).
|
|
127
|
+
|
|
128
|
+
For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.
|
|
129
|
+
|
|
130
|
+
Note: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
131
|
+
FromModifiedDate?: string;
|
|
132
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.
|
|
133
|
+
|
|
134
|
+
For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).
|
|
135
|
+
|
|
136
|
+
For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.
|
|
137
|
+
|
|
138
|
+
Note: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
139
|
+
ToModifiedDate?: string;
|
|
140
|
+
/** Filters according to the object’s `Name`. */
|
|
141
|
+
NameFilter?: NameFilter;
|
|
142
|
+
/** Filters according to the object’s `Name`. */
|
|
143
|
+
NameRangeFilter?: NameRangeFilter;
|
|
144
|
+
/** A list of QuickBooks account types. */
|
|
145
|
+
AccountType?: AccountType | AccountType[];
|
|
146
|
+
/** Filters by the specified currency. */
|
|
147
|
+
CurrencyFilter?: CurrencyFilter;
|
|
148
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address.
|
|
149
|
+
|
|
150
|
+
The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name.
|
|
151
|
+
|
|
152
|
+
Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
153
|
+
IncludeRetElement?: string[] | string;
|
|
154
|
+
/** Zero or more `OwnerID` values. `OwnerID` refers to the owner of a data extension: If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI. If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI.
|
|
155
|
+
|
|
156
|
+
Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters.
|
|
157
|
+
|
|
158
|
+
When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
159
|
+
OwnerID?: string[] | string;
|
|
160
|
+
}
|
|
161
|
+
export interface AccountQueryRs {
|
|
162
|
+
AccountRet?: AccountRet | AccountRet[];
|
|
163
|
+
}
|
|
164
|
+
interface AccountRef {
|
|
165
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
166
|
+
ListID?: string;
|
|
167
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
168
|
+
FullName?: string;
|
|
169
|
+
}
|
|
170
|
+
interface AccountRet {
|
|
171
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
172
|
+
ListID: string;
|
|
173
|
+
/** Time the object was created. */
|
|
174
|
+
TimeCreated: string;
|
|
175
|
+
/** Time the object was last modified. */
|
|
176
|
+
TimeModified: string;
|
|
177
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
178
|
+
EditSequence: string;
|
|
179
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen.
|
|
180
|
+
|
|
181
|
+
For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
182
|
+
Name: string;
|
|
183
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
184
|
+
FullName: string;
|
|
185
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
186
|
+
IsActive?: boolean;
|
|
187
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz. In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
188
|
+
ParentRef?: ParentRef;
|
|
189
|
+
/** The number of ancestors. For example, The customer job with `Name` = carpets and `FullName` = Jones:Building2:carpets would have a sublevel of 2. */
|
|
190
|
+
Sublevel: number;
|
|
191
|
+
/** The type of QuickBooks account. You cannot create or modify a non-posting account through the SDK, because QuickBooks creates these accounts behind the scenes. This means that you cannot send an `AccountAdd` request with an `AccountType` of `NonPosting`. */
|
|
192
|
+
AccountType: AccountType;
|
|
193
|
+
/** If `SpecialAccountType` returns a value, then QuickBooks automatically created this account when it was needed. Some special accounts cannot be overridden, because QuickBooks uses them exclusively for special purposes. */
|
|
194
|
+
SpecialAccountType?: SpecialAccountType;
|
|
195
|
+
/** Indicates whether the account is used for tax. */
|
|
196
|
+
IsTaxAccount?: boolean;
|
|
197
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
198
|
+
AccountNumber?: string;
|
|
199
|
+
/** The bank account number or an identifying note about the account. If a `BankNumber` exists in a QuickBooks company file, it will only be returned to applications that have been granted permission to access sensitive data and that are using SDK v2.0 or greater. */
|
|
200
|
+
BankNumber?: string;
|
|
201
|
+
/** A descriptive text field. */
|
|
202
|
+
Desc?: string;
|
|
203
|
+
/** Current balance of this account only (versus `TotalBalance`). Income accounts and balance sheet accounts do not necessarily have balances. */
|
|
204
|
+
Balance?: string;
|
|
205
|
+
/** The balance for this object and all its subordinate objects. For example, the `TotalBalance` for XYZ Bank would be the total of the balances of all its subaccounts (checking, savings, and so on). If XYZ Bank did not have any subaccounts, `TotalBalance` and `Balance` would be the same. */
|
|
206
|
+
TotalBalance?: string;
|
|
207
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:
|
|
208
|
+
|
|
209
|
+
Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false) Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true)
|
|
210
|
+
|
|
211
|
+
A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales.
|
|
212
|
+
|
|
213
|
+
A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
214
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
215
|
+
/** If the QuickBooks user has associated a tax form with this company file, they can also associate each account in the company file with a line of that tax form. (To check which tax form, if any, is associated with this company file, do a `CompanyQuery` and check the returned `TaxForm` value.) */
|
|
216
|
+
TaxLineInfoRet?: TaxLineInfoRet;
|
|
217
|
+
/** Indicates how this account is classified for cash flow reporting. If the value is `cfcNone`, the account has not been classified. If the value is `cfcNotApplicable`, the account does not qualify to be classified. (For example, a bank account that tracks cash transactions is not part of a cash flow report.) */
|
|
218
|
+
CashFlowClassification?: CashFlowClassification;
|
|
219
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code.
|
|
220
|
+
|
|
221
|
+
When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
222
|
+
CurrencyRef?: CurrencyRef;
|
|
223
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
224
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
225
|
+
}
|
|
226
|
+
declare type AccountType = "AccountsPayable" | "AccountsReceivable" | "Bank" | "CostOfGoodsSold" | "CreditCard" | "Equity" | "Expense" | "FixedAsset" | "Income" | "LongTermLiability" | "NonPosting" | "OtherAsset" | "OtherCurrentAsset" | "OtherCurrentLiability" | "OtherExpense" | "OtherIncome";
|
|
227
|
+
declare type AccrualPeriod = "BeginningOfYear" | "EveryHourOnPaycheck" | "EveryPaycheck";
|
|
228
|
+
/** @default: ActiveOnly */
|
|
229
|
+
declare type ActiveStatus = "ActiveOnly" | "All" | "InactiveOnly";
|
|
230
|
+
interface AdditionalContactRef {
|
|
231
|
+
/** The name of the contact. */
|
|
232
|
+
ContactName: string;
|
|
233
|
+
/** The value of the contact field. */
|
|
234
|
+
ContactValue: string;
|
|
235
|
+
}
|
|
236
|
+
interface AdditionalNotes {
|
|
237
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
238
|
+
Note: string;
|
|
239
|
+
}
|
|
240
|
+
interface AdditionalNotesMod {
|
|
241
|
+
/** The ID of the note. */
|
|
242
|
+
NoteID: number;
|
|
243
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
244
|
+
Note: string;
|
|
245
|
+
}
|
|
246
|
+
interface AdditionalNotesRet {
|
|
247
|
+
/** The ID of the note. */
|
|
248
|
+
NoteID: number;
|
|
249
|
+
/** The date the note was updated. */
|
|
250
|
+
Date: string;
|
|
251
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
252
|
+
Note: string;
|
|
253
|
+
}
|
|
254
|
+
interface Address {
|
|
255
|
+
/** The first line of an address. */
|
|
256
|
+
Addr1?: string;
|
|
257
|
+
/** The second line of an address (if a second line is needed). */
|
|
258
|
+
Addr2?: string;
|
|
259
|
+
/** The third line of an address (if a third line is needed). */
|
|
260
|
+
Addr3?: string;
|
|
261
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
262
|
+
Addr4?: string;
|
|
263
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
264
|
+
Addr5?: string;
|
|
265
|
+
/** The city name in an address. */
|
|
266
|
+
City?: string;
|
|
267
|
+
/** The state name in an address. */
|
|
268
|
+
State?: string;
|
|
269
|
+
/** The postal code in an address. */
|
|
270
|
+
PostalCode?: string;
|
|
271
|
+
/** The country name in an address, or, in returned Host information (`HostRet` or `HostInfo`), the country for which this edition of QuickBooks was designed. (Possible values are US, CA, UK, and AU.) */
|
|
272
|
+
Country?: string;
|
|
273
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
274
|
+
Note?: string;
|
|
275
|
+
}
|
|
276
|
+
interface AddressBlock {
|
|
277
|
+
/** The first line of an address. */
|
|
278
|
+
Addr1?: string;
|
|
279
|
+
/** The second line of an address (if a second line is needed). */
|
|
280
|
+
Addr2?: string;
|
|
281
|
+
/** The third line of an address (if a third line is needed). */
|
|
282
|
+
Addr3?: string;
|
|
283
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
284
|
+
Addr4?: string;
|
|
285
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
286
|
+
Addr5?: string;
|
|
287
|
+
}
|
|
288
|
+
interface ApplyCheckToTxnAdd {
|
|
289
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests.Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
290
|
+
TxnID: string;
|
|
291
|
+
/** A monetary amount. */
|
|
292
|
+
Amount?: string;
|
|
293
|
+
}
|
|
294
|
+
interface ApplyCheckToTxnMod {
|
|
295
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
296
|
+
TxnID: string;
|
|
297
|
+
/** A monetary amount. */
|
|
298
|
+
Amount?: string;
|
|
299
|
+
}
|
|
300
|
+
interface BarCode {
|
|
301
|
+
/** Value of the barcode in the item. */
|
|
302
|
+
BarCodeValue?: string;
|
|
303
|
+
/** Allow barcode to be assigned to item, even if already in use. */
|
|
304
|
+
AssignEvenIfUsed?: boolean;
|
|
305
|
+
/** Allows for barcode to be overridden for an item. */
|
|
306
|
+
AllowOverride?: boolean;
|
|
307
|
+
}
|
|
308
|
+
declare type BillableStatus = "Billable" | "HasBeenBilled" | "NotBillable";
|
|
309
|
+
interface BillAddress {
|
|
310
|
+
/** The first line of an address. */
|
|
311
|
+
Addr1?: string;
|
|
312
|
+
/** The second line of an address (if a second line is needed). */
|
|
313
|
+
Addr2?: string;
|
|
314
|
+
/** The third line of an address (if a third line is needed). */
|
|
315
|
+
Addr3?: string;
|
|
316
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
317
|
+
Addr4?: string;
|
|
318
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
319
|
+
Addr5?: string;
|
|
320
|
+
/** The city name in an address. */
|
|
321
|
+
City?: string;
|
|
322
|
+
/** The state name in an address. */
|
|
323
|
+
State?: string;
|
|
324
|
+
/** The postal code in an address. */
|
|
325
|
+
PostalCode?: string;
|
|
326
|
+
/** The country name in an address, or, in returned Host information (`HostRet` or `HostInfo`), the country for which this edition of QuickBooks was designed. (Possible values are US, CA, UK, and AU.) */
|
|
327
|
+
Country?: string;
|
|
328
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
329
|
+
Note?: string;
|
|
330
|
+
}
|
|
331
|
+
interface BillAddressBlock {
|
|
332
|
+
/** The first line of an address. */
|
|
333
|
+
Addr1?: string;
|
|
334
|
+
/** The second line of an address (if a second line is needed). */
|
|
335
|
+
Addr2?: string;
|
|
336
|
+
/** The third line of an address (if a third line is needed). */
|
|
337
|
+
Addr3?: string;
|
|
338
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
339
|
+
Addr4?: string;
|
|
340
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
341
|
+
Addr5?: string;
|
|
342
|
+
}
|
|
343
|
+
interface BillingRateRef {
|
|
344
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
345
|
+
ListID?: string;
|
|
346
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
347
|
+
FullName?: string;
|
|
348
|
+
}
|
|
349
|
+
declare type CashFlowClassification = "Financing" | "Investing" | "None" | "NotApplicable" | "Operating";
|
|
350
|
+
interface CheckAdd {
|
|
351
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.)Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts?The following requests increase the balance in a bank account:Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account:`CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
352
|
+
AccountRef: AccountRef;
|
|
353
|
+
/** Refers to a payee who is a customer, vendor, employee, or person on the “other names” list. In a request, if a `PayeeEntityRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Check message, `PayeeEntityRef` refers to the person or company to whom the check is written. In `CreditCardCharge` and `CreditCardCredit` messages, `PayeeEntityRef` refers to the vendor or company from whom merchandise was purchased. (`PayeeEntityRef` corresponds to the choice in the Purchased From list in QuickBooks.) */
|
|
354
|
+
PayeeEntityRef?: PayeeEntityRef;
|
|
355
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
356
|
+
RefNumber?: string;
|
|
357
|
+
/** The date written on the check. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
358
|
+
TxnDate?: string;
|
|
359
|
+
/** The memo that is printed on the check itself. */
|
|
360
|
+
Memo?: string;
|
|
361
|
+
/** If an address request fails, some combination of address fields might be too long. In a Check, `BillPaymentCheck`, or `SalesTaxPaymentCheck` message, `Address` is the address that will print on the check. */
|
|
362
|
+
Address?: Address;
|
|
363
|
+
/** If `IsToBePrinted` is set to true, this transaction is on a list of forms to be printed later. The user can then choose to print all these forms at once. Notice that setting this field to true does not actually perform the printing. Only the QuickBooks user can do that from within QuickBooks. This cannot be done from the SDK. Setting this field to false does not prevent the QuickBooks user from printing the transaction later. It simply results in the transaction NOT being placed in the list of transactions to be printed. */
|
|
364
|
+
IsToBePrinted?: boolean;
|
|
365
|
+
/** For future use with international versions of QuickBooks. */
|
|
366
|
+
IsTaxIncluded?: boolean;
|
|
367
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales.A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
368
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
369
|
+
/** The exchange rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the “home” currency. The exchange rate should be considered a snapshot of the rates in effect at the `AsOfDate`.You can update the exchange rate using the exchange rate property when you add a transaction. However, you need to obtain and supply the exchange rate. If you are using USD (United States Dollars) as the home currency and are connected to the Internet, you can download the current exchange rates for all active currencies automatically in the QuickBooks UI by selecting Lists->Currency->Activities->Download latest exchange rates. (Currently, you can’t do this in the SDK.) */
|
|
370
|
+
ExchangeRate?: number;
|
|
371
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
372
|
+
ExternalGUID?: string;
|
|
373
|
+
/** Allows you to specify a transaction to be paid by this check. */
|
|
374
|
+
ApplyCheckToTxnAdd?: ApplyCheckToTxnAdd | ApplyCheckToTxnAdd[];
|
|
375
|
+
/** A list of `IExpenseLine` objects, each representing one line in this expense. */
|
|
376
|
+
ExpenseLineAdd?: ExpenseLineAdd | ExpenseLineAdd[];
|
|
377
|
+
/** An `ItemLine` is used to track any portion of a transaction that represents the purchase of an “item.” If `ItemLineAdd` does not specify an `Amount`, `Cost`, or `Quantity`, then QuickBooks will calculate `Amount` based on a `Quantity` of 1 and the suggested `Cost`. */
|
|
378
|
+
ItemLineAdd?: ItemLineAdd;
|
|
379
|
+
/** Refers to items that are grouped together in QuickBooks for fast entry. */
|
|
380
|
+
ItemGroupLineAdd?: ItemGroupLineAdd;
|
|
381
|
+
}
|
|
382
|
+
export interface CheckAddRq {
|
|
383
|
+
CheckAdd: CheckAdd;
|
|
384
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address.The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name.Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
385
|
+
IncludeRetElement?: string[] | string;
|
|
386
|
+
}
|
|
387
|
+
export interface CheckAddRs {
|
|
388
|
+
CheckRet?: CheckRet;
|
|
389
|
+
ErrorRecovery?: ErrorRecovery;
|
|
390
|
+
}
|
|
391
|
+
interface CheckMod {
|
|
392
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
393
|
+
TxnID: string;
|
|
394
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
395
|
+
EditSequence: string;
|
|
396
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
397
|
+
AccountRef?: AccountRef;
|
|
398
|
+
/** Refers to a payee who is a customer, vendor, employee, or person on the “other names” list. In a request, if a `PayeeEntityRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Check message, `PayeeEntityRef` refers to the person or company to whom the check is written. In `CreditCardCharge` and `CreditCardCredit` messages, `PayeeEntityRef` refers to the vendor or company from whom merchandise was purchased. (`PayeeEntityRef` corresponds to the choice in the Purchased From list in QuickBooks.) */
|
|
399
|
+
PayeeEntityRef?: PayeeEntityRef;
|
|
400
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
401
|
+
RefNumber?: string;
|
|
402
|
+
/** The date written on the check. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
403
|
+
TxnDate?: string;
|
|
404
|
+
/** The memo that is printed on the check itself. */
|
|
405
|
+
Memo?: string;
|
|
406
|
+
/** If an address request fails, some combination of address fields might be too long. In a Check, `BillPaymentCheck`, or `SalesTaxPaymentCheck` message, `Address` is the address that will print on the check. */
|
|
407
|
+
Address?: Address;
|
|
408
|
+
/** If `IsToBePrinted` is set to true, this transaction is on a list of forms to be printed later. The user can then choose to print all these forms at once. Notice that setting this field to true does not actually perform the printing. Only the QuickBooks user can do that from within QuickBooks. This cannot be done from the SDK. Setting this field to false does not prevent the QuickBooks user from printing the transaction later. It simply results in the transaction NOT being placed in the list of transactions to be printed. */
|
|
409
|
+
IsToBePrinted?: boolean;
|
|
410
|
+
/** For future use with international versions of QuickBooks. */
|
|
411
|
+
IsTaxIncluded?: boolean;
|
|
412
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
413
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
414
|
+
/** The exchange rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the “home” currency. The exchange rate should be considered a snapshot of the rates in effect at the `AsOfDate`. You can update the exchange rate using the exchange rate property when you add a transaction. However, you need to obtain and supply the exchange rate. If you are using USD (United States Dollars) as the home currency and are connected to the Internet, you can download the current exchange rates for all active currencies automatically in the QuickBooks UI by selecting Lists->Currency->Activities->Download latest exchange rates. (Currently, you can’t do this in the SDK.) */
|
|
415
|
+
ExchangeRate?: number;
|
|
416
|
+
/** Allows you to specify a transaction to be paid by this check. */
|
|
417
|
+
ApplyCheckToTxnMod?: ApplyCheckToTxnMod | ApplyCheckToTxnMod[];
|
|
418
|
+
/** Set `ClearExpenseLines` to true to clear all the expense lines. To modify individual lines, use `ExpenseLineMod`. */
|
|
419
|
+
ClearExpenseLines?: boolean;
|
|
420
|
+
/** A list of `IExpenseLine` objects, each representing one line in this expense. */
|
|
421
|
+
ExpenseLineMod?: ExpenseLineMod | ExpenseLineMod[];
|
|
422
|
+
/** Set `ClearItemLines` to true to clear all the item lines. To modify individual lines, use `ItemLineMod`. */
|
|
423
|
+
ClearItemLines?: boolean;
|
|
424
|
+
/** An `ItemLine` is used to track any portion of a transaction that represents the purchase of an “item.” If `ItemLineAdd` does not specify an `Amount`, `Cost`, or `Quantity`, then QuickBooks will calculate `Amount` based on a `Quantity` of 1 and the suggested `Cost`. */
|
|
425
|
+
ItemLineMod?: ItemLineMod;
|
|
426
|
+
/** Refers to items that are grouped together in QuickBooks for fast entry. */
|
|
427
|
+
ItemGroupLineMod?: ItemGroupLineMod;
|
|
428
|
+
}
|
|
429
|
+
export interface CheckModRq {
|
|
430
|
+
CheckMod: CheckMod;
|
|
431
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
432
|
+
IncludeRetElement?: string[] | string;
|
|
433
|
+
}
|
|
434
|
+
export interface CheckModRs {
|
|
435
|
+
CheckRet?: CheckRet;
|
|
436
|
+
ErrorRecovery?: ErrorRecovery;
|
|
437
|
+
}
|
|
438
|
+
export interface CheckQueryRq {
|
|
439
|
+
/** One or more `TxnID` values. QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQuery` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
440
|
+
TxnID?: string[] | string;
|
|
441
|
+
/** A list of one or more `RefNumber` values. A `RefNumber` is a string of characters that refers to a transaction and that can be arbitrarily changed by the QuickBooks user. Note (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request, the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
442
|
+
RefNumber?: string[] | string;
|
|
443
|
+
/** A list of one or more case sensitive `RefNumber` values. A `RefNumber` is a string of characters that refers to a transaction and that can be arbitrarily changed by the QuickBooks user. You should use this case sensitive ref number list rather than the older `RefNumber` list, because it provides much better performance in certain circumstances. The older `refNumber` list provided slow performance if the `refNumber` values contained letters, not just digits. This `RefNumberCaseSensitive` list, new in SDK 4.0, eliminates this performance hit. */
|
|
444
|
+
RefNumberCaseSensitive?: string[] | string;
|
|
445
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
446
|
+
MaxReturned?: number;
|
|
447
|
+
/** Filters according to the dates when transactions were last modified. The `ModifiedDateRangeFilter` aggregate is not required to contain any elements, but if it is empty, we recommend that you leave it out altogether. Note that the time portion of the `FromModifiedDate` and `ToModifiedDate` fields was not supported in qbXML version 1.0 or 1.1. (To filter according to the dates when transactions were deleted, use a `TxnDeletedQuery` message.) */
|
|
448
|
+
ModifiedDateRangeFilter?: ModifiedDateRangeFilter;
|
|
449
|
+
/** Filters according to the original transaction dates. */
|
|
450
|
+
TxnDateRangeFilter?: TxnDateRangeFilter;
|
|
451
|
+
/** An entity refers to a person on the QuickBooks Customer list, Vendor list, Employee list, or Other Names list. You can use an `EntityQuery` request to get information about all the entities that are set up in the QuickBooks file. In an `ARRefundCreditCard` query, this must be a customer/customer job. */
|
|
452
|
+
EntityFilter?: EntityFilter;
|
|
453
|
+
/** Filters according to the account name or `ListID`. If the “Use account numbers” preference is enabled in the QuickBooks company file, you can specify an account number (instead of an account name) for `FullName` and get the account you’re looking for. But if numbers have been used as account names, confusion could arise. For example, if you queried for an account named 2050, and 2050 happened to be the account number of a totally different account, the query would not return what you asked for (the account named 2050), but instead would return the account with the account number 2050. This problem will not happen if the “Use account numbers” preference is turned off in the QuickBooks file, orthe account name exactly matches the account number. (In this case, query would return the correct account either way.) To avoid this problem: Do not name an account using a number unless the number exactly matches the account’s account number. If an account name must contain a number that does not match its own account number, have the QuickBooks user change the account’s name slightly, for example `to` 2050a. */
|
|
454
|
+
AccountFilter?: AccountFilter;
|
|
455
|
+
/** Filters according to `RefNumber`. */
|
|
456
|
+
RefNumberFilter?: RefNumberFilter;
|
|
457
|
+
/** Filters according to `RefNumber`. The filtering code will do a numerical comparison (if `FromRefNumber` and `ToRefNumber` only contain digits) or a lexicographical comparison (if either `FromRefNumber` or `ToRefNumber` contain any nondigit characters). In the first situation, if you need to query for a `RefNumber` that is larger than the maximum long integer value of 2147483647, one workaround is to specify a `FromRefNumber` that is less than or equal to 2147483647 without specifying a `ToRefNumber`. */
|
|
458
|
+
RefNumberRangeFilter?: RefNumberRangeFilter;
|
|
459
|
+
/** Filters by the specified currency. */
|
|
460
|
+
CurrencyFilter?: CurrencyFilter;
|
|
461
|
+
/** This filter allows you to omit line items from a query response to get a smaller result. The default value is false, so line items are omitted by default. Set `IncludeLineItems` to true to include line items in the response if you don’t mind getting a larger result. */
|
|
462
|
+
IncludeLineItems?: boolean;
|
|
463
|
+
/** If you set `IncludeLinkedTxns` to true, then the returned object will include a list of all the transactions linked to the queried object. (This list is similar to the History view of a transaction in the user interface, but not identical, as the SDK list contains only linked transactions, not items.) Each linked transaction will be represented by a `LinkedTxn` aggregate. If no linked transactions exist, no `LinkedTxn` aggregates will be returned. */
|
|
464
|
+
IncludeLinkedTxns?: boolean;
|
|
465
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
466
|
+
IncludeRetElement?: string[] | string;
|
|
467
|
+
/** Zero or more `OwnerID` values. `OwnerID` refers to the owner of a data extension:If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI.If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI. Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
468
|
+
OwnerID?: string[] | string;
|
|
469
|
+
}
|
|
470
|
+
export interface CheckQueryRs {
|
|
471
|
+
CheckRet?: CheckRet | CheckRet[];
|
|
472
|
+
}
|
|
473
|
+
interface CheckRet {
|
|
474
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
475
|
+
TxnID: string;
|
|
476
|
+
/** Time the object was created. */
|
|
477
|
+
TimeCreated: string;
|
|
478
|
+
/** Time the object was last modified. */
|
|
479
|
+
TimeModified: string;
|
|
480
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
481
|
+
EditSequence: string;
|
|
482
|
+
/** An identifying number for this transaction. */
|
|
483
|
+
TxnNumber?: number;
|
|
484
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
485
|
+
AccountRef: AccountRef;
|
|
486
|
+
/** Refers to a payee who is a customer, vendor, employee, or person on the “other names” list. In a request, if a `PayeeEntityRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Check message, `PayeeEntityRef` refers to the person or company to whom the check is written. In `CreditCardCharge` and `CreditCardCredit` messages, `PayeeEntityRef` refers to the vendor or company from whom merchandise was purchased. (`PayeeEntityRef` corresponds to the choice in the Purchased From list in QuickBooks.) */
|
|
487
|
+
PayeeEntityRef?: PayeeEntityRef;
|
|
488
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
489
|
+
RefNumber?: string;
|
|
490
|
+
/** The date written on the check. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
491
|
+
TxnDate: string;
|
|
492
|
+
/** The total of the amounts in the expense lines, item lines, and item group lines. If a `CheckAdd` request does not specify an `Amount`, `Cost`, or `Quantity`, then QuickBooks will calculate the `Amount` based on a `Quantity` of 1 and the suggested `Cost`. */
|
|
493
|
+
Amount: string;
|
|
494
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
495
|
+
CurrencyRef?: CurrencyRef;
|
|
496
|
+
/** The exchange rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the “home” currency. The exchange rate should be considered a snapshot of the rates in effect at the `AsOfDate`. You can update the exchange rate using the exchange rate property when you add a transaction. However, you need to obtain and supply the exchange rate. If you are using USD (United States Dollars) as the home currency and are connected to the Internet, you can download the current exchange rates for all active currencies automatically in the QuickBooks UI by selecting Lists->Currency->Activities->Download latest exchange rates. (Currently, you can’t do this in the SDK.) */
|
|
497
|
+
ExchangeRate?: number;
|
|
498
|
+
/** Amount in units of the home currency. */
|
|
499
|
+
AmountInHomeCurrency?: string;
|
|
500
|
+
/** The memo that is printed on the check itself. */
|
|
501
|
+
Memo?: string;
|
|
502
|
+
/** If an address request fails, some combination of address fields might be too long. In a Check, `BillPaymentCheck`, or `SalesTaxPaymentCheck` message, `Address` is the address that will print on the check. */
|
|
503
|
+
Address?: Address;
|
|
504
|
+
/** The address expressed as an address block of `Addr1` through `Addr5`, depending on the number of lines in the original request that created the address. */
|
|
505
|
+
AddressBlock?: AddressBlock;
|
|
506
|
+
/** If `IsToBePrinted` is set to true, this transaction is on a list of forms to be printed later. The user can then choose to print all these forms at once. Notice that setting this field to true does not actually perform the printing. Only the QuickBooks user can do that from within QuickBooks. This cannot be done from the SDK. Setting this field to false does not prevent the QuickBooks user from printing the transaction later. It simply results in the transaction NOT being placed in the list of transactions to be printed. */
|
|
507
|
+
IsToBePrinted?: boolean;
|
|
508
|
+
/** For future use with international versions of QuickBooks. */
|
|
509
|
+
IsTaxIncluded?: boolean;
|
|
510
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
511
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
512
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
513
|
+
ExternalGUID?: string;
|
|
514
|
+
/** If the `IncludeLinkedTxns` flag is set to true in a query, or if you create an item receipt that links to other transactionsthen the returned object will include a list of linked transactions, if any exist. If no linked transactions exist, the `ILinkedTxnList` object will be empty. The list of linked transactions is similar to the History view of a transaction in the user interface, but not identical, as the SDK list contains only linked transactions, not items. */
|
|
515
|
+
LinkedTxn?: LinkedTxn | LinkedTxn[];
|
|
516
|
+
/** A list of `IExpenseLine` objects, each representing one line in this expense. */
|
|
517
|
+
ExpenseLineRet?: ExpenseLineRet | ExpenseLineRet[];
|
|
518
|
+
/** An `ItemLine` is used to track any portion of a transaction that represents the purchase of an “item.” If `ItemLineAdd` does not specify an `Amount`, `Cost`, or `Quantity`, then QuickBooks will calculate `Amount` based on a `Quantity` of 1 and the suggested `Cost`. */
|
|
519
|
+
ItemLineRet?: ItemLineRet;
|
|
520
|
+
/** Refers to items that are grouped together in QuickBooks for fast entry. */
|
|
521
|
+
ItemGroupLineRet?: ItemGroupLineRet;
|
|
522
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
523
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
524
|
+
}
|
|
525
|
+
interface ClassAdd {
|
|
526
|
+
/** The case-insensitive name of the class, not including the names of its ancestors. */
|
|
527
|
+
Name: string;
|
|
528
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
529
|
+
IsActive?: boolean;
|
|
530
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
531
|
+
ParentRef?: ParentRef;
|
|
532
|
+
}
|
|
533
|
+
export interface ClassAddRq {
|
|
534
|
+
ClassAdd: ClassAdd;
|
|
535
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
536
|
+
IncludeRetElement?: string[] | string;
|
|
537
|
+
}
|
|
538
|
+
export interface ClassAddRs {
|
|
539
|
+
ClassRet?: ClassRet;
|
|
540
|
+
ErrorRecovery?: ErrorRecovery;
|
|
541
|
+
}
|
|
542
|
+
interface ClassFilter {
|
|
543
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
544
|
+
ListID?: string[] | string;
|
|
545
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
546
|
+
FullName?: string[] | string;
|
|
547
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
548
|
+
ListIDWithChildren?: string;
|
|
549
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. For names that do not have children, `FullNameWithChildren` is exactly the same as `FullName`. */
|
|
550
|
+
FullNameWithChildren?: string;
|
|
551
|
+
}
|
|
552
|
+
interface ClassMod {
|
|
553
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
554
|
+
ListID: string;
|
|
555
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
556
|
+
EditSequence: string;
|
|
557
|
+
/** The case-insensitive name of the class, not including the names of its ancestors. */
|
|
558
|
+
Name?: string;
|
|
559
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
560
|
+
IsActive?: boolean;
|
|
561
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
562
|
+
ParentRef?: ParentRef;
|
|
563
|
+
}
|
|
564
|
+
export interface ClassModRq {
|
|
565
|
+
ClassMod: ClassMod;
|
|
566
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
567
|
+
IncludeRetElement?: string[] | string;
|
|
568
|
+
}
|
|
569
|
+
export interface ClassModRs {
|
|
570
|
+
ClassRet?: ClassRet;
|
|
571
|
+
ErrorRecovery?: ErrorRecovery;
|
|
572
|
+
}
|
|
573
|
+
export interface ClassQueryRq {
|
|
574
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
575
|
+
ListID?: string[] | string;
|
|
576
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
577
|
+
FullName?: string[] | string;
|
|
578
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
579
|
+
MaxReturned?: number;
|
|
580
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
581
|
+
ActiveStatus?: ActiveStatus;
|
|
582
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
583
|
+
FromModifiedDate?: string;
|
|
584
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
585
|
+
ToModifiedDate?: string;
|
|
586
|
+
/** Filters according to the object’s `Name`. */
|
|
587
|
+
NameFilter?: NameFilter;
|
|
588
|
+
/** Filters according to the object’s `Name`. */
|
|
589
|
+
NameRangeFilter?: NameRangeFilter;
|
|
590
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
591
|
+
IncludeRetElement?: string[] | string;
|
|
592
|
+
}
|
|
593
|
+
export interface ClassQueryRs {
|
|
594
|
+
ClassRet?: ClassRet | ClassRet[];
|
|
595
|
+
}
|
|
596
|
+
interface ClassRef {
|
|
597
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
598
|
+
ListID?: string;
|
|
599
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
600
|
+
FullName?: string;
|
|
601
|
+
}
|
|
602
|
+
interface ClassRet {
|
|
603
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
604
|
+
ListID: string;
|
|
605
|
+
/** Time the object was created. */
|
|
606
|
+
TimeCreated: string;
|
|
607
|
+
/** Time the object was last modified. */
|
|
608
|
+
TimeModified: string;
|
|
609
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
610
|
+
EditSequence: string;
|
|
611
|
+
/** The case-insensitive name of the class, not including the names of its ancestors. */
|
|
612
|
+
Name: string;
|
|
613
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
614
|
+
FullName: string;
|
|
615
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
616
|
+
IsActive?: boolean;
|
|
617
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
618
|
+
ParentRef?: ParentRef;
|
|
619
|
+
/** The number of ancestors. For example, The customer job with `Name` = carpets and `FullName` = Jones:Building2:carpets would have a sublevel of 2. */
|
|
620
|
+
Sublevel: number;
|
|
621
|
+
}
|
|
622
|
+
interface Contacts {
|
|
623
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
624
|
+
Salutation?: string;
|
|
625
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
626
|
+
FirstName: string;
|
|
627
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
628
|
+
MiddleName?: string;
|
|
629
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
630
|
+
LastName?: string;
|
|
631
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
632
|
+
JobTitle?: string;
|
|
633
|
+
/** List of additional contacts. */
|
|
634
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
635
|
+
}
|
|
636
|
+
interface ContactsMod {
|
|
637
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
638
|
+
ListID: string;
|
|
639
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
640
|
+
EditSequence: string;
|
|
641
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
642
|
+
Salutation?: string;
|
|
643
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
644
|
+
FirstName: string;
|
|
645
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
646
|
+
MiddleName?: string;
|
|
647
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
648
|
+
LastName?: string;
|
|
649
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
650
|
+
JobTitle?: string;
|
|
651
|
+
/** List of additional contacts. */
|
|
652
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
653
|
+
}
|
|
654
|
+
interface ContactsRet {
|
|
655
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
656
|
+
ListID: string;
|
|
657
|
+
/** Time the object was created. */
|
|
658
|
+
TimeCreated: string;
|
|
659
|
+
/** Time the object was last modified. */
|
|
660
|
+
TimeModified: string;
|
|
661
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
662
|
+
EditSequence: string;
|
|
663
|
+
/** The name of a contact person for a customer or vendor. */
|
|
664
|
+
Contact?: string;
|
|
665
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
666
|
+
Salutation?: string;
|
|
667
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
668
|
+
FirstName: string;
|
|
669
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
670
|
+
MiddleName?: string;
|
|
671
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
672
|
+
LastName?: string;
|
|
673
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
674
|
+
JobTitle?: string;
|
|
675
|
+
/** List of additional contacts. */
|
|
676
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
677
|
+
}
|
|
678
|
+
interface CreditCardInfo {
|
|
679
|
+
/** Credit-card number for this customer or this payment. Beginning with qbXML spec 6.0 and QuickBooks 2007, you must mask the credit card number with lower case “x” and no dashes. For example, xxxxxxxxxxxx1234. */
|
|
680
|
+
CreditCardNumber?: string;
|
|
681
|
+
/** The month when the credit card expires. */
|
|
682
|
+
ExpirationMonth?: number;
|
|
683
|
+
/** The year when the credit card expires. */
|
|
684
|
+
ExpirationYear?: number;
|
|
685
|
+
/** The name on the customer’s credit card. */
|
|
686
|
+
NameOnCard?: string;
|
|
687
|
+
/** The address associated with this credit card. */
|
|
688
|
+
CreditCardAddress?: string;
|
|
689
|
+
/** The postal code associated with the address for this credit card. */
|
|
690
|
+
CreditCardPostalCode?: string;
|
|
691
|
+
}
|
|
692
|
+
interface CurrencyFilter {
|
|
693
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`.
|
|
694
|
+
|
|
695
|
+
A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
696
|
+
ListID?: string[] | string;
|
|
697
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
698
|
+
FullName?: string[] | string;
|
|
699
|
+
}
|
|
700
|
+
interface CurrencyRef {
|
|
701
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
702
|
+
ListID?: string;
|
|
703
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
704
|
+
FullName?: string;
|
|
705
|
+
}
|
|
706
|
+
interface CustomerAdd {
|
|
707
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
708
|
+
Name: string;
|
|
709
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
710
|
+
IsActive?: boolean;
|
|
711
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
712
|
+
ClassRef?: ClassRef;
|
|
713
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
714
|
+
ParentRef?: ParentRef;
|
|
715
|
+
/** The name of the QuickBooks user’s business, as specified in QuickBooks. `CompanyName` and `Address` are used on invoices, checks, and other forms. (`LegalCompanyName` and `LegalAddress`, on the other hand, are used on a company’s tax forms and pay stubs.) */
|
|
716
|
+
CompanyName?: string;
|
|
717
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
718
|
+
Salutation?: string;
|
|
719
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
720
|
+
FirstName?: string;
|
|
721
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
722
|
+
MiddleName?: string;
|
|
723
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
724
|
+
LastName?: string;
|
|
725
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
726
|
+
JobTitle?: string;
|
|
727
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
728
|
+
BillAddress?: BillAddress;
|
|
729
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
730
|
+
ShipAddress?: ShipAddress;
|
|
731
|
+
/** List of ship to addresses. */
|
|
732
|
+
ShipToAddress?: ShipToAddress | ShipToAddress[];
|
|
733
|
+
/** The telephone number. */
|
|
734
|
+
Phone?: string;
|
|
735
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
736
|
+
AltPhone?: string;
|
|
737
|
+
/** Fax number. */
|
|
738
|
+
Fax?: string;
|
|
739
|
+
/** E-mail address. */
|
|
740
|
+
Email?: string;
|
|
741
|
+
/** Email address that would be carbon copied or CC. */
|
|
742
|
+
Cc?: string;
|
|
743
|
+
/** The name of a contact person for a customer or vendor. */
|
|
744
|
+
Contact?: string;
|
|
745
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
746
|
+
AltContact?: string;
|
|
747
|
+
/** List of additional contacts. */
|
|
748
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
749
|
+
/** A list of contact records. */
|
|
750
|
+
Contacts?: Contacts | Contacts[];
|
|
751
|
+
/** Customer types allow business owners to categorize customers in ways that are meaningful for their businesses. For example, a customer type might indicate which industry a customer represents, or which part of the country a customer is in. A `CustomerTypeRef` aggregate refers to one of the types on the `CustomerType` list. In a request, if a `CustomerTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
752
|
+
CustomerTypeRef?: CustomerTypeRef;
|
|
753
|
+
/** Refers to the payment terms associated with this entity. (This will be an item on the `DateDrivenTerms` or `StandardTerms` list.) If a `TermsRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
754
|
+
TermsRef?: TermsRef;
|
|
755
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
756
|
+
SalesRepRef?: SalesRepRef;
|
|
757
|
+
/** The opening balance of this customer’s account. A positive number indicates money owed by the customer. */
|
|
758
|
+
OpenBalance?: string;
|
|
759
|
+
/** The date of the opening balance for this customer. */
|
|
760
|
+
OpenBalanceDate?: string;
|
|
761
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
762
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
763
|
+
/** A sales-tax item is used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. (Compare with the `ItemSalesTaxGroupAdd` message.) An `ItemSalesTaxRef` aggregate refers to an item on this list. In a request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Taxes can be reflected in transaction line items The following information refers to invoices specifically, but it also applies to sales receipts. Generally its best to assign a tax item or tax group item to an invoice and allow QuickBooks to apply the same tax to all taxable items on the invoice. However in some situations multiple tax combinations are required, so this method doesn’t work. In this case one must use techniques to apply the taxes in the invoice itself as line items. Using lines to apply taxes isn’t always straight forward. When applying taxes as line items, only single tax items can be used, tax groups can only be used for the entire invoice. If you have multiple taxes which apply to all taxable items, and one or more other taxes that only apply to some of the items on an invoice its better to use a tax group which applies to the entire invoice for the taxes which applies to all taxable items and then apply the other taxes in the invoice itself. One applies a tax or tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax line to multiple items in an invoice, but the tax is only applied automatically for the first tax line after the subtotal line. Any other tax lines which need to be applied to the subtotal line must supply their own amount. If you don’t supply an amount the amount comes out as zero and the tax line is useless. When one does supply an amount, the amount of tax on the subtotal also shows up in the rate column for that tax line. There isn’t any way for the rate to show up as anything other than the amount of the tax. If you have a complicated tax situation where no single tax applies to all taxable items on the invoice, you must choose a zero percent tax to apply for the entire invoice. It is recommended to name such a tax item “Tax Calculated On Invoice” so that it’s clear that the tax is not being applied by QuickBooks on the entire invoice. */
|
|
764
|
+
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
765
|
+
/** Country that sales tax is collected for. */
|
|
766
|
+
SalesTaxCountry?: SalesTaxCountry;
|
|
767
|
+
/** The customer’s resale number, if they have one. This number will not affect reports or sales tax calculations. */
|
|
768
|
+
ResaleNumber?: string;
|
|
769
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
770
|
+
AccountNumber?: string;
|
|
771
|
+
/** Set and returned as a positive number that indicates a customer’s or vendor’s credit limit. If no value has been defined, there is no credit limit. */
|
|
772
|
+
CreditLimit?: string;
|
|
773
|
+
/** Refers to a `PaymentMethod` object. In a request, if a `PreferredPaymentMethodRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
774
|
+
PreferredPaymentMethodRef?: PreferredPaymentMethodRef;
|
|
775
|
+
/** Customer’s credit-card information. */
|
|
776
|
+
CreditCardInfo?: CreditCardInfo;
|
|
777
|
+
/** `JobStatus` Status information about a sub-customer; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
778
|
+
JobStatus?: JobStatus;
|
|
779
|
+
/** The date on which work for a sub-customer was started; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
780
|
+
JobStartDate?: string;
|
|
781
|
+
/** The date on which work for a sub-customer is expected to be complete; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
782
|
+
JobProjectedEndDate?: string;
|
|
783
|
+
/** The date on which work for a sub-customer was completed; used in reports.The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
784
|
+
JobEndDate?: string;
|
|
785
|
+
/** A short job description for a sub-customer; used in reports.The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
786
|
+
JobDesc?: string;
|
|
787
|
+
/** Job type can be used to separate jobs into any categories that are meaningful to the business. A `JobTypeRef` aggregate refers to a job type on the `JobType` list. In a request, if a `JobTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
788
|
+
JobTypeRef?: JobTypeRef;
|
|
789
|
+
/** Not supported. */
|
|
790
|
+
Notes?: string;
|
|
791
|
+
/** List of notes. */
|
|
792
|
+
AdditionalNotes?: AdditionalNotes | AdditionalNotes[];
|
|
793
|
+
/** Preference for how invoices are delivered. */
|
|
794
|
+
PreferredDeliveryMethod?: PreferredDeliveryMethod;
|
|
795
|
+
/** You can use price levels to specify custom pricing for specific customers. Once you create a price level for a customer, QuickBooks will automatically use the custom price in new invoices, sales receipts, sales orders or credit memos for that customer. You can override this automatic feature, however, when you create the invoices, sales receipts, etc.) The user can now specify a price level on line items in the following supported sales transactions: invoices, sales receipts, credit memos, and sales orders. Notice that the response data for the affected sales transaction does not list the price level that was used. The response simply lists the `Rate` for the item, which was set using the price level. */
|
|
796
|
+
PriceLevelRef?: PriceLevelRef;
|
|
797
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
798
|
+
ExternalGUID?: string;
|
|
799
|
+
/** Tax registration number used in CA and UK. */
|
|
800
|
+
TaxRegistrationNumber?: string;
|
|
801
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
802
|
+
CurrencyRef?: CurrencyRef;
|
|
803
|
+
}
|
|
804
|
+
export interface CustomerAddRq {
|
|
805
|
+
CustomerAdd: CustomerAdd;
|
|
806
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
807
|
+
IncludeRetElement?: string[] | string;
|
|
808
|
+
}
|
|
809
|
+
export interface CustomerAddRs {
|
|
810
|
+
CustomerRet?: CustomerRet;
|
|
811
|
+
ErrorRecovery?: ErrorRecovery;
|
|
812
|
+
}
|
|
813
|
+
interface CustomerMod {
|
|
814
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
815
|
+
ListID: string;
|
|
816
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
817
|
+
EditSequence: string;
|
|
818
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
819
|
+
Name?: string;
|
|
820
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
821
|
+
IsActive?: boolean;
|
|
822
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
823
|
+
ClassRef?: ClassRef;
|
|
824
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
825
|
+
ParentRef?: ParentRef;
|
|
826
|
+
/** The name of the QuickBooks user’s business, as specified in QuickBooks. `CompanyName` and `Address` are used on invoices, checks, and other forms. (`LegalCompanyName` and `LegalAddress`, on the other hand, are used on a company’s tax forms and pay stubs.) */
|
|
827
|
+
CompanyName?: string;
|
|
828
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
829
|
+
Salutation?: string;
|
|
830
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
831
|
+
FirstName?: string;
|
|
832
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
833
|
+
MiddleName?: string;
|
|
834
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
835
|
+
LastName?: string;
|
|
836
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
837
|
+
JobTitle?: string;
|
|
838
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
839
|
+
BillAddress?: BillAddress;
|
|
840
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
841
|
+
ShipAddress?: ShipAddress;
|
|
842
|
+
/** List of ship to addresses. */
|
|
843
|
+
ShipToAddress?: ShipToAddress | ShipToAddress[];
|
|
844
|
+
/** The telephone number. */
|
|
845
|
+
Phone?: string;
|
|
846
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
847
|
+
AltPhone?: string;
|
|
848
|
+
/** Fax number. */
|
|
849
|
+
Fax?: string;
|
|
850
|
+
/** E-mail address. */
|
|
851
|
+
Email?: string;
|
|
852
|
+
/** Email address that would be carbon copied or CC. */
|
|
853
|
+
Cc?: string;
|
|
854
|
+
/** The name of a contact person for a customer or vendor. */
|
|
855
|
+
Contact?: string;
|
|
856
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
857
|
+
AltContact?: string;
|
|
858
|
+
/** List of additional contacts. */
|
|
859
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
860
|
+
/** A list of contact records. */
|
|
861
|
+
ContactsMod?: ContactsMod | ContactsMod[];
|
|
862
|
+
/** Customer types allow business owners to categorize customers in ways that are meaningful for their businesses. For example, a customer type might indicate which industry a customer represents, or which part of the country a customer is in. A `CustomerTypeRef` aggregate refers to one of the types on the `CustomerType` list. In a request, if a `CustomerTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
863
|
+
CustomerTypeRef?: CustomerTypeRef;
|
|
864
|
+
/** Refers to the payment terms associated with this entity. (This will be an item on the `DateDrivenTerms` or `StandardTerms` list.) If a `TermsRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
865
|
+
TermsRef?: TermsRef;
|
|
866
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
867
|
+
SalesRepRef?: SalesRepRef;
|
|
868
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
869
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
870
|
+
/** A sales-tax item is used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. (Compare with the `ItemSalesTaxGroupAdd` message.) An `ItemSalesTaxRef` aggregate refers to an item on this list. In a request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Taxes can be reflected in transaction line items The following information refers to invoices specifically, but it also applies to sales receipts. Generally its best to assign a tax item or tax group item to an invoice and allow QuickBooks to apply the same tax to all taxable items on the invoice. However in some situations multiple tax combinations are required, so this method doesn’t work. In this case one must use techniques to apply the taxes in the invoice itself as line items. Using lines to apply taxes isn’t always straight forward. When applying taxes as line items, only single tax items can be used, tax groups can only be used for the entire invoice. If you have multiple taxes which apply to all taxable items, and one or more other taxes that only apply to some of the items on an invoice its better to use a tax group which applies to the entire invoice for the taxes which applies to all taxable items and then apply the other taxes in the invoice itself. One applies a tax or tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax line to multiple items in an invoice, but the tax is only applied automatically for the first tax line after the subtotal line. Any other tax lines which need to be applied to the subtotal line must supply their own amount. If you don’t supply an amount the amount comes out as zero and the tax line is useless. When one does supply an amount, the amount of tax on the subtotal also shows up in the rate column for that tax line. There isn’t any way for the rate to show up as anything other than the amount of the tax. If you have a complicated tax situation where no single tax applies to all taxable items on the invoice, you must choose a zero percent tax to apply for the entire invoice. It is recommended to name such a tax item “Tax Calculated On Invoice” so that it’s clear that the tax is not being applied by QuickBooks on the entire invoice. */
|
|
871
|
+
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
872
|
+
/** The country that sales tax is collected for. */
|
|
873
|
+
SalesTaxCountry?: SalesTaxCountry;
|
|
874
|
+
/** The customer’s resale number, if they have one. This number will not affect reports or sales tax calculations. */
|
|
875
|
+
ResaleNumber?: string;
|
|
876
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
877
|
+
AccountNumber?: string;
|
|
878
|
+
/** Set and returned as a positive number that indicates a customer’s or vendor’s credit limit. If no value has been defined, there is no credit limit. */
|
|
879
|
+
CreditLimit?: string;
|
|
880
|
+
/** Refers to a `PaymentMethod` object. In a request, if a `PreferredPaymentMethodRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
881
|
+
PreferredPaymentMethodRef?: PreferredPaymentMethodRef;
|
|
882
|
+
/** Customer’s credit-card information. */
|
|
883
|
+
CreditCardInfo?: CreditCardInfo;
|
|
884
|
+
/** `JobStatus` Status information about a sub-customer; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
885
|
+
JobStatus?: JobStatus;
|
|
886
|
+
/** The date on which work for a sub-customer was started; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
887
|
+
JobStartDate?: string;
|
|
888
|
+
/** The date on which work for a sub-customer is expected to be complete; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
889
|
+
JobProjectedEndDate?: string;
|
|
890
|
+
/** The date on which work for a sub-customer was completed; used in reports.The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
891
|
+
JobEndDate?: string;
|
|
892
|
+
/** A short job description for a sub-customer; used in reports.The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
893
|
+
JobDesc?: string;
|
|
894
|
+
/** Job type can be used to separate jobs into any categories that are meaningful to the business. A `JobTypeRef` aggregate refers to a job type on the `JobType` list. In a request, if a `JobTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
895
|
+
JobTypeRef?: JobTypeRef;
|
|
896
|
+
/** Not supported. */
|
|
897
|
+
Notes?: string;
|
|
898
|
+
/** List of notes. */
|
|
899
|
+
AdditionalNotesMod?: AdditionalNotesMod | AdditionalNotesMod[];
|
|
900
|
+
/** Preference for how invoices are delivered. */
|
|
901
|
+
PreferredDeliveryMethod?: PreferredDeliveryMethod;
|
|
902
|
+
/** You can use price levels to specify custom pricing for specific customers. Once you create a price level for a customer, QuickBooks will automatically use the custom price in new invoices, sales receipts, sales orders or credit memos for that customer. You can override this automatic feature, however, when you create the invoices, sales receipts, etc.) The user can now specify a price level on line items in the following supported sales transactions: invoices, sales receipts, credit memos, and sales orders. Notice that the response data for the affected sales transaction does not list the price level that was used. The response simply lists the `Rate` for the item, which was set using the price level. */
|
|
903
|
+
PriceLevelRef?: PriceLevelRef;
|
|
904
|
+
/** The tax registration number used in CA and UK. */
|
|
905
|
+
TaxRegistrationNumber?: string;
|
|
906
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
907
|
+
CurrencyRef?: CurrencyRef;
|
|
908
|
+
}
|
|
909
|
+
export interface CustomerModRq {
|
|
910
|
+
CustomerMod: CustomerMod;
|
|
911
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
912
|
+
IncludeRetElement?: string[] | string;
|
|
913
|
+
}
|
|
914
|
+
export interface CustomerModRs {
|
|
915
|
+
CustomerRet?: CustomerRet;
|
|
916
|
+
ErrorRecovery?: ErrorRecovery;
|
|
917
|
+
}
|
|
918
|
+
export interface CustomerQueryRq {
|
|
919
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
920
|
+
ListID?: string[] | string;
|
|
921
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
922
|
+
FullName?: string[] | string;
|
|
923
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
924
|
+
MaxReturned?: number;
|
|
925
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
926
|
+
ActiveStatus?: ActiveStatus;
|
|
927
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
928
|
+
FromModifiedDate?: string;
|
|
929
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
930
|
+
ToModifiedDate?: string;
|
|
931
|
+
/** Filters according to the object’s `Name`. */
|
|
932
|
+
NameFilter?: NameFilter;
|
|
933
|
+
/** Filters according to the object’s `Name`. */
|
|
934
|
+
NameRangeFilter?: NameRangeFilter;
|
|
935
|
+
/** Filters according to total balance. Total balance includes the balance for all subaccounts; for example, a customer’s `TotalBalance` would include all the jobs for that customer. */
|
|
936
|
+
TotalBalanceFilter?: TotalBalanceFilter;
|
|
937
|
+
/** Filters by the specified currency. */
|
|
938
|
+
CurrencyFilter?: CurrencyFilter;
|
|
939
|
+
/** Filter according to class. */
|
|
940
|
+
ClassFilter?: ClassFilter;
|
|
941
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
942
|
+
IncludeRetElement?: string[] | string;
|
|
943
|
+
/** Zero or more `OwnerID` values. `OwnerID` refers to the owner of a data extension:If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI.If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI. Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
944
|
+
OwnerID?: string[] | string;
|
|
945
|
+
}
|
|
946
|
+
export interface CustomerQueryRs {
|
|
947
|
+
CustomerRet?: CustomerRet | CustomerRet[];
|
|
948
|
+
}
|
|
949
|
+
interface CustomerRef {
|
|
950
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
951
|
+
ListID?: string;
|
|
952
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
953
|
+
FullName?: string;
|
|
954
|
+
}
|
|
955
|
+
interface CustomerRet {
|
|
956
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
957
|
+
ListID: string;
|
|
958
|
+
/** Time the object was created. */
|
|
959
|
+
TimeCreated: string;
|
|
960
|
+
/** Time the object was last modified. */
|
|
961
|
+
TimeModified: string;
|
|
962
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
963
|
+
EditSequence: string;
|
|
964
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
965
|
+
Name: string;
|
|
966
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
967
|
+
FullName: string;
|
|
968
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
969
|
+
IsActive?: boolean;
|
|
970
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
971
|
+
ClassRef?: ClassRef;
|
|
972
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
973
|
+
ParentRef?: ParentRef;
|
|
974
|
+
/** The number of ancestors. For example, The customer job with `Name` = carpets and `FullName` = Jones:Building2:carpets would have a sublevel of 2. */
|
|
975
|
+
Sublevel: number;
|
|
976
|
+
/** The name of the QuickBooks user’s business, as specified in QuickBooks. `CompanyName` and `Address` are used on invoices, checks, and other forms. (`LegalCompanyName` and `LegalAddress`, on the other hand, are used on a company’s tax forms and pay stubs.) */
|
|
977
|
+
CompanyName?: string;
|
|
978
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
979
|
+
Salutation?: string;
|
|
980
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
981
|
+
FirstName?: string;
|
|
982
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
983
|
+
MiddleName?: string;
|
|
984
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
985
|
+
LastName?: string;
|
|
986
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
987
|
+
JobTitle?: string;
|
|
988
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
989
|
+
BillAddress?: BillAddress;
|
|
990
|
+
/** The address expressed as an address block of `Addr1` through `Addr5`, depending on the number of lines in the original request that created the address. */
|
|
991
|
+
BillAddressBlock?: BillAddressBlock;
|
|
992
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
993
|
+
ShipAddress?: ShipAddress;
|
|
994
|
+
/** The address expressed as an address block of `Addr1` through `Addr5`, depending on the number of lines in the original request that created the address. */
|
|
995
|
+
ShipAddressBlock?: ShipAddressBlock;
|
|
996
|
+
/** List of ship to addresses. */
|
|
997
|
+
ShipToAddress?: ShipToAddress | ShipToAddress[];
|
|
998
|
+
/** The telephone number. */
|
|
999
|
+
Phone?: string;
|
|
1000
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
1001
|
+
AltPhone?: string;
|
|
1002
|
+
/** Fax number. */
|
|
1003
|
+
Fax?: string;
|
|
1004
|
+
/** E-mail address. */
|
|
1005
|
+
Email?: string;
|
|
1006
|
+
/** Email address that would be carbon copied or CC. */
|
|
1007
|
+
Cc?: string;
|
|
1008
|
+
/** The name of a contact person for a customer or vendor. */
|
|
1009
|
+
Contact?: string;
|
|
1010
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
1011
|
+
AltContact?: string;
|
|
1012
|
+
/** List of additional contacts. */
|
|
1013
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1014
|
+
/** A list of contact records. */
|
|
1015
|
+
ContactsRet?: ContactsRet | ContactsRet[];
|
|
1016
|
+
/** Customer types allow business owners to categorize customers in ways that are meaningful for their businesses. For example, a customer type might indicate which industry a customer represents, or which part of the country a customer is in. A `CustomerTypeRef` aggregate refers to one of the types on the `CustomerType` list. In a request, if a `CustomerTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1017
|
+
CustomerTypeRef?: CustomerTypeRef;
|
|
1018
|
+
/** Refers to the payment terms associated with this entity. (This will be an item on the `DateDrivenTerms` or `StandardTerms` list.) If a `TermsRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1019
|
+
TermsRef?: TermsRef;
|
|
1020
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1021
|
+
SalesRepRef?: SalesRepRef;
|
|
1022
|
+
/** A positive number indicates money owed by the customer. Compare with `TotalBalance`. */
|
|
1023
|
+
Balance?: string;
|
|
1024
|
+
/** Total balance for this customer, including all this customer’s jobs (subcustomers). A positive number indicates money that the customer owes. If a customer does not have any subcustomers, `TotalBalance` and `Balance` are the same. */
|
|
1025
|
+
TotalBalance?: string;
|
|
1026
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1027
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1028
|
+
/** A sales-tax item is used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. (Compare with the `ItemSalesTaxGroupAdd` message.) An `ItemSalesTaxRef` aggregate refers to an item on this list. In a request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Taxes can be reflected in transaction line items The following information refers to invoices specifically, but it also applies to sales receipts. Generally its best to assign a tax item or tax group item to an invoice and allow QuickBooks to apply the same tax to all taxable items on the invoice. However in some situations multiple tax combinations are required, so this method doesn’t work. In this case one must use techniques to apply the taxes in the invoice itself as line items. Using lines to apply taxes isn’t always straight forward. When applying taxes as line items, only single tax items can be used, tax groups can only be used for the entire invoice. If you have multiple taxes which apply to all taxable items, and one or more other taxes that only apply to some of the items on an invoice its better to use a tax group which applies to the entire invoice for the taxes which applies to all taxable items and then apply the other taxes in the invoice itself. One applies a tax or tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax line to multiple items in an invoice, but the tax is only applied automatically for the first tax line after the subtotal line. Any other tax lines which need to be applied to the subtotal line must supply their own amount. If you don’t supply an amount the amount comes out as zero and the tax line is useless. When one does supply an amount, the amount of tax on the subtotal also shows up in the rate column for that tax line. There isn’t any way for the rate to show up as anything other than the amount of the tax. If you have a complicated tax situation where no single tax applies to all taxable items on the invoice, you must choose a zero percent tax to apply for the entire invoice. It is recommended to name such a tax item “Tax Calculated On Invoice” so that it’s clear that the tax is not being applied by QuickBooks on the entire invoice. */
|
|
1029
|
+
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
1030
|
+
/** The country that sales tax is collected for. */
|
|
1031
|
+
SalesTaxCountry?: SalesTaxCountry;
|
|
1032
|
+
/** The customer’s resale number, if they have one. This number will not affect reports or sales tax calculations. */
|
|
1033
|
+
ResaleNumber?: string;
|
|
1034
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
1035
|
+
AccountNumber?: string;
|
|
1036
|
+
/** Set and returned as a positive number that indicates a customer’s or vendor’s credit limit. If no value has been defined, there is no credit limit. */
|
|
1037
|
+
CreditLimit?: string;
|
|
1038
|
+
/** Refers to a `PaymentMethod` object. In a request, if a `PreferredPaymentMethodRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1039
|
+
PreferredPaymentMethodRef?: PreferredPaymentMethodRef;
|
|
1040
|
+
/** Customer’s credit-card information. */
|
|
1041
|
+
CreditCardInfo?: CreditCardInfo;
|
|
1042
|
+
/** `JobStatus` Status information about a sub-customer; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
1043
|
+
JobStatus?: JobStatus;
|
|
1044
|
+
/** The date on which work for a sub-customer was started; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
1045
|
+
JobStartDate?: string;
|
|
1046
|
+
/** The date on which work for a sub-customer is expected to be complete; used in reports. The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
1047
|
+
JobProjectedEndDate?: string;
|
|
1048
|
+
/** The date on which work for a sub-customer was completed; used in reports.The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
1049
|
+
JobEndDate?: string;
|
|
1050
|
+
/** A short job description for a sub-customer; used in reports.The Job- elements (`JobDesc`, `JobEndDate`, `JobProjectedEndDate`, `JobStartDate`, and `JobStatus`) correspond to the fields in the Job Info tab of the Edit Job window in QuickBooks. */
|
|
1051
|
+
JobDesc?: string;
|
|
1052
|
+
/** Job type can be used to separate jobs into any categories that are meaningful to the business. A `JobTypeRef` aggregate refers to a job type on the `JobType` list. In a request, if a `JobTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1053
|
+
JobTypeRef?: JobTypeRef;
|
|
1054
|
+
/** Not supported. */
|
|
1055
|
+
Notes?: string;
|
|
1056
|
+
/** List of notes. */
|
|
1057
|
+
AdditionalNotesRet?: AdditionalNotesRet | AdditionalNotesRet[];
|
|
1058
|
+
/** Preference for how invoices are delivered. */
|
|
1059
|
+
PreferredDeliveryMethod?: PreferredDeliveryMethod;
|
|
1060
|
+
/** You can use price levels to specify custom pricing for specific customers. Once you create a price level for a customer, QuickBooks will automatically use the custom price in new invoices, sales receipts, sales orders or credit memos for that customer. You can override this automatic feature, however, when you create the invoices, sales receipts, etc.) The user can now specify a price level on line items in the following supported sales transactions: invoices, sales receipts, credit memos, and sales orders. Notice that the response data for the affected sales transaction does not list the price level that was used. The response simply lists the `Rate` for the item, which was set using the price level. */
|
|
1061
|
+
PriceLevelRef?: PriceLevelRef;
|
|
1062
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
1063
|
+
ExternalGUID?: string;
|
|
1064
|
+
/** The tax registration number used in CA and UK. */
|
|
1065
|
+
TaxRegistrationNumber?: string;
|
|
1066
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
1067
|
+
CurrencyRef?: CurrencyRef;
|
|
1068
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1069
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
1070
|
+
}
|
|
1071
|
+
interface CustomerTypeRef {
|
|
1072
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1073
|
+
ListID?: string;
|
|
1074
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1075
|
+
FullName?: string;
|
|
1076
|
+
}
|
|
1077
|
+
interface DataExt {
|
|
1078
|
+
/** `OwnerID` refers to the owner of a data extension, and must be 0 or a valid GUID. (Custom fields, which are visible in the QuickBooks UI, always have an `OwnerID` of 0. ) Usually you would keep your application’s GUID confidential to prevent other applications from accessing your data extensions. But if you want to share data extensions with another application, the applications need to use the same GUID. In this case, each application could use two GUIDs, one for shared data extensions and one for confidential data extensions. (An application can have any number of GUIDs.) When you share a data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
1079
|
+
OwnerID: string;
|
|
1080
|
+
/** The name of the data extension. If this is a custom field, `DataExtName` will be visible as a label in the QuickBooks user interface. Also because `OwnerID` and `DataExtName` together make the data extension unique, and because custom fields all have the same `OwnerID` of zero, the `DataExtName` must be a unique value among existing custom fields. In contrast, the `DataExtName` for private data extensions must be unique only for the specified `OwnerID` GUID. */
|
|
1081
|
+
DataExtName: string;
|
|
1082
|
+
/** The data in this field. The maximum length of `DataExtValue` will depend on the `DataExtType` of this data extension. For example, if `DataExtType` is `STR255TYPE`, the maximum length of `DataExtValue` is 255 characters. If `DataExtType` is `STR1024TYPE`, the maximum size of `DataExtValue` is `1KB`. */
|
|
1083
|
+
DataExtValue: string;
|
|
1084
|
+
}
|
|
1085
|
+
interface DataExtRet {
|
|
1086
|
+
/** `OwnerID` refers to the owner of a data extension, and must be 0 or a valid GUID. (Custom fields, which are visible in the QuickBooks UI, always have an `OwnerID` of 0. )
|
|
1087
|
+
|
|
1088
|
+
Usually you would keep your application’s GUID confidential to prevent other applications from accessing your data extensions. But if you want to share data extensions with another application, the applications need to use the same GUID. In this case, each application could use two GUIDs, one for shared data extensions and one for confidential data extensions. (An application can have any number of GUIDs.)
|
|
1089
|
+
|
|
1090
|
+
When you share a data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
1091
|
+
OwnerID?: string;
|
|
1092
|
+
/** The name of the data extension. If this is a custom field, `DataExtName` will be visible as a label in the QuickBooks user interface. Also because `OwnerID` and `DataExtName` together make the data extension unique, and because custom fields all have the same `OwnerID` of zero, the `DataExtName` must be a unique value among existing custom fields. In contrast, the `DataExtName` for private data extensions must be unique only for the specified `OwnerID` GUID. */
|
|
1093
|
+
DataExtName: string;
|
|
1094
|
+
/** The field’s data type, which corresponds to a qbXML data type. In an `IDataExtDefAdd` request object, if this is a custom field, `DataExtType` must be `detSTR255TYPE`. */
|
|
1095
|
+
DataExtType: DataExtType;
|
|
1096
|
+
/** The data in this field. The maximum length of `DataExtValue` will depend on the `DataExtType` of this data extension. For example, if `DataExtType` is `STR255TYPE`, the maximum length of `DataExtValue` is 255 characters. If `DataExtType` is `STR1024TYPE`, the maximum size of `DataExtValue` is `1KB`. */
|
|
1097
|
+
DataExtValue: string;
|
|
1098
|
+
}
|
|
1099
|
+
declare type DataExtType = "AMTTYPE" | "DATETIMETYPE" | "INTTYPE" | "PERCENTTYPE" | "PRICETYPE" | "QUANTYPE" | "STR255TYPE" | "STR1024TYPE";
|
|
1100
|
+
declare type DateMacro = "All" | "LastCalendarQuarter" | "LastCalendarQuarterToDate" | "LastCalendarYear" | "LastCalendarYearToDate" | "LastFiscalQuarter" | "LastFiscalQuarterToDate" | "LastFiscalYear" | "LastFiscalYearToDate" | "LastMonth" | "LastMonthToDate" | "LastWeek" | "LastWeekToDate" | "NextCalendarQuarter" | "NextCalendarYear" | "NextFiscalQuarter" | "NextFiscalYear" | "NextFourWeeks" | "NextMonth" | "NextWeek" | "ThisCalendarQuarter" | "ThisCalendarQuarterToDate" | "ThisCalendarYear" | "ThisCalendarYearToDate" | "ThisFiscalQuarter" | "ThisFiscalQuarterToDate" | "ThisFiscalYear" | "ThisFiscalYearToDate" | "ThisMonth" | "ThisMonthToDate" | "ThisWeek" | "ThisWeekToDate" | "Today" | "Yesterday";
|
|
1101
|
+
declare type Disabled = "No" | "Yes";
|
|
1102
|
+
interface Earnings {
|
|
1103
|
+
/** Each payroll wage item describes and names a payment scheme, for example, Regular Pay or Overtime Pay. A `PayrollItemWageRef` aggregate refers to one of these wage items. In a request, if a `PayrollItemWageRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Within QuickBooks, a timesheet can specify a payroll wage item only if the following criteria are met: The name on the timesheet (which corresponds to the `EntityRef` in the `TimeTracking` object) is on the QuickBooks Employee list, and The “Use time data to create paychecks” preference is turned on in the QuickBooks Payroll Info window that provides detailed employee information employee. */
|
|
1104
|
+
PayrollItemWageRef: PayrollItemWageRef;
|
|
1105
|
+
/** Indicates the price of something. */
|
|
1106
|
+
Rate?: string;
|
|
1107
|
+
/** Indicates the price of something as a percent. */
|
|
1108
|
+
RatePercent?: string;
|
|
1109
|
+
}
|
|
1110
|
+
interface EmergencyContacts {
|
|
1111
|
+
/** Primary emergency contact information for the employee. */
|
|
1112
|
+
PrimaryContact?: PrimaryContact;
|
|
1113
|
+
/** Secondary emergency contact information for the employee. */
|
|
1114
|
+
SecondaryContact?: SecondaryContact;
|
|
1115
|
+
}
|
|
1116
|
+
interface EmployeeAdd {
|
|
1117
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1118
|
+
IsActive?: boolean;
|
|
1119
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
1120
|
+
Salutation?: string;
|
|
1121
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1122
|
+
FirstName?: string;
|
|
1123
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1124
|
+
MiddleName?: string;
|
|
1125
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1126
|
+
LastName?: string;
|
|
1127
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
1128
|
+
JobTitle?: string;
|
|
1129
|
+
/** The name of a customer, vendor, employee, or person on the “other names” list in the employment job details section. */
|
|
1130
|
+
SupervisorRef?: SupervisorRef;
|
|
1131
|
+
/** The name of the department in the employment job details section. */
|
|
1132
|
+
Department?: string;
|
|
1133
|
+
/** The description details in the employment job details section. */
|
|
1134
|
+
Description?: string;
|
|
1135
|
+
/** The target bonus amount in the employment job details section. */
|
|
1136
|
+
TargetBonus?: string;
|
|
1137
|
+
/** If an address request fails, some combination of address fields might be too long. If you use payroll, you must specify the employee’s city, state (or province), ZIP (or postal) code, and at least one line of the street address. (Note that the `State` element has restrictions when it’s used in the `EmployeeAddress` aggregate. For more information, click `State` in the table.) */
|
|
1138
|
+
EmployeeAddress?: EmployeeAddress;
|
|
1139
|
+
/** By default within QuickBooks, the `PrintAs` element is the same as the `Name` element. */
|
|
1140
|
+
PrintAs?: string;
|
|
1141
|
+
/** The telephone number. */
|
|
1142
|
+
Phone?: string;
|
|
1143
|
+
/** Mobile telephone number. */
|
|
1144
|
+
Mobile?: string;
|
|
1145
|
+
/** The pager number. */
|
|
1146
|
+
Pager?: string;
|
|
1147
|
+
/** A personal identification number for this employee’s pager. */
|
|
1148
|
+
PagerPIN?: string;
|
|
1149
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
1150
|
+
AltPhone?: string;
|
|
1151
|
+
/** Fax number. */
|
|
1152
|
+
Fax?: string;
|
|
1153
|
+
/** Social security number. When you add an `SSN` value to an employee record, it does not have to include dashes; for example, either 123-45-6789 or 123456789 would be valid. */
|
|
1154
|
+
SSN?: string;
|
|
1155
|
+
/** E-mail address. */
|
|
1156
|
+
Email?: string;
|
|
1157
|
+
/** List of additional contacts. */
|
|
1158
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1159
|
+
/** Emergency `Contact` information for the employee. */
|
|
1160
|
+
EmergencyContacts?: EmergencyContacts;
|
|
1161
|
+
/** `EmployeeType` can affect payroll taxes for an employee. A statutory employee is a person who is defined as an employee by statute. Usually an owner or partner will be on the Other Names list, but if they are on the Employee list, their `EmployeeType` will be Owner. */
|
|
1162
|
+
EmployeeType?: EmployeeType;
|
|
1163
|
+
/** Full or Part time status of the employee. */
|
|
1164
|
+
PartOrFullTime?: PartOrFullTime;
|
|
1165
|
+
/** Exempt or Non-exempt status of the employee. */
|
|
1166
|
+
Exempt?: Exempt;
|
|
1167
|
+
/** Is employee a key or critical employee. */
|
|
1168
|
+
KeyEmployee?: KeyEmployee;
|
|
1169
|
+
/** The gender of this employee. */
|
|
1170
|
+
Gender?: Gender;
|
|
1171
|
+
/** An employee’s date of hire. */
|
|
1172
|
+
HiredDate?: string;
|
|
1173
|
+
/** Original hire date the employee was hired. */
|
|
1174
|
+
OriginalHireDate?: string;
|
|
1175
|
+
/** Adjusted service date for the employee. */
|
|
1176
|
+
AdjustedServiceDate?: string;
|
|
1177
|
+
/** The date on which this person’s employment with the company ended. */
|
|
1178
|
+
ReleasedDate?: string;
|
|
1179
|
+
/** Date of birth. */
|
|
1180
|
+
BirthDate?: string;
|
|
1181
|
+
/** Is employee a US citizen? */
|
|
1182
|
+
USCitizen?: USCitizen;
|
|
1183
|
+
/** Ethnicity of employee from `AmericianIndian`, Asian, Black, Hawaiian, Hispanic, White, `TwoOrMoreRaces` */
|
|
1184
|
+
Ethnicity?: Ethnicity;
|
|
1185
|
+
/** Is employee disabled? */
|
|
1186
|
+
Disabled?: Disabled;
|
|
1187
|
+
/** Description of employee’s disablitily. */
|
|
1188
|
+
DisabilityDesc?: string;
|
|
1189
|
+
/** Is the employee’s I-9 on file? */
|
|
1190
|
+
OnFile?: OnFile;
|
|
1191
|
+
/** Date the employee’s work authorization expires. */
|
|
1192
|
+
WorkAuthExpireDate?: string;
|
|
1193
|
+
/** Is employee a US veteran? */
|
|
1194
|
+
USVeteran?: USVeteran;
|
|
1195
|
+
/** Military status if the employee is a US veteran. */
|
|
1196
|
+
MilitaryStatus?: MilitaryStatus;
|
|
1197
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
1198
|
+
AccountNumber?: string;
|
|
1199
|
+
/** Additional information. */
|
|
1200
|
+
Notes?: string;
|
|
1201
|
+
/** List of notes. */
|
|
1202
|
+
AdditionalNotes?: AdditionalNotes | AdditionalNotes[];
|
|
1203
|
+
/** Billing rates are used to override the service item rate in a time transaction (`TimeTrackingAdd`) based on the employee or vendor performing the work. Billing rates are assigned to an employee or a vendor to specify overrides to service items. */
|
|
1204
|
+
BillingRateRef?: BillingRateRef;
|
|
1205
|
+
/** Pay information for this employee. */
|
|
1206
|
+
EmployeePayrollInfo?: EmployeePayrollInfo;
|
|
1207
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
1208
|
+
ExternalGUID?: string;
|
|
1209
|
+
}
|
|
1210
|
+
interface EmployeeAddress {
|
|
1211
|
+
/** The first line of an address. */
|
|
1212
|
+
Addr1?: string;
|
|
1213
|
+
/** The second line of an address (if a second line is needed). */
|
|
1214
|
+
Addr2?: string;
|
|
1215
|
+
/** The city name in an address. */
|
|
1216
|
+
City?: string;
|
|
1217
|
+
/** When it appears in the `EmployeeAddress` aggregate, the `State` element acts like an ENUMTYPE with the following possible values: None, AA (military), AE (military), AK, AL, AP (military), AR, AZ, CA, CO, CT, DC, DE, FL, GA, HI, IA, ID, IL, IN, KS, KY, LA, MA, MD, ME, MI, MN, MO, MS, MT, NC, ND, NE, NH, NJ, NM, NV, NY, OH, OK, OR, PA, PR, RI, SC, SD, TN, TX, UT, VA, VT, WA, WI, WV, and WY. */
|
|
1218
|
+
State?: string;
|
|
1219
|
+
/** The postal code in an address. */
|
|
1220
|
+
PostalCode?: string;
|
|
1221
|
+
}
|
|
1222
|
+
export interface EmployeeAddRq {
|
|
1223
|
+
EmployeeAdd: EmployeeAdd;
|
|
1224
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
1225
|
+
IncludeRetElement?: string[] | string;
|
|
1226
|
+
}
|
|
1227
|
+
export interface EmployeeAddRs {
|
|
1228
|
+
EmployeeRet?: EmployeeRet;
|
|
1229
|
+
ErrorRecovery?: ErrorRecovery;
|
|
1230
|
+
}
|
|
1231
|
+
interface EmployeeMod {
|
|
1232
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1233
|
+
ListID: string;
|
|
1234
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
1235
|
+
EditSequence: string;
|
|
1236
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1237
|
+
IsActive?: boolean;
|
|
1238
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
1239
|
+
Salutation?: string;
|
|
1240
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1241
|
+
FirstName?: string;
|
|
1242
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1243
|
+
MiddleName?: string;
|
|
1244
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1245
|
+
LastName?: string;
|
|
1246
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
1247
|
+
JobTitle?: string;
|
|
1248
|
+
/** The name of a customer, vendor, employee, or person on the “other names” list in the employment job details section. */
|
|
1249
|
+
SupervisorRef?: SupervisorRef;
|
|
1250
|
+
/** The name of the department in the employment job details section. */
|
|
1251
|
+
Department?: string;
|
|
1252
|
+
/** The description details in the employment job details section. */
|
|
1253
|
+
Description?: string;
|
|
1254
|
+
/** The target bonus amount in the employment job details section. */
|
|
1255
|
+
TargetBonus?: string;
|
|
1256
|
+
/** If an address request fails, some combination of address fields might be too long. If you use payroll, you must specify the employee’s city, state (or province), ZIP (or postal) code, and at least one line of the street address. (Note that the `State` element has restrictions when it’s used in the `EmployeeAddress` aggregate. For more information, click `State` in the table.) */
|
|
1257
|
+
EmployeeAddress?: EmployeeAddress;
|
|
1258
|
+
/** By default within QuickBooks, the `PrintAs` element is the same as the `Name` element. */
|
|
1259
|
+
PrintAs?: string;
|
|
1260
|
+
/** The telephone number. */
|
|
1261
|
+
Phone?: string;
|
|
1262
|
+
/** Mobile telephone number. */
|
|
1263
|
+
Mobile?: string;
|
|
1264
|
+
/** The pager number. */
|
|
1265
|
+
Pager?: string;
|
|
1266
|
+
/** A personal identification number for this employee’s pager. */
|
|
1267
|
+
PagerPIN?: string;
|
|
1268
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
1269
|
+
AltPhone?: string;
|
|
1270
|
+
/** Fax number. */
|
|
1271
|
+
Fax?: string;
|
|
1272
|
+
/** E-mail address. */
|
|
1273
|
+
Email?: string;
|
|
1274
|
+
/** List of additional contacts. */
|
|
1275
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1276
|
+
/** Emergency `Contact` information for the employee. */
|
|
1277
|
+
EmergencyContacts?: EmergencyContacts;
|
|
1278
|
+
/** `EmployeeType` can affect payroll taxes for an employee. A statutory employee is a person who is defined as an employee by statute. Usually an owner or partner will be on the Other Names list, but if they are on the Employee list, their `EmployeeType` will be Owner. */
|
|
1279
|
+
EmployeeType?: EmployeeType;
|
|
1280
|
+
/** Full or Part time status of the employee. */
|
|
1281
|
+
PartOrFullTime?: PartOrFullTime;
|
|
1282
|
+
/** Exempt or Non-exempt status of the employee. */
|
|
1283
|
+
Exempt?: Exempt;
|
|
1284
|
+
/** Is employee a key or critical employee. */
|
|
1285
|
+
KeyEmployee?: KeyEmployee;
|
|
1286
|
+
/** An employee’s date of hire. */
|
|
1287
|
+
HiredDate?: string;
|
|
1288
|
+
/** Original hire date the employee was hired. */
|
|
1289
|
+
OriginalHireDate?: string;
|
|
1290
|
+
/** Adjusted service date for the employee. */
|
|
1291
|
+
AdjustedServiceDate?: string;
|
|
1292
|
+
/** The date on which this person’s employment with the company ended. */
|
|
1293
|
+
ReleasedDate?: string;
|
|
1294
|
+
/** Date of birth. */
|
|
1295
|
+
BirthDate?: string;
|
|
1296
|
+
/** Is employee a US citizen? */
|
|
1297
|
+
USCitizen?: USCitizen;
|
|
1298
|
+
/** Ethnicity of employee from `AmericianIndian`, Asian, Black, Hawaiian, Hispanic, White, `TwoOrMoreRaces`. */
|
|
1299
|
+
Ethnicity?: Ethnicity;
|
|
1300
|
+
/** Is employee disabled? */
|
|
1301
|
+
Disabled?: Disabled;
|
|
1302
|
+
/** Description of employee’s disablitily. */
|
|
1303
|
+
DisabilityDesc?: string;
|
|
1304
|
+
/** Is the employee’s I-9 on file? */
|
|
1305
|
+
OnFile?: OnFile;
|
|
1306
|
+
/** Date the employee’s work authorization expires. */
|
|
1307
|
+
WorkAuthExpireDate?: string;
|
|
1308
|
+
/** Is employee a US veteran? */
|
|
1309
|
+
USVeteran?: USVeteran;
|
|
1310
|
+
/** Military status if the employee is a US veteran. */
|
|
1311
|
+
MilitaryStatus?: MilitaryStatus;
|
|
1312
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
1313
|
+
AccountNumber?: string;
|
|
1314
|
+
/** Additional information. */
|
|
1315
|
+
Notes?: string;
|
|
1316
|
+
/** List of notes. */
|
|
1317
|
+
AdditionalNotesMod?: AdditionalNotesMod | AdditionalNotesMod[];
|
|
1318
|
+
/** Billing rates are used to override the service item rate in a time transaction (`TimeTrackingAdd`) based on the employee or vendor performing the work. Billing rates are assigned to an employee or a vendor to specify overrides to service items. */
|
|
1319
|
+
BillingRateRef?: BillingRateRef;
|
|
1320
|
+
/** Pay information for this employee. */
|
|
1321
|
+
EmployeePayrollInfoMod?: EmployeePayrollInfoMod;
|
|
1322
|
+
}
|
|
1323
|
+
export interface EmployeeModRq {
|
|
1324
|
+
EmployeeMod: EmployeeMod;
|
|
1325
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
1326
|
+
IncludeRetElement?: string[] | string;
|
|
1327
|
+
}
|
|
1328
|
+
export interface EmployeeModRs {
|
|
1329
|
+
EmployeeRet?: EmployeeRet;
|
|
1330
|
+
ErrorRecovery?: ErrorRecovery;
|
|
1331
|
+
}
|
|
1332
|
+
interface EmployeePayrollInfo {
|
|
1333
|
+
/** Indicates how often employees are paid. If you include a blank `PayPeriod` element in an `EmployeeMod` message, you’ll receive an error. The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
1334
|
+
PayPeriod?: PayPeriod;
|
|
1335
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1336
|
+
ClassRef?: ClassRef;
|
|
1337
|
+
/** If `ClearEarnings` is set to true, the earnings will be deleted for this employee. */
|
|
1338
|
+
ClearEarnings?: boolean;
|
|
1339
|
+
/** A list of `IEarnings` aggregate objects. If an `EmployeeMod` request does not include any `IEarnings` objects, the earnings table for that employee will not change. If `EmployeeMod` includes at least one `IEarnings` object, all existing earnings information will be deleted for that employee, and all the earnings information in the -Mod request will be added. (To delete all the earnings information, set the `ClearEarnings` field to true in an `EmployeeMod` request.) */
|
|
1340
|
+
Earnings?: Earnings | Earnings[];
|
|
1341
|
+
/** Indicates whether or not paychecks are generated from time-tracking data. If you include a blank `IsUsingTimeDataToCreatePaychecks` element in an `EmployeeMod` message, you’ll receive an error. */
|
|
1342
|
+
IsUsingTimeDataToCreatePaychecks?: boolean;
|
|
1343
|
+
/** Indicates whether time data is used to create paychecks for this employee. */
|
|
1344
|
+
UseTimeDataToCreatePaychecks?: UseTimeDataToCreatePaychecks;
|
|
1345
|
+
/** Describes how “sick time” is accrued for this employee, along with how many sick hours the employee has accrued. */
|
|
1346
|
+
SickHours?: SickHours;
|
|
1347
|
+
/** Describes how vacation time is accrued for this employee, along with how many vacation hours the employee has accrued. */
|
|
1348
|
+
VacationHours?: VacationHours;
|
|
1349
|
+
}
|
|
1350
|
+
interface EmployeePayrollInfoMod {
|
|
1351
|
+
/** Indicates how often employees are paid. If you include a blank `PayPeriod` element in an `EmployeeMod` message, you’ll receive an error. The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
1352
|
+
PayPeriod?: PayPeriod;
|
|
1353
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1354
|
+
ClassRef?: ClassRef;
|
|
1355
|
+
/** If `ClearEarnings` is set to true, the earnings will be deleted for this employee. */
|
|
1356
|
+
ClearEarnings?: boolean;
|
|
1357
|
+
/** A list of `IEarnings` aggregate objects. If an `EmployeeMod` request does not include any `IEarnings` objects, the earnings table for that employee will not change. If `EmployeeMod` includes at least one `IEarnings` object, all existing earnings information will be deleted for that employee, and all the earnings information in the -Mod request will be added. (To delete all the earnings information, set the `ClearEarnings` field to true in an `EmployeeMod` request.) */
|
|
1358
|
+
Earnings?: Earnings | Earnings[];
|
|
1359
|
+
/** Indicates whether or not paychecks are generated from time-tracking data. If you include a blank `IsUsingTimeDataToCreatePaychecks` element in an `EmployeeMod` message, you’ll receive an error. */
|
|
1360
|
+
IsUsingTimeDataToCreatePaychecks?: boolean;
|
|
1361
|
+
/** Indicates whether time data is used to create paychecks for this employee. */
|
|
1362
|
+
UseTimeDataToCreatePaychecks?: UseTimeDataToCreatePaychecks;
|
|
1363
|
+
/** Describes how “sick time” is accrued for this employee, along with how many sick hours the employee has accrued. */
|
|
1364
|
+
SickHours?: SickHours;
|
|
1365
|
+
/** Describes how vacation time is accrued for this employee, along with how many vacation hours the employee has accrued. */
|
|
1366
|
+
VacationHours?: VacationHours;
|
|
1367
|
+
}
|
|
1368
|
+
export interface EmployeeQueryRq {
|
|
1369
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1370
|
+
ListID?: string[] | string;
|
|
1371
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1372
|
+
FullName?: string[] | string;
|
|
1373
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
1374
|
+
MaxReturned?: number;
|
|
1375
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
1376
|
+
ActiveStatus?: ActiveStatus;
|
|
1377
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
1378
|
+
FromModifiedDate?: string;
|
|
1379
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
1380
|
+
ToModifiedDate?: string;
|
|
1381
|
+
/** Filters according to the object’s `Name`. */
|
|
1382
|
+
NameFilter?: NameFilter;
|
|
1383
|
+
/** Filters according to the object’s `Name`. */
|
|
1384
|
+
NameRangeFilter?: NameRangeFilter;
|
|
1385
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
1386
|
+
IncludeRetElement?: string[] | string;
|
|
1387
|
+
/** Zero or more `OwnerID` values. `OwnerID` refers to the owner of a data extension:If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI.If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI. Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
1388
|
+
OwnerID?: string[] | string;
|
|
1389
|
+
}
|
|
1390
|
+
export interface EmployeeQueryRs {
|
|
1391
|
+
EmployeeRet?: EmployeeRet | EmployeeRet[];
|
|
1392
|
+
}
|
|
1393
|
+
interface EmployeeRet {
|
|
1394
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1395
|
+
ListID: string;
|
|
1396
|
+
/** Time the object was created. */
|
|
1397
|
+
TimeCreated: string;
|
|
1398
|
+
/** Time the object was last modified. */
|
|
1399
|
+
TimeModified: string;
|
|
1400
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
1401
|
+
EditSequence: string;
|
|
1402
|
+
/** A concatenation of `FirstName`, `MiddleName`, and `LastName`. */
|
|
1403
|
+
Name: string;
|
|
1404
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1405
|
+
IsActive?: boolean;
|
|
1406
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
1407
|
+
Salutation?: string;
|
|
1408
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1409
|
+
FirstName?: string;
|
|
1410
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1411
|
+
MiddleName?: string;
|
|
1412
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1413
|
+
LastName?: string;
|
|
1414
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
1415
|
+
JobTitle?: string;
|
|
1416
|
+
/** The name of a customer, vendor, employee, or person on the “other names” list in the employment job details section. */
|
|
1417
|
+
SupervisorRef?: SupervisorRef;
|
|
1418
|
+
/** The name of the department in the employment job details section. */
|
|
1419
|
+
Department?: string;
|
|
1420
|
+
/** The description details in the employment job details section. */
|
|
1421
|
+
Description?: string;
|
|
1422
|
+
/** The target bonus amount in the employment job details section. */
|
|
1423
|
+
TargetBonus?: string;
|
|
1424
|
+
/** If an address request fails, some combination of address fields might be too long. If you use payroll, you must specify the employee’s city, state (or province), ZIP (or postal) code, and at least one line of the street address. (Note that the `State` element has restrictions when it’s used in the `EmployeeAddress` aggregate. For more information, click `State` in the table.) */
|
|
1425
|
+
EmployeeAddress?: EmployeeAddress;
|
|
1426
|
+
/** By default within QuickBooks, the `PrintAs` element is the same as the `Name` element. */
|
|
1427
|
+
PrintAs?: string;
|
|
1428
|
+
/** The telephone number. */
|
|
1429
|
+
Phone?: string;
|
|
1430
|
+
/** Mobile telephone number. */
|
|
1431
|
+
Mobile?: string;
|
|
1432
|
+
/** The pager number. */
|
|
1433
|
+
Pager?: string;
|
|
1434
|
+
/** A personal identification number for this employee’s pager. */
|
|
1435
|
+
PagerPIN?: string;
|
|
1436
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
1437
|
+
AltPhone?: string;
|
|
1438
|
+
/** Fax number. */
|
|
1439
|
+
Fax?: string;
|
|
1440
|
+
/** Social security number. When you add an `SSN` value to an employee record, it does not have to include dashes; for example, either 123-45-6789 or 123456789 would be valid. */
|
|
1441
|
+
SSN?: string;
|
|
1442
|
+
/** E-mail address. */
|
|
1443
|
+
Email?: string;
|
|
1444
|
+
/** List of additional contacts. */
|
|
1445
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1446
|
+
/** Emergency `Contact` information for the employee. */
|
|
1447
|
+
EmergencyContacts?: EmergencyContacts;
|
|
1448
|
+
/** `EmployeeType` can affect payroll taxes for an employee. A statutory employee is a person who is defined as an employee by statute. Usually an owner or partner will be on the Other Names list, but if they are on the Employee list, their `EmployeeType` will be Owner. */
|
|
1449
|
+
EmployeeType?: EmployeeType;
|
|
1450
|
+
/** Full or Part time status of the employee. */
|
|
1451
|
+
PartOrFullTime?: PartOrFullTime;
|
|
1452
|
+
/** Exempt or Non-exempt status of the employee. */
|
|
1453
|
+
Exempt?: Exempt;
|
|
1454
|
+
/** Is employee a key or critical employee. */
|
|
1455
|
+
KeyEmployee?: KeyEmployee;
|
|
1456
|
+
/** The gender of this employee. */
|
|
1457
|
+
Gender?: Gender;
|
|
1458
|
+
/** An employee’s date of hire. */
|
|
1459
|
+
HiredDate?: string;
|
|
1460
|
+
/** Original hire date the employee was hired. */
|
|
1461
|
+
OriginalHireDate?: string;
|
|
1462
|
+
/** Adjusted service date for the employee. */
|
|
1463
|
+
AdjustedServiceDate?: string;
|
|
1464
|
+
/** The date on which this person’s employment with the company ended. */
|
|
1465
|
+
ReleasedDate?: string;
|
|
1466
|
+
/** Date of birth. */
|
|
1467
|
+
BirthDate?: string;
|
|
1468
|
+
/** Is employee a US citizen? */
|
|
1469
|
+
USCitizen?: USCitizen;
|
|
1470
|
+
/** Ethnicity of employee from `AmericianIndian`, Asian, Black, Hawaiian, Hispanic, White, `TwoOrMoreRaces`. */
|
|
1471
|
+
Ethnicity?: Ethnicity;
|
|
1472
|
+
/** Is employee disabled? */
|
|
1473
|
+
Disabled?: Disabled;
|
|
1474
|
+
/** Description of employee’s disablitily. */
|
|
1475
|
+
DisabilityDesc?: string;
|
|
1476
|
+
/** Is the employee’s I-9 on file? */
|
|
1477
|
+
OnFile?: OnFile;
|
|
1478
|
+
/** Date the employee’s work authorization expires. */
|
|
1479
|
+
WorkAuthExpireDate?: string;
|
|
1480
|
+
/** Is employee a US veteran? */
|
|
1481
|
+
USVeteran?: USVeteran;
|
|
1482
|
+
/** Military status if the employee is a US veteran. */
|
|
1483
|
+
MilitaryStatus?: MilitaryStatus;
|
|
1484
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
1485
|
+
AccountNumber?: string;
|
|
1486
|
+
/** Additional information. */
|
|
1487
|
+
Notes?: string;
|
|
1488
|
+
/** List of notes. */
|
|
1489
|
+
AdditionalNotesRet?: AdditionalNotesRet | AdditionalNotesRet[];
|
|
1490
|
+
/** Billing rates are used to override the service item rate in a time transaction (`TimeTrackingAdd`) based on the employee or vendor performing the work. Billing rates are assigned to an employee or a vendor to specify overrides to service items. */
|
|
1491
|
+
BillingRateRef?: BillingRateRef;
|
|
1492
|
+
/** Pay information for this employee. */
|
|
1493
|
+
EmployeePayrollInfo?: EmployeePayrollInfo;
|
|
1494
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
1495
|
+
ExternalGUID?: string;
|
|
1496
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1497
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
1498
|
+
}
|
|
1499
|
+
/** @default: Regular */
|
|
1500
|
+
declare type EmployeeType = "Officer" | "Owner" | "Regular" | "Statutory";
|
|
1501
|
+
interface EntityFilter {
|
|
1502
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1503
|
+
ListID?: string[] | string;
|
|
1504
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1505
|
+
FullName?: string[] | string;
|
|
1506
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
1507
|
+
ListIDWithChildren?: string;
|
|
1508
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. For names that do not have children, `FullNameWithChildren` is exactly the same as `FullName`. */
|
|
1509
|
+
FullNameWithChildren?: string;
|
|
1510
|
+
}
|
|
1511
|
+
interface EntityRef {
|
|
1512
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1513
|
+
ListID?: string;
|
|
1514
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1515
|
+
FullName?: string;
|
|
1516
|
+
}
|
|
1517
|
+
interface ErrorRecovery {
|
|
1518
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1519
|
+
ListID?: string;
|
|
1520
|
+
/** Refers to the owner of a data extension:
|
|
1521
|
+
|
|
1522
|
+
If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI. If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI.
|
|
1523
|
+
|
|
1524
|
+
Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters.
|
|
1525
|
+
|
|
1526
|
+
When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
1527
|
+
OwnerID?: string;
|
|
1528
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests.
|
|
1529
|
+
|
|
1530
|
+
Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
1531
|
+
TxnID?: string;
|
|
1532
|
+
/** An identifying number for this transaction. */
|
|
1533
|
+
TxnNumber?: number;
|
|
1534
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
1535
|
+
EditSequence?: string;
|
|
1536
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
1537
|
+
ExternalGUID?: string;
|
|
1538
|
+
}
|
|
1539
|
+
declare type Ethnicity = "AmericianIndian" | "Asian" | "Black" | "Hawaiian" | "Hispanic" | "TwoOrMoreRaces" | "White";
|
|
1540
|
+
declare type Exempt = "Exempt" | "NonExempt";
|
|
1541
|
+
interface ExpenseAccountRef {
|
|
1542
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1543
|
+
ListID?: string;
|
|
1544
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1545
|
+
FullName?: string;
|
|
1546
|
+
}
|
|
1547
|
+
interface ExpenseLineAdd {
|
|
1548
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.)Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts?The following requests increase the balance in a bank account:Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account:`CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
1549
|
+
AccountRef?: AccountRef;
|
|
1550
|
+
/** A monetary amount. */
|
|
1551
|
+
Amount?: string;
|
|
1552
|
+
/** Additional information about this expense line. */
|
|
1553
|
+
Memo?: string;
|
|
1554
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
1555
|
+
CustomerRef?: CustomerRef;
|
|
1556
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default.A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1557
|
+
ClassRef?: ClassRef;
|
|
1558
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales.A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1559
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1560
|
+
/** The billing status of this item line or expense line. */
|
|
1561
|
+
BillableStatus?: BillableStatus;
|
|
1562
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1563
|
+
SalesRepRef?: SalesRepRef;
|
|
1564
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1565
|
+
DataExt?: DataExt | DataExt[];
|
|
1566
|
+
}
|
|
1567
|
+
interface ExpenseLineMod {
|
|
1568
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1569
|
+
TxnLineID: string;
|
|
1570
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
1571
|
+
AccountRef?: AccountRef;
|
|
1572
|
+
/** A monetary amount. */
|
|
1573
|
+
Amount?: string;
|
|
1574
|
+
/** Additional information about this expense line. */
|
|
1575
|
+
Memo?: string;
|
|
1576
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
1577
|
+
CustomerRef?: CustomerRef;
|
|
1578
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1579
|
+
ClassRef?: ClassRef;
|
|
1580
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1581
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1582
|
+
/** The billing status of this item line or expense line. */
|
|
1583
|
+
BillableStatus?: BillableStatus;
|
|
1584
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1585
|
+
SalesRepRef?: SalesRepRef;
|
|
1586
|
+
}
|
|
1587
|
+
interface ExpenseLineRet {
|
|
1588
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1589
|
+
TxnLineID: string;
|
|
1590
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
1591
|
+
AccountRef?: AccountRef;
|
|
1592
|
+
/** A monetary amount. */
|
|
1593
|
+
Amount?: string;
|
|
1594
|
+
/** Additional information about this expense line. */
|
|
1595
|
+
Memo?: string;
|
|
1596
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
1597
|
+
CustomerRef?: CustomerRef;
|
|
1598
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1599
|
+
ClassRef?: ClassRef;
|
|
1600
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1601
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1602
|
+
/** The billing status of this item line or expense line. */
|
|
1603
|
+
BillableStatus?: BillableStatus;
|
|
1604
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1605
|
+
SalesRepRef?: SalesRepRef;
|
|
1606
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1607
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
1608
|
+
}
|
|
1609
|
+
declare type Gender = "Female" | "Male";
|
|
1610
|
+
interface IncomeAccountRef {
|
|
1611
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1612
|
+
ListID?: string;
|
|
1613
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1614
|
+
FullName?: string;
|
|
1615
|
+
}
|
|
1616
|
+
interface InventorySiteLocationRef {
|
|
1617
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1618
|
+
ListID?: string;
|
|
1619
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1620
|
+
FullName?: string;
|
|
1621
|
+
}
|
|
1622
|
+
interface InventorySiteRef {
|
|
1623
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1624
|
+
ListID?: string;
|
|
1625
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1626
|
+
FullName?: string;
|
|
1627
|
+
}
|
|
1628
|
+
interface ItemGroupLineAdd {
|
|
1629
|
+
/** `ItemGroup` objects represent items that are grouped together for fast entry, and an `ItemGroupRef` aggregate refers to one of these item groups. In a request, if an `ItemGroupRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. You can use an `ItemGroupQuery` request to get information about all the item groups that are set up in the QuickBooks file. */
|
|
1630
|
+
ItemGroupRef: ItemGroupRef;
|
|
1631
|
+
/** `QuantityFor` transactions: If an item line add on a transaction request specifies `Quantity` and `Amount` but not `Rate`, QuickBooks will use `Quantity` and `Amount` to calculate `Rate`. Likewise, if a request specifies `Quantity` and `Rate` but not `Amount`, QuickBooks will calculate the `Amount`. If a transaction add request includes a reference to an `ItemDiscount` item, do not include a `Quantity` element as well, or you will get an error. For Item requests: `Quantity` indicates how many of this item there are. */
|
|
1632
|
+
Quantity?: number;
|
|
1633
|
+
/** In a transaction line item, the name of the unit of measure selected from within the item’s available units. If the company file is enabled only for single unit of measure per item, this must be the base unit! */
|
|
1634
|
+
UnitOfMeasure?: string;
|
|
1635
|
+
/** Site where inventory is located. */
|
|
1636
|
+
InventorySiteRef?: InventorySiteRef;
|
|
1637
|
+
/** Location within the Inventory Site. */
|
|
1638
|
+
InventorySiteLocationRef?: InventorySiteLocationRef;
|
|
1639
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1640
|
+
DataExt?: DataExt | DataExt[];
|
|
1641
|
+
}
|
|
1642
|
+
interface ItemGroupLineMod {
|
|
1643
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1644
|
+
TxnLineID: string;
|
|
1645
|
+
/** `ItemGroup` objects represent items that are grouped together for fast entry, and an `ItemGroupRef` aggregate refers to one of these item groups. In a request, if an `ItemGroupRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. You can use an `ItemGroupQuery` request to get information about all the item groups that are set up in the QuickBooks file. */
|
|
1646
|
+
ItemGroupRef?: ItemGroupRef;
|
|
1647
|
+
/** `QuantityFor` transactions: If an item line add on a transaction request specifies `Quantity` and `Amount` but not `Rate`, QuickBooks will use `Quantity` and `Amount` to calculate `Rate`. Likewise, if a request specifies `Quantity` and `Rate` but not `Amount`, QuickBooks will calculate the `Amount`. If a transaction add request includes a reference to an `ItemDiscount` item, do not include a `Quantity` element as well, or you will get an error. For Item requests: `Quantity` indicates how many of this item there are. */
|
|
1648
|
+
Quantity?: number;
|
|
1649
|
+
/** In a transaction line item, the name of the unit of measure selected from within the item’s available units. If the company file is enabled only for single unit of measure per item, this must be the base unit! */
|
|
1650
|
+
UnitOfMeasure?: string;
|
|
1651
|
+
/** When you modify a transaction line to change the unit of measure used in that line, you use this aggregate to specify the UOM set within which you are choosing an available unit of measure. The “override” here refers to the unit within the set, not the UOM Set itself, which you cannot change or override–the UOM set that can be set or changed only in the item itself via an Item Mod request. */
|
|
1652
|
+
OverrideUOMSetRef?: OverrideUOMSetRef;
|
|
1653
|
+
/** A list of `IItemLineRet` objects, each representing one line of the item. Each item line is used to track a portion of a transaction that represents the purchase of an “item.” */
|
|
1654
|
+
ItemLineMod?: ItemLineMod | ItemLineMod[];
|
|
1655
|
+
}
|
|
1656
|
+
interface ItemGroupLineRet {
|
|
1657
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1658
|
+
TxnLineID: string;
|
|
1659
|
+
/** `ItemGroup` objects represent items that are grouped together for fast entry, and an `ItemGroupRef` aggregate refers to one of these item groups. In a request, if an `ItemGroupRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. You can use an `ItemGroupQuery` request to get information about all the item groups that are set up in the QuickBooks file. */
|
|
1660
|
+
ItemGroupRef: ItemGroupRef;
|
|
1661
|
+
/** A descriptive text field. */
|
|
1662
|
+
Desc?: string;
|
|
1663
|
+
/** `QuantityFor` transactions: If an item line add on a transaction request specifies `Quantity` and `Amount` but not `Rate`, QuickBooks will use `Quantity` and `Amount` to calculate `Rate`. Likewise, if a request specifies `Quantity` and `Rate` but not `Amount`, QuickBooks will calculate the `Amount`. If a transaction add request includes a reference to an `ItemDiscount` item, do not include a `Quantity` element as well, or you will get an error. For Item requests: `Quantity` indicates how many of this item there are. */
|
|
1664
|
+
Quantity?: number;
|
|
1665
|
+
/** In a transaction line item, the name of the unit of measure selected from within the item’s available units. If the company file is enabled only for single unit of measure per item, this must be the base unit! */
|
|
1666
|
+
UnitOfMeasure?: string;
|
|
1667
|
+
/** When you modify a transaction line to change the unit of measure used in that line, you use this aggregate to specify the UOM set within which you are choosing an available unit of measure. The “override” here refers to the unit within the set, not the UOM Set itself, which you cannot change or override–the UOM set that can be set or changed only in the item itself via an Item Mod request. */
|
|
1668
|
+
OverrideUOMSetRef?: OverrideUOMSetRef;
|
|
1669
|
+
/** Total amount of money paid or received. In a receive payment add transaction that has payment amount elements (such as `AppliedToTxnAdd` lines) you must supply a `TotalAmount` and the sum of all the `PaymentAmount` elements must not be greater than the `TotalAmount`. */
|
|
1670
|
+
TotalAmount: string;
|
|
1671
|
+
/** A list of `IItemLineRet` objects, each representing one line of the item. Each item line is used to track a portion of a transaction that represents the purchase of an “item.” */
|
|
1672
|
+
ItemLineRet?: ItemLineRet | ItemLineRet[];
|
|
1673
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1674
|
+
DataExt?: DataExt | DataExt[];
|
|
1675
|
+
}
|
|
1676
|
+
interface ItemGroupRef {
|
|
1677
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1678
|
+
ListID?: string;
|
|
1679
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1680
|
+
FullName?: string;
|
|
1681
|
+
}
|
|
1682
|
+
interface ItemLineAdd {
|
|
1683
|
+
/** Depending on the request containing it, `ItemRef` can refer to an item on any Item list such as `ItemDiscount`, `ItemInventory`, and so forth, or it may accept only a subset of item types. For example, here are some requests that impose limits on what items `ItemRef` can refer to. For `PurchaseOrder` and Bill requests, `ItemRef` cannot refer to discount items or sales-tax `itemsFor` `VehicleMilageAdd` requests, the `ItemRef` must refer to a service item or an other charge item.For `BillingRateAdd` requests, the `ItemRef` must refer to a service item. You can use an `ItemQuery` request to get information about all the items that are set up in the QuickBooks file. “Items” are line items used for fast entry on sales and purchase forms. They include services and goods that a business buys and sells, as well as special items that perform calculations–for example, subtotal, discount, and sales-tax items. Note: In a request, if an `ItemRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1684
|
+
ItemRef?: ItemRef;
|
|
1685
|
+
/** Site where inventory is located. */
|
|
1686
|
+
InventorySiteRef?: InventorySiteRef;
|
|
1687
|
+
/** Location within the Inventory Site. */
|
|
1688
|
+
InventorySiteLocationRef?: InventorySiteLocationRef;
|
|
1689
|
+
/** The serial number of the asset. */
|
|
1690
|
+
SerialNumber?: string;
|
|
1691
|
+
/** The lot number of the asset. */
|
|
1692
|
+
LotNumber?: string;
|
|
1693
|
+
/** A descriptive text field. */
|
|
1694
|
+
Desc?: string;
|
|
1695
|
+
/** `QuantityFor` transactions: If an item line add on a transaction request specifies `Quantity` and `Amount` but not `Rate`, QuickBooks will use `Quantity` and `Amount` to calculate `Rate`. Likewise, if a request specifies `Quantity` and `Rate` but not `Amount`, QuickBooks will calculate the `Amount`. If a transaction add request includes a reference to an `ItemDiscount` item, do not include a `Quantity` element as well, or you will get an error. For Item requests: `Quantity` indicates how many of this item there are. */
|
|
1696
|
+
Quantity?: number;
|
|
1697
|
+
/** In a transaction line item, the name of the unit of measure selected from within the item’s available units. If the company file is enabled only for single unit of measure per item, this must be the base unit! */
|
|
1698
|
+
UnitOfMeasure?: string;
|
|
1699
|
+
/** If both `Quantity` and `Amount` are specified, QuickBooks will use them to calculate `Cost`. Likewise, if both `Quantity` and `Cost` are specified, QuickBooks will use them to calculate the total `Amount`. */
|
|
1700
|
+
Cost?: string;
|
|
1701
|
+
/** A monetary amount. */
|
|
1702
|
+
Amount?: string;
|
|
1703
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
1704
|
+
CustomerRef?: CustomerRef;
|
|
1705
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default.A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1706
|
+
ClassRef?: ClassRef;
|
|
1707
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales.A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1708
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1709
|
+
/** The billing status of this item line or expense line. */
|
|
1710
|
+
BillableStatus?: BillableStatus;
|
|
1711
|
+
/** Refers to a QuickBooks account. If you are using QB Online edition, you cannot specify an accounts receivable account here. If an `OverrideItemAccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1712
|
+
OverrideItemAccountRef?: OverrideItemAccountRef;
|
|
1713
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1714
|
+
SalesRepRef?: SalesRepRef;
|
|
1715
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1716
|
+
DataExt?: DataExt | DataExt[];
|
|
1717
|
+
}
|
|
1718
|
+
interface ItemLineMod {
|
|
1719
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1720
|
+
TxnLineID: string;
|
|
1721
|
+
/** Depending on the request containing it, `ItemRef` can refer to an item on any Item list such as `ItemDiscount`, `ItemInventory`, and so forth, or it may accept only a subset of item types. For example, here are some requests that impose limits on what items `ItemRef` can refer to. For `PurchaseOrder` and Bill requests, `ItemRef` cannot refer to discount items or sales-tax `itemsFor` `VehicleMilageAdd` requests, the `ItemRef` must refer to a service item or an other charge item.For `BillingRateAdd` requests, the `ItemRef` must refer to a service item. You can use an `ItemQuery` request to get information about all the items that are set up in the QuickBooks file. “Items” are line items used for fast entry on sales and purchase forms. They include services and goods that a business buys and sells, as well as special items that perform calculations–for example, subtotal, discount, and sales-tax items. Note: In a request, if an `ItemRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1722
|
+
ItemRef?: ItemRef;
|
|
1723
|
+
/** Site where inventory is located. */
|
|
1724
|
+
InventorySiteRef?: InventorySiteRef;
|
|
1725
|
+
/** Location within the Inventory Site. */
|
|
1726
|
+
InventorySiteLocationRef?: InventorySiteLocationRef;
|
|
1727
|
+
/** The serial number of the asset. */
|
|
1728
|
+
SerialNumber?: string;
|
|
1729
|
+
/** The lot number of the asset. */
|
|
1730
|
+
LotNumber?: string;
|
|
1731
|
+
/** A descriptive text field. */
|
|
1732
|
+
Desc?: string;
|
|
1733
|
+
/** `QuantityFor` transactions: If an item line add on a transaction request specifies `Quantity` and `Amount` but not `Rate`, QuickBooks will use `Quantity` and `Amount` to calculate `Rate`. Likewise, if a request specifies `Quantity` and `Rate` but not `Amount`, QuickBooks will calculate the `Amount`. If a transaction add request includes a reference to an `ItemDiscount` item, do not include a `Quantity` element as well, or you will get an error. For Item requests: `Quantity` indicates how many of this item there are. */
|
|
1734
|
+
Quantity?: number;
|
|
1735
|
+
/** In a transaction line item, the name of the unit of measure selected from within the item’s available units. If the company file is enabled only for single unit of measure per item, this must be the base unit! */
|
|
1736
|
+
UnitOfMeasure?: string;
|
|
1737
|
+
/** When you modify a transaction line to change the unit of measure used in that line, you use this aggregate to specify the UOM set within which you are choosing an available unit of measure. The “override” here refers to the unit within the set, not the UOM Set itself, which you cannot change or override–the UOM set that can be set or changed only in the item itself via an Item Mod request. */
|
|
1738
|
+
OverrideUOMSetRef?: OverrideUOMSetRef;
|
|
1739
|
+
/** If both `Quantity` and `Amount` are specified, QuickBooks will use them to calculate `Cost`. Likewise, if both `Quantity` and `Cost` are specified, QuickBooks will use them to calculate the total `Amount`. */
|
|
1740
|
+
Cost?: string;
|
|
1741
|
+
/** A monetary amount. */
|
|
1742
|
+
Amount?: string;
|
|
1743
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
1744
|
+
CustomerRef?: CustomerRef;
|
|
1745
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1746
|
+
ClassRef?: ClassRef;
|
|
1747
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1748
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1749
|
+
/** The billing status of this item line or expense line. */
|
|
1750
|
+
BillableStatus?: BillableStatus;
|
|
1751
|
+
/** Refers to a QuickBooks account. If you are using QB Online edition, you cannot specify an accounts receivable account here. If an `OverrideItemAccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1752
|
+
OverrideItemAccountRef?: OverrideItemAccountRef;
|
|
1753
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1754
|
+
SalesRepRef?: SalesRepRef;
|
|
1755
|
+
}
|
|
1756
|
+
interface ItemLineRet {
|
|
1757
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1758
|
+
TxnLineID: string;
|
|
1759
|
+
/** Depending on the request containing it, `ItemRef` can refer to an item on any Item list such as `ItemDiscount`, `ItemInventory`, and so forth, or it may accept only a subset of item types. For example, here are some requests that impose limits on what items `ItemRef` can refer to. For `PurchaseOrder` and Bill requests, `ItemRef` cannot refer to discount items or sales-tax `itemsFor` `VehicleMilageAdd` requests, the `ItemRef` must refer to a service item or an other charge item.For `BillingRateAdd` requests, the `ItemRef` must refer to a service item. You can use an `ItemQuery` request to get information about all the items that are set up in the QuickBooks file. “Items” are line items used for fast entry on sales and purchase forms. They include services and goods that a business buys and sells, as well as special items that perform calculations–for example, subtotal, discount, and sales-tax items. Note: In a request, if an `ItemRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1760
|
+
ItemRef?: ItemRef;
|
|
1761
|
+
/** Site where inventory is located. */
|
|
1762
|
+
InventorySiteRef?: InventorySiteRef;
|
|
1763
|
+
/** Location within the Inventory Site. */
|
|
1764
|
+
InventorySiteLocationRef?: InventorySiteLocationRef;
|
|
1765
|
+
/** The serial number of the asset. */
|
|
1766
|
+
SerialNumber?: string;
|
|
1767
|
+
/** The lot number of the asset. */
|
|
1768
|
+
LotNumber?: string;
|
|
1769
|
+
/** A descriptive text field. */
|
|
1770
|
+
Desc?: string;
|
|
1771
|
+
/** `QuantityFor` transactions: If an item line add on a transaction request specifies `Quantity` and `Amount` but not `Rate`, QuickBooks will use `Quantity` and `Amount` to calculate `Rate`. Likewise, if a request specifies `Quantity` and `Rate` but not `Amount`, QuickBooks will calculate the `Amount`. If a transaction add request includes a reference to an `ItemDiscount` item, do not include a `Quantity` element as well, or you will get an error. For Item requests: `Quantity` indicates how many of this item there are. */
|
|
1772
|
+
Quantity?: number;
|
|
1773
|
+
/** In a transaction line item, the name of the unit of measure selected from within the item’s available units. If the company file is enabled only for single unit of measure per item, this must be the base unit! */
|
|
1774
|
+
UnitOfMeasure?: string;
|
|
1775
|
+
/** When you modify a transaction line to change the unit of measure used in that line, you use this aggregate to specify the UOM set within which you are choosing an available unit of measure. The “override” here refers to the unit within the set, not the UOM Set itself, which you cannot change or override–the UOM set that can be set or changed only in the item itself via an Item Mod request. */
|
|
1776
|
+
OverrideUOMSetRef?: OverrideUOMSetRef;
|
|
1777
|
+
/** If both `Quantity` and `Amount` are specified, QuickBooks will use them to calculate `Cost`. Likewise, if both `Quantity` and `Cost` are specified, QuickBooks will use them to calculate the total `Amount`. */
|
|
1778
|
+
Cost?: string;
|
|
1779
|
+
/** A monetary amount. */
|
|
1780
|
+
Amount?: string;
|
|
1781
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
1782
|
+
CustomerRef?: CustomerRef;
|
|
1783
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1784
|
+
ClassRef?: ClassRef;
|
|
1785
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1786
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1787
|
+
/** The billing status of this item line or expense line. */
|
|
1788
|
+
BillableStatus?: BillableStatus;
|
|
1789
|
+
/** A sales representative must be on the Employee, Vendor, or Other Names list within QuickBooks. Sales representative’s names and initials appear on the Rep drop-down list on QuickBooks sales forms. A `SalesRepRef` refers to a person on the `SalesRep` list. In a request, if a `SalesRepRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1790
|
+
SalesRepRef?: SalesRepRef;
|
|
1791
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1792
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
1793
|
+
}
|
|
1794
|
+
interface ItemRef {
|
|
1795
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1796
|
+
ListID?: string;
|
|
1797
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1798
|
+
FullName?: string;
|
|
1799
|
+
}
|
|
1800
|
+
interface ItemSalesTaxRef {
|
|
1801
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1802
|
+
ListID?: string;
|
|
1803
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1804
|
+
FullName?: string;
|
|
1805
|
+
}
|
|
1806
|
+
interface ItemServiceAdd {
|
|
1807
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
1808
|
+
Name: string;
|
|
1809
|
+
/** Barcode reference information. */
|
|
1810
|
+
BarCode?: BarCode;
|
|
1811
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1812
|
+
IsActive?: boolean;
|
|
1813
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1814
|
+
ClassRef?: ClassRef;
|
|
1815
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1816
|
+
ParentRef?: ParentRef;
|
|
1817
|
+
/** The unit of measure set consists of a base unit and 0-n related units. */
|
|
1818
|
+
UnitOfMeasureSetRef?: UnitOfMeasureSetRef;
|
|
1819
|
+
/** For future use with international versions of QuickBooks. */
|
|
1820
|
+
IsTaxIncluded?: boolean;
|
|
1821
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1822
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1823
|
+
/** A `SalesOrPurchase` aggregate is used for items that are meant to be either purchased or sold, but not both. For example, a `SalesOrPurchase` aggregate would be used for a non-inventory item that is purchased but not sold, or for a service item that is sold but not purchased. */
|
|
1824
|
+
SalesOrPurchase?: SalesOrPurchase;
|
|
1825
|
+
/** A `SalesAndPurchase` aggregate is used for items that are meant to be both purchased and sold, such as an “other charge” item that is reimbursable. */
|
|
1826
|
+
SalesAndPurchase?: SalesAndPurchase;
|
|
1827
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
1828
|
+
ExternalGUID?: string;
|
|
1829
|
+
}
|
|
1830
|
+
export interface ItemServiceAddRq {
|
|
1831
|
+
ItemServiceAdd: ItemServiceAdd;
|
|
1832
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
1833
|
+
IncludeRetElement?: string[] | string;
|
|
1834
|
+
}
|
|
1835
|
+
export interface ItemServiceAddRs {
|
|
1836
|
+
ItemServiceRet?: ItemServiceRet;
|
|
1837
|
+
ErrorRecovery?: ErrorRecovery;
|
|
1838
|
+
}
|
|
1839
|
+
interface ItemServiceMod {
|
|
1840
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1841
|
+
ListID: string;
|
|
1842
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
1843
|
+
EditSequence: string;
|
|
1844
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
1845
|
+
Name?: string;
|
|
1846
|
+
/** Barcode reference information. */
|
|
1847
|
+
BarCode?: BarCode;
|
|
1848
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1849
|
+
IsActive?: boolean;
|
|
1850
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1851
|
+
ClassRef?: ClassRef;
|
|
1852
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1853
|
+
ParentRef?: ParentRef;
|
|
1854
|
+
/** The unit of measure set consists of a base unit and 0-n related units. */
|
|
1855
|
+
UnitOfMeasureSetRef?: UnitOfMeasureSetRef;
|
|
1856
|
+
/** By Default `ForceUOMChange` is false. However, in item Mod requests, you need to set the `ForceUOMChange` field to True if you are changing the UOM set and the base unit of the new set does not match the base unit of the UOM set currently assigned to the item. This does the same thing as the user accepting the warning prompt in the UI. If you don’t set `ForceUOMChange` to True, you’ll get an error when you invoke the Item* Mod request.Y You should be aware that if you change the base unit for an item, you should also change the item’s quantities on hand and cost to reflect the new unit; otherwise the values will be inaccurate. An alternative to handle such UOM changes to an item is to create a new item with the desired UOM set and inactivate the old item. */
|
|
1857
|
+
ForceUOMChange?: boolean;
|
|
1858
|
+
/** For future use with international versions of QuickBooks. */
|
|
1859
|
+
IsTaxIncluded?: boolean;
|
|
1860
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1861
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1862
|
+
/** A `SalesOrPurchase` aggregate is used for items that are meant to be either purchased or sold, but not both. For example, a `SalesOrPurchase` aggregate would be used for a non-inventory item that is purchased but not sold, or for a service item that is sold but not purchased. */
|
|
1863
|
+
SalesOrPurchaseMod?: SalesOrPurchaseMod;
|
|
1864
|
+
/** A `SalesAndPurchase` aggregate is used for items that are meant to be both purchased and sold, such as an “other charge” item that is reimbursable. */
|
|
1865
|
+
SalesAndPurchaseMod?: SalesAndPurchaseMod;
|
|
1866
|
+
}
|
|
1867
|
+
export interface ItemServiceModRq {
|
|
1868
|
+
ItemServiceMod: ItemServiceMod;
|
|
1869
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
1870
|
+
IncludeRetElement?: string[] | string;
|
|
1871
|
+
}
|
|
1872
|
+
export interface ItemServiceModRs {
|
|
1873
|
+
ItemServiceRet?: ItemServiceRet;
|
|
1874
|
+
ErrorRecovery?: ErrorRecovery;
|
|
1875
|
+
}
|
|
1876
|
+
export interface ItemServiceQueryRq {
|
|
1877
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1878
|
+
ListID?: string[] | string;
|
|
1879
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1880
|
+
FullName?: string[] | string;
|
|
1881
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
1882
|
+
MaxReturned?: number;
|
|
1883
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
1884
|
+
ActiveStatus?: ActiveStatus;
|
|
1885
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
1886
|
+
FromModifiedDate?: string;
|
|
1887
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
1888
|
+
ToModifiedDate?: string;
|
|
1889
|
+
/** Filters according to the object’s `Name`. */
|
|
1890
|
+
NameFilter?: NameFilter;
|
|
1891
|
+
/** Filters according to the object’s `Name`. */
|
|
1892
|
+
NameRangeFilter?: NameRangeFilter;
|
|
1893
|
+
/** Filters according to the object’s class. */
|
|
1894
|
+
ClassFilter?: ClassFilter;
|
|
1895
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
1896
|
+
IncludeRetElement?: string[] | string;
|
|
1897
|
+
/** Zero or more `OwnerID` values. `OwnerID` refers to the owner of a data extension:If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI.If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI. Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
1898
|
+
OwnerID?: string[] | string;
|
|
1899
|
+
}
|
|
1900
|
+
export interface ItemServiceQueryRs {
|
|
1901
|
+
ItemServiceRet?: ItemServiceRet | ItemServiceRet[];
|
|
1902
|
+
}
|
|
1903
|
+
interface ItemServiceRef {
|
|
1904
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1905
|
+
ListID?: string;
|
|
1906
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1907
|
+
FullName?: string;
|
|
1908
|
+
}
|
|
1909
|
+
interface ItemServiceRet {
|
|
1910
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1911
|
+
ListID: string;
|
|
1912
|
+
/** Time the object was created. */
|
|
1913
|
+
TimeCreated: string;
|
|
1914
|
+
/** Time the object was last modified. */
|
|
1915
|
+
TimeModified: string;
|
|
1916
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
1917
|
+
EditSequence: string;
|
|
1918
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
1919
|
+
Name: string;
|
|
1920
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1921
|
+
FullName: string;
|
|
1922
|
+
/** Value of the barcode in the item. */
|
|
1923
|
+
BarCodeValue?: string;
|
|
1924
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1925
|
+
IsActive?: boolean;
|
|
1926
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1927
|
+
ClassRef?: ClassRef;
|
|
1928
|
+
/** A reference to the list object that is one level above this one. For example, an inventory item with the `FullName` of `GermanCars`:Mercedes-Benz:`CL500I99AA` might have a parent object with the `FullName` of `GermanCars`:Mercedes-Benz.In a request, if a `ParentRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
1929
|
+
ParentRef?: ParentRef;
|
|
1930
|
+
/** The number of ancestors. For example, The customer job with `Name` = carpets and `FullName` = Jones:Building2:carpets would have a sublevel of 2. */
|
|
1931
|
+
Sublevel: number;
|
|
1932
|
+
/** The unit of measure set consists of a base unit and 0-n related units. */
|
|
1933
|
+
UnitOfMeasureSetRef?: UnitOfMeasureSetRef;
|
|
1934
|
+
/** For future use with international versions of QuickBooks. */
|
|
1935
|
+
IsTaxIncluded?: boolean;
|
|
1936
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
1937
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1938
|
+
/** A `SalesOrPurchase` aggregate is used for items that are meant to be either purchased or sold, but not both. For example, a `SalesOrPurchase` aggregate would be used for a non-inventory item that is purchased but not sold, or for a service item that is sold but not purchased. */
|
|
1939
|
+
SalesOrPurchase?: SalesOrPurchase;
|
|
1940
|
+
/** A `SalesAndPurchase` aggregate is used for items that are meant to be both purchased and sold, such as an “other charge” item that is reimbursable. */
|
|
1941
|
+
SalesAndPurchase?: SalesAndPurchase;
|
|
1942
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
1943
|
+
ExternalGUID?: string;
|
|
1944
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1945
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
1946
|
+
}
|
|
1947
|
+
/** @default: None */
|
|
1948
|
+
declare type JobStatus = "Awarded" | "Closed" | "InProgress" | "None" | "NotAwarded" | "Pending";
|
|
1949
|
+
interface JobTypeRef {
|
|
1950
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
1951
|
+
ListID?: string;
|
|
1952
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
1953
|
+
FullName?: string;
|
|
1954
|
+
}
|
|
1955
|
+
interface JournalCreditLine {
|
|
1956
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1957
|
+
TxnLineID?: string;
|
|
1958
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
1959
|
+
AccountRef?: AccountRef;
|
|
1960
|
+
/** A monetary amount. */
|
|
1961
|
+
Amount?: string;
|
|
1962
|
+
/** Additional information. */
|
|
1963
|
+
Memo?: string;
|
|
1964
|
+
/** A QuickBooks “entity” is a customer, vendor, employee, or person on the QuickBooks “other names” list. Special cases to note: In a `BillToPayQuery` message, `EntityRef` refers to the vendor name.In `JournalCreditLine` and `JournalDebitLine` messages for A/R accounts, `EntityRef` must refer to a customer, or else the transaction will not be recorded. For A/P accounts the `EntityRef` must refer to a vendor, or else the transaction will not be recorded.In a `TimeTracking` message, `EntityRef` cannot refer to a customer, only to an employee, vendor, or person on the “other names” list whose time is being tracked. */
|
|
1965
|
+
EntityRef?: EntityRef;
|
|
1966
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1967
|
+
ClassRef?: ClassRef;
|
|
1968
|
+
/** A sales-tax item is used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. (Compare with the `ItemSalesTaxGroupAdd` message.) An `ItemSalesTaxRef` aggregate refers to an item on this list. In a request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Taxes can be reflected in transaction line items The following information refers to invoices specifically, but it also applies to sales receipts. Generally its best to assign a tax item or tax group item to an invoice and allow QuickBooks to apply the same tax to all taxable items on the invoice. However in some situations multiple tax combinations are required, so this method doesn’t work. In this case one must use techniques to apply the taxes in the invoice itself as line items. Using lines to apply taxes isn’t always straight forward. When applying taxes as line items, only single tax items can be used, tax groups can only be used for the entire invoice. If you have multiple taxes which apply to all taxable items, and one or more other taxes that only apply to some of the items on an invoice its better to use a tax group which applies to the entire invoice for the taxes which applies to all taxable items and then apply the other taxes in the invoice itself. One applies a tax or tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax line to multiple items in an invoice, but the tax is only applied automatically for the first tax line after the subtotal line. Any other tax lines which need to be applied to the subtotal line must supply their own amount. If you don’t supply an amount the amount comes out as zero and the tax line is useless. When one does supply an amount, the amount of tax on the subtotal also shows up in the rate column for that tax line. There isn’t any way for the rate to show up as anything other than the amount of the tax. If you have a complicated tax situation where no single tax applies to all taxable items on the invoice, you must choose a zero percent tax to apply for the entire invoice. It is recommended to name such a tax item “Tax Calculated On Invoice” so that it’s clear that the tax is not being applied by QuickBooks on the entire invoice. */
|
|
1969
|
+
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
1970
|
+
/** The billing status of this item line or expense line. */
|
|
1971
|
+
BillableStatus?: BillableStatus;
|
|
1972
|
+
}
|
|
1973
|
+
interface JournalDebitLine {
|
|
1974
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
1975
|
+
TxnLineID?: string;
|
|
1976
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
1977
|
+
AccountRef?: AccountRef;
|
|
1978
|
+
/** A monetary amount. */
|
|
1979
|
+
Amount?: string;
|
|
1980
|
+
/** Additional information. */
|
|
1981
|
+
Memo?: string;
|
|
1982
|
+
/** A QuickBooks “entity” is a customer, vendor, employee, or person on the QuickBooks “other names” list. Special cases to note: In a `BillToPayQuery` message, `EntityRef` refers to the vendor name.In `JournalCreditLine` and `JournalDebitLine` messages for A/R accounts, `EntityRef` must refer to a customer, or else the transaction will not be recorded. For A/P accounts the `EntityRef` must refer to a vendor, or else the transaction will not be recorded.In a `TimeTracking` message, `EntityRef` cannot refer to a customer, only to an employee, vendor, or person on the “other names” list whose time is being tracked. */
|
|
1983
|
+
EntityRef?: EntityRef;
|
|
1984
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
1985
|
+
ClassRef?: ClassRef;
|
|
1986
|
+
/** A sales-tax item is used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. (Compare with the `ItemSalesTaxGroupAdd` message.) An `ItemSalesTaxRef` aggregate refers to an item on this list. In a request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Taxes can be reflected in transaction line items The following information refers to invoices specifically, but it also applies to sales receipts. Generally its best to assign a tax item or tax group item to an invoice and allow QuickBooks to apply the same tax to all taxable items on the invoice. However in some situations multiple tax combinations are required, so this method doesn’t work. In this case one must use techniques to apply the taxes in the invoice itself as line items. Using lines to apply taxes isn’t always straight forward. When applying taxes as line items, only single tax items can be used, tax groups can only be used for the entire invoice. If you have multiple taxes which apply to all taxable items, and one or more other taxes that only apply to some of the items on an invoice its better to use a tax group which applies to the entire invoice for the taxes which applies to all taxable items and then apply the other taxes in the invoice itself. One applies a tax or tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax line to multiple items in an invoice, but the tax is only applied automatically for the first tax line after the subtotal line. Any other tax lines which need to be applied to the subtotal line must supply their own amount. If you don’t supply an amount the amount comes out as zero and the tax line is useless. When one does supply an amount, the amount of tax on the subtotal also shows up in the rate column for that tax line. There isn’t any way for the rate to show up as anything other than the amount of the tax. If you have a complicated tax situation where no single tax applies to all taxable items on the invoice, you must choose a zero percent tax to apply for the entire invoice. It is recommended to name such a tax item “Tax Calculated On Invoice” so that it’s clear that the tax is not being applied by QuickBooks on the entire invoice. */
|
|
1987
|
+
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
1988
|
+
/** The billing status of this item line or expense line. */
|
|
1989
|
+
BillableStatus?: BillableStatus;
|
|
1990
|
+
}
|
|
1991
|
+
interface JournalEntryAdd {
|
|
1992
|
+
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
1993
|
+
TxnDate?: string;
|
|
1994
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
1995
|
+
RefNumber?: string;
|
|
1996
|
+
/** When a change is an “adjustment,” the original information is retained, usually so an accountant can see the effects of the adjustment. */
|
|
1997
|
+
IsAdjustment?: boolean;
|
|
1998
|
+
/** Indicates whether the transaction is using a home currency or foreign currency. */
|
|
1999
|
+
IsHomeCurrencyAdjustment?: boolean;
|
|
2000
|
+
/** Flag that indicates the amount being entered is in the home currency. */
|
|
2001
|
+
IsAmountsEnteredInHomeCurrency?: boolean;
|
|
2002
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
2003
|
+
CurrencyRef?: CurrencyRef;
|
|
2004
|
+
/** The exchange rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the “home” currency. The exchange rate should be considered a snapshot of the rates in effect at the `AsOfDate`. You can update the exchange rate using the exchange rate property when you add a transaction. However, you need to obtain and supply the exchange rate. If you are using USD (United States Dollars) as the home currency and are connected to the Internet, you can download the current exchange rates for all active currencies automatically in the QuickBooks UI by selecting Lists->Currency->Activities->Download latest exchange rates. (Currently, you can’t do this in the SDK.) */
|
|
2005
|
+
ExchangeRate?: number;
|
|
2006
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
2007
|
+
ExternalGUID?: string;
|
|
2008
|
+
/** If no amount is included in the first debit line (or credit line) of a journal entry in the QuickBooks user interface, then subsequent SDK queries on that `JournalEntry` object will fail XML validation. */
|
|
2009
|
+
JournalDebitLine?: JournalDebitLine;
|
|
2010
|
+
/** If no amount is included in the first credit line (or debit line) of a journal entry in the QuickBooks user interface, then subsequent SDK queries on that `JournalEntry` object will fail XML validation. */
|
|
2011
|
+
JournalCreditLine?: JournalCreditLine;
|
|
2012
|
+
}
|
|
2013
|
+
export interface JournalEntryAddRq {
|
|
2014
|
+
JournalEntryAdd: JournalEntryAdd;
|
|
2015
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2016
|
+
IncludeRetElement?: string[] | string;
|
|
2017
|
+
}
|
|
2018
|
+
export interface JournalEntryAddRs {
|
|
2019
|
+
JournalEntryRet?: JournalEntryRet;
|
|
2020
|
+
ErrorRecovery?: ErrorRecovery;
|
|
2021
|
+
}
|
|
2022
|
+
interface JournalEntryMod {
|
|
2023
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
2024
|
+
TxnID: string;
|
|
2025
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
2026
|
+
EditSequence: string;
|
|
2027
|
+
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
2028
|
+
TxnDate?: string;
|
|
2029
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
2030
|
+
RefNumber?: string;
|
|
2031
|
+
/** When a change is an “adjustment,” the original information is retained, usually so an accountant can see the effects of the adjustment. */
|
|
2032
|
+
IsAdjustment?: boolean;
|
|
2033
|
+
/** Flag that indicates the amount being entered is in the home currency. */
|
|
2034
|
+
IsAmountsEnteredInHomeCurrency?: boolean;
|
|
2035
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
2036
|
+
CurrencyRef?: CurrencyRef;
|
|
2037
|
+
/** The exchange rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the “home” currency. The exchange rate should be considered a snapshot of the rates in effect at the `AsOfDate`. You can update the exchange rate using the exchange rate property when you add a transaction. However, you need to obtain and supply the exchange rate. If you are using USD (United States Dollars) as the home currency and are connected to the Internet, you can download the current exchange rates for all active currencies automatically in the QuickBooks UI by selecting Lists->Currency->Activities->Download latest exchange rates. (Currently, you can’t do this in the SDK.) */
|
|
2038
|
+
ExchangeRate?: number;
|
|
2039
|
+
/** `IORJournalLineList` The list of journal lines in a `JournalMod` request – note that in a mod request, inclding one line means that you must include all lines, modified or not. */
|
|
2040
|
+
JournalLineMod?: JournalLineMod | JournalLineMod[];
|
|
2041
|
+
}
|
|
2042
|
+
export interface JournalEntryModRq {
|
|
2043
|
+
JournalEntryMod: JournalEntryMod;
|
|
2044
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2045
|
+
IncludeRetElement?: string[] | string;
|
|
2046
|
+
}
|
|
2047
|
+
export interface JournalEntryModRs {
|
|
2048
|
+
JournalEntryRet?: JournalEntryRet;
|
|
2049
|
+
ErrorRecovery?: ErrorRecovery;
|
|
2050
|
+
}
|
|
2051
|
+
export interface JournalEntryQueryRq {
|
|
2052
|
+
/** One or more `TxnID` values. QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQuery` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
2053
|
+
TxnID?: string[] | string;
|
|
2054
|
+
/** A list of one or more `RefNumber` values. A `RefNumber` is a string of characters that refers to a transaction and that can be arbitrarily changed by the QuickBooks user. Note (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request, the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
2055
|
+
RefNumber?: string[] | string;
|
|
2056
|
+
/** A list of one or more case sensitive `RefNumber` values. A `RefNumber` is a string of characters that refers to a transaction and that can be arbitrarily changed by the QuickBooks user. You should use this case sensitive ref number list rather than the older `RefNumber` list, because it provides much better performance in certain circumstances. The older `refNumber` list provided slow performance if the `refNumber` values contained letters, not just digits. This `RefNumberCaseSensitive` list, new in SDK 4.0, eliminates this performance hit. */
|
|
2057
|
+
RefNumberCaseSensitive?: string[] | string;
|
|
2058
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
2059
|
+
MaxReturned?: number;
|
|
2060
|
+
/** Filters according to the dates when transactions were last modified. The `ModifiedDateRangeFilter` aggregate is not required to contain any elements, but if it is empty, we recommend that you leave it out altogether. Note that the time portion of the `FromModifiedDate` and `ToModifiedDate` fields was not supported in qbXML version 1.0 or 1.1. (To filter according to the dates when transactions were deleted, use a `TxnDeletedQuery` message.) */
|
|
2061
|
+
ModifiedDateRangeFilter?: ModifiedDateRangeFilter;
|
|
2062
|
+
/** Filters according to the original transaction dates. */
|
|
2063
|
+
TxnDateRangeFilter?: TxnDateRangeFilter;
|
|
2064
|
+
/** An entity refers to a person on the QuickBooks Customer list, Vendor list, Employee list, or Other Names list. You can use an `EntityQuery` request to get information about all the entities that are set up in the QuickBooks file. In an `ARRefundCreditCard` query, this must be a customer/customer job. */
|
|
2065
|
+
EntityFilter?: EntityFilter;
|
|
2066
|
+
/** Filters according to the account name or `ListID`. If the “Use account numbers” preference is enabled in the QuickBooks company file, you can specify an account number (instead of an account name) for `FullName` and get the account you’re looking for. But if numbers have been used as account names, confusion could arise. For example, if you queried for an account named 2050, and 2050 happened to be the account number of a totally different account, the query would not return what you asked for (the account named 2050), but instead would return the account with the account number 2050. This problem will not happen if the “Use account numbers” preference is turned off in the QuickBooks file, orthe account name exactly matches the account number. (In this case, query would return the correct account either way.) To avoid this problem: Do not name an account using a number unless the number exactly matches the account’s account number. If an account name must contain a number that does not match its own account number, have the QuickBooks user change the account’s name slightly, for example `to` 2050a. */
|
|
2067
|
+
AccountFilter?: AccountFilter;
|
|
2068
|
+
/** Filters according to `RefNumber`. */
|
|
2069
|
+
RefNumberFilter?: RefNumberFilter;
|
|
2070
|
+
/** Filters according to `RefNumber`. The filtering code will do a numerical comparison (if `FromRefNumber` and `ToRefNumber` only contain digits) or a lexicographical comparison (if either `FromRefNumber` or `ToRefNumber` contain any nondigit characters). In the first situation, if you need to query for a `RefNumber` that is larger than the maximum long integer value of 2147483647, one workaround is to specify a `FromRefNumber` that is less than or equal to 2147483647 without specifying a `ToRefNumber`. */
|
|
2071
|
+
RefNumberRangeFilter?: RefNumberRangeFilter;
|
|
2072
|
+
/** Filters by the specified currency. */
|
|
2073
|
+
CurrencyFilter?: CurrencyFilter;
|
|
2074
|
+
/** This filter allows you to omit line items from a query response to get a smaller result. The default value is false, so line items are omitted by default. Set `IncludeLineItems` to true to include line items in the response if you don’t mind getting a larger result. */
|
|
2075
|
+
IncludeLineItems?: boolean;
|
|
2076
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2077
|
+
IncludeRetElement?: string[] | string;
|
|
2078
|
+
/** Zero or more `OwnerID` values. `OwnerID` refers to the owner of a data extension:If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI.If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI. Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
2079
|
+
OwnerID?: string[] | string;
|
|
2080
|
+
}
|
|
2081
|
+
export interface JournalEntryQueryRs {
|
|
2082
|
+
JournalEntryRet?: JournalEntryRet | JournalEntryRet[];
|
|
2083
|
+
}
|
|
2084
|
+
interface JournalEntryRet {
|
|
2085
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
2086
|
+
TxnID: string;
|
|
2087
|
+
/** Time the object was created. */
|
|
2088
|
+
TimeCreated: string;
|
|
2089
|
+
/** Time the object was last modified. */
|
|
2090
|
+
TimeModified: string;
|
|
2091
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
2092
|
+
EditSequence: string;
|
|
2093
|
+
/** An identifying number for this transaction. */
|
|
2094
|
+
TxnNumber?: number;
|
|
2095
|
+
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
2096
|
+
TxnDate: string;
|
|
2097
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
2098
|
+
RefNumber?: string;
|
|
2099
|
+
/** When a change is an “adjustment,” the original information is retained, usually so an accountant can see the effects of the adjustment. */
|
|
2100
|
+
IsAdjustment?: boolean;
|
|
2101
|
+
/** Indicates whether the transaction is using a home currency or foreign currency. */
|
|
2102
|
+
IsHomeCurrencyAdjustment?: boolean;
|
|
2103
|
+
/** Flag that indicates the amount being entered is in the home currency. */
|
|
2104
|
+
IsAmountsEnteredInHomeCurrency?: boolean;
|
|
2105
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
2106
|
+
CurrencyRef?: CurrencyRef;
|
|
2107
|
+
/** The exchange rate is the market price for which this currency can be exchanged for the currency used by the QuickBooks company file as the “home” currency. The exchange rate should be considered a snapshot of the rates in effect at the `AsOfDate`. You can update the exchange rate using the exchange rate property when you add a transaction. However, you need to obtain and supply the exchange rate. If you are using USD (United States Dollars) as the home currency and are connected to the Internet, you can download the current exchange rates for all active currencies automatically in the QuickBooks UI by selecting Lists->Currency->Activities->Download latest exchange rates. (Currently, you can’t do this in the SDK.) */
|
|
2108
|
+
ExchangeRate?: number;
|
|
2109
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
2110
|
+
ExternalGUID?: string;
|
|
2111
|
+
/** If no amount is included in the first debit line (or credit line) of a journal entry in the QuickBooks user interface, then subsequent SDK queries on that `JournalEntry` object will fail XML validation. */
|
|
2112
|
+
JournalDebitLine?: JournalDebitLine;
|
|
2113
|
+
/** If no amount is included in the first credit line (or debit line) of a journal entry in the QuickBooks user interface, then subsequent SDK queries on that `JournalEntry` object will fail XML validation. */
|
|
2114
|
+
JournalCreditLine?: JournalCreditLine;
|
|
2115
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
2116
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
2117
|
+
}
|
|
2118
|
+
interface JournalLineMod {
|
|
2119
|
+
/** Identification number of the transaction line. (`TxnLineID` is supported as of v2.0 of the SDK. With qbXML v1.0 and v1.1, `TxnLineID` is always returned as zero.) If you need to add a new transaction line in a transaction Mod request, you can do so by setting the `TxnLineID` to -1. */
|
|
2120
|
+
TxnLineID: string;
|
|
2121
|
+
/** The type of journal line (debit or credit). */
|
|
2122
|
+
JournalLineType?: JournalLineType;
|
|
2123
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
2124
|
+
AccountRef?: AccountRef;
|
|
2125
|
+
/** A monetary amount. */
|
|
2126
|
+
Amount?: string;
|
|
2127
|
+
/** Additional information. */
|
|
2128
|
+
Memo?: string;
|
|
2129
|
+
/** A QuickBooks “entity” is a customer, vendor, employee, or person on the QuickBooks “other names” list. Special cases to note: In a `BillToPayQuery` message, `EntityRef` refers to the vendor name.In `JournalCreditLine` and `JournalDebitLine` messages for A/R accounts, `EntityRef` must refer to a customer, or else the transaction will not be recorded. For A/P accounts the `EntityRef` must refer to a vendor, or else the transaction will not be recorded.In a `TimeTracking` message, `EntityRef` cannot refer to a customer, only to an employee, vendor, or person on the “other names” list whose time is being tracked. */
|
|
2130
|
+
EntityRef?: EntityRef;
|
|
2131
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
2132
|
+
ClassRef?: ClassRef;
|
|
2133
|
+
/** A sales-tax item is used to calculate a single sales tax that is collected at a specified rate and paid to a single agency. (Compare with the `ItemSalesTaxGroupAdd` message.) An `ItemSalesTaxRef` aggregate refers to an item on this list. In a request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Taxes can be reflected in transaction line items The following information refers to invoices specifically, but it also applies to sales receipts. Generally its best to assign a tax item or tax group item to an invoice and allow QuickBooks to apply the same tax to all taxable items on the invoice. However in some situations multiple tax combinations are required, so this method doesn’t work. In this case one must use techniques to apply the taxes in the invoice itself as line items. Using lines to apply taxes isn’t always straight forward. When applying taxes as line items, only single tax items can be used, tax groups can only be used for the entire invoice. If you have multiple taxes which apply to all taxable items, and one or more other taxes that only apply to some of the items on an invoice its better to use a tax group which applies to the entire invoice for the taxes which applies to all taxable items and then apply the other taxes in the invoice itself. One applies a tax or tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax line to multiple items in an invoice, but the tax is only applied automatically for the first tax line after the subtotal line. Any other tax lines which need to be applied to the subtotal line must supply their own amount. If you don’t supply an amount the amount comes out as zero and the tax line is useless. When one does supply an amount, the amount of tax on the subtotal also shows up in the rate column for that tax line. There isn’t any way for the rate to show up as anything other than the amount of the tax. If you have a complicated tax situation where no single tax applies to all taxable items on the invoice, you must choose a zero percent tax to apply for the entire invoice. It is recommended to name such a tax item “Tax Calculated On Invoice” so that it’s clear that the tax is not being applied by QuickBooks on the entire invoice. */
|
|
2134
|
+
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
2135
|
+
/** The billing status of this item line or expense line. */
|
|
2136
|
+
BillableStatus?: BillableStatus;
|
|
2137
|
+
}
|
|
2138
|
+
declare type JournalLineType = "Credit" | "Debit";
|
|
2139
|
+
declare type KeyEmployee = "No" | "Yes";
|
|
2140
|
+
interface LinkedTxn {
|
|
2141
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
2142
|
+
TxnID: string;
|
|
2143
|
+
/** The type of transaction. */
|
|
2144
|
+
TxnType: TxnType;
|
|
2145
|
+
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
2146
|
+
TxnDate: string;
|
|
2147
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
2148
|
+
RefNumber?: string;
|
|
2149
|
+
/** Indicates the nature of the link between the transactions:`ltAMTTYPE` means the two transactions are linked based on an amount value (for example `an` invoice linked to a payment).`ltQUANTYPE` means the two transactions are linked based on a quantity. This affects transactions that are linked to sales orders, estimates and purchase orders. For example, an invoice might be created from a sales order, based on the quantity of items received. */
|
|
2150
|
+
LinkType?: LinkType;
|
|
2151
|
+
/** A monetary amount. */
|
|
2152
|
+
Amount: string;
|
|
2153
|
+
}
|
|
2154
|
+
declare type LinkType = "AMTTYPE" | "QUANTYPE";
|
|
2155
|
+
declare type MatchCriterion = "Contains" | "EndsWith" | "StartsWith";
|
|
2156
|
+
declare type MilitaryStatus = "Active" | "Reserve";
|
|
2157
|
+
interface ModifiedDateRangeFilter {
|
|
2158
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
2159
|
+
FromModifiedDate?: string;
|
|
2160
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
2161
|
+
ToModifiedDate?: string;
|
|
2162
|
+
}
|
|
2163
|
+
interface NameFilter {
|
|
2164
|
+
/** The criterion to match. */
|
|
2165
|
+
MatchCriterion: MatchCriterion;
|
|
2166
|
+
/** The string to match. */
|
|
2167
|
+
Name: string;
|
|
2168
|
+
}
|
|
2169
|
+
interface NameRangeFilter {
|
|
2170
|
+
/** The first name or item in the search range. If `FromName` is omitted, the range will begin with first name on the list. */
|
|
2171
|
+
FromName?: string;
|
|
2172
|
+
/** The final name or item in the search range. If `ToName` is omitted, the range will end with last name on the list. */
|
|
2173
|
+
ToName?: string;
|
|
2174
|
+
}
|
|
2175
|
+
declare type OnFile = "No" | "Yes";
|
|
2176
|
+
declare type Operator = "Equal" | "GreaterThan" | "GreaterThanEqual" | "LessThan" | "LessThanEqual";
|
|
2177
|
+
interface OverrideItemAccountRef {
|
|
2178
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2179
|
+
ListID?: string;
|
|
2180
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2181
|
+
FullName?: string;
|
|
2182
|
+
}
|
|
2183
|
+
interface OverrideUOMSetRef {
|
|
2184
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2185
|
+
ListID?: string;
|
|
2186
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2187
|
+
FullName?: string;
|
|
2188
|
+
}
|
|
2189
|
+
interface ParentRef {
|
|
2190
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2191
|
+
ListID?: string;
|
|
2192
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2193
|
+
FullName?: string;
|
|
2194
|
+
}
|
|
2195
|
+
declare type PartOrFullTime = "FullTime" | "PartTime";
|
|
2196
|
+
interface PayeeEntityRef {
|
|
2197
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2198
|
+
ListID?: string;
|
|
2199
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2200
|
+
FullName?: string;
|
|
2201
|
+
}
|
|
2202
|
+
declare type PayPeriod = "Biweekly" | "Daily" | "Monthly" | "Quarterly" | "Semimonthly" | "Weekly" | "Yearly";
|
|
2203
|
+
interface PayrollItemWageRef {
|
|
2204
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2205
|
+
ListID?: string;
|
|
2206
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2207
|
+
FullName?: string;
|
|
2208
|
+
}
|
|
2209
|
+
/** @default: None */
|
|
2210
|
+
declare type PreferredDeliveryMethod = "Email" | "Fax" | "None";
|
|
2211
|
+
interface PreferredPaymentMethodRef {
|
|
2212
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2213
|
+
ListID?: string;
|
|
2214
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2215
|
+
FullName?: string;
|
|
2216
|
+
}
|
|
2217
|
+
interface PrefillAccountRef {
|
|
2218
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2219
|
+
ListID?: string;
|
|
2220
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2221
|
+
FullName?: string;
|
|
2222
|
+
}
|
|
2223
|
+
interface PrefVendorRef {
|
|
2224
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2225
|
+
ListID?: string;
|
|
2226
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2227
|
+
FullName?: string;
|
|
2228
|
+
}
|
|
2229
|
+
interface PriceLevelRef {
|
|
2230
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2231
|
+
ListID?: string;
|
|
2232
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2233
|
+
FullName?: string;
|
|
2234
|
+
}
|
|
2235
|
+
interface PrimaryContact {
|
|
2236
|
+
/** The name of the contact. */
|
|
2237
|
+
ContactName: string;
|
|
2238
|
+
/** The value of the contact field. */
|
|
2239
|
+
ContactValue: string;
|
|
2240
|
+
/** Relationship of emergency contact information to the employee. */
|
|
2241
|
+
Relation?: Relation;
|
|
2242
|
+
}
|
|
2243
|
+
interface PurchaseTaxCodeRef {
|
|
2244
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2245
|
+
ListID?: string;
|
|
2246
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2247
|
+
FullName?: string;
|
|
2248
|
+
}
|
|
2249
|
+
interface RefNumberFilter {
|
|
2250
|
+
/** The criterion to match. */
|
|
2251
|
+
MatchCriterion: MatchCriterion;
|
|
2252
|
+
/** A string of characters that refers to this transaction and that can be arbitrarily changed by the QuickBooks user. In a `BillPaymentCheckAdd` request, if you want to set the check number, use `RefNumber`.`Note` (especially relevant to `CheckAdd` requests): When `RefNumber` is left blank in an SDK transaction add request (that is, or ), the `RefNumber` will be left blank in QuickBooks. This behavior is new as of QBFC3. It used to select the next sequential reference number since the last one used by QuickBooks, as though no `RefNumber` had been provided. This is especially relevant to `CheckAdd` requests because with the current behavior, you will not know the number until the check is printed. */
|
|
2253
|
+
RefNumber: string;
|
|
2254
|
+
}
|
|
2255
|
+
interface RefNumberRangeFilter {
|
|
2256
|
+
/** The first `RefNumber` in the search range. If `FromRefNumber` is omitted, the range will begin with first number on the list. */
|
|
2257
|
+
FromRefNumber?: string;
|
|
2258
|
+
/** The final `RefNumber` in the search range. If `ToRefNumber` is omitted, the range will end with last number on the list. */
|
|
2259
|
+
ToRefNumber?: string;
|
|
2260
|
+
}
|
|
2261
|
+
declare type Relation = "Brother" | "Daughter" | "Father" | "Friend" | "Mother" | "Other" | "Partner" | "Sister" | "Son" | "Spouse";
|
|
2262
|
+
/** @default: Quarterly */
|
|
2263
|
+
declare type ReportingPeriod = "Monthly" | "Quarterly";
|
|
2264
|
+
interface SalesAndPurchase {
|
|
2265
|
+
/** Appears in the `Description` column of a sales form when the QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for accounting purposes). */
|
|
2266
|
+
SalesDesc?: string;
|
|
2267
|
+
/** Price charged for this item. */
|
|
2268
|
+
SalesPrice?: string;
|
|
2269
|
+
/** Refers to an income account. If an `IncomeAccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2270
|
+
IncomeAccountRef?: IncomeAccountRef;
|
|
2271
|
+
/** Description that appears in the `Description` column of checks, bills, credit card charges, and item receipts (when an item is reordered). For a fixed asset, a description of the item as it was when it was purchased. */
|
|
2272
|
+
PurchaseDesc?: string;
|
|
2273
|
+
/** Amount that the QuickBooks user expects to pay when ordering or buying this item, or the amount that was actually paid for this item. */
|
|
2274
|
+
PurchaseCost?: string;
|
|
2275
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
2276
|
+
PurchaseTaxCodeRef?: PurchaseTaxCodeRef;
|
|
2277
|
+
/** Refers to an expense account. If an `ExpenseAccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2278
|
+
ExpenseAccountRef?: ExpenseAccountRef;
|
|
2279
|
+
/** The preferred vendor for this item. If a `PrefVendorRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2280
|
+
PrefVendorRef?: PrefVendorRef;
|
|
2281
|
+
}
|
|
2282
|
+
interface SalesAndPurchaseMod {
|
|
2283
|
+
/** Appears in the `Description` column of a sales form when the QuickBooks user sells this item. For a fixed asset, describes the sale of the asset (for accounting purposes). */
|
|
2284
|
+
SalesDesc?: string;
|
|
2285
|
+
/** Price charged for this item. */
|
|
2286
|
+
SalesPrice?: string;
|
|
2287
|
+
/** Refers to an income account. If an `IncomeAccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2288
|
+
IncomeAccountRef?: IncomeAccountRef;
|
|
2289
|
+
/** Used to support changing the `AccountRef` in the Mod request. When you do this, the QuickBooks UI normally displays a prompt asking whether the change should apply to existing transactions or not. Specifying False basically dismisses this with a “No” answer; specifying True dismisses it with a “Yes” answer and then changes the existing transactions that use the item with that `AccountRef`. Setting this to “True” should be used with caution and normally only after some user has indicated that they want those changes made to all those existing transactions! If any affected transactions are protected by a closing date and password, the `AccountRef` changes will not be made and so the Mod request will return an error without making the requested Mod. */
|
|
2290
|
+
ApplyIncomeAccountRefToExistingTxns?: boolean;
|
|
2291
|
+
/** Description that appears in the `Description` column of checks, bills, credit card charges, and item receipts (when an item is reordered). For a fixed asset, a description of the item as it was when it was purchased. */
|
|
2292
|
+
PurchaseDesc?: string;
|
|
2293
|
+
/** Amount that the QuickBooks user expects to pay when ordering or buying this item, or the amount that was actually paid for this item. */
|
|
2294
|
+
PurchaseCost?: string;
|
|
2295
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
2296
|
+
PurchaseTaxCodeRef?: PurchaseTaxCodeRef;
|
|
2297
|
+
/** Refers to an expense account. If an `ExpenseAccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2298
|
+
ExpenseAccountRef?: ExpenseAccountRef;
|
|
2299
|
+
/** Used to support changing the `AccountRef` in the Mod request. When you do this, the QuickBooks UI normally displays a prompt asking whether the change should apply to existing transactions or not. Specifying False basically dismisses this with a “No” answer; specifying True dismisses it with a “Yes” answer and then changes the existing transactions that use the item with that `AccountRef`. Setting this to “True” should be used with caution and normally only after some user has indicated that they want those changes made to all those existing transactions! If any affected transactions are protected by a closing date and password, the `AccountRef` changes will not be made and so the Mod request will return an error without making the requested Mod. */
|
|
2300
|
+
ApplyExpenseAccountRefToExistingTxns?: boolean;
|
|
2301
|
+
/** The preferred vendor for this item. If a `PrefVendorRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2302
|
+
PrefVendorRef?: PrefVendorRef;
|
|
2303
|
+
}
|
|
2304
|
+
interface SalesOrPurchase {
|
|
2305
|
+
/** A descriptive text field. */
|
|
2306
|
+
Desc?: string;
|
|
2307
|
+
/** The purchase price or sales price of this item. */
|
|
2308
|
+
Price?: string;
|
|
2309
|
+
/** The price expressed as a percent. (For example, an auto shop that calculates the cost of labor as a percentage of the cost of parts might have a service item called “Labor” that uses `PricePercent` instead of `Price`.) */
|
|
2310
|
+
PricePercent?: string;
|
|
2311
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
2312
|
+
AccountRef?: AccountRef;
|
|
2313
|
+
}
|
|
2314
|
+
interface SalesOrPurchaseMod {
|
|
2315
|
+
/** A descriptive text field. */
|
|
2316
|
+
Desc?: string;
|
|
2317
|
+
/** The purchase price or sales price of this item. */
|
|
2318
|
+
Price?: string;
|
|
2319
|
+
/** The price expressed as a percent. (For example, an auto shop that calculates the cost of labor as a percentage of the cost of parts might have a service item called “Labor” that uses `PricePercent` instead of `Price`.) */
|
|
2320
|
+
PricePercent?: string;
|
|
2321
|
+
/** The Account list is the company file’s list of accounts. An `AccountRef` aggregate refers to one of these accounts. (If an `AccountRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored.) Special cases to note:In a Check message, `AccountRef` refers to the account from which the funds are being drawn for this check, for example, Checking or Savings.In an `ExpenseLineAdd` message, you must include `AccountRef` if the “Require accounts” check box is selected in the QuickBooks Accounting preferences. (It is selected by default.) In a `CreditCardCredit` message, `AccountRef` refers to the bank account or credit card account to which the credit is applied.In a `CreditCardCharge` message, `AccountRef` refers to the bank or credit card company to whom money is owed. How do you increase and decrease amounts in bank accounts? The following requests increase the balance in a bank account: Deposit Add `ReceivePaymentAdd` Journal Entry Add Sales `ReceiptAdd` The following requests decrease the balance in a bank account: `CheckAdd` Bill `PaymentCheckAdd` `JournalEntryAdd` */
|
|
2322
|
+
AccountRef?: AccountRef;
|
|
2323
|
+
/** Used to support changing the `AccountRef` in the Mod request. When you do this, the QuickBooks UI normally displays a prompt asking whether the change should apply to existing transactions or not. Specifying False basically dismisses this with a “No” answer; specifying True dismisses it with a “Yes” answer and then changes the existing transactions that use the item with that `AccountRef`. Setting this to “True” should be used with caution and normally only after some user has indicated that they want those changes made to all those existing transactions! If any affected transactions are protected by a closing date and password, the `AccountRef` changes will not be made and so the Mod request will return an error without making the requested Mod. */
|
|
2324
|
+
ApplyAccountRefToExistingTxns?: boolean;
|
|
2325
|
+
}
|
|
2326
|
+
interface SalesRepRef {
|
|
2327
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2328
|
+
ListID?: string;
|
|
2329
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2330
|
+
FullName?: string;
|
|
2331
|
+
}
|
|
2332
|
+
interface SalesTaxCodeRef {
|
|
2333
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2334
|
+
ListID?: string;
|
|
2335
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2336
|
+
FullName?: string;
|
|
2337
|
+
}
|
|
2338
|
+
/** @default: Canada */
|
|
2339
|
+
declare type SalesTaxCountry = "Australia" | "Canada" | "UK" | "US";
|
|
2340
|
+
interface SalesTaxReturnRef {
|
|
2341
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2342
|
+
ListID?: string;
|
|
2343
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2344
|
+
FullName?: string;
|
|
2345
|
+
}
|
|
2346
|
+
interface SecondaryContact {
|
|
2347
|
+
/** The name of the contact. */
|
|
2348
|
+
ContactName: string;
|
|
2349
|
+
/** The value of the contact field. */
|
|
2350
|
+
ContactValue: string;
|
|
2351
|
+
/** Relationship of emergency contact information to the employee. */
|
|
2352
|
+
Relation?: Relation;
|
|
2353
|
+
}
|
|
2354
|
+
interface ShipAddress {
|
|
2355
|
+
/** The first line of an address. */
|
|
2356
|
+
Addr1?: string;
|
|
2357
|
+
/** The second line of an address (if a second line is needed). */
|
|
2358
|
+
Addr2?: string;
|
|
2359
|
+
/** The third line of an address (if a third line is needed). */
|
|
2360
|
+
Addr3?: string;
|
|
2361
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
2362
|
+
Addr4?: string;
|
|
2363
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
2364
|
+
Addr5?: string;
|
|
2365
|
+
/** The city name in an address. */
|
|
2366
|
+
City?: string;
|
|
2367
|
+
/** The state name in an address. */
|
|
2368
|
+
State?: string;
|
|
2369
|
+
/** The postal code in an address. */
|
|
2370
|
+
PostalCode?: string;
|
|
2371
|
+
/** The country name in an address, or, in returned Host information (`HostRet` or `HostInfo`), the country for which this edition of QuickBooks was designed. (Possible values are US, CA, UK, and AU.) */
|
|
2372
|
+
Country?: string;
|
|
2373
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
2374
|
+
Note?: string;
|
|
2375
|
+
}
|
|
2376
|
+
interface ShipAddressBlock {
|
|
2377
|
+
/** The first line of an address. */
|
|
2378
|
+
Addr1?: string;
|
|
2379
|
+
/** The second line of an address (if a second line is needed). */
|
|
2380
|
+
Addr2?: string;
|
|
2381
|
+
/** The third line of an address (if a third line is needed). */
|
|
2382
|
+
Addr3?: string;
|
|
2383
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
2384
|
+
Addr4?: string;
|
|
2385
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
2386
|
+
Addr5?: string;
|
|
2387
|
+
}
|
|
2388
|
+
interface ShipToAddress {
|
|
2389
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
2390
|
+
Name: string;
|
|
2391
|
+
/** The first line of an address. */
|
|
2392
|
+
Addr1?: string;
|
|
2393
|
+
/** The second line of an address (if a second line is needed). */
|
|
2394
|
+
Addr2?: string;
|
|
2395
|
+
/** The third line of an address (if a third line is needed). */
|
|
2396
|
+
Addr3?: string;
|
|
2397
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
2398
|
+
Addr4?: string;
|
|
2399
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
2400
|
+
Addr5?: string;
|
|
2401
|
+
/** The city name in an address. */
|
|
2402
|
+
City?: string;
|
|
2403
|
+
/** The state name in an address. */
|
|
2404
|
+
State?: string;
|
|
2405
|
+
/** The postal code in an address. */
|
|
2406
|
+
PostalCode?: string;
|
|
2407
|
+
/** The country name in an address, or, in returned Host information (`HostRet` or `HostInfo`), the country for which this edition of QuickBooks was designed. (Possible values are US, CA, UK, and AU.) */
|
|
2408
|
+
Country?: string;
|
|
2409
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
2410
|
+
Note?: string;
|
|
2411
|
+
/** Flag that address is the default ship to address. */
|
|
2412
|
+
DefaultShipTo?: boolean;
|
|
2413
|
+
}
|
|
2414
|
+
interface SickHours {
|
|
2415
|
+
/** The total number of hours currently available for the employee to use. If this value is empty, it will default to 0. */
|
|
2416
|
+
HoursAvailable?: string;
|
|
2417
|
+
/** Indicates how an employee accrues time off. If you include a blank `AccrualPeriod` element in an `EmployeeMod` message, you’ll receive an error. The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
2418
|
+
AccrualPeriod?: AccrualPeriod;
|
|
2419
|
+
/** The number of hours that the employee will accrue per accrual period. The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
2420
|
+
HoursAccrued?: string;
|
|
2421
|
+
/** The maximum number of hours that the employee can accrue. (QuickBooks itself does not enforce this limit, however. `HoursAvailable` can be greater than `MaximumHours`.) The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
2422
|
+
MaximumHours?: string;
|
|
2423
|
+
/** Indicates whether or not the hours accrued resets to zero at the beginning of the new year. If you include a blank `IsResettingHoursEachNewYear` element in an `EmployeeMod` message, you’ll receive an error. */
|
|
2424
|
+
IsResettingHoursEachNewYear?: boolean;
|
|
2425
|
+
/** When used in the `SickHours` or `VacationHours` aggregates, refers to the number of sick leave or vacation hours used in the current year. */
|
|
2426
|
+
HoursUsed?: string;
|
|
2427
|
+
/** When used in the `SickHours` or `VacationHours` aggregates, refers to the date on which sick leave or vacation hours in the current year began to accrue. */
|
|
2428
|
+
AccrualStartDate?: string;
|
|
2429
|
+
}
|
|
2430
|
+
declare type SpecialAccountType = "AccountsPayable" | "AccountsReceivable" | "CondenseItemAdjustmentExpenses" | "CostOfGoodsSold" | "DirectDepositLiabilities" | "Estimates" | "ExchangeGainLoss" | "InventoryAssets" | "ItemReceiptAccount" | "OpeningBalanceEquity" | "PayrollExpenses" | "PayrollLiabilities" | "PettyCash" | "PurchaseOrders" | "ReconciliationDifferences" | "RetainedEarnings" | "SalesOrders" | "SalesTaxPayable" | "UncategorizedExpenses" | "UncategorizedIncome" | "UndepositedFunds";
|
|
2431
|
+
interface SupervisorRef {
|
|
2432
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2433
|
+
ListID?: string;
|
|
2434
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2435
|
+
FullName?: string;
|
|
2436
|
+
}
|
|
2437
|
+
interface TaxLineInfoRet {
|
|
2438
|
+
/** An internal representation of the tax line associated with this account. */
|
|
2439
|
+
TaxLineID: number;
|
|
2440
|
+
/** The name of the tax line associated with this account, as it appears on the tax form. */
|
|
2441
|
+
TaxLineName?: string;
|
|
2442
|
+
}
|
|
2443
|
+
interface TaxOnPurchasesAccountRef {
|
|
2444
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2445
|
+
ListID?: string;
|
|
2446
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2447
|
+
FullName?: string;
|
|
2448
|
+
}
|
|
2449
|
+
interface TaxOnSalesAccountRef {
|
|
2450
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2451
|
+
ListID?: string;
|
|
2452
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2453
|
+
FullName?: string;
|
|
2454
|
+
}
|
|
2455
|
+
interface TermsRef {
|
|
2456
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2457
|
+
ListID?: string;
|
|
2458
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2459
|
+
FullName?: string;
|
|
2460
|
+
}
|
|
2461
|
+
interface TimeTrackingAdd {
|
|
2462
|
+
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
2463
|
+
TxnDate?: string;
|
|
2464
|
+
/** A QuickBooks “entity” is a customer, vendor, employee, or person on the QuickBooks “other names” list. Special cases to note: In a `BillToPayQuery` message, `EntityRef` refers to the vendor name.In `JournalCreditLine` and `JournalDebitLine` messages for A/R accounts, `EntityRef` must refer to a customer, or else the transaction will not be recorded. For A/P accounts the `EntityRef` must refer to a vendor, or else the transaction will not be recorded.In a `TimeTracking` message, `EntityRef` cannot refer to a customer, only to an employee, vendor, or person on the “other names” list whose time is being tracked. */
|
|
2465
|
+
EntityRef: EntityRef;
|
|
2466
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
2467
|
+
CustomerRef?: CustomerRef;
|
|
2468
|
+
/** A service item refers to services that a business charges for or purchases. Examples include specialized labor, consulting hours, and professional fees. An `ItemServiceRef` aggregate refers to an item on the `ItemService` list. In a request, if an `ItemServiceRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a `TimeTracking` message, `ItemServiceRef` refers to the type of work. If no `CustomerRef` is specified, then `ItemServiceRef` is not needed. If `IsBillable` is set to true, then `TimeTrackingAdd` must include both `ItemServiceRef` and `CustomerRef`. */
|
|
2469
|
+
ItemServiceRef?: ItemServiceRef;
|
|
2470
|
+
/** Time spent doing the work. In a `TimeTrackAdd` request, notice that although you can specify seconds, seconds are not returned in the response because the UI does not use seconds. */
|
|
2471
|
+
Duration: string;
|
|
2472
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
2473
|
+
ClassRef?: ClassRef;
|
|
2474
|
+
/** Each payroll wage item describes and names a payment scheme, for example, Regular Pay or Overtime Pay. A `PayrollItemWageRef` aggregate refers to one of these wage items. In a request, if a `PayrollItemWageRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Within QuickBooks, a timesheet can specify a payroll wage item only if the following criteria are met: The name on the timesheet (which corresponds to the `EntityRef` in the `TimeTracking` object) is on the QuickBooks Employee list, and The “Use time data to create paychecks” preference is turned on in the QuickBooks Payroll Info window that provides detailed employee information employee. */
|
|
2475
|
+
PayrollItemWageRef?: PayrollItemWageRef;
|
|
2476
|
+
/** Additional information. */
|
|
2477
|
+
Notes?: string;
|
|
2478
|
+
/** The billing status of this item line or expense line. */
|
|
2479
|
+
BillableStatus?: BillableStatus;
|
|
2480
|
+
/** NOT USABLE IN QBXML SPEC 6.0 AND LATER!! Use `BillableStatus` instead. If `IsBillable` is true, the tracked time is billable, and you must specify `CustomerRef` and `ItemServiceRef` so that an invoice can be created. If no invoice will be created, set `IsBillable` to false. (`IsBillable` is true by default.) */
|
|
2481
|
+
IsBillable?: boolean;
|
|
2482
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
2483
|
+
ExternalGUID?: string;
|
|
2484
|
+
}
|
|
2485
|
+
export interface TimeTrackingAddRq {
|
|
2486
|
+
TimeTrackingAdd: TimeTrackingAdd;
|
|
2487
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2488
|
+
IncludeRetElement?: string[] | string;
|
|
2489
|
+
}
|
|
2490
|
+
export interface TimeTrackingAddRs {
|
|
2491
|
+
TimeTrackingRet?: TimeTrackingRet;
|
|
2492
|
+
ErrorRecovery?: ErrorRecovery;
|
|
2493
|
+
}
|
|
2494
|
+
interface TimeTrackingEntityFilter {
|
|
2495
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2496
|
+
ListID?: string[] | string;
|
|
2497
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2498
|
+
FullName?: string[] | string;
|
|
2499
|
+
}
|
|
2500
|
+
interface TimeTrackingMod {
|
|
2501
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
2502
|
+
TxnID: string;
|
|
2503
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
2504
|
+
EditSequence: string;
|
|
2505
|
+
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
2506
|
+
TxnDate?: string;
|
|
2507
|
+
/** A QuickBooks “entity” is a customer, vendor, employee, or person on the QuickBooks “other names” list. Special cases to note: In a `BillToPayQuery` message, `EntityRef` refers to the vendor name.In `JournalCreditLine` and `JournalDebitLine` messages for A/R accounts, `EntityRef` must refer to a customer, or else the transaction will not be recorded. For A/P accounts the `EntityRef` must refer to a vendor, or else the transaction will not be recorded.In a `TimeTracking` message, `EntityRef` cannot refer to a customer, only to an employee, vendor, or person on the “other names” list whose time is being tracked. */
|
|
2508
|
+
EntityRef: EntityRef;
|
|
2509
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
2510
|
+
CustomerRef?: CustomerRef;
|
|
2511
|
+
/** A service item refers to services that a business charges for or purchases. Examples include specialized labor, consulting hours, and professional fees. An `ItemServiceRef` aggregate refers to an item on the `ItemService` list. In a request, if an `ItemServiceRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a `TimeTracking` message, `ItemServiceRef` refers to the type of work. If no `CustomerRef` is specified, then `ItemServiceRef` is not needed. If `IsBillable` is set to true, then `TimeTrackingAdd` must include both `ItemServiceRef` and `CustomerRef`. */
|
|
2512
|
+
ItemServiceRef?: ItemServiceRef;
|
|
2513
|
+
/** Time spent doing the work. In a `TimeTrackAdd` request, notice that although you can specify seconds, seconds are not returned in the response because the UI does not use seconds. */
|
|
2514
|
+
Duration: string;
|
|
2515
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
2516
|
+
ClassRef?: ClassRef;
|
|
2517
|
+
/** Each payroll wage item describes and names a payment scheme, for example, Regular Pay or Overtime Pay. A `PayrollItemWageRef` aggregate refers to one of these wage items. In a request, if a `PayrollItemWageRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Within QuickBooks, a timesheet can specify a payroll wage item only if the following criteria are met: The name on the timesheet (which corresponds to the `EntityRef` in the `TimeTracking` object) is on the QuickBooks Employee list, and The “Use time data to create paychecks” preference is turned on in the QuickBooks Payroll Info window that provides detailed employee information employee. */
|
|
2518
|
+
PayrollItemWageRef?: PayrollItemWageRef;
|
|
2519
|
+
/** Additional information. */
|
|
2520
|
+
Notes?: string;
|
|
2521
|
+
/** The billing status of this item line or expense line. */
|
|
2522
|
+
BillableStatus?: BillableStatus;
|
|
2523
|
+
}
|
|
2524
|
+
export interface TimeTrackingModRq {
|
|
2525
|
+
TimeTrackingMod: TimeTrackingMod;
|
|
2526
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2527
|
+
IncludeRetElement?: string[] | string;
|
|
2528
|
+
}
|
|
2529
|
+
export interface TimeTrackingModRs {
|
|
2530
|
+
TimeTrackingRet?: TimeTrackingRet;
|
|
2531
|
+
ErrorRecovery?: ErrorRecovery;
|
|
2532
|
+
}
|
|
2533
|
+
export interface TimeTrackingQueryRq {
|
|
2534
|
+
/** One or more `TxnID` values. QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQuery` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
2535
|
+
TxnID?: string[] | string;
|
|
2536
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
2537
|
+
MaxReturned?: number;
|
|
2538
|
+
/** Filters according to the dates when transactions were last modified. The `ModifiedDateRangeFilter` aggregate is not required to contain any elements, but if it is empty, we recommend that you leave it out altogether. Note that the time portion of the `FromModifiedDate` and `ToModifiedDate` fields was not supported in qbXML version 1.0 or 1.1. (To filter according to the dates when transactions were deleted, use a `TxnDeletedQuery` message.) */
|
|
2539
|
+
ModifiedDateRangeFilter?: ModifiedDateRangeFilter;
|
|
2540
|
+
/** Filters according to the original transaction dates. */
|
|
2541
|
+
TxnDateRangeFilter?: TxnDateRangeFilter;
|
|
2542
|
+
/** Allows you to query for one or more names on the QuickBooks Vendor list, Employee list, or Other Names list. */
|
|
2543
|
+
TimeTrackingEntityFilter?: TimeTrackingEntityFilter;
|
|
2544
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2545
|
+
IncludeRetElement?: string[] | string;
|
|
2546
|
+
}
|
|
2547
|
+
export interface TimeTrackingQueryRs {
|
|
2548
|
+
TimeTrackingRet?: TimeTrackingRet | TimeTrackingRet[];
|
|
2549
|
+
}
|
|
2550
|
+
interface TimeTrackingRet {
|
|
2551
|
+
/** QuickBooks generates a unique `TxnID` for each transaction that is added to QuickBooks. A `TxnID` returned from a request can be used to refer to the transaction in subsequent requests. Notice that you cannot supply the `TxnID` of a `TimeTracking` transaction to `TransactionQueryRq` requests. If you do, you get an error stating that no such record could be found, even though the transaction is in QuickBooks. This behavior reflects the behavior in the QuicKBooks UI in the Find window. */
|
|
2552
|
+
TxnID: string;
|
|
2553
|
+
/** Time the object was created. */
|
|
2554
|
+
TimeCreated: string;
|
|
2555
|
+
/** Time the object was last modified. */
|
|
2556
|
+
TimeModified: string;
|
|
2557
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
2558
|
+
EditSequence: string;
|
|
2559
|
+
/** An identifying number for this transaction. */
|
|
2560
|
+
TxnNumber?: number;
|
|
2561
|
+
/** The date of the transaction. In some cases, if you leave `TxnDate` out of an -Add message, QuickBooks will prefill `TxnDate` with the date of the last-saved transaction of the same type. */
|
|
2562
|
+
TxnDate: string;
|
|
2563
|
+
/** A QuickBooks “entity” is a customer, vendor, employee, or person on the QuickBooks “other names” list. Special cases to note: In a `BillToPayQuery` message, `EntityRef` refers to the vendor name.In `JournalCreditLine` and `JournalDebitLine` messages for A/R accounts, `EntityRef` must refer to a customer, or else the transaction will not be recorded. For A/P accounts the `EntityRef` must refer to a vendor, or else the transaction will not be recorded.In a `TimeTracking` message, `EntityRef` cannot refer to a customer, only to an employee, vendor, or person on the “other names” list whose time is being tracked. */
|
|
2564
|
+
EntityRef: EntityRef;
|
|
2565
|
+
/** The customer list includes information about the QuickBooks user’s customers and the individual jobs that are being performed for them. A `CustomerRef` aggregate refers to one of the customers (or customer jobs) on the list. In a request, if a `CustomerRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Special cases to note:In `SalesReceipt` and `ReceivePayment` requests, `CustomerRef` refers to the customer or customer job to which the payment is credited.In a `TimeTracking` request, `CustomerRef` refers to the customer or customer job to which this time could be billed. If `IsBillable` is set to true, `CustomerRef` is required in `TimeTrackingAdd`. In an `ExpenseLineAdd` request, if `AccountRef` refers to an A/P account, `CustomerRef` must refer to a vendor (not to a customer). If `AccountRef` refers to any other type of account, the `CustomerRef` must refer to a customer. */
|
|
2566
|
+
CustomerRef?: CustomerRef;
|
|
2567
|
+
/** A service item refers to services that a business charges for or purchases. Examples include specialized labor, consulting hours, and professional fees. An `ItemServiceRef` aggregate refers to an item on the `ItemService` list. In a request, if an `ItemServiceRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a `TimeTracking` message, `ItemServiceRef` refers to the type of work. If no `CustomerRef` is specified, then `ItemServiceRef` is not needed. If `IsBillable` is set to true, then `TimeTrackingAdd` must include both `ItemServiceRef` and `CustomerRef`. */
|
|
2568
|
+
ItemServiceRef?: ItemServiceRef;
|
|
2569
|
+
/** Time spent doing the work. In a `TimeTrackAdd` request, notice that although you can specify seconds, seconds are not returned in the response because the UI does not use seconds. */
|
|
2570
|
+
Duration: string;
|
|
2571
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
2572
|
+
ClassRef?: ClassRef;
|
|
2573
|
+
/** Each payroll wage item describes and names a payment scheme, for example, Regular Pay or Overtime Pay. A `PayrollItemWageRef` aggregate refers to one of these wage items. In a request, if a `PayrollItemWageRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. Within QuickBooks, a timesheet can specify a payroll wage item only if the following criteria are met: The name on the timesheet (which corresponds to the `EntityRef` in the `TimeTracking` object) is on the QuickBooks Employee list, and The “Use time data to create paychecks” preference is turned on in the QuickBooks Payroll Info window that provides detailed employee information employee. */
|
|
2574
|
+
PayrollItemWageRef?: PayrollItemWageRef;
|
|
2575
|
+
/** Additional information. */
|
|
2576
|
+
Notes?: string;
|
|
2577
|
+
/** The billing status of this item line or expense line. */
|
|
2578
|
+
BillableStatus?: BillableStatus;
|
|
2579
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
2580
|
+
ExternalGUID?: string;
|
|
2581
|
+
/** NOT USABLE IN QBXML SPEC 6.0 AND LATER!! Use `BillableStatus` instead. If `IsBillable` is true, the tracked time is billable, and you must specify `CustomerRef` and `ItemServiceRef` so that an invoice can be created. If no invoice will be created, set `IsBillable` to false. (`IsBillable` is true by default.) */
|
|
2582
|
+
IsBillable?: boolean;
|
|
2583
|
+
/** If `IsBilled` is true, the tracked time has already been billed. */
|
|
2584
|
+
IsBilled?: boolean;
|
|
2585
|
+
}
|
|
2586
|
+
interface TotalBalanceFilter {
|
|
2587
|
+
/** Indicates whether to filter for amounts that are less than, equal to or less than, exactly equal to, greater than, or equal to or greater than the given `Amount`. */
|
|
2588
|
+
Operator: Operator;
|
|
2589
|
+
/** The monetary amount to which `Operator` refers. */
|
|
2590
|
+
Amount: string;
|
|
2591
|
+
}
|
|
2592
|
+
interface TxnDateRangeFilter {
|
|
2593
|
+
/** Selects transactions created on or after this date. Both `FromTxnDate` and `ToTxnDate` must be between 01/01/1901 and 12/31/9999.If you omit `FromTxnDate`, it will be set to 1970-01-01 (1969-12-31 PST). */
|
|
2594
|
+
FromTxnDate?: string;
|
|
2595
|
+
/** Selects transactions created on or before this date. Both `ToTxnDate` and `FromTxnDate` must be between 01/01/1901 and 12/31/9999. If you omit `ToTxnDate`, it will be set to 2038-01-19 (2038-01-18 PST). */
|
|
2596
|
+
ToTxnDate?: string;
|
|
2597
|
+
/** Refers to the transaction date, not the last modification date. Do not include `DateMacro` if either `FromModifedDate` or `ToModifiedDate` are specified. If a query does not specify `DateMacro`, `FromModifedDate`, or `ToModifiedDate`, it includes all dates. `DateMacro` values, in alphabetical order, that are new with QBFC3: `dmAll`, `dmdmLastCalendarQuarter`, `dmdmLastCalendarQuarterToDate`, `dmdmLastCalendarYear`, `dmdmLastCalendarYearToDate`, `dmLastFiscalQuarterToDate`, `dmLastFiscalYearToDate`, `dmLastMonthToDate`, `dmLastWeekToDate`, `dmNextCalendarQuarter`, `dmNextCalendarYear`, `dmNextFiscalQuarter`, `dmNextFiscalYear`, `dmNextFourWeeks`, `dmNextMonth`, `dmNextWeek`, `dmThisCalendarQuarter`, `dmThisCalendarQuarterToDate`, `dmThisCalendarYear`, dm `ThisCalendarYearToDate`, `dmThisFiscalQuarter`, `dmThisFiscalYear`, `dmThisMonth`, `dmThisWeek`, `dmThisWeekToDate`, `dmToday`, `dmYesterday` The list given when you click `IQBENDateMacroType` shows the complete list of valid version 3.0 values. */
|
|
2598
|
+
DateMacro?: DateMacro;
|
|
2599
|
+
}
|
|
2600
|
+
declare type TxnType = "ARRefundCreditCard" | "Bill" | "BillPaymentCheck" | "BillPaymentCreditCard" | "BuildAssembly" | "Charge" | "Check" | "CreditCardCharge" | "CreditCardCredit" | "CreditMemo" | "Deposit" | "Estimate" | "InventoryAdjustment" | "Invoice" | "ItemReceipt" | "JournalEntry" | "LiabilityAdjustment" | "Paycheck" | "PayrollLiabilityCheck" | "PurchaseOrder" | "ReceivePayment" | "SalesOrder" | "SalesReceipt" | "SalesTaxPaymentCheck" | "Transfer" | "VendorCredit" | "YTDAdjustment";
|
|
2601
|
+
interface UnitOfMeasureSetRef {
|
|
2602
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2603
|
+
ListID?: string;
|
|
2604
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2605
|
+
FullName?: string;
|
|
2606
|
+
}
|
|
2607
|
+
declare type USCitizen = "No" | "Yes";
|
|
2608
|
+
declare type UseTimeDataToCreatePaychecks = "DoNotUseTimeData" | "NotSet" | "UseTimeData";
|
|
2609
|
+
declare type USVeteran = "No" | "Yes";
|
|
2610
|
+
interface VacationHours {
|
|
2611
|
+
/** The total number of hours currently available for the employee to use. If this value is empty, it will default to 0. */
|
|
2612
|
+
HoursAvailable?: string;
|
|
2613
|
+
/** Indicates how an employee accrues time off. If you include a blank `AccrualPeriod` element in an `EmployeeMod` message, you’ll receive an error. The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
2614
|
+
AccrualPeriod?: AccrualPeriod;
|
|
2615
|
+
/** The number of hours that the employee will accrue per accrual period. The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
2616
|
+
HoursAccrued?: string;
|
|
2617
|
+
/** The maximum number of hours that the employee can accrue. (QuickBooks itself does not enforce this limit, however. `HoursAvailable` can be greater than `MaximumHours`.) The default value is whatever the QuickBooks user has set in the QuickBooks Employee Preferences. */
|
|
2618
|
+
MaximumHours?: string;
|
|
2619
|
+
/** Indicates whether or not the hours accrued resets to zero at the beginning of the new year. If you include a blank `IsResettingHoursEachNewYear` element in an `EmployeeMod` message, you’ll receive an error. */
|
|
2620
|
+
IsResettingHoursEachNewYear?: boolean;
|
|
2621
|
+
/** When used in the `SickHours` or `VacationHours` aggregates, refers to the number of sick leave or vacation hours used in the current year. */
|
|
2622
|
+
HoursUsed?: string;
|
|
2623
|
+
/** When used in the `SickHours` or `VacationHours` aggregates, refers to the date on which sick leave or vacation hours in the current year began to accrue. */
|
|
2624
|
+
AccrualStartDate?: string;
|
|
2625
|
+
}
|
|
2626
|
+
interface VendorAdd {
|
|
2627
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
2628
|
+
Name: string;
|
|
2629
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
2630
|
+
IsActive?: boolean;
|
|
2631
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
2632
|
+
ClassRef?: ClassRef;
|
|
2633
|
+
/** The name of the QuickBooks user’s business, as specified in QuickBooks. `CompanyName` and `Address` are used on invoices, checks, and other forms. (`LegalCompanyName` and `LegalAddress`, on the other hand, are used on a company’s tax forms and pay stubs.) */
|
|
2634
|
+
CompanyName?: string;
|
|
2635
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
2636
|
+
Salutation?: string;
|
|
2637
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2638
|
+
FirstName?: string;
|
|
2639
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2640
|
+
MiddleName?: string;
|
|
2641
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2642
|
+
LastName?: string;
|
|
2643
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
2644
|
+
JobTitle?: string;
|
|
2645
|
+
/** If an address request fails, some combination of address fields might be too long. */
|
|
2646
|
+
VendorAddress?: VendorAddress;
|
|
2647
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
2648
|
+
ShipAddress?: ShipAddress;
|
|
2649
|
+
/** The telephone number. */
|
|
2650
|
+
Phone?: string;
|
|
2651
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
2652
|
+
AltPhone?: string;
|
|
2653
|
+
/** Fax number. */
|
|
2654
|
+
Fax?: string;
|
|
2655
|
+
/** E-mail address. */
|
|
2656
|
+
Email?: string;
|
|
2657
|
+
/** Email address that would be carbon copied or CC. */
|
|
2658
|
+
Cc?: string;
|
|
2659
|
+
/** The name of a contact person for a customer or vendor. */
|
|
2660
|
+
Contact?: string;
|
|
2661
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
2662
|
+
AltContact?: string;
|
|
2663
|
+
/** List of additional contacts. */
|
|
2664
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
2665
|
+
/** A list of contact records. */
|
|
2666
|
+
Contacts?: Contacts | Contacts[];
|
|
2667
|
+
/** The vendor’s name as it will appear on checks sent to the vendor. (Corresponds in the QuickBooks user interface to the “Print on Check as” field of the Edit Vendor and New Vendor windows.) */
|
|
2668
|
+
NameOnCheck?: string;
|
|
2669
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
2670
|
+
AccountNumber?: string;
|
|
2671
|
+
/** Additional information about this vendor. */
|
|
2672
|
+
Notes?: string;
|
|
2673
|
+
/** List of notes. */
|
|
2674
|
+
AdditionalNotes?: AdditionalNotes | AdditionalNotes[];
|
|
2675
|
+
/** Vendor types allow business owners to categorize vendors in ways that are meaningful for their businesses. For example, a vendor type might indicate which industry a vendor represents, or which part of the country a vendor is in. A `VendorTypeRef` aggregate refers to one of the types on the `VendorType` list. In a request, if a `VendorTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2676
|
+
VendorTypeRef?: VendorTypeRef;
|
|
2677
|
+
/** Refers to the payment terms associated with this entity. (This will be an item on the `DateDrivenTerms` or `StandardTerms` list.) If a `TermsRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2678
|
+
TermsRef?: TermsRef;
|
|
2679
|
+
/** Set and returned as a positive number that indicates a customer’s or vendor’s credit limit. If no value has been defined, there is no credit limit. */
|
|
2680
|
+
CreditLimit?: string;
|
|
2681
|
+
/** A character string that identifies a vendor. */
|
|
2682
|
+
VendorTaxIdent?: string;
|
|
2683
|
+
/** If `IsVendorEligibleFor1099` is set to true, `VendorTaxIdent` and `VendorAddress` are required in a vendor add request message. Otherwise, `VendorTaxIdent` and `VendorAddress` are optional. */
|
|
2684
|
+
IsVendorEligibleFor1099?: boolean;
|
|
2685
|
+
/** The opening balance of this vendor’s account. A positive number indicates money owed to this vendor. */
|
|
2686
|
+
OpenBalance?: string;
|
|
2687
|
+
/** The date of the opening balance for this vendor. */
|
|
2688
|
+
OpenBalanceDate?: string;
|
|
2689
|
+
/** Billing rates are used to override the service item rate in a time transaction (`TimeTrackingAdd`) based on the employee or vendor performing the work. Billing rates are assigned to an employee or a vendor to specify overrides to service items. */
|
|
2690
|
+
BillingRateRef?: BillingRateRef;
|
|
2691
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
2692
|
+
ExternalGUID?: string;
|
|
2693
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
2694
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
2695
|
+
/** The country that sales tax is collected for. */
|
|
2696
|
+
SalesTaxCountry?: SalesTaxCountry;
|
|
2697
|
+
/** Indicates whether the entity is a sales tax agency. */
|
|
2698
|
+
IsSalesTaxAgency?: boolean;
|
|
2699
|
+
/** Sales tax return information. */
|
|
2700
|
+
SalesTaxReturnRef?: SalesTaxReturnRef;
|
|
2701
|
+
/** The tax registration number used in CA and UK. */
|
|
2702
|
+
TaxRegistrationNumber?: string;
|
|
2703
|
+
/** Vendor reporting period for CA or UK. This can be monthly or quarterly. */
|
|
2704
|
+
ReportingPeriod?: ReportingPeriod;
|
|
2705
|
+
/** This flag is used for CA or UK and whether tax is tracked on purchases. */
|
|
2706
|
+
IsTaxTrackedOnPurchases?: boolean;
|
|
2707
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
2708
|
+
TaxOnPurchasesAccountRef?: TaxOnPurchasesAccountRef;
|
|
2709
|
+
/** This flag is used for CA or UK and whether tax is tracked on sales. */
|
|
2710
|
+
IsTaxTrackedOnSales?: boolean;
|
|
2711
|
+
/** Account used for taxes on sales in CA or UK. */
|
|
2712
|
+
TaxOnSalesAccountRef?: TaxOnSalesAccountRef;
|
|
2713
|
+
/** For vendor in CA or UK, is there tax charged on top of tax. */
|
|
2714
|
+
IsTaxOnTax?: boolean;
|
|
2715
|
+
/** Expense account to prefill when you enter bills for this vendor. */
|
|
2716
|
+
PrefillAccountRef?: PrefillAccountRef | PrefillAccountRef[];
|
|
2717
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
2718
|
+
CurrencyRef?: CurrencyRef;
|
|
2719
|
+
}
|
|
2720
|
+
interface VendorAddress {
|
|
2721
|
+
/** The first line of an address. */
|
|
2722
|
+
Addr1?: string;
|
|
2723
|
+
/** The second line of an address (if a second line is needed). */
|
|
2724
|
+
Addr2?: string;
|
|
2725
|
+
/** The third line of an address (if a third line is needed). */
|
|
2726
|
+
Addr3?: string;
|
|
2727
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
2728
|
+
Addr4?: string;
|
|
2729
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
2730
|
+
Addr5?: string;
|
|
2731
|
+
/** The city name in an address. */
|
|
2732
|
+
City?: string;
|
|
2733
|
+
/** The state name in an address. */
|
|
2734
|
+
State?: string;
|
|
2735
|
+
/** The postal code in an address. */
|
|
2736
|
+
PostalCode?: string;
|
|
2737
|
+
/** The country name in an address, or, in returned Host information (`HostRet` or `HostInfo`), the country for which this edition of QuickBooks was designed. (Possible values are US, CA, UK, and AU.) */
|
|
2738
|
+
Country?: string;
|
|
2739
|
+
/** In a `BillAddress` or `ShipAddress` aggregate, the `Note` field value is written at the bottom of the address in the form in which it appears, such as the invoice form. */
|
|
2740
|
+
Note?: string;
|
|
2741
|
+
}
|
|
2742
|
+
interface VendorAddressBlock {
|
|
2743
|
+
/** The first line of an address. */
|
|
2744
|
+
Addr1?: string;
|
|
2745
|
+
/** The second line of an address (if a second line is needed). */
|
|
2746
|
+
Addr2?: string;
|
|
2747
|
+
/** The third line of an address (if a third line is needed). */
|
|
2748
|
+
Addr3?: string;
|
|
2749
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
2750
|
+
Addr4?: string;
|
|
2751
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
2752
|
+
Addr5?: string;
|
|
2753
|
+
}
|
|
2754
|
+
export interface VendorAddRq {
|
|
2755
|
+
VendorAdd: VendorAdd;
|
|
2756
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2757
|
+
IncludeRetElement?: string[] | string;
|
|
2758
|
+
}
|
|
2759
|
+
export interface VendorAddRs {
|
|
2760
|
+
VendorRet?: VendorRet;
|
|
2761
|
+
ErrorRecovery?: ErrorRecovery;
|
|
2762
|
+
}
|
|
2763
|
+
interface VendorMod {
|
|
2764
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2765
|
+
ListID: string;
|
|
2766
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
2767
|
+
EditSequence: string;
|
|
2768
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
2769
|
+
Name?: string;
|
|
2770
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
2771
|
+
IsActive?: boolean;
|
|
2772
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
2773
|
+
ClassRef?: ClassRef;
|
|
2774
|
+
/** The name of the QuickBooks user’s business, as specified in QuickBooks. `CompanyName` and `Address` are used on invoices, checks, and other forms. (`LegalCompanyName` and `LegalAddress`, on the other hand, are used on a company’s tax forms and pay stubs.) */
|
|
2775
|
+
CompanyName?: string;
|
|
2776
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
2777
|
+
Salutation?: string;
|
|
2778
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2779
|
+
FirstName?: string;
|
|
2780
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2781
|
+
MiddleName?: string;
|
|
2782
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2783
|
+
LastName?: string;
|
|
2784
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
2785
|
+
JobTitle?: string;
|
|
2786
|
+
/** If an address request fails, some combination of address fields might be too long. */
|
|
2787
|
+
VendorAddress?: VendorAddress;
|
|
2788
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
2789
|
+
ShipAddress?: ShipAddress;
|
|
2790
|
+
/** The telephone number. */
|
|
2791
|
+
Phone?: string;
|
|
2792
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
2793
|
+
AltPhone?: string;
|
|
2794
|
+
/** Fax number. */
|
|
2795
|
+
Fax?: string;
|
|
2796
|
+
/** E-mail address. */
|
|
2797
|
+
Email?: string;
|
|
2798
|
+
/** Email address that would be carbon copied or CC. */
|
|
2799
|
+
Cc?: string;
|
|
2800
|
+
/** The name of a contact person for a customer or vendor. */
|
|
2801
|
+
Contact?: string;
|
|
2802
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
2803
|
+
AltContact?: string;
|
|
2804
|
+
/** List of additional contacts. */
|
|
2805
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
2806
|
+
/** A list of contact records. */
|
|
2807
|
+
ContactsMod?: ContactsMod | ContactsMod[];
|
|
2808
|
+
/** The vendor’s name as it will appear on checks sent to the vendor. (Corresponds in the QuickBooks user interface to the “Print on Check as” field of the Edit Vendor and New Vendor windows.) */
|
|
2809
|
+
NameOnCheck?: string;
|
|
2810
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
2811
|
+
AccountNumber?: string;
|
|
2812
|
+
/** Additional information about this vendor. */
|
|
2813
|
+
Notes?: string;
|
|
2814
|
+
/** List of notes. */
|
|
2815
|
+
AdditionalNotesMod?: AdditionalNotesMod | AdditionalNotesMod[];
|
|
2816
|
+
/** Vendor types allow business owners to categorize vendors in ways that are meaningful for their businesses. For example, a vendor type might indicate which industry a vendor represents, or which part of the country a vendor is in. A `VendorTypeRef` aggregate refers to one of the types on the `VendorType` list. In a request, if a `VendorTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2817
|
+
VendorTypeRef?: VendorTypeRef;
|
|
2818
|
+
/** Refers to the payment terms associated with this entity. (This will be an item on the `DateDrivenTerms` or `StandardTerms` list.) If a `TermsRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2819
|
+
TermsRef?: TermsRef;
|
|
2820
|
+
/** Set and returned as a positive number that indicates a customer’s or vendor’s credit limit. If no value has been defined, there is no credit limit. */
|
|
2821
|
+
CreditLimit?: string;
|
|
2822
|
+
/** A character string that identifies a vendor. */
|
|
2823
|
+
VendorTaxIdent?: string;
|
|
2824
|
+
/** If `IsVendorEligibleFor1099` is set to true, `VendorTaxIdent` and `VendorAddress` are required in a vendor add request message. Otherwise, `VendorTaxIdent` and `VendorAddress` are optional. */
|
|
2825
|
+
IsVendorEligibleFor1099?: boolean;
|
|
2826
|
+
/** Billing rates are used to override the service item rate in a time transaction (`TimeTrackingAdd`) based on the employee or vendor performing the work. Billing rates are assigned to an employee or a vendor to specify overrides to service items. */
|
|
2827
|
+
BillingRateRef?: BillingRateRef;
|
|
2828
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
2829
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
2830
|
+
/** The country that sales tax is collected for. */
|
|
2831
|
+
SalesTaxCountry?: SalesTaxCountry;
|
|
2832
|
+
/** Indicates whether the entity is a sales tax agency. */
|
|
2833
|
+
IsSalesTaxAgency?: boolean;
|
|
2834
|
+
/** Sales tax return information. */
|
|
2835
|
+
SalesTaxReturnRef?: SalesTaxReturnRef;
|
|
2836
|
+
/** The tax registration number used in CA and UK. */
|
|
2837
|
+
TaxRegistrationNumber?: string;
|
|
2838
|
+
/** Vendor reporting period for CA or UK. This can be monthly or quarterly. */
|
|
2839
|
+
ReportingPeriod?: ReportingPeriod;
|
|
2840
|
+
/** This flag is used for CA or UK and whether tax is tracked on purchases. */
|
|
2841
|
+
IsTaxTrackedOnPurchases?: boolean;
|
|
2842
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
2843
|
+
TaxOnPurchasesAccountRef?: TaxOnPurchasesAccountRef;
|
|
2844
|
+
/** This flag is used for CA or UK and whether tax is tracked on sales. */
|
|
2845
|
+
IsTaxTrackedOnSales?: boolean;
|
|
2846
|
+
/** Account used for taxes on sales in CA or UK. */
|
|
2847
|
+
TaxOnSalesAccountRef?: TaxOnSalesAccountRef;
|
|
2848
|
+
/** For vendor in CA or UK, is there tax charged on top of tax. */
|
|
2849
|
+
IsTaxOnTax?: boolean;
|
|
2850
|
+
/** Expense account to prefill when you enter bills for this vendor. */
|
|
2851
|
+
PrefillAccountRef?: PrefillAccountRef | PrefillAccountRef[];
|
|
2852
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
2853
|
+
CurrencyRef?: CurrencyRef;
|
|
2854
|
+
}
|
|
2855
|
+
export interface VendorModRq {
|
|
2856
|
+
VendorMod: VendorMod;
|
|
2857
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2858
|
+
IncludeRetElement?: string[] | string;
|
|
2859
|
+
}
|
|
2860
|
+
export interface VendorModRs {
|
|
2861
|
+
VendorRet?: VendorRet;
|
|
2862
|
+
ErrorRecovery?: ErrorRecovery;
|
|
2863
|
+
}
|
|
2864
|
+
export interface VendorQueryRq {
|
|
2865
|
+
/** One or more `ListID` values. Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2866
|
+
ListID?: string[] | string;
|
|
2867
|
+
/** A list of one or more `FullName` values. `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
2868
|
+
FullName?: string[] | string;
|
|
2869
|
+
/** Limits the number of objects that a query returns. (To get a count of how many objects could possibly be returned, use the `metaData` query attribute.) If you include a `MaxReturned` value, it must be at least 1. */
|
|
2870
|
+
MaxReturned?: number;
|
|
2871
|
+
/** Used in filters to select list objects based on whether or not they are currently enabled for use by QuickBooks. The default value is `asActiveOnly`, which selects only list objects that are active. */
|
|
2872
|
+
ActiveStatus?: ActiveStatus;
|
|
2873
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.For desktop versions of QuickBooks, the `FromModifiedDate` and `ToModifiedDate` must be between 1970-01-01 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (The time portion of the field was not supported in qbXML version 1.0 or 1.1.) Also, for desktop versions of QuickBooks, if `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1970-01-01T00:00:00 (1969-12-31T16:00:00-08:00 PST).For QBOE, the `FromModifiedDate` and `ToModifiedDate` must be between 1900-01-01T00:00:00 and 9999-12-31T00:00:00. If `FromModifiedDate` includes a date but not a time (for example, if you set `FromModifiedDate` to 2003-02-14), the time is assumed to be zero (2003-02-14T00:00:00). If you omit `FromModifiedDate`, it will be set to 1900-01-01T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
2874
|
+
FromModifiedDate?: string;
|
|
2875
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.For desktop versions of QuickBooks, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1970 and 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST). (Note that the time portion of the field was not supported in qbXML version 1.0 or 1.1.) If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 2038-01-19T03:14:07 (2038-01-18T19:14:07-08:00 PST).For QBOE, the `ToModifiedDate` and `FromModifiedDate` must be between 01/01/1900 and 9999-12-31T00:00:00. If `ToModifiedDate` includes a date but not a time (for example, if you set `ToModifiedDate` to 2003-02-14), the time is assumed to be the end of the day (2003-02-14T23:59:59). If you omit `ToModifiedDate` altogether, it will be set to 9999-12-31T00:00:00.`Note`: When specifying this in QBFC, you need to supply the parameter `asDateOnly`, which is a Boolean. If `asDateOnly` is true, the date value will be represented as a date only (without a time). If `asDateOnly` is false, the date value will be represented as date and time, padded with zeros if necessary, and set to the beginning of the day if no time is provided. The `asDateOnly` parameter is especially useful in the `ToModifiedDate` field of a query: If `asDateOnly` is set to true in the `ToModifiedDate` field of a query, then the query includes elements modified up to the end of the day. If `asDateOnly` is false, the query includes elements modified up to the specified time (or up to the beginning of the day if no time is included). */
|
|
2876
|
+
ToModifiedDate?: string;
|
|
2877
|
+
/** Filters according to the object’s `Name`. */
|
|
2878
|
+
NameFilter?: NameFilter;
|
|
2879
|
+
/** Filters according to the object’s `Name`. */
|
|
2880
|
+
NameRangeFilter?: NameRangeFilter;
|
|
2881
|
+
/** Filters according to total balance. Total balance includes the balance for all subaccounts; for example, a customer’s `TotalBalance` would include all the jobs for that customer. */
|
|
2882
|
+
TotalBalanceFilter?: TotalBalanceFilter;
|
|
2883
|
+
/** Filters by the specified currency. */
|
|
2884
|
+
CurrencyFilter?: CurrencyFilter;
|
|
2885
|
+
/** Filter according to class. */
|
|
2886
|
+
ClassFilter?: ClassFilter;
|
|
2887
|
+
/** You use this if you want to limit the data that will be returned in the response. In this list, you specify the name of each top-level element or aggregate that you want to be returned in the response to the request. You cannot specify fields within an aggregate, for example, you cannot specify a `City` within an `Address`: you must specify `Address` and will get the entire address. The names specified in the list are not parsed, so you must be especially careful to supply valid names, properly cased. No error is returned in the status code if you specify an invalid name. Notice that if you want to return custom data or private data extensions, you must specify the `DataExtRet` element and you must supply the `OwnerID` set to either a value of 0 (custom data) or the GUID for the private data. */
|
|
2888
|
+
IncludeRetElement?: string[] | string;
|
|
2889
|
+
/** Zero or more `OwnerID` values. `OwnerID` refers to the owner of a data extension:If `OwnerID` is 0, this is a public data extension, also known as a custom field. Custom fields appear in the QuickBooks UI.If `OwnerID` is a GUID, for example `{6B063959-81B0-4622-85D6-F548C8CCB517}`, this field is a private data extension defined by an integrated application. Private data extensions do not appear in the QuickBooks UI. Note that `OwnerID` values are not case-sensitive, meaning that if you enter an `OwnerID` value with lower-case letters, the value will be saved and returned with upper-case letters. When you share a private data extension with another application, the other application must know both the `OwnerID` and the `DataExtName`, as these together form a data extension’s unique name. */
|
|
2890
|
+
OwnerID?: string[] | string;
|
|
2891
|
+
}
|
|
2892
|
+
export interface VendorQueryRs {
|
|
2893
|
+
VendorRet?: VendorRet | VendorRet[];
|
|
2894
|
+
}
|
|
2895
|
+
interface VendorRet {
|
|
2896
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
2897
|
+
ListID: string;
|
|
2898
|
+
/** Time the object was created. */
|
|
2899
|
+
TimeCreated: string;
|
|
2900
|
+
/** Time the object was last modified. */
|
|
2901
|
+
TimeModified: string;
|
|
2902
|
+
/** A number that the server generates and assigns to this object. Every time the object is changed, the server will change its `EditSequence` value. When you try to modify a list object, you must provide its `EditSequence`. The server compares the `EditSequence` you provide with the `EditSequence` in memory to make sure you are dealing with the latest copy of the object. If you are not, the server will reject the request and return an error. Because `EditSequence` is only used to check whether two objects match, there is no reason to interpret its value. */
|
|
2903
|
+
EditSequence: string;
|
|
2904
|
+
/** The case-insensitive name of a list object, not including the names of its ancestors. `Name` must be unique, unless it is the `Name` of a “hierarchical” list object. List objects in different hierarchies can have duplicate names because their `FullNames` will still be unique. For example, two objects could both have the `Name` kitchen, but they could have unique `FullNames`, such as Job12:kitchen and Baker:kitchen. For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
2905
|
+
Name: string;
|
|
2906
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
2907
|
+
IsActive?: boolean;
|
|
2908
|
+
/** Classes can be used to separate transactions into meaningful categories. (For example, transactions could be classified according to department, business location, or type of work.) In QuickBooks, class tracking is off by default. A `ClassRef` aggregate refers to one of these named classes. For example, in a `TimeTracking` message, `ClassRef` refers to the QuickBooks class into which the timed activity falls. If a `ClassRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In an `InvoiceAdd` request, if you specify a `ClassRef` for the whole invoice, that same `ClassRef` is automatically used in the line items. If you want to clear that (that is, have NO `ClassRef` for the line item, you can clear it in the line item by simply not specifying it in the line item. */
|
|
2909
|
+
ClassRef?: ClassRef;
|
|
2910
|
+
/** Is the current entity a tax agency. */
|
|
2911
|
+
IsTaxAgency?: boolean;
|
|
2912
|
+
/** The name of the QuickBooks user’s business, as specified in QuickBooks. `CompanyName` and `Address` are used on invoices, checks, and other forms. (`LegalCompanyName` and `LegalAddress`, on the other hand, are used on a company’s tax forms and pay stubs.) */
|
|
2913
|
+
CompanyName?: string;
|
|
2914
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
2915
|
+
Salutation?: string;
|
|
2916
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2917
|
+
FirstName?: string;
|
|
2918
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2919
|
+
MiddleName?: string;
|
|
2920
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
2921
|
+
LastName?: string;
|
|
2922
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
2923
|
+
JobTitle?: string;
|
|
2924
|
+
/** If an address request fails, some combination of address fields might be too long. */
|
|
2925
|
+
VendorAddress?: VendorAddress;
|
|
2926
|
+
/** The address expressed as an address block of `Addr1` through `Addr5`, depending on the number of lines in the original request that created the address. */
|
|
2927
|
+
VendorAddressBlock?: VendorAddressBlock;
|
|
2928
|
+
/** Whatever address you specify in this aggregate must not result in an address greater than 5 lines, otherwise you’ll get a runtime error, because QuickBooks doesn’t support addresses more than 5 lines. There are two ways to specify an address within this aggregate: Using `Addr1` through `Addr3` along with the other possible aggregate elements, such as `City`, `State`, Postalcode.Using `Addr1`, `Addr2`, `Addr3`, `Addr4`, and `Addr5` to fully specify the address. If you use this so called “address block” approach, you cannot use any other address elements, such as `City`, `State`, etc. (Note: this approach is not valid for `EmployeeAdd`/Mod/Query) If you use the address block approach above, the lines `Addr1`…`Addr5` are each printed as a separate line on the transaction, and the values are returned in the Ret object under the aggregate `ShipAddressBlock` or `BillAddressBlock`. */
|
|
2929
|
+
ShipAddress?: ShipAddress;
|
|
2930
|
+
/** The telephone number. */
|
|
2931
|
+
Phone?: string;
|
|
2932
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
2933
|
+
AltPhone?: string;
|
|
2934
|
+
/** Fax number. */
|
|
2935
|
+
Fax?: string;
|
|
2936
|
+
/** E-mail address. */
|
|
2937
|
+
Email?: string;
|
|
2938
|
+
/** Email address that would be carbon copied or CC. */
|
|
2939
|
+
Cc?: string;
|
|
2940
|
+
/** The name of a contact person for a customer or vendor. */
|
|
2941
|
+
Contact?: string;
|
|
2942
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
2943
|
+
AltContact?: string;
|
|
2944
|
+
/** List of additional contacts. */
|
|
2945
|
+
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
2946
|
+
/** A list of contact records. */
|
|
2947
|
+
ContactsRet?: ContactsRet | ContactsRet[];
|
|
2948
|
+
/** The vendor’s name as it will appear on checks sent to the vendor. (Corresponds in the QuickBooks user interface to the “Print on Check as” field of the Edit Vendor and New Vendor windows.) */
|
|
2949
|
+
NameOnCheck?: string;
|
|
2950
|
+
/** Account numbers appear in the QuickBooks chart of accounts, Account fields, and reports and graphs. If the `IsUsingAccountNumber` preference is false (that is, if the QuickBooks user has the account numbers Preference turned off), you can still set account numbers through the SDK, but the numbers will not be visible in the user interface. */
|
|
2951
|
+
AccountNumber?: string;
|
|
2952
|
+
/** Additional information about this vendor. */
|
|
2953
|
+
Notes?: string;
|
|
2954
|
+
/** List of notes. */
|
|
2955
|
+
AdditionalNotesRet?: AdditionalNotesRet | AdditionalNotesRet[];
|
|
2956
|
+
/** Vendor types allow business owners to categorize vendors in ways that are meaningful for their businesses. For example, a vendor type might indicate which industry a vendor represents, or which part of the country a vendor is in. A `VendorTypeRef` aggregate refers to one of the types on the `VendorType` list. In a request, if a `VendorTypeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2957
|
+
VendorTypeRef?: VendorTypeRef;
|
|
2958
|
+
/** Refers to the payment terms associated with this entity. (This will be an item on the `DateDrivenTerms` or `StandardTerms` list.) If a `TermsRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
2959
|
+
TermsRef?: TermsRef;
|
|
2960
|
+
/** Set and returned as a positive number that indicates a customer’s or vendor’s credit limit. If no value has been defined, there is no credit limit. */
|
|
2961
|
+
CreditLimit?: string;
|
|
2962
|
+
/** A character string that identifies a vendor. */
|
|
2963
|
+
VendorTaxIdent?: string;
|
|
2964
|
+
/** If `IsVendorEligibleFor1099` is set to true, `VendorTaxIdent` and `VendorAddress` are required in a vendor add request message. Otherwise, `VendorTaxIdent` and `VendorAddress` are optional. */
|
|
2965
|
+
IsVendorEligibleFor1099?: boolean;
|
|
2966
|
+
/** A positive number indicates money owed to this vendor. */
|
|
2967
|
+
Balance?: string;
|
|
2968
|
+
/** Billing rates are used to override the service item rate in a time transaction (`TimeTrackingAdd`) based on the employee or vendor performing the work. Billing rates are assigned to an employee or a vendor to specify overrides to service items. */
|
|
2969
|
+
BillingRateRef?: BillingRateRef;
|
|
2970
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
2971
|
+
ExternalGUID?: string;
|
|
2972
|
+
/** Each item on a sales form is assigned a sales-tax code that indicates whether the item is taxable or non-taxable, and why. Two general codes, which can be modified but not deleted, appear on the sales-tax code list by default:Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false)Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true) A sales-tax code can be deleted only if it is no longer associated with any customer, item, or transaction. If the “Do You Charge Sales Tax?” preference within QuickBooks is set to No, QuickBooks will assign the default non-taxable sales-tax code to all sales. A `SalesTaxCodeRef` aggregate refers to a sales-tax code on the list. In a request, if a `SalesTaxCodeRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. In a Customer message, `SalesTaxCodeRef` refers to the sales-tax code that will be used for items related to this customer. In an `ItemInventory` message, `SalesTaxCodeRef` refers to the type of sales tax that will be charged for this item, if it is a taxable item and if sales tax is set up within QuickBooks. */
|
|
2973
|
+
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
2974
|
+
/** The country that sales tax is collected for. */
|
|
2975
|
+
SalesTaxCountry?: SalesTaxCountry;
|
|
2976
|
+
/** Indicates whether the entity is a sales tax agency. */
|
|
2977
|
+
IsSalesTaxAgency?: boolean;
|
|
2978
|
+
/** Sales tax return information. */
|
|
2979
|
+
SalesTaxReturnRef?: SalesTaxReturnRef;
|
|
2980
|
+
/** The tax registration number used in CA and UK. */
|
|
2981
|
+
TaxRegistrationNumber?: string;
|
|
2982
|
+
/** Vendor reporting period for CA or UK. This can be monthly or quarterly. */
|
|
2983
|
+
ReportingPeriod?: ReportingPeriod;
|
|
2984
|
+
/** This flag is used for CA or UK and whether tax is tracked on purchases. */
|
|
2985
|
+
IsTaxTrackedOnPurchases?: boolean;
|
|
2986
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
2987
|
+
TaxOnPurchasesAccountRef?: TaxOnPurchasesAccountRef;
|
|
2988
|
+
/** This flag is used for CA or UK and whether tax is tracked on sales. */
|
|
2989
|
+
IsTaxTrackedOnSales?: boolean;
|
|
2990
|
+
/** Account used for taxes on sales in CA or UK. */
|
|
2991
|
+
TaxOnSalesAccountRef?: TaxOnSalesAccountRef;
|
|
2992
|
+
/** For vendor in CA or UK, is there tax charged on top of tax. */
|
|
2993
|
+
IsTaxOnTax?: boolean;
|
|
2994
|
+
/** Expense account to prefill when you enter bills for this vendor. */
|
|
2995
|
+
PrefillAccountRef?: PrefillAccountRef | PrefillAccountRef[];
|
|
2996
|
+
/** The currency object contains all of the information needed by QuickBooks to display and use. For built-in currencies, the name and currency code values are internationally accepted values and thus are not editable. The comma format is editable, as is the `IsActive` status. For user-defined currencies, every value in the object is editable including name and currency code. When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
2997
|
+
CurrencyRef?: CurrencyRef;
|
|
2998
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
2999
|
+
DataExtRet?: DataExtRet | DataExtRet[];
|
|
3000
|
+
}
|
|
3001
|
+
interface VendorTypeRef {
|
|
3002
|
+
/** Along with `FullName`, `ListID` is a way to identify a list object. When a list object is added to QuickBooks through the SDK or through the QuickBooks user interface, the server assigns it a `ListID`. A `ListID` is not unique across lists, but it is unique across each particular type of list. For example, two customers could not have the same `ListID`, and a customer could not have the same `ListID` as an employee (because Customer and Employee are both name lists). But a customer could have the same `ListID` as a non-inventory item. */
|
|
3003
|
+
ListID?: string;
|
|
3004
|
+
/** `FullName` (along with `ListID`) is a way to identify a list object. The `FullName` is the name prefixed by the names of each ancestor, for example `Jones:Kitchen:Cabinets`. `FullName` values are not case-sensitive. */
|
|
3005
|
+
FullName?: string;
|
|
3006
|
+
}
|
|
3007
|
+
export {};
|