conductor-node 0.3.0 → 0.4.0
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/src/qbd/qbdTypes.d.ts +917 -0
- package/package.json +1 -1
|
@@ -1,77 +1,166 @@
|
|
|
1
1
|
interface ParentRef {
|
|
2
|
+
/** 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. */
|
|
2
3
|
ListID?: string;
|
|
4
|
+
/** `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. */
|
|
3
5
|
FullName?: string;
|
|
4
6
|
}
|
|
5
7
|
declare type AccountType = "AccountsPayable" | "AccountsReceivable" | "Bank" | "CostOfGoodsSold" | "CreditCard" | "Equity" | "Expense" | "FixedAsset" | "Income" | "LongTermLiability" | "NonPosting" | "OtherAsset" | "OtherCurrentAsset" | "OtherCurrentLiability" | "OtherExpense" | "OtherIncome";
|
|
6
8
|
interface SalesTaxCodeRef {
|
|
9
|
+
/** 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. */
|
|
7
10
|
ListID?: string;
|
|
11
|
+
/** `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. */
|
|
8
12
|
FullName?: string;
|
|
9
13
|
}
|
|
10
14
|
interface CurrencyRef {
|
|
15
|
+
/** 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. */
|
|
11
16
|
ListID?: string;
|
|
17
|
+
/** `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. */
|
|
12
18
|
FullName?: string;
|
|
13
19
|
}
|
|
14
20
|
interface AccountAdd {
|
|
21
|
+
/** 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.
|
|
22
|
+
|
|
23
|
+
For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
15
24
|
Name: string;
|
|
25
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
16
26
|
IsActive?: boolean;
|
|
27
|
+
/** 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. */
|
|
17
28
|
ParentRef?: ParentRef;
|
|
29
|
+
/** 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`. */
|
|
18
30
|
AccountType: AccountType;
|
|
31
|
+
/** 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. */
|
|
19
32
|
AccountNumber?: string;
|
|
33
|
+
/** 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. */
|
|
20
34
|
BankNumber?: string;
|
|
35
|
+
/** A descriptive text field. */
|
|
21
36
|
Desc?: string;
|
|
37
|
+
/** 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. */
|
|
22
38
|
OpenBalance?: string;
|
|
39
|
+
/** The date when an opening balance was entered for this account. */
|
|
23
40
|
OpenBalanceDate?: string;
|
|
41
|
+
/** 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:
|
|
42
|
+
|
|
43
|
+
Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false) Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true)
|
|
44
|
+
|
|
45
|
+
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.
|
|
46
|
+
|
|
47
|
+
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. */
|
|
24
48
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
49
|
+
/** An internal representation of the tax line associated with this account. */
|
|
25
50
|
TaxLineID?: number;
|
|
51
|
+
/** 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.
|
|
52
|
+
|
|
53
|
+
When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
26
54
|
CurrencyRef?: CurrencyRef;
|
|
27
55
|
}
|
|
28
56
|
export interface AccountAddRq {
|
|
29
57
|
AccountAdd: AccountAdd;
|
|
58
|
+
/** 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.
|
|
59
|
+
|
|
60
|
+
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.
|
|
61
|
+
|
|
62
|
+
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. */
|
|
30
63
|
IncludeRetElement?: string[] | string;
|
|
31
64
|
}
|
|
32
65
|
declare type SpecialAccountType = "AccountsPayable" | "AccountsReceivable" | "CondenseItemAdjustmentExpenses" | "CostOfGoodsSold" | "DirectDepositLiabilities" | "Estimates" | "ExchangeGainLoss" | "InventoryAssets" | "ItemReceiptAccount" | "OpeningBalanceEquity" | "PayrollExpenses" | "PayrollLiabilities" | "PettyCash" | "PurchaseOrders" | "ReconciliationDifferences" | "RetainedEarnings" | "SalesOrders" | "SalesTaxPayable" | "UncategorizedExpenses" | "UncategorizedIncome" | "UndepositedFunds";
|
|
33
66
|
interface TaxLineInfoRet {
|
|
67
|
+
/** An internal representation of the tax line associated with this account. */
|
|
34
68
|
TaxLineID: number;
|
|
69
|
+
/** The name of the tax line associated with this account, as it appears on the tax form. */
|
|
35
70
|
TaxLineName?: string;
|
|
36
71
|
}
|
|
37
72
|
declare type CashFlowClassification = "Financing" | "Investing" | "None" | "NotApplicable" | "Operating";
|
|
38
73
|
declare type DataExtType = "AMTTYPE" | "DATETIMETYPE" | "INTTYPE" | "PERCENTTYPE" | "PRICETYPE" | "QUANTYPE" | "STR255TYPE" | "STR1024TYPE";
|
|
39
74
|
interface DataExtRet {
|
|
75
|
+
/** `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. )
|
|
76
|
+
|
|
77
|
+
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.)
|
|
78
|
+
|
|
79
|
+
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. */
|
|
40
80
|
OwnerID?: string;
|
|
81
|
+
/** 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. */
|
|
41
82
|
DataExtName: string;
|
|
83
|
+
/** 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`. */
|
|
42
84
|
DataExtType: DataExtType;
|
|
85
|
+
/** 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`. */
|
|
43
86
|
DataExtValue: string;
|
|
44
87
|
}
|
|
45
88
|
interface AccountRet {
|
|
89
|
+
/** 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. */
|
|
46
90
|
ListID: string;
|
|
91
|
+
/** Time the object was created. */
|
|
47
92
|
TimeCreated: string;
|
|
93
|
+
/** Time the object was last modified. */
|
|
48
94
|
TimeModified: string;
|
|
95
|
+
/** 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. */
|
|
49
96
|
EditSequence: string;
|
|
97
|
+
/** 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.
|
|
98
|
+
|
|
99
|
+
For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
50
100
|
Name: string;
|
|
101
|
+
/** `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. */
|
|
51
102
|
FullName: string;
|
|
103
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
52
104
|
IsActive?: boolean;
|
|
105
|
+
/** 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. */
|
|
53
106
|
ParentRef?: ParentRef;
|
|
107
|
+
/** The number of ancestors. For example, The customer job with `Name` = carpets and `FullName` = Jones:Building2:carpets would have a sublevel of 2. */
|
|
54
108
|
Sublevel: number;
|
|
109
|
+
/** 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`. */
|
|
55
110
|
AccountType: AccountType;
|
|
111
|
+
/** 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. */
|
|
56
112
|
SpecialAccountType?: SpecialAccountType;
|
|
113
|
+
/** Indicates whether the account is used for tax. */
|
|
57
114
|
IsTaxAccount?: boolean;
|
|
115
|
+
/** 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. */
|
|
58
116
|
AccountNumber?: string;
|
|
117
|
+
/** 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. */
|
|
59
118
|
BankNumber?: string;
|
|
119
|
+
/** A descriptive text field. */
|
|
60
120
|
Desc?: string;
|
|
121
|
+
/** Current balance of this account only (versus `TotalBalance`). Income accounts and balance sheet accounts do not necessarily have balances. */
|
|
61
122
|
Balance?: string;
|
|
123
|
+
/** 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. */
|
|
62
124
|
TotalBalance?: string;
|
|
125
|
+
/** 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:
|
|
126
|
+
|
|
127
|
+
Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false) Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true)
|
|
128
|
+
|
|
129
|
+
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.
|
|
130
|
+
|
|
131
|
+
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. */
|
|
63
132
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
133
|
+
/** 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.) */
|
|
64
134
|
TaxLineInfoRet?: TaxLineInfoRet;
|
|
135
|
+
/** 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.) */
|
|
65
136
|
CashFlowClassification?: CashFlowClassification;
|
|
137
|
+
/** 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.
|
|
138
|
+
|
|
139
|
+
When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
66
140
|
CurrencyRef?: CurrencyRef;
|
|
141
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
67
142
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
68
143
|
}
|
|
69
144
|
interface ErrorRecovery {
|
|
145
|
+
/** 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. */
|
|
70
146
|
ListID?: string;
|
|
147
|
+
/** Refers to the owner of a data extension:
|
|
148
|
+
|
|
149
|
+
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.
|
|
150
|
+
|
|
151
|
+
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.
|
|
152
|
+
|
|
153
|
+
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. */
|
|
71
154
|
OwnerID?: string;
|
|
155
|
+
/** 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.
|
|
156
|
+
|
|
157
|
+
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. */
|
|
72
158
|
TxnID?: string;
|
|
159
|
+
/** An identifying number for this transaction. */
|
|
73
160
|
TxnNumber?: number;
|
|
161
|
+
/** 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. */
|
|
74
162
|
EditSequence?: string;
|
|
163
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
75
164
|
ExternalGUID?: string;
|
|
76
165
|
}
|
|
77
166
|
export interface AccountAddRs {
|
|
@@ -79,23 +168,52 @@ export interface AccountAddRs {
|
|
|
79
168
|
ErrorRecovery?: ErrorRecovery;
|
|
80
169
|
}
|
|
81
170
|
interface AccountMod {
|
|
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. */
|
|
82
172
|
ListID: string;
|
|
173
|
+
/** 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. */
|
|
83
174
|
EditSequence: string;
|
|
175
|
+
/** 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.
|
|
176
|
+
|
|
177
|
+
For built-in currencies, `Name` is the internationally accepted currency name and is not editable. */
|
|
84
178
|
Name?: string;
|
|
179
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
85
180
|
IsActive?: boolean;
|
|
181
|
+
/** 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. */
|
|
86
182
|
ParentRef?: ParentRef;
|
|
183
|
+
/** 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`. */
|
|
87
184
|
AccountType?: AccountType;
|
|
185
|
+
/** 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. */
|
|
88
186
|
AccountNumber?: string;
|
|
187
|
+
/** 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. */
|
|
89
188
|
BankNumber?: string;
|
|
189
|
+
/** A descriptive text field. */
|
|
90
190
|
Desc?: string;
|
|
191
|
+
/** 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. */
|
|
91
192
|
OpenBalance?: string;
|
|
193
|
+
/** The date when an opening balance was entered for this account. */
|
|
92
194
|
OpenBalanceDate?: string;
|
|
195
|
+
/** 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:
|
|
196
|
+
|
|
197
|
+
Non-taxable (`Name` = NON; `Desc` = Non-Taxable; `IsTaxable` = false) Taxable (`Name` = TAX; `Desc` = Taxable; `IsTaxable` = true)
|
|
198
|
+
|
|
199
|
+
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.
|
|
200
|
+
|
|
201
|
+
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. */
|
|
93
202
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
203
|
+
/** An internal representation of the tax line associated with this account. */
|
|
94
204
|
TaxLineID?: number;
|
|
205
|
+
/** 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.
|
|
206
|
+
|
|
207
|
+
When used with `PriceLevels`, the `CurrencyRef` should only be used with “per item” price levels. */
|
|
95
208
|
CurrencyRef?: CurrencyRef;
|
|
96
209
|
}
|
|
97
210
|
export interface AccountModRq {
|
|
98
211
|
AccountMod: AccountMod;
|
|
212
|
+
/** 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.
|
|
213
|
+
|
|
214
|
+
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.
|
|
215
|
+
|
|
216
|
+
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. */
|
|
99
217
|
IncludeRetElement?: string[] | string;
|
|
100
218
|
}
|
|
101
219
|
export interface AccountModRs {
|
|
@@ -106,276 +224,511 @@ export interface AccountModRs {
|
|
|
106
224
|
declare type ActiveStatus = "ActiveOnly" | "All" | "InactiveOnly";
|
|
107
225
|
declare type MatchCriterion = "Contains" | "EndsWith" | "StartsWith";
|
|
108
226
|
interface NameFilter {
|
|
227
|
+
/** The criterion to match. */
|
|
109
228
|
MatchCriterion: MatchCriterion;
|
|
229
|
+
/** The string to match. */
|
|
110
230
|
Name: string;
|
|
111
231
|
}
|
|
112
232
|
interface NameRangeFilter {
|
|
233
|
+
/** The first name or item in the search range. If `FromName` is omitted, the range will begin with first name on the list. */
|
|
113
234
|
FromName?: string;
|
|
235
|
+
/** The final name or item in the search range. If `ToName` is omitted, the range will end with last name on the list. */
|
|
114
236
|
ToName?: string;
|
|
115
237
|
}
|
|
116
238
|
interface CurrencyFilter {
|
|
239
|
+
/** 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`.
|
|
240
|
+
|
|
241
|
+
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
242
|
ListID?: string[] | string;
|
|
243
|
+
/** 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. */
|
|
118
244
|
FullName?: string[] | string;
|
|
119
245
|
}
|
|
120
246
|
export interface AccountQueryRq {
|
|
247
|
+
/** 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`.
|
|
248
|
+
|
|
249
|
+
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. */
|
|
121
250
|
ListID?: string[] | string;
|
|
251
|
+
/** 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. */
|
|
122
252
|
FullName?: string[] | string;
|
|
253
|
+
/** 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. */
|
|
123
254
|
MaxReturned?: number;
|
|
255
|
+
/** 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. */
|
|
124
256
|
ActiveStatus?: ActiveStatus;
|
|
257
|
+
/** Selects objects modified on or after this date. See the note below regarding QBFC usage.
|
|
258
|
+
|
|
259
|
+
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).
|
|
260
|
+
|
|
261
|
+
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.
|
|
262
|
+
|
|
263
|
+
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). */
|
|
125
264
|
FromModifiedDate?: string;
|
|
265
|
+
/** Selects objects modified on or before this date. See the note below on QBFC usage.
|
|
266
|
+
|
|
267
|
+
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).
|
|
268
|
+
|
|
269
|
+
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.
|
|
270
|
+
|
|
271
|
+
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). */
|
|
126
272
|
ToModifiedDate?: string;
|
|
273
|
+
/** Filters according to the object’s `Name`. */
|
|
127
274
|
NameFilter?: NameFilter;
|
|
275
|
+
/** Filters according to the object’s `Name`. */
|
|
128
276
|
NameRangeFilter?: NameRangeFilter;
|
|
277
|
+
/** A list of QuickBooks account types. */
|
|
129
278
|
AccountType?: AccountType | AccountType[];
|
|
279
|
+
/** Filters by the specified currency. */
|
|
130
280
|
CurrencyFilter?: CurrencyFilter;
|
|
281
|
+
/** 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.
|
|
282
|
+
|
|
283
|
+
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.
|
|
284
|
+
|
|
285
|
+
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. */
|
|
131
286
|
IncludeRetElement?: string[] | string;
|
|
287
|
+
/** 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.
|
|
288
|
+
|
|
289
|
+
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.
|
|
290
|
+
|
|
291
|
+
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. */
|
|
132
292
|
OwnerID?: string[] | string;
|
|
133
293
|
}
|
|
134
294
|
export interface AccountQueryRs {
|
|
135
295
|
AccountRet?: AccountRet | AccountRet[];
|
|
136
296
|
}
|
|
137
297
|
interface ClassRef {
|
|
298
|
+
/** 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. */
|
|
138
299
|
ListID?: string;
|
|
300
|
+
/** `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. */
|
|
139
301
|
FullName?: string;
|
|
140
302
|
}
|
|
141
303
|
interface BillAddress {
|
|
304
|
+
/** The first line of an address. */
|
|
142
305
|
Addr1?: string;
|
|
306
|
+
/** The second line of an address (if a second line is needed). */
|
|
143
307
|
Addr2?: string;
|
|
308
|
+
/** The third line of an address (if a third line is needed). */
|
|
144
309
|
Addr3?: string;
|
|
310
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
145
311
|
Addr4?: string;
|
|
312
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
146
313
|
Addr5?: string;
|
|
314
|
+
/** The city name in an address. */
|
|
147
315
|
City?: string;
|
|
316
|
+
/** The state name in an address. */
|
|
148
317
|
State?: string;
|
|
318
|
+
/** The postal code in an address. */
|
|
149
319
|
PostalCode?: string;
|
|
320
|
+
/** 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.) */
|
|
150
321
|
Country?: string;
|
|
322
|
+
/** 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. */
|
|
151
323
|
Note?: string;
|
|
152
324
|
}
|
|
153
325
|
interface ShipAddress {
|
|
326
|
+
/** The first line of an address. */
|
|
154
327
|
Addr1?: string;
|
|
328
|
+
/** The second line of an address (if a second line is needed). */
|
|
155
329
|
Addr2?: string;
|
|
330
|
+
/** The third line of an address (if a third line is needed). */
|
|
156
331
|
Addr3?: string;
|
|
332
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
157
333
|
Addr4?: string;
|
|
334
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
158
335
|
Addr5?: string;
|
|
336
|
+
/** The city name in an address. */
|
|
159
337
|
City?: string;
|
|
338
|
+
/** The state name in an address. */
|
|
160
339
|
State?: string;
|
|
340
|
+
/** The postal code in an address. */
|
|
161
341
|
PostalCode?: string;
|
|
342
|
+
/** 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.) */
|
|
162
343
|
Country?: string;
|
|
344
|
+
/** 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. */
|
|
163
345
|
Note?: string;
|
|
164
346
|
}
|
|
165
347
|
interface ShipToAddress {
|
|
348
|
+
/** 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. */
|
|
166
349
|
Name: string;
|
|
350
|
+
/** The first line of an address. */
|
|
167
351
|
Addr1?: string;
|
|
352
|
+
/** The second line of an address (if a second line is needed). */
|
|
168
353
|
Addr2?: string;
|
|
354
|
+
/** The third line of an address (if a third line is needed). */
|
|
169
355
|
Addr3?: string;
|
|
356
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
170
357
|
Addr4?: string;
|
|
358
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
171
359
|
Addr5?: string;
|
|
360
|
+
/** The city name in an address. */
|
|
172
361
|
City?: string;
|
|
362
|
+
/** The state name in an address. */
|
|
173
363
|
State?: string;
|
|
364
|
+
/** The postal code in an address. */
|
|
174
365
|
PostalCode?: string;
|
|
366
|
+
/** 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.) */
|
|
175
367
|
Country?: string;
|
|
368
|
+
/** 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. */
|
|
176
369
|
Note?: string;
|
|
370
|
+
/** Flag that address is the default ship to address. */
|
|
177
371
|
DefaultShipTo?: boolean;
|
|
178
372
|
}
|
|
179
373
|
interface AdditionalContactRef {
|
|
374
|
+
/** The name of the contact. */
|
|
180
375
|
ContactName: string;
|
|
376
|
+
/** The value of the contact field. */
|
|
181
377
|
ContactValue: string;
|
|
182
378
|
}
|
|
183
379
|
interface Contacts {
|
|
380
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
184
381
|
Salutation?: string;
|
|
382
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
185
383
|
FirstName: string;
|
|
384
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
186
385
|
MiddleName?: string;
|
|
386
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
187
387
|
LastName?: string;
|
|
388
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
188
389
|
JobTitle?: string;
|
|
390
|
+
/** List of additional contacts. */
|
|
189
391
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
190
392
|
}
|
|
191
393
|
interface CustomerTypeRef {
|
|
394
|
+
/** 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. */
|
|
192
395
|
ListID?: string;
|
|
396
|
+
/** `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. */
|
|
193
397
|
FullName?: string;
|
|
194
398
|
}
|
|
195
399
|
interface TermsRef {
|
|
400
|
+
/** 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. */
|
|
196
401
|
ListID?: string;
|
|
402
|
+
/** `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. */
|
|
197
403
|
FullName?: string;
|
|
198
404
|
}
|
|
199
405
|
interface SalesRepRef {
|
|
406
|
+
/** 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. */
|
|
200
407
|
ListID?: string;
|
|
408
|
+
/** `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. */
|
|
201
409
|
FullName?: string;
|
|
202
410
|
}
|
|
203
411
|
interface ItemSalesTaxRef {
|
|
412
|
+
/** 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. */
|
|
204
413
|
ListID?: string;
|
|
414
|
+
/** `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. */
|
|
205
415
|
FullName?: string;
|
|
206
416
|
}
|
|
207
417
|
/** @default: Canada */
|
|
208
418
|
declare type SalesTaxCountry = "Australia" | "Canada" | "UK" | "US";
|
|
209
419
|
interface PreferredPaymentMethodRef {
|
|
420
|
+
/** 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. */
|
|
210
421
|
ListID?: string;
|
|
422
|
+
/** `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. */
|
|
211
423
|
FullName?: string;
|
|
212
424
|
}
|
|
213
425
|
interface CreditCardInfo {
|
|
426
|
+
/** 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. */
|
|
214
427
|
CreditCardNumber?: string;
|
|
428
|
+
/** The month when the credit card expires. */
|
|
215
429
|
ExpirationMonth?: number;
|
|
430
|
+
/** The year when the credit card expires. */
|
|
216
431
|
ExpirationYear?: number;
|
|
432
|
+
/** The name on the customer’s credit card. */
|
|
217
433
|
NameOnCard?: string;
|
|
434
|
+
/** The address associated with this credit card. */
|
|
218
435
|
CreditCardAddress?: string;
|
|
436
|
+
/** The postal code associated with the address for this credit card. */
|
|
219
437
|
CreditCardPostalCode?: string;
|
|
220
438
|
}
|
|
221
439
|
/** @default: None */
|
|
222
440
|
declare type JobStatus = "Awarded" | "Closed" | "InProgress" | "None" | "NotAwarded" | "Pending";
|
|
223
441
|
interface JobTypeRef {
|
|
442
|
+
/** 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. */
|
|
224
443
|
ListID?: string;
|
|
444
|
+
/** `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. */
|
|
225
445
|
FullName?: string;
|
|
226
446
|
}
|
|
227
447
|
interface AdditionalNotes {
|
|
448
|
+
/** 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. */
|
|
228
449
|
Note: string;
|
|
229
450
|
}
|
|
230
451
|
/** @default: None */
|
|
231
452
|
declare type PreferredDeliveryMethod = "Email" | "Fax" | "None";
|
|
232
453
|
interface PriceLevelRef {
|
|
454
|
+
/** 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. */
|
|
233
455
|
ListID?: string;
|
|
456
|
+
/** `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. */
|
|
234
457
|
FullName?: string;
|
|
235
458
|
}
|
|
236
459
|
interface CustomerAdd {
|
|
460
|
+
/** 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. */
|
|
237
461
|
Name: string;
|
|
462
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
238
463
|
IsActive?: boolean;
|
|
464
|
+
/** 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. */
|
|
239
465
|
ClassRef?: ClassRef;
|
|
466
|
+
/** 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. */
|
|
240
467
|
ParentRef?: ParentRef;
|
|
468
|
+
/** 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.) */
|
|
241
469
|
CompanyName?: string;
|
|
470
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
242
471
|
Salutation?: string;
|
|
472
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
243
473
|
FirstName?: string;
|
|
474
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
244
475
|
MiddleName?: string;
|
|
476
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
245
477
|
LastName?: string;
|
|
478
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
246
479
|
JobTitle?: string;
|
|
480
|
+
/** 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`. */
|
|
247
481
|
BillAddress?: BillAddress;
|
|
482
|
+
/** 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`. */
|
|
248
483
|
ShipAddress?: ShipAddress;
|
|
484
|
+
/** List of ship to addresses. */
|
|
249
485
|
ShipToAddress?: ShipToAddress | ShipToAddress[];
|
|
486
|
+
/** The telephone number. */
|
|
250
487
|
Phone?: string;
|
|
488
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
251
489
|
AltPhone?: string;
|
|
490
|
+
/** Fax number. */
|
|
252
491
|
Fax?: string;
|
|
492
|
+
/** E-mail address. */
|
|
253
493
|
Email?: string;
|
|
494
|
+
/** Email address that would be carbon copied or CC. */
|
|
254
495
|
Cc?: string;
|
|
496
|
+
/** The name of a contact person for a customer or vendor. */
|
|
255
497
|
Contact?: string;
|
|
498
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
256
499
|
AltContact?: string;
|
|
500
|
+
/** List of additional contacts. */
|
|
257
501
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
502
|
+
/** A list of contact records. */
|
|
258
503
|
Contacts?: Contacts | Contacts[];
|
|
504
|
+
/** 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. */
|
|
259
505
|
CustomerTypeRef?: CustomerTypeRef;
|
|
506
|
+
/** 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. */
|
|
260
507
|
TermsRef?: TermsRef;
|
|
508
|
+
/** 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. */
|
|
261
509
|
SalesRepRef?: SalesRepRef;
|
|
510
|
+
/** The opening balance of this customer’s account. A positive number indicates money owed by the customer. */
|
|
262
511
|
OpenBalance?: string;
|
|
512
|
+
/** The date of the opening balance for this customer. */
|
|
263
513
|
OpenBalanceDate?: string;
|
|
514
|
+
/** 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. */
|
|
264
515
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
516
|
+
/** 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. */
|
|
265
517
|
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
518
|
+
/** Country that sales tax is collected for. */
|
|
266
519
|
SalesTaxCountry?: SalesTaxCountry;
|
|
520
|
+
/** The customer’s resale number, if they have one. This number will not affect reports or sales tax calculations. */
|
|
267
521
|
ResaleNumber?: string;
|
|
522
|
+
/** 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. */
|
|
268
523
|
AccountNumber?: string;
|
|
524
|
+
/** 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. */
|
|
269
525
|
CreditLimit?: string;
|
|
526
|
+
/** Refers to a `PaymentMethod` object. In a request, if a `PreferredPaymentMethodRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
270
527
|
PreferredPaymentMethodRef?: PreferredPaymentMethodRef;
|
|
528
|
+
/** Customer’s credit-card information. */
|
|
271
529
|
CreditCardInfo?: CreditCardInfo;
|
|
530
|
+
/** `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. */
|
|
272
531
|
JobStatus?: JobStatus;
|
|
532
|
+
/** 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. */
|
|
273
533
|
JobStartDate?: string;
|
|
534
|
+
/** 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. */
|
|
274
535
|
JobProjectedEndDate?: string;
|
|
536
|
+
/** 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. */
|
|
275
537
|
JobEndDate?: string;
|
|
538
|
+
/** 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. */
|
|
276
539
|
JobDesc?: string;
|
|
540
|
+
/** 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. */
|
|
277
541
|
JobTypeRef?: JobTypeRef;
|
|
542
|
+
/** Not supported. */
|
|
278
543
|
Notes?: string;
|
|
544
|
+
/** List of notes. */
|
|
279
545
|
AdditionalNotes?: AdditionalNotes | AdditionalNotes[];
|
|
546
|
+
/** Preference for how invoices are delivered. */
|
|
280
547
|
PreferredDeliveryMethod?: PreferredDeliveryMethod;
|
|
548
|
+
/** 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. */
|
|
281
549
|
PriceLevelRef?: PriceLevelRef;
|
|
550
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
282
551
|
ExternalGUID?: string;
|
|
552
|
+
/** Tax registration number used in CA and UK. */
|
|
283
553
|
TaxRegistrationNumber?: string;
|
|
554
|
+
/** 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. */
|
|
284
555
|
CurrencyRef?: CurrencyRef;
|
|
285
556
|
}
|
|
286
557
|
export interface CustomerAddRq {
|
|
287
558
|
CustomerAdd: CustomerAdd;
|
|
559
|
+
/** 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. */
|
|
288
560
|
IncludeRetElement?: string[] | string;
|
|
289
561
|
}
|
|
290
562
|
interface BillAddressBlock {
|
|
563
|
+
/** The first line of an address. */
|
|
291
564
|
Addr1?: string;
|
|
565
|
+
/** The second line of an address (if a second line is needed). */
|
|
292
566
|
Addr2?: string;
|
|
567
|
+
/** The third line of an address (if a third line is needed). */
|
|
293
568
|
Addr3?: string;
|
|
569
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
294
570
|
Addr4?: string;
|
|
571
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
295
572
|
Addr5?: string;
|
|
296
573
|
}
|
|
297
574
|
interface ShipAddressBlock {
|
|
575
|
+
/** The first line of an address. */
|
|
298
576
|
Addr1?: string;
|
|
577
|
+
/** The second line of an address (if a second line is needed). */
|
|
299
578
|
Addr2?: string;
|
|
579
|
+
/** The third line of an address (if a third line is needed). */
|
|
300
580
|
Addr3?: string;
|
|
581
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
301
582
|
Addr4?: string;
|
|
583
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
302
584
|
Addr5?: string;
|
|
303
585
|
}
|
|
304
586
|
interface ContactsRet {
|
|
587
|
+
/** 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. */
|
|
305
588
|
ListID: string;
|
|
589
|
+
/** Time the object was created. */
|
|
306
590
|
TimeCreated: string;
|
|
591
|
+
/** Time the object was last modified. */
|
|
307
592
|
TimeModified: string;
|
|
593
|
+
/** 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. */
|
|
308
594
|
EditSequence: string;
|
|
595
|
+
/** The name of a contact person for a customer or vendor. */
|
|
309
596
|
Contact?: string;
|
|
597
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
310
598
|
Salutation?: string;
|
|
599
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
311
600
|
FirstName: string;
|
|
601
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
312
602
|
MiddleName?: string;
|
|
603
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
313
604
|
LastName?: string;
|
|
605
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
314
606
|
JobTitle?: string;
|
|
607
|
+
/** List of additional contacts. */
|
|
315
608
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
316
609
|
}
|
|
317
610
|
interface AdditionalNotesRet {
|
|
611
|
+
/** The ID of the note. */
|
|
318
612
|
NoteID: number;
|
|
613
|
+
/** The date the note was updated. */
|
|
319
614
|
Date: string;
|
|
615
|
+
/** 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. */
|
|
320
616
|
Note: string;
|
|
321
617
|
}
|
|
322
618
|
interface CustomerRet {
|
|
619
|
+
/** 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. */
|
|
323
620
|
ListID: string;
|
|
621
|
+
/** Time the object was created. */
|
|
324
622
|
TimeCreated: string;
|
|
623
|
+
/** Time the object was last modified. */
|
|
325
624
|
TimeModified: string;
|
|
625
|
+
/** 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. */
|
|
326
626
|
EditSequence: string;
|
|
627
|
+
/** 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. */
|
|
327
628
|
Name: string;
|
|
629
|
+
/** `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. */
|
|
328
630
|
FullName: string;
|
|
631
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
329
632
|
IsActive?: boolean;
|
|
633
|
+
/** 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. */
|
|
330
634
|
ClassRef?: ClassRef;
|
|
635
|
+
/** 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. */
|
|
331
636
|
ParentRef?: ParentRef;
|
|
637
|
+
/** The number of ancestors. For example, The customer job with `Name` = carpets and `FullName` = Jones:Building2:carpets would have a sublevel of 2. */
|
|
332
638
|
Sublevel: number;
|
|
639
|
+
/** 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.) */
|
|
333
640
|
CompanyName?: string;
|
|
641
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
334
642
|
Salutation?: string;
|
|
643
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
335
644
|
FirstName?: string;
|
|
645
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
336
646
|
MiddleName?: string;
|
|
647
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
337
648
|
LastName?: string;
|
|
649
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
338
650
|
JobTitle?: string;
|
|
651
|
+
/** 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`. */
|
|
339
652
|
BillAddress?: BillAddress;
|
|
653
|
+
/** 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. */
|
|
340
654
|
BillAddressBlock?: BillAddressBlock;
|
|
655
|
+
/** 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`. */
|
|
341
656
|
ShipAddress?: ShipAddress;
|
|
657
|
+
/** 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. */
|
|
342
658
|
ShipAddressBlock?: ShipAddressBlock;
|
|
659
|
+
/** List of ship to addresses. */
|
|
343
660
|
ShipToAddress?: ShipToAddress | ShipToAddress[];
|
|
661
|
+
/** The telephone number. */
|
|
344
662
|
Phone?: string;
|
|
663
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
345
664
|
AltPhone?: string;
|
|
665
|
+
/** Fax number. */
|
|
346
666
|
Fax?: string;
|
|
667
|
+
/** E-mail address. */
|
|
347
668
|
Email?: string;
|
|
669
|
+
/** Email address that would be carbon copied or CC. */
|
|
348
670
|
Cc?: string;
|
|
671
|
+
/** The name of a contact person for a customer or vendor. */
|
|
349
672
|
Contact?: string;
|
|
673
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
350
674
|
AltContact?: string;
|
|
675
|
+
/** List of additional contacts. */
|
|
351
676
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
677
|
+
/** A list of contact records. */
|
|
352
678
|
ContactsRet?: ContactsRet | ContactsRet[];
|
|
679
|
+
/** 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. */
|
|
353
680
|
CustomerTypeRef?: CustomerTypeRef;
|
|
681
|
+
/** 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. */
|
|
354
682
|
TermsRef?: TermsRef;
|
|
683
|
+
/** 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. */
|
|
355
684
|
SalesRepRef?: SalesRepRef;
|
|
685
|
+
/** A positive number indicates money owed by the customer. Compare with `TotalBalance`. */
|
|
356
686
|
Balance?: string;
|
|
687
|
+
/** 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. */
|
|
357
688
|
TotalBalance?: string;
|
|
689
|
+
/** 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. */
|
|
358
690
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
691
|
+
/** 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. */
|
|
359
692
|
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
693
|
+
/** The country that sales tax is collected for. */
|
|
360
694
|
SalesTaxCountry?: SalesTaxCountry;
|
|
695
|
+
/** The customer’s resale number, if they have one. This number will not affect reports or sales tax calculations. */
|
|
361
696
|
ResaleNumber?: string;
|
|
697
|
+
/** 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. */
|
|
362
698
|
AccountNumber?: string;
|
|
699
|
+
/** 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. */
|
|
363
700
|
CreditLimit?: string;
|
|
701
|
+
/** Refers to a `PaymentMethod` object. In a request, if a `PreferredPaymentMethodRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
364
702
|
PreferredPaymentMethodRef?: PreferredPaymentMethodRef;
|
|
703
|
+
/** Customer’s credit-card information. */
|
|
365
704
|
CreditCardInfo?: CreditCardInfo;
|
|
705
|
+
/** `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. */
|
|
366
706
|
JobStatus?: JobStatus;
|
|
707
|
+
/** 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. */
|
|
367
708
|
JobStartDate?: string;
|
|
709
|
+
/** 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. */
|
|
368
710
|
JobProjectedEndDate?: string;
|
|
711
|
+
/** 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. */
|
|
369
712
|
JobEndDate?: string;
|
|
713
|
+
/** 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. */
|
|
370
714
|
JobDesc?: string;
|
|
715
|
+
/** 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. */
|
|
371
716
|
JobTypeRef?: JobTypeRef;
|
|
717
|
+
/** Not supported. */
|
|
372
718
|
Notes?: string;
|
|
719
|
+
/** List of notes. */
|
|
373
720
|
AdditionalNotesRet?: AdditionalNotesRet | AdditionalNotesRet[];
|
|
721
|
+
/** Preference for how invoices are delivered. */
|
|
374
722
|
PreferredDeliveryMethod?: PreferredDeliveryMethod;
|
|
723
|
+
/** 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. */
|
|
375
724
|
PriceLevelRef?: PriceLevelRef;
|
|
725
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
376
726
|
ExternalGUID?: string;
|
|
727
|
+
/** The tax registration number used in CA and UK. */
|
|
377
728
|
TaxRegistrationNumber?: string;
|
|
729
|
+
/** 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. */
|
|
378
730
|
CurrencyRef?: CurrencyRef;
|
|
731
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
379
732
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
380
733
|
}
|
|
381
734
|
export interface CustomerAddRs {
|
|
@@ -383,70 +736,128 @@ export interface CustomerAddRs {
|
|
|
383
736
|
ErrorRecovery?: ErrorRecovery;
|
|
384
737
|
}
|
|
385
738
|
interface ContactsMod {
|
|
739
|
+
/** 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. */
|
|
386
740
|
ListID: string;
|
|
741
|
+
/** 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. */
|
|
387
742
|
EditSequence: string;
|
|
743
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
388
744
|
Salutation?: string;
|
|
745
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
389
746
|
FirstName: string;
|
|
747
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
390
748
|
MiddleName?: string;
|
|
749
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
391
750
|
LastName?: string;
|
|
751
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
392
752
|
JobTitle?: string;
|
|
753
|
+
/** List of additional contacts. */
|
|
393
754
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
394
755
|
}
|
|
395
756
|
interface AdditionalNotesMod {
|
|
757
|
+
/** The ID of the note. */
|
|
396
758
|
NoteID: number;
|
|
759
|
+
/** 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. */
|
|
397
760
|
Note: string;
|
|
398
761
|
}
|
|
399
762
|
interface CustomerMod {
|
|
763
|
+
/** 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. */
|
|
400
764
|
ListID: string;
|
|
765
|
+
/** 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. */
|
|
401
766
|
EditSequence: string;
|
|
767
|
+
/** 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. */
|
|
402
768
|
Name?: string;
|
|
769
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
403
770
|
IsActive?: boolean;
|
|
771
|
+
/** 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. */
|
|
404
772
|
ClassRef?: ClassRef;
|
|
773
|
+
/** 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. */
|
|
405
774
|
ParentRef?: ParentRef;
|
|
775
|
+
/** 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.) */
|
|
406
776
|
CompanyName?: string;
|
|
777
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
407
778
|
Salutation?: string;
|
|
779
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
408
780
|
FirstName?: string;
|
|
781
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
409
782
|
MiddleName?: string;
|
|
783
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
410
784
|
LastName?: string;
|
|
785
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
411
786
|
JobTitle?: string;
|
|
787
|
+
/** 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`. */
|
|
412
788
|
BillAddress?: BillAddress;
|
|
789
|
+
/** 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`. */
|
|
413
790
|
ShipAddress?: ShipAddress;
|
|
791
|
+
/** List of ship to addresses. */
|
|
414
792
|
ShipToAddress?: ShipToAddress | ShipToAddress[];
|
|
793
|
+
/** The telephone number. */
|
|
415
794
|
Phone?: string;
|
|
795
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
416
796
|
AltPhone?: string;
|
|
797
|
+
/** Fax number. */
|
|
417
798
|
Fax?: string;
|
|
799
|
+
/** E-mail address. */
|
|
418
800
|
Email?: string;
|
|
801
|
+
/** Email address that would be carbon copied or CC. */
|
|
419
802
|
Cc?: string;
|
|
803
|
+
/** The name of a contact person for a customer or vendor. */
|
|
420
804
|
Contact?: string;
|
|
805
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
421
806
|
AltContact?: string;
|
|
807
|
+
/** List of additional contacts. */
|
|
422
808
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
809
|
+
/** A list of contact records. */
|
|
423
810
|
ContactsMod?: ContactsMod | ContactsMod[];
|
|
811
|
+
/** 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. */
|
|
424
812
|
CustomerTypeRef?: CustomerTypeRef;
|
|
813
|
+
/** 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. */
|
|
425
814
|
TermsRef?: TermsRef;
|
|
815
|
+
/** 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. */
|
|
426
816
|
SalesRepRef?: SalesRepRef;
|
|
817
|
+
/** 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. */
|
|
427
818
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
819
|
+
/** 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. */
|
|
428
820
|
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
821
|
+
/** The country that sales tax is collected for. */
|
|
429
822
|
SalesTaxCountry?: SalesTaxCountry;
|
|
823
|
+
/** The customer’s resale number, if they have one. This number will not affect reports or sales tax calculations. */
|
|
430
824
|
ResaleNumber?: string;
|
|
825
|
+
/** 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. */
|
|
431
826
|
AccountNumber?: string;
|
|
827
|
+
/** 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. */
|
|
432
828
|
CreditLimit?: string;
|
|
829
|
+
/** Refers to a `PaymentMethod` object. In a request, if a `PreferredPaymentMethodRef` aggregate includes both `FullName` and `ListID`, `FullName` will be ignored. */
|
|
433
830
|
PreferredPaymentMethodRef?: PreferredPaymentMethodRef;
|
|
831
|
+
/** Customer’s credit-card information. */
|
|
434
832
|
CreditCardInfo?: CreditCardInfo;
|
|
833
|
+
/** `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. */
|
|
435
834
|
JobStatus?: JobStatus;
|
|
835
|
+
/** 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. */
|
|
436
836
|
JobStartDate?: string;
|
|
837
|
+
/** 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. */
|
|
437
838
|
JobProjectedEndDate?: string;
|
|
839
|
+
/** 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. */
|
|
438
840
|
JobEndDate?: string;
|
|
841
|
+
/** 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. */
|
|
439
842
|
JobDesc?: string;
|
|
843
|
+
/** 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. */
|
|
440
844
|
JobTypeRef?: JobTypeRef;
|
|
845
|
+
/** Not supported. */
|
|
441
846
|
Notes?: string;
|
|
847
|
+
/** List of notes. */
|
|
442
848
|
AdditionalNotesMod?: AdditionalNotesMod | AdditionalNotesMod[];
|
|
849
|
+
/** Preference for how invoices are delivered. */
|
|
443
850
|
PreferredDeliveryMethod?: PreferredDeliveryMethod;
|
|
851
|
+
/** 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. */
|
|
444
852
|
PriceLevelRef?: PriceLevelRef;
|
|
853
|
+
/** The tax registration number used in CA and UK. */
|
|
445
854
|
TaxRegistrationNumber?: string;
|
|
855
|
+
/** 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. */
|
|
446
856
|
CurrencyRef?: CurrencyRef;
|
|
447
857
|
}
|
|
448
858
|
export interface CustomerModRq {
|
|
449
859
|
CustomerMod: CustomerMod;
|
|
860
|
+
/** 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. */
|
|
450
861
|
IncludeRetElement?: string[] | string;
|
|
451
862
|
}
|
|
452
863
|
export interface CustomerModRs {
|
|
@@ -455,57 +866,91 @@ export interface CustomerModRs {
|
|
|
455
866
|
}
|
|
456
867
|
declare type Operator = "Equal" | "GreaterThan" | "GreaterThanEqual" | "LessThan" | "LessThanEqual";
|
|
457
868
|
interface TotalBalanceFilter {
|
|
869
|
+
/** 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`. */
|
|
458
870
|
Operator: Operator;
|
|
871
|
+
/** The monetary amount to which `Operator` refers. */
|
|
459
872
|
Amount: string;
|
|
460
873
|
}
|
|
461
874
|
interface ClassFilter {
|
|
875
|
+
/** 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. */
|
|
462
876
|
ListID?: string[] | string;
|
|
877
|
+
/** 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. */
|
|
463
878
|
FullName?: string[] | string;
|
|
879
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
464
880
|
ListIDWithChildren?: string;
|
|
881
|
+
/** 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`. */
|
|
465
882
|
FullNameWithChildren?: string;
|
|
466
883
|
}
|
|
467
884
|
export interface CustomerQueryRq {
|
|
885
|
+
/** 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. */
|
|
468
886
|
ListID?: string[] | string;
|
|
887
|
+
/** 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. */
|
|
469
888
|
FullName?: string[] | string;
|
|
889
|
+
/** 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. */
|
|
470
890
|
MaxReturned?: number;
|
|
891
|
+
/** 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. */
|
|
471
892
|
ActiveStatus?: ActiveStatus;
|
|
893
|
+
/** 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). */
|
|
472
894
|
FromModifiedDate?: string;
|
|
895
|
+
/** 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). */
|
|
473
896
|
ToModifiedDate?: string;
|
|
897
|
+
/** Filters according to the object’s `Name`. */
|
|
474
898
|
NameFilter?: NameFilter;
|
|
899
|
+
/** Filters according to the object’s `Name`. */
|
|
475
900
|
NameRangeFilter?: NameRangeFilter;
|
|
901
|
+
/** 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. */
|
|
476
902
|
TotalBalanceFilter?: TotalBalanceFilter;
|
|
903
|
+
/** Filters by the specified currency. */
|
|
477
904
|
CurrencyFilter?: CurrencyFilter;
|
|
905
|
+
/** Filter according to class. */
|
|
478
906
|
ClassFilter?: ClassFilter;
|
|
907
|
+
/** 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. */
|
|
479
908
|
IncludeRetElement?: string[] | string;
|
|
909
|
+
/** 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. */
|
|
480
910
|
OwnerID?: string[] | string;
|
|
481
911
|
}
|
|
482
912
|
export interface CustomerQueryRs {
|
|
483
913
|
CustomerRet?: CustomerRet | CustomerRet[];
|
|
484
914
|
}
|
|
485
915
|
interface SupervisorRef {
|
|
916
|
+
/** 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. */
|
|
486
917
|
ListID?: string;
|
|
918
|
+
/** `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. */
|
|
487
919
|
FullName?: string;
|
|
488
920
|
}
|
|
489
921
|
interface EmployeeAddress {
|
|
922
|
+
/** The first line of an address. */
|
|
490
923
|
Addr1?: string;
|
|
924
|
+
/** The second line of an address (if a second line is needed). */
|
|
491
925
|
Addr2?: string;
|
|
926
|
+
/** The city name in an address. */
|
|
492
927
|
City?: string;
|
|
928
|
+
/** 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. */
|
|
493
929
|
State?: string;
|
|
930
|
+
/** The postal code in an address. */
|
|
494
931
|
PostalCode?: string;
|
|
495
932
|
}
|
|
496
933
|
declare type Relation = "Brother" | "Daughter" | "Father" | "Friend" | "Mother" | "Other" | "Partner" | "Sister" | "Son" | "Spouse";
|
|
497
934
|
interface PrimaryContact {
|
|
935
|
+
/** The name of the contact. */
|
|
498
936
|
ContactName: string;
|
|
937
|
+
/** The value of the contact field. */
|
|
499
938
|
ContactValue: string;
|
|
939
|
+
/** Relationship of emergency contact information to the employee. */
|
|
500
940
|
Relation?: Relation;
|
|
501
941
|
}
|
|
502
942
|
interface SecondaryContact {
|
|
943
|
+
/** The name of the contact. */
|
|
503
944
|
ContactName: string;
|
|
945
|
+
/** The value of the contact field. */
|
|
504
946
|
ContactValue: string;
|
|
947
|
+
/** Relationship of emergency contact information to the employee. */
|
|
505
948
|
Relation?: Relation;
|
|
506
949
|
}
|
|
507
950
|
interface EmergencyContacts {
|
|
951
|
+
/** Primary emergency contact information for the employee. */
|
|
508
952
|
PrimaryContact?: PrimaryContact;
|
|
953
|
+
/** Secondary emergency contact information for the employee. */
|
|
509
954
|
SecondaryContact?: SecondaryContact;
|
|
510
955
|
}
|
|
511
956
|
/** @default: Regular */
|
|
@@ -521,153 +966,281 @@ declare type OnFile = "No" | "Yes";
|
|
|
521
966
|
declare type USVeteran = "No" | "Yes";
|
|
522
967
|
declare type MilitaryStatus = "Active" | "Reserve";
|
|
523
968
|
interface BillingRateRef {
|
|
969
|
+
/** 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. */
|
|
524
970
|
ListID?: string;
|
|
971
|
+
/** `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. */
|
|
525
972
|
FullName?: string;
|
|
526
973
|
}
|
|
527
974
|
declare type PayPeriod = "Biweekly" | "Daily" | "Monthly" | "Quarterly" | "Semimonthly" | "Weekly" | "Yearly";
|
|
528
975
|
interface PayrollItemWageRef {
|
|
976
|
+
/** 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. */
|
|
529
977
|
ListID?: string;
|
|
978
|
+
/** `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. */
|
|
530
979
|
FullName?: string;
|
|
531
980
|
}
|
|
532
981
|
interface Earnings {
|
|
982
|
+
/** 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. */
|
|
533
983
|
PayrollItemWageRef: PayrollItemWageRef;
|
|
984
|
+
/** Indicates the price of something. */
|
|
534
985
|
Rate?: string;
|
|
986
|
+
/** Indicates the price of something as a percent. */
|
|
535
987
|
RatePercent?: string;
|
|
536
988
|
}
|
|
537
989
|
declare type UseTimeDataToCreatePaychecks = "DoNotUseTimeData" | "NotSet" | "UseTimeData";
|
|
538
990
|
declare type AccrualPeriod = "BeginningOfYear" | "EveryHourOnPaycheck" | "EveryPaycheck";
|
|
539
991
|
interface SickHours {
|
|
992
|
+
/** The total number of hours currently available for the employee to use. If this value is empty, it will default to 0. */
|
|
540
993
|
HoursAvailable?: string;
|
|
994
|
+
/** 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. */
|
|
541
995
|
AccrualPeriod?: AccrualPeriod;
|
|
996
|
+
/** 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. */
|
|
542
997
|
HoursAccrued?: string;
|
|
998
|
+
/** 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. */
|
|
543
999
|
MaximumHours?: string;
|
|
1000
|
+
/** 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. */
|
|
544
1001
|
IsResettingHoursEachNewYear?: boolean;
|
|
1002
|
+
/** When used in the `SickHours` or `VacationHours` aggregates, refers to the number of sick leave or vacation hours used in the current year. */
|
|
545
1003
|
HoursUsed?: string;
|
|
1004
|
+
/** 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. */
|
|
546
1005
|
AccrualStartDate?: string;
|
|
547
1006
|
}
|
|
548
1007
|
interface VacationHours {
|
|
1008
|
+
/** The total number of hours currently available for the employee to use. If this value is empty, it will default to 0. */
|
|
549
1009
|
HoursAvailable?: string;
|
|
1010
|
+
/** 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. */
|
|
550
1011
|
AccrualPeriod?: AccrualPeriod;
|
|
1012
|
+
/** 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. */
|
|
551
1013
|
HoursAccrued?: string;
|
|
1014
|
+
/** 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. */
|
|
552
1015
|
MaximumHours?: string;
|
|
1016
|
+
/** 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. */
|
|
553
1017
|
IsResettingHoursEachNewYear?: boolean;
|
|
1018
|
+
/** When used in the `SickHours` or `VacationHours` aggregates, refers to the number of sick leave or vacation hours used in the current year. */
|
|
554
1019
|
HoursUsed?: string;
|
|
1020
|
+
/** 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. */
|
|
555
1021
|
AccrualStartDate?: string;
|
|
556
1022
|
}
|
|
557
1023
|
interface EmployeePayrollInfo {
|
|
1024
|
+
/** 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. */
|
|
558
1025
|
PayPeriod?: PayPeriod;
|
|
1026
|
+
/** 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. */
|
|
559
1027
|
ClassRef?: ClassRef;
|
|
1028
|
+
/** If `ClearEarnings` is set to true, the earnings will be deleted for this employee. */
|
|
560
1029
|
ClearEarnings?: boolean;
|
|
1030
|
+
/** 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.) */
|
|
561
1031
|
Earnings?: Earnings | Earnings[];
|
|
1032
|
+
/** 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. */
|
|
562
1033
|
IsUsingTimeDataToCreatePaychecks?: boolean;
|
|
1034
|
+
/** Indicates whether time data is used to create paychecks for this employee. */
|
|
563
1035
|
UseTimeDataToCreatePaychecks?: UseTimeDataToCreatePaychecks;
|
|
1036
|
+
/** Describes how “sick time” is accrued for this employee, along with how many sick hours the employee has accrued. */
|
|
564
1037
|
SickHours?: SickHours;
|
|
1038
|
+
/** Describes how vacation time is accrued for this employee, along with how many vacation hours the employee has accrued. */
|
|
565
1039
|
VacationHours?: VacationHours;
|
|
566
1040
|
}
|
|
567
1041
|
interface EmployeeAdd {
|
|
1042
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
568
1043
|
IsActive?: boolean;
|
|
1044
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
569
1045
|
Salutation?: string;
|
|
1046
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
570
1047
|
FirstName?: string;
|
|
1048
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
571
1049
|
MiddleName?: string;
|
|
1050
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
572
1051
|
LastName?: string;
|
|
1052
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
573
1053
|
JobTitle?: string;
|
|
1054
|
+
/** The name of a customer, vendor, employee, or person on the “other names” list in the employment job details section. */
|
|
574
1055
|
SupervisorRef?: SupervisorRef;
|
|
1056
|
+
/** The name of the department in the employment job details section. */
|
|
575
1057
|
Department?: string;
|
|
1058
|
+
/** The description details in the employment job details section. */
|
|
576
1059
|
Description?: string;
|
|
1060
|
+
/** The target bonus amount in the employment job details section. */
|
|
577
1061
|
TargetBonus?: string;
|
|
1062
|
+
/** 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.) */
|
|
578
1063
|
EmployeeAddress?: EmployeeAddress;
|
|
1064
|
+
/** By default within QuickBooks, the `PrintAs` element is the same as the `Name` element. */
|
|
579
1065
|
PrintAs?: string;
|
|
1066
|
+
/** The telephone number. */
|
|
580
1067
|
Phone?: string;
|
|
1068
|
+
/** Mobile telephone number. */
|
|
581
1069
|
Mobile?: string;
|
|
1070
|
+
/** The pager number. */
|
|
582
1071
|
Pager?: string;
|
|
1072
|
+
/** A personal identification number for this employee’s pager. */
|
|
583
1073
|
PagerPIN?: string;
|
|
1074
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
584
1075
|
AltPhone?: string;
|
|
1076
|
+
/** Fax number. */
|
|
585
1077
|
Fax?: string;
|
|
1078
|
+
/** 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. */
|
|
586
1079
|
SSN?: string;
|
|
1080
|
+
/** E-mail address. */
|
|
587
1081
|
Email?: string;
|
|
1082
|
+
/** List of additional contacts. */
|
|
588
1083
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1084
|
+
/** Emergency `Contact` information for the employee. */
|
|
589
1085
|
EmergencyContacts?: EmergencyContacts;
|
|
1086
|
+
/** `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. */
|
|
590
1087
|
EmployeeType?: EmployeeType;
|
|
1088
|
+
/** Full or Part time status of the employee. */
|
|
591
1089
|
PartOrFullTime?: PartOrFullTime;
|
|
1090
|
+
/** Exempt or Non-exempt status of the employee. */
|
|
592
1091
|
Exempt?: Exempt;
|
|
1092
|
+
/** Is employee a key or critical employee. */
|
|
593
1093
|
KeyEmployee?: KeyEmployee;
|
|
1094
|
+
/** The gender of this employee. */
|
|
594
1095
|
Gender?: Gender;
|
|
1096
|
+
/** An employee’s date of hire. */
|
|
595
1097
|
HiredDate?: string;
|
|
1098
|
+
/** Original hire date the employee was hired. */
|
|
596
1099
|
OriginalHireDate?: string;
|
|
1100
|
+
/** Adjusted service date for the employee. */
|
|
597
1101
|
AdjustedServiceDate?: string;
|
|
1102
|
+
/** The date on which this person’s employment with the company ended. */
|
|
598
1103
|
ReleasedDate?: string;
|
|
1104
|
+
/** Date of birth. */
|
|
599
1105
|
BirthDate?: string;
|
|
1106
|
+
/** Is employee a US citizen? */
|
|
600
1107
|
USCitizen?: USCitizen;
|
|
1108
|
+
/** Ethnicity of employee from `AmericianIndian`, Asian, Black, Hawaiian, Hispanic, White, `TwoOrMoreRaces` */
|
|
601
1109
|
Ethnicity?: Ethnicity;
|
|
1110
|
+
/** Is employee disabled? */
|
|
602
1111
|
Disabled?: Disabled;
|
|
1112
|
+
/** Description of employee’s disablitily. */
|
|
603
1113
|
DisabilityDesc?: string;
|
|
1114
|
+
/** Is the employee’s I-9 on file? */
|
|
604
1115
|
OnFile?: OnFile;
|
|
1116
|
+
/** Date the employee’s work authorization expires. */
|
|
605
1117
|
WorkAuthExpireDate?: string;
|
|
1118
|
+
/** Is employee a US veteran? */
|
|
606
1119
|
USVeteran?: USVeteran;
|
|
1120
|
+
/** Military status if the employee is a US veteran. */
|
|
607
1121
|
MilitaryStatus?: MilitaryStatus;
|
|
1122
|
+
/** 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. */
|
|
608
1123
|
AccountNumber?: string;
|
|
1124
|
+
/** Additional information. */
|
|
609
1125
|
Notes?: string;
|
|
1126
|
+
/** List of notes. */
|
|
610
1127
|
AdditionalNotes?: AdditionalNotes | AdditionalNotes[];
|
|
1128
|
+
/** 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. */
|
|
611
1129
|
BillingRateRef?: BillingRateRef;
|
|
1130
|
+
/** Pay information for this employee. */
|
|
612
1131
|
EmployeePayrollInfo?: EmployeePayrollInfo;
|
|
1132
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
613
1133
|
ExternalGUID?: string;
|
|
614
1134
|
}
|
|
615
1135
|
export interface EmployeeAddRq {
|
|
616
1136
|
EmployeeAdd: EmployeeAdd;
|
|
1137
|
+
/** 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. */
|
|
617
1138
|
IncludeRetElement?: string[] | string;
|
|
618
1139
|
}
|
|
619
1140
|
interface EmployeeRet {
|
|
1141
|
+
/** 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. */
|
|
620
1142
|
ListID: string;
|
|
1143
|
+
/** Time the object was created. */
|
|
621
1144
|
TimeCreated: string;
|
|
1145
|
+
/** Time the object was last modified. */
|
|
622
1146
|
TimeModified: string;
|
|
1147
|
+
/** 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. */
|
|
623
1148
|
EditSequence: string;
|
|
1149
|
+
/** A concatenation of `FirstName`, `MiddleName`, and `LastName`. */
|
|
624
1150
|
Name: string;
|
|
1151
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
625
1152
|
IsActive?: boolean;
|
|
1153
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
626
1154
|
Salutation?: string;
|
|
1155
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
627
1156
|
FirstName?: string;
|
|
1157
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
628
1158
|
MiddleName?: string;
|
|
1159
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
629
1160
|
LastName?: string;
|
|
1161
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
630
1162
|
JobTitle?: string;
|
|
1163
|
+
/** The name of a customer, vendor, employee, or person on the “other names” list in the employment job details section. */
|
|
631
1164
|
SupervisorRef?: SupervisorRef;
|
|
1165
|
+
/** The name of the department in the employment job details section. */
|
|
632
1166
|
Department?: string;
|
|
1167
|
+
/** The description details in the employment job details section. */
|
|
633
1168
|
Description?: string;
|
|
1169
|
+
/** The target bonus amount in the employment job details section. */
|
|
634
1170
|
TargetBonus?: string;
|
|
1171
|
+
/** 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.) */
|
|
635
1172
|
EmployeeAddress?: EmployeeAddress;
|
|
1173
|
+
/** By default within QuickBooks, the `PrintAs` element is the same as the `Name` element. */
|
|
636
1174
|
PrintAs?: string;
|
|
1175
|
+
/** The telephone number. */
|
|
637
1176
|
Phone?: string;
|
|
1177
|
+
/** Mobile telephone number. */
|
|
638
1178
|
Mobile?: string;
|
|
1179
|
+
/** The pager number. */
|
|
639
1180
|
Pager?: string;
|
|
1181
|
+
/** A personal identification number for this employee’s pager. */
|
|
640
1182
|
PagerPIN?: string;
|
|
1183
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
641
1184
|
AltPhone?: string;
|
|
1185
|
+
/** Fax number. */
|
|
642
1186
|
Fax?: string;
|
|
1187
|
+
/** 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. */
|
|
643
1188
|
SSN?: string;
|
|
1189
|
+
/** E-mail address. */
|
|
644
1190
|
Email?: string;
|
|
1191
|
+
/** List of additional contacts. */
|
|
645
1192
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1193
|
+
/** Emergency `Contact` information for the employee. */
|
|
646
1194
|
EmergencyContacts?: EmergencyContacts;
|
|
1195
|
+
/** `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. */
|
|
647
1196
|
EmployeeType?: EmployeeType;
|
|
1197
|
+
/** Full or Part time status of the employee. */
|
|
648
1198
|
PartOrFullTime?: PartOrFullTime;
|
|
1199
|
+
/** Exempt or Non-exempt status of the employee. */
|
|
649
1200
|
Exempt?: Exempt;
|
|
1201
|
+
/** Is employee a key or critical employee. */
|
|
650
1202
|
KeyEmployee?: KeyEmployee;
|
|
1203
|
+
/** The gender of this employee. */
|
|
651
1204
|
Gender?: Gender;
|
|
1205
|
+
/** An employee’s date of hire. */
|
|
652
1206
|
HiredDate?: string;
|
|
1207
|
+
/** Original hire date the employee was hired. */
|
|
653
1208
|
OriginalHireDate?: string;
|
|
1209
|
+
/** Adjusted service date for the employee. */
|
|
654
1210
|
AdjustedServiceDate?: string;
|
|
1211
|
+
/** The date on which this person’s employment with the company ended. */
|
|
655
1212
|
ReleasedDate?: string;
|
|
1213
|
+
/** Date of birth. */
|
|
656
1214
|
BirthDate?: string;
|
|
1215
|
+
/** Is employee a US citizen? */
|
|
657
1216
|
USCitizen?: USCitizen;
|
|
1217
|
+
/** Ethnicity of employee from `AmericianIndian`, Asian, Black, Hawaiian, Hispanic, White, `TwoOrMoreRaces`. */
|
|
658
1218
|
Ethnicity?: Ethnicity;
|
|
1219
|
+
/** Is employee disabled? */
|
|
659
1220
|
Disabled?: Disabled;
|
|
1221
|
+
/** Description of employee’s disablitily. */
|
|
660
1222
|
DisabilityDesc?: string;
|
|
1223
|
+
/** Is the employee’s I-9 on file? */
|
|
661
1224
|
OnFile?: OnFile;
|
|
1225
|
+
/** Date the employee’s work authorization expires. */
|
|
662
1226
|
WorkAuthExpireDate?: string;
|
|
1227
|
+
/** Is employee a US veteran? */
|
|
663
1228
|
USVeteran?: USVeteran;
|
|
1229
|
+
/** Military status if the employee is a US veteran. */
|
|
664
1230
|
MilitaryStatus?: MilitaryStatus;
|
|
1231
|
+
/** 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. */
|
|
665
1232
|
AccountNumber?: string;
|
|
1233
|
+
/** Additional information. */
|
|
666
1234
|
Notes?: string;
|
|
1235
|
+
/** List of notes. */
|
|
667
1236
|
AdditionalNotesRet?: AdditionalNotesRet | AdditionalNotesRet[];
|
|
1237
|
+
/** 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. */
|
|
668
1238
|
BillingRateRef?: BillingRateRef;
|
|
1239
|
+
/** Pay information for this employee. */
|
|
669
1240
|
EmployeePayrollInfo?: EmployeePayrollInfo;
|
|
1241
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
670
1242
|
ExternalGUID?: string;
|
|
1243
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
671
1244
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
672
1245
|
}
|
|
673
1246
|
export interface EmployeeAddRs {
|
|
@@ -675,64 +1248,118 @@ export interface EmployeeAddRs {
|
|
|
675
1248
|
ErrorRecovery?: ErrorRecovery;
|
|
676
1249
|
}
|
|
677
1250
|
interface EmployeePayrollInfoMod {
|
|
1251
|
+
/** 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. */
|
|
678
1252
|
PayPeriod?: PayPeriod;
|
|
1253
|
+
/** 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. */
|
|
679
1254
|
ClassRef?: ClassRef;
|
|
1255
|
+
/** If `ClearEarnings` is set to true, the earnings will be deleted for this employee. */
|
|
680
1256
|
ClearEarnings?: boolean;
|
|
1257
|
+
/** 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.) */
|
|
681
1258
|
Earnings?: Earnings | Earnings[];
|
|
1259
|
+
/** 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. */
|
|
682
1260
|
IsUsingTimeDataToCreatePaychecks?: boolean;
|
|
1261
|
+
/** Indicates whether time data is used to create paychecks for this employee. */
|
|
683
1262
|
UseTimeDataToCreatePaychecks?: UseTimeDataToCreatePaychecks;
|
|
1263
|
+
/** Describes how “sick time” is accrued for this employee, along with how many sick hours the employee has accrued. */
|
|
684
1264
|
SickHours?: SickHours;
|
|
1265
|
+
/** Describes how vacation time is accrued for this employee, along with how many vacation hours the employee has accrued. */
|
|
685
1266
|
VacationHours?: VacationHours;
|
|
686
1267
|
}
|
|
687
1268
|
interface EmployeeMod {
|
|
1269
|
+
/** 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. */
|
|
688
1270
|
ListID: string;
|
|
1271
|
+
/** 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. */
|
|
689
1272
|
EditSequence: string;
|
|
1273
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
690
1274
|
IsActive?: boolean;
|
|
1275
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
691
1276
|
Salutation?: string;
|
|
1277
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
692
1278
|
FirstName?: string;
|
|
1279
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
693
1280
|
MiddleName?: string;
|
|
1281
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
694
1282
|
LastName?: string;
|
|
1283
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
695
1284
|
JobTitle?: string;
|
|
1285
|
+
/** The name of a customer, vendor, employee, or person on the “other names” list in the employment job details section. */
|
|
696
1286
|
SupervisorRef?: SupervisorRef;
|
|
1287
|
+
/** The name of the department in the employment job details section. */
|
|
697
1288
|
Department?: string;
|
|
1289
|
+
/** The description details in the employment job details section. */
|
|
698
1290
|
Description?: string;
|
|
1291
|
+
/** The target bonus amount in the employment job details section. */
|
|
699
1292
|
TargetBonus?: string;
|
|
1293
|
+
/** 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.) */
|
|
700
1294
|
EmployeeAddress?: EmployeeAddress;
|
|
1295
|
+
/** By default within QuickBooks, the `PrintAs` element is the same as the `Name` element. */
|
|
701
1296
|
PrintAs?: string;
|
|
1297
|
+
/** The telephone number. */
|
|
702
1298
|
Phone?: string;
|
|
1299
|
+
/** Mobile telephone number. */
|
|
703
1300
|
Mobile?: string;
|
|
1301
|
+
/** The pager number. */
|
|
704
1302
|
Pager?: string;
|
|
1303
|
+
/** A personal identification number for this employee’s pager. */
|
|
705
1304
|
PagerPIN?: string;
|
|
1305
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
706
1306
|
AltPhone?: string;
|
|
1307
|
+
/** Fax number. */
|
|
707
1308
|
Fax?: string;
|
|
1309
|
+
/** E-mail address. */
|
|
708
1310
|
Email?: string;
|
|
1311
|
+
/** List of additional contacts. */
|
|
709
1312
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1313
|
+
/** Emergency `Contact` information for the employee. */
|
|
710
1314
|
EmergencyContacts?: EmergencyContacts;
|
|
1315
|
+
/** `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. */
|
|
711
1316
|
EmployeeType?: EmployeeType;
|
|
1317
|
+
/** Full or Part time status of the employee. */
|
|
712
1318
|
PartOrFullTime?: PartOrFullTime;
|
|
1319
|
+
/** Exempt or Non-exempt status of the employee. */
|
|
713
1320
|
Exempt?: Exempt;
|
|
1321
|
+
/** Is employee a key or critical employee. */
|
|
714
1322
|
KeyEmployee?: KeyEmployee;
|
|
1323
|
+
/** An employee’s date of hire. */
|
|
715
1324
|
HiredDate?: string;
|
|
1325
|
+
/** Original hire date the employee was hired. */
|
|
716
1326
|
OriginalHireDate?: string;
|
|
1327
|
+
/** Adjusted service date for the employee. */
|
|
717
1328
|
AdjustedServiceDate?: string;
|
|
1329
|
+
/** The date on which this person’s employment with the company ended. */
|
|
718
1330
|
ReleasedDate?: string;
|
|
1331
|
+
/** Date of birth. */
|
|
719
1332
|
BirthDate?: string;
|
|
1333
|
+
/** Is employee a US citizen? */
|
|
720
1334
|
USCitizen?: USCitizen;
|
|
1335
|
+
/** Ethnicity of employee from `AmericianIndian`, Asian, Black, Hawaiian, Hispanic, White, `TwoOrMoreRaces`. */
|
|
721
1336
|
Ethnicity?: Ethnicity;
|
|
1337
|
+
/** Is employee disabled? */
|
|
722
1338
|
Disabled?: Disabled;
|
|
1339
|
+
/** Description of employee’s disablitily. */
|
|
723
1340
|
DisabilityDesc?: string;
|
|
1341
|
+
/** Is the employee’s I-9 on file? */
|
|
724
1342
|
OnFile?: OnFile;
|
|
1343
|
+
/** Date the employee’s work authorization expires. */
|
|
725
1344
|
WorkAuthExpireDate?: string;
|
|
1345
|
+
/** Is employee a US veteran? */
|
|
726
1346
|
USVeteran?: USVeteran;
|
|
1347
|
+
/** Military status if the employee is a US veteran. */
|
|
727
1348
|
MilitaryStatus?: MilitaryStatus;
|
|
1349
|
+
/** 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. */
|
|
728
1350
|
AccountNumber?: string;
|
|
1351
|
+
/** Additional information. */
|
|
729
1352
|
Notes?: string;
|
|
1353
|
+
/** List of notes. */
|
|
730
1354
|
AdditionalNotesMod?: AdditionalNotesMod | AdditionalNotesMod[];
|
|
1355
|
+
/** 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. */
|
|
731
1356
|
BillingRateRef?: BillingRateRef;
|
|
1357
|
+
/** Pay information for this employee. */
|
|
732
1358
|
EmployeePayrollInfoMod?: EmployeePayrollInfoMod;
|
|
733
1359
|
}
|
|
734
1360
|
export interface EmployeeModRq {
|
|
735
1361
|
EmployeeMod: EmployeeMod;
|
|
1362
|
+
/** 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. */
|
|
736
1363
|
IncludeRetElement?: string[] | string;
|
|
737
1364
|
}
|
|
738
1365
|
export interface EmployeeModRs {
|
|
@@ -740,81 +1367,138 @@ export interface EmployeeModRs {
|
|
|
740
1367
|
ErrorRecovery?: ErrorRecovery;
|
|
741
1368
|
}
|
|
742
1369
|
export interface EmployeeQueryRq {
|
|
1370
|
+
/** 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. */
|
|
743
1371
|
ListID?: string[] | string;
|
|
1372
|
+
/** 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. */
|
|
744
1373
|
FullName?: string[] | string;
|
|
1374
|
+
/** 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. */
|
|
745
1375
|
MaxReturned?: number;
|
|
1376
|
+
/** 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. */
|
|
746
1377
|
ActiveStatus?: ActiveStatus;
|
|
1378
|
+
/** 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). */
|
|
747
1379
|
FromModifiedDate?: string;
|
|
1380
|
+
/** 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). */
|
|
748
1381
|
ToModifiedDate?: string;
|
|
1382
|
+
/** Filters according to the object’s `Name`. */
|
|
749
1383
|
NameFilter?: NameFilter;
|
|
1384
|
+
/** Filters according to the object’s `Name`. */
|
|
750
1385
|
NameRangeFilter?: NameRangeFilter;
|
|
1386
|
+
/** 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. */
|
|
751
1387
|
IncludeRetElement?: string[] | string;
|
|
1388
|
+
/** 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. */
|
|
752
1389
|
OwnerID?: string[] | string;
|
|
753
1390
|
}
|
|
754
1391
|
export interface EmployeeQueryRs {
|
|
755
1392
|
EmployeeRet?: EmployeeRet | EmployeeRet[];
|
|
756
1393
|
}
|
|
757
1394
|
interface AccountRef {
|
|
1395
|
+
/** 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. */
|
|
758
1396
|
ListID?: string;
|
|
1397
|
+
/** `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. */
|
|
759
1398
|
FullName?: string;
|
|
760
1399
|
}
|
|
761
1400
|
interface EntityRef {
|
|
1401
|
+
/** 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. */
|
|
762
1402
|
ListID?: string;
|
|
1403
|
+
/** `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. */
|
|
763
1404
|
FullName?: string;
|
|
764
1405
|
}
|
|
765
1406
|
declare type BillableStatus = "Billable" | "HasBeenBilled" | "NotBillable";
|
|
766
1407
|
interface JournalDebitLine {
|
|
1408
|
+
/** 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. */
|
|
767
1409
|
TxnLineID?: string;
|
|
1410
|
+
/** 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` */
|
|
768
1411
|
AccountRef?: AccountRef;
|
|
1412
|
+
/** A monetary amount. */
|
|
769
1413
|
Amount?: string;
|
|
1414
|
+
/** Additional information. */
|
|
770
1415
|
Memo?: string;
|
|
1416
|
+
/** 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. */
|
|
771
1417
|
EntityRef?: EntityRef;
|
|
1418
|
+
/** 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. */
|
|
772
1419
|
ClassRef?: ClassRef;
|
|
1420
|
+
/** 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. */
|
|
773
1421
|
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
1422
|
+
/** The billing status of this item line or expense line. */
|
|
774
1423
|
BillableStatus?: BillableStatus;
|
|
775
1424
|
}
|
|
776
1425
|
interface JournalCreditLine {
|
|
1426
|
+
/** 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. */
|
|
777
1427
|
TxnLineID?: string;
|
|
1428
|
+
/** 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` */
|
|
778
1429
|
AccountRef?: AccountRef;
|
|
1430
|
+
/** A monetary amount. */
|
|
779
1431
|
Amount?: string;
|
|
1432
|
+
/** Additional information. */
|
|
780
1433
|
Memo?: string;
|
|
1434
|
+
/** 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. */
|
|
781
1435
|
EntityRef?: EntityRef;
|
|
1436
|
+
/** 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. */
|
|
782
1437
|
ClassRef?: ClassRef;
|
|
1438
|
+
/** 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. */
|
|
783
1439
|
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
1440
|
+
/** The billing status of this item line or expense line. */
|
|
784
1441
|
BillableStatus?: BillableStatus;
|
|
785
1442
|
}
|
|
786
1443
|
interface JournalEntryAdd {
|
|
1444
|
+
/** 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. */
|
|
787
1445
|
TxnDate?: string;
|
|
1446
|
+
/** 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. */
|
|
788
1447
|
RefNumber?: string;
|
|
1448
|
+
/** When a change is an “adjustment,” the original information is retained, usually so an accountant can see the effects of the adjustment. */
|
|
789
1449
|
IsAdjustment?: boolean;
|
|
1450
|
+
/** Indicates whether the transaction is using a home currency or foreign currency. */
|
|
790
1451
|
IsHomeCurrencyAdjustment?: boolean;
|
|
1452
|
+
/** Flag that indicates the amount being entered is in the home currency. */
|
|
791
1453
|
IsAmountsEnteredInHomeCurrency?: boolean;
|
|
1454
|
+
/** 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. */
|
|
792
1455
|
CurrencyRef?: CurrencyRef;
|
|
1456
|
+
/** 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.) */
|
|
793
1457
|
ExchangeRate?: number;
|
|
1458
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
794
1459
|
ExternalGUID?: string;
|
|
1460
|
+
/** 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. */
|
|
795
1461
|
JournalDebitLine?: JournalDebitLine;
|
|
1462
|
+
/** 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. */
|
|
796
1463
|
JournalCreditLine?: JournalCreditLine;
|
|
797
1464
|
}
|
|
798
1465
|
export interface JournalEntryAddRq {
|
|
799
1466
|
JournalEntryAdd: JournalEntryAdd;
|
|
1467
|
+
/** 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. */
|
|
800
1468
|
IncludeRetElement?: string[] | string;
|
|
801
1469
|
}
|
|
802
1470
|
interface JournalEntryRet {
|
|
1471
|
+
/** 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. */
|
|
803
1472
|
TxnID: string;
|
|
1473
|
+
/** Time the object was created. */
|
|
804
1474
|
TimeCreated: string;
|
|
1475
|
+
/** Time the object was last modified. */
|
|
805
1476
|
TimeModified: string;
|
|
1477
|
+
/** 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. */
|
|
806
1478
|
EditSequence: string;
|
|
1479
|
+
/** An identifying number for this transaction. */
|
|
807
1480
|
TxnNumber?: number;
|
|
1481
|
+
/** 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. */
|
|
808
1482
|
TxnDate: string;
|
|
1483
|
+
/** 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. */
|
|
809
1484
|
RefNumber?: string;
|
|
1485
|
+
/** When a change is an “adjustment,” the original information is retained, usually so an accountant can see the effects of the adjustment. */
|
|
810
1486
|
IsAdjustment?: boolean;
|
|
1487
|
+
/** Indicates whether the transaction is using a home currency or foreign currency. */
|
|
811
1488
|
IsHomeCurrencyAdjustment?: boolean;
|
|
1489
|
+
/** Flag that indicates the amount being entered is in the home currency. */
|
|
812
1490
|
IsAmountsEnteredInHomeCurrency?: boolean;
|
|
1491
|
+
/** 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. */
|
|
813
1492
|
CurrencyRef?: CurrencyRef;
|
|
1493
|
+
/** 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.) */
|
|
814
1494
|
ExchangeRate?: number;
|
|
1495
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
815
1496
|
ExternalGUID?: string;
|
|
1497
|
+
/** 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. */
|
|
816
1498
|
JournalDebitLine?: JournalDebitLine;
|
|
1499
|
+
/** 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. */
|
|
817
1500
|
JournalCreditLine?: JournalCreditLine;
|
|
1501
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
818
1502
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
819
1503
|
}
|
|
820
1504
|
export interface JournalEntryAddRs {
|
|
@@ -823,29 +1507,48 @@ export interface JournalEntryAddRs {
|
|
|
823
1507
|
}
|
|
824
1508
|
declare type JournalLineType = "Credit" | "Debit";
|
|
825
1509
|
interface JournalLineMod {
|
|
1510
|
+
/** 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. */
|
|
826
1511
|
TxnLineID: string;
|
|
1512
|
+
/** The type of journal line (debit or credit). */
|
|
827
1513
|
JournalLineType?: JournalLineType;
|
|
1514
|
+
/** 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` */
|
|
828
1515
|
AccountRef?: AccountRef;
|
|
1516
|
+
/** A monetary amount. */
|
|
829
1517
|
Amount?: string;
|
|
1518
|
+
/** Additional information. */
|
|
830
1519
|
Memo?: string;
|
|
1520
|
+
/** 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. */
|
|
831
1521
|
EntityRef?: EntityRef;
|
|
1522
|
+
/** 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. */
|
|
832
1523
|
ClassRef?: ClassRef;
|
|
1524
|
+
/** 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. */
|
|
833
1525
|
ItemSalesTaxRef?: ItemSalesTaxRef;
|
|
1526
|
+
/** The billing status of this item line or expense line. */
|
|
834
1527
|
BillableStatus?: BillableStatus;
|
|
835
1528
|
}
|
|
836
1529
|
interface JournalEntryMod {
|
|
1530
|
+
/** 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. */
|
|
837
1531
|
TxnID: string;
|
|
1532
|
+
/** 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. */
|
|
838
1533
|
EditSequence: string;
|
|
1534
|
+
/** 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. */
|
|
839
1535
|
TxnDate?: string;
|
|
1536
|
+
/** 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. */
|
|
840
1537
|
RefNumber?: string;
|
|
1538
|
+
/** When a change is an “adjustment,” the original information is retained, usually so an accountant can see the effects of the adjustment. */
|
|
841
1539
|
IsAdjustment?: boolean;
|
|
1540
|
+
/** Flag that indicates the amount being entered is in the home currency. */
|
|
842
1541
|
IsAmountsEnteredInHomeCurrency?: boolean;
|
|
1542
|
+
/** 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. */
|
|
843
1543
|
CurrencyRef?: CurrencyRef;
|
|
1544
|
+
/** 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.) */
|
|
844
1545
|
ExchangeRate?: number;
|
|
1546
|
+
/** `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. */
|
|
845
1547
|
JournalLineMod?: JournalLineMod | JournalLineMod[];
|
|
846
1548
|
}
|
|
847
1549
|
export interface JournalEntryModRq {
|
|
848
1550
|
JournalEntryMod: JournalEntryMod;
|
|
1551
|
+
/** 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. */
|
|
849
1552
|
IncludeRetElement?: string[] | string;
|
|
850
1553
|
}
|
|
851
1554
|
export interface JournalEntryModRs {
|
|
@@ -853,199 +1556,354 @@ export interface JournalEntryModRs {
|
|
|
853
1556
|
ErrorRecovery?: ErrorRecovery;
|
|
854
1557
|
}
|
|
855
1558
|
interface ModifiedDateRangeFilter {
|
|
1559
|
+
/** 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). */
|
|
856
1560
|
FromModifiedDate?: string;
|
|
1561
|
+
/** 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). */
|
|
857
1562
|
ToModifiedDate?: string;
|
|
858
1563
|
}
|
|
859
1564
|
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";
|
|
860
1565
|
interface TxnDateRangeFilter {
|
|
1566
|
+
/** 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). */
|
|
861
1567
|
FromTxnDate?: string;
|
|
1568
|
+
/** 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). */
|
|
862
1569
|
ToTxnDate?: string;
|
|
1570
|
+
/** 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. */
|
|
863
1571
|
DateMacro?: DateMacro;
|
|
864
1572
|
}
|
|
865
1573
|
interface EntityFilter {
|
|
1574
|
+
/** 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. */
|
|
866
1575
|
ListID?: string[] | string;
|
|
1576
|
+
/** 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. */
|
|
867
1577
|
FullName?: string[] | string;
|
|
1578
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
868
1579
|
ListIDWithChildren?: string;
|
|
1580
|
+
/** 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`. */
|
|
869
1581
|
FullNameWithChildren?: string;
|
|
870
1582
|
}
|
|
871
1583
|
interface AccountFilter {
|
|
1584
|
+
/** 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. */
|
|
872
1585
|
ListID?: string[] | string;
|
|
1586
|
+
/** 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. */
|
|
873
1587
|
FullName?: string[] | string;
|
|
1588
|
+
/** Allows you to filter for data that relates to the specified object and its descendants. */
|
|
874
1589
|
ListIDWithChildren?: string;
|
|
1590
|
+
/** 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`. */
|
|
875
1591
|
FullNameWithChildren?: string;
|
|
876
1592
|
}
|
|
877
1593
|
interface RefNumberFilter {
|
|
1594
|
+
/** The criterion to match. */
|
|
878
1595
|
MatchCriterion: MatchCriterion;
|
|
1596
|
+
/** 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. */
|
|
879
1597
|
RefNumber: string;
|
|
880
1598
|
}
|
|
881
1599
|
interface RefNumberRangeFilter {
|
|
1600
|
+
/** The first `RefNumber` in the search range. If `FromRefNumber` is omitted, the range will begin with first number on the list. */
|
|
882
1601
|
FromRefNumber?: string;
|
|
1602
|
+
/** The final `RefNumber` in the search range. If `ToRefNumber` is omitted, the range will end with last number on the list. */
|
|
883
1603
|
ToRefNumber?: string;
|
|
884
1604
|
}
|
|
885
1605
|
export interface JournalEntryQueryRq {
|
|
1606
|
+
/** 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. */
|
|
886
1607
|
TxnID?: string[] | string;
|
|
1608
|
+
/** 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. */
|
|
887
1609
|
RefNumber?: string[] | string;
|
|
1610
|
+
/** 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. */
|
|
888
1611
|
RefNumberCaseSensitive?: string[] | string;
|
|
1612
|
+
/** 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. */
|
|
889
1613
|
MaxReturned?: number;
|
|
1614
|
+
/** 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.) */
|
|
890
1615
|
ModifiedDateRangeFilter?: ModifiedDateRangeFilter;
|
|
1616
|
+
/** Filters according to the original transaction dates. */
|
|
891
1617
|
TxnDateRangeFilter?: TxnDateRangeFilter;
|
|
1618
|
+
/** 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. */
|
|
892
1619
|
EntityFilter?: EntityFilter;
|
|
1620
|
+
/** 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. */
|
|
893
1621
|
AccountFilter?: AccountFilter;
|
|
1622
|
+
/** Filters according to `RefNumber`. */
|
|
894
1623
|
RefNumberFilter?: RefNumberFilter;
|
|
1624
|
+
/** 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`. */
|
|
895
1625
|
RefNumberRangeFilter?: RefNumberRangeFilter;
|
|
1626
|
+
/** Filters by the specified currency. */
|
|
896
1627
|
CurrencyFilter?: CurrencyFilter;
|
|
1628
|
+
/** 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. */
|
|
897
1629
|
IncludeLineItems?: boolean;
|
|
1630
|
+
/** 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. */
|
|
898
1631
|
IncludeRetElement?: string[] | string;
|
|
1632
|
+
/** 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. */
|
|
899
1633
|
OwnerID?: string[] | string;
|
|
900
1634
|
}
|
|
901
1635
|
export interface JournalEntryQueryRs {
|
|
902
1636
|
JournalEntryRet?: JournalEntryRet | JournalEntryRet[];
|
|
903
1637
|
}
|
|
904
1638
|
interface VendorAddress {
|
|
1639
|
+
/** The first line of an address. */
|
|
905
1640
|
Addr1?: string;
|
|
1641
|
+
/** The second line of an address (if a second line is needed). */
|
|
906
1642
|
Addr2?: string;
|
|
1643
|
+
/** The third line of an address (if a third line is needed). */
|
|
907
1644
|
Addr3?: string;
|
|
1645
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
908
1646
|
Addr4?: string;
|
|
1647
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
909
1648
|
Addr5?: string;
|
|
1649
|
+
/** The city name in an address. */
|
|
910
1650
|
City?: string;
|
|
1651
|
+
/** The state name in an address. */
|
|
911
1652
|
State?: string;
|
|
1653
|
+
/** The postal code in an address. */
|
|
912
1654
|
PostalCode?: string;
|
|
1655
|
+
/** 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.) */
|
|
913
1656
|
Country?: string;
|
|
1657
|
+
/** 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. */
|
|
914
1658
|
Note?: string;
|
|
915
1659
|
}
|
|
916
1660
|
interface VendorTypeRef {
|
|
1661
|
+
/** 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. */
|
|
917
1662
|
ListID?: string;
|
|
1663
|
+
/** `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. */
|
|
918
1664
|
FullName?: string;
|
|
919
1665
|
}
|
|
920
1666
|
interface SalesTaxReturnRef {
|
|
1667
|
+
/** 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. */
|
|
921
1668
|
ListID?: string;
|
|
1669
|
+
/** `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
1670
|
FullName?: string;
|
|
923
1671
|
}
|
|
924
1672
|
/** @default: Quarterly */
|
|
925
1673
|
declare type ReportingPeriod = "Monthly" | "Quarterly";
|
|
926
1674
|
interface TaxOnPurchasesAccountRef {
|
|
1675
|
+
/** 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. */
|
|
927
1676
|
ListID?: string;
|
|
1677
|
+
/** `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. */
|
|
928
1678
|
FullName?: string;
|
|
929
1679
|
}
|
|
930
1680
|
interface TaxOnSalesAccountRef {
|
|
1681
|
+
/** 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. */
|
|
931
1682
|
ListID?: string;
|
|
1683
|
+
/** `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. */
|
|
932
1684
|
FullName?: string;
|
|
933
1685
|
}
|
|
934
1686
|
interface PrefillAccountRef {
|
|
1687
|
+
/** 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. */
|
|
935
1688
|
ListID?: string;
|
|
1689
|
+
/** `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. */
|
|
936
1690
|
FullName?: string;
|
|
937
1691
|
}
|
|
938
1692
|
interface VendorAdd {
|
|
1693
|
+
/** 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. */
|
|
939
1694
|
Name: string;
|
|
1695
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
940
1696
|
IsActive?: boolean;
|
|
1697
|
+
/** 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. */
|
|
941
1698
|
ClassRef?: ClassRef;
|
|
1699
|
+
/** 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.) */
|
|
942
1700
|
CompanyName?: string;
|
|
1701
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
943
1702
|
Salutation?: string;
|
|
1703
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
944
1704
|
FirstName?: string;
|
|
1705
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
945
1706
|
MiddleName?: string;
|
|
1707
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
946
1708
|
LastName?: string;
|
|
1709
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
947
1710
|
JobTitle?: string;
|
|
1711
|
+
/** If an address request fails, some combination of address fields might be too long. */
|
|
948
1712
|
VendorAddress?: VendorAddress;
|
|
1713
|
+
/** 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`. */
|
|
949
1714
|
ShipAddress?: ShipAddress;
|
|
1715
|
+
/** The telephone number. */
|
|
950
1716
|
Phone?: string;
|
|
1717
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
951
1718
|
AltPhone?: string;
|
|
1719
|
+
/** Fax number. */
|
|
952
1720
|
Fax?: string;
|
|
1721
|
+
/** E-mail address. */
|
|
953
1722
|
Email?: string;
|
|
1723
|
+
/** Email address that would be carbon copied or CC. */
|
|
954
1724
|
Cc?: string;
|
|
1725
|
+
/** The name of a contact person for a customer or vendor. */
|
|
955
1726
|
Contact?: string;
|
|
1727
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
956
1728
|
AltContact?: string;
|
|
1729
|
+
/** List of additional contacts. */
|
|
957
1730
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1731
|
+
/** A list of contact records. */
|
|
958
1732
|
Contacts?: Contacts | Contacts[];
|
|
1733
|
+
/** 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.) */
|
|
959
1734
|
NameOnCheck?: string;
|
|
1735
|
+
/** 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. */
|
|
960
1736
|
AccountNumber?: string;
|
|
1737
|
+
/** Additional information about this vendor. */
|
|
961
1738
|
Notes?: string;
|
|
1739
|
+
/** List of notes. */
|
|
962
1740
|
AdditionalNotes?: AdditionalNotes | AdditionalNotes[];
|
|
1741
|
+
/** 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. */
|
|
963
1742
|
VendorTypeRef?: VendorTypeRef;
|
|
1743
|
+
/** 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. */
|
|
964
1744
|
TermsRef?: TermsRef;
|
|
1745
|
+
/** 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. */
|
|
965
1746
|
CreditLimit?: string;
|
|
1747
|
+
/** A character string that identifies a vendor. */
|
|
966
1748
|
VendorTaxIdent?: string;
|
|
1749
|
+
/** If `IsVendorEligibleFor1099` is set to true, `VendorTaxIdent` and `VendorAddress` are required in a vendor add request message. Otherwise, `VendorTaxIdent` and `VendorAddress` are optional. */
|
|
967
1750
|
IsVendorEligibleFor1099?: boolean;
|
|
1751
|
+
/** The opening balance of this vendor’s account. A positive number indicates money owed to this vendor. */
|
|
968
1752
|
OpenBalance?: string;
|
|
1753
|
+
/** The date of the opening balance for this vendor. */
|
|
969
1754
|
OpenBalanceDate?: string;
|
|
1755
|
+
/** 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. */
|
|
970
1756
|
BillingRateRef?: BillingRateRef;
|
|
1757
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
971
1758
|
ExternalGUID?: string;
|
|
1759
|
+
/** 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. */
|
|
972
1760
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1761
|
+
/** The country that sales tax is collected for. */
|
|
973
1762
|
SalesTaxCountry?: SalesTaxCountry;
|
|
1763
|
+
/** Indicates whether the entity is a sales tax agency. */
|
|
974
1764
|
IsSalesTaxAgency?: boolean;
|
|
1765
|
+
/** Sales tax return information. */
|
|
975
1766
|
SalesTaxReturnRef?: SalesTaxReturnRef;
|
|
1767
|
+
/** The tax registration number used in CA and UK. */
|
|
976
1768
|
TaxRegistrationNumber?: string;
|
|
1769
|
+
/** Vendor reporting period for CA or UK. This can be monthly or quarterly. */
|
|
977
1770
|
ReportingPeriod?: ReportingPeriod;
|
|
1771
|
+
/** This flag is used for CA or UK and whether tax is tracked on purchases. */
|
|
978
1772
|
IsTaxTrackedOnPurchases?: boolean;
|
|
1773
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
979
1774
|
TaxOnPurchasesAccountRef?: TaxOnPurchasesAccountRef;
|
|
1775
|
+
/** This flag is used for CA or UK and whether tax is tracked on sales. */
|
|
980
1776
|
IsTaxTrackedOnSales?: boolean;
|
|
1777
|
+
/** Account used for taxes on sales in CA or UK. */
|
|
981
1778
|
TaxOnSalesAccountRef?: TaxOnSalesAccountRef;
|
|
1779
|
+
/** For vendor in CA or UK, is there tax charged on top of tax. */
|
|
982
1780
|
IsTaxOnTax?: boolean;
|
|
1781
|
+
/** Expense account to prefill when you enter bills for this vendor. */
|
|
983
1782
|
PrefillAccountRef?: PrefillAccountRef | PrefillAccountRef[];
|
|
1783
|
+
/** 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. */
|
|
984
1784
|
CurrencyRef?: CurrencyRef;
|
|
985
1785
|
}
|
|
986
1786
|
export interface VendorAddRq {
|
|
987
1787
|
VendorAdd: VendorAdd;
|
|
1788
|
+
/** 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. */
|
|
988
1789
|
IncludeRetElement?: string[] | string;
|
|
989
1790
|
}
|
|
990
1791
|
interface VendorAddressBlock {
|
|
1792
|
+
/** The first line of an address. */
|
|
991
1793
|
Addr1?: string;
|
|
1794
|
+
/** The second line of an address (if a second line is needed). */
|
|
992
1795
|
Addr2?: string;
|
|
1796
|
+
/** The third line of an address (if a third line is needed). */
|
|
993
1797
|
Addr3?: string;
|
|
1798
|
+
/** The fourth line of an address (if a fourth line is needed). */
|
|
994
1799
|
Addr4?: string;
|
|
1800
|
+
/** The fifth line of an address (if a fifth line is needed). */
|
|
995
1801
|
Addr5?: string;
|
|
996
1802
|
}
|
|
997
1803
|
interface VendorRet {
|
|
1804
|
+
/** 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. */
|
|
998
1805
|
ListID: string;
|
|
1806
|
+
/** Time the object was created. */
|
|
999
1807
|
TimeCreated: string;
|
|
1808
|
+
/** Time the object was last modified. */
|
|
1000
1809
|
TimeModified: string;
|
|
1810
|
+
/** 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. */
|
|
1001
1811
|
EditSequence: string;
|
|
1812
|
+
/** 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. */
|
|
1002
1813
|
Name: string;
|
|
1814
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1003
1815
|
IsActive?: boolean;
|
|
1816
|
+
/** 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. */
|
|
1004
1817
|
ClassRef?: ClassRef;
|
|
1818
|
+
/** Is the current entity a tax agency. */
|
|
1005
1819
|
IsTaxAgency?: boolean;
|
|
1820
|
+
/** 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.) */
|
|
1006
1821
|
CompanyName?: string;
|
|
1822
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
1007
1823
|
Salutation?: string;
|
|
1824
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1008
1825
|
FirstName?: string;
|
|
1826
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1009
1827
|
MiddleName?: string;
|
|
1828
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1010
1829
|
LastName?: string;
|
|
1830
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
1011
1831
|
JobTitle?: string;
|
|
1832
|
+
/** If an address request fails, some combination of address fields might be too long. */
|
|
1012
1833
|
VendorAddress?: VendorAddress;
|
|
1834
|
+
/** 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. */
|
|
1013
1835
|
VendorAddressBlock?: VendorAddressBlock;
|
|
1836
|
+
/** 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`. */
|
|
1014
1837
|
ShipAddress?: ShipAddress;
|
|
1838
|
+
/** The telephone number. */
|
|
1015
1839
|
Phone?: string;
|
|
1840
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
1016
1841
|
AltPhone?: string;
|
|
1842
|
+
/** Fax number. */
|
|
1017
1843
|
Fax?: string;
|
|
1844
|
+
/** E-mail address. */
|
|
1018
1845
|
Email?: string;
|
|
1846
|
+
/** Email address that would be carbon copied or CC. */
|
|
1019
1847
|
Cc?: string;
|
|
1848
|
+
/** The name of a contact person for a customer or vendor. */
|
|
1020
1849
|
Contact?: string;
|
|
1850
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
1021
1851
|
AltContact?: string;
|
|
1852
|
+
/** List of additional contacts. */
|
|
1022
1853
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1854
|
+
/** A list of contact records. */
|
|
1023
1855
|
ContactsRet?: ContactsRet | ContactsRet[];
|
|
1856
|
+
/** 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.) */
|
|
1024
1857
|
NameOnCheck?: string;
|
|
1858
|
+
/** 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. */
|
|
1025
1859
|
AccountNumber?: string;
|
|
1860
|
+
/** Additional information about this vendor. */
|
|
1026
1861
|
Notes?: string;
|
|
1862
|
+
/** List of notes. */
|
|
1027
1863
|
AdditionalNotesRet?: AdditionalNotesRet | AdditionalNotesRet[];
|
|
1864
|
+
/** 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. */
|
|
1028
1865
|
VendorTypeRef?: VendorTypeRef;
|
|
1866
|
+
/** 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. */
|
|
1029
1867
|
TermsRef?: TermsRef;
|
|
1868
|
+
/** 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. */
|
|
1030
1869
|
CreditLimit?: string;
|
|
1870
|
+
/** A character string that identifies a vendor. */
|
|
1031
1871
|
VendorTaxIdent?: string;
|
|
1872
|
+
/** If `IsVendorEligibleFor1099` is set to true, `VendorTaxIdent` and `VendorAddress` are required in a vendor add request message. Otherwise, `VendorTaxIdent` and `VendorAddress` are optional. */
|
|
1032
1873
|
IsVendorEligibleFor1099?: boolean;
|
|
1874
|
+
/** A positive number indicates money owed to this vendor. */
|
|
1033
1875
|
Balance?: string;
|
|
1876
|
+
/** 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. */
|
|
1034
1877
|
BillingRateRef?: BillingRateRef;
|
|
1878
|
+
/** Allows for the attachment of a user defined GUID value. */
|
|
1035
1879
|
ExternalGUID?: string;
|
|
1880
|
+
/** 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. */
|
|
1036
1881
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1882
|
+
/** The country that sales tax is collected for. */
|
|
1037
1883
|
SalesTaxCountry?: SalesTaxCountry;
|
|
1884
|
+
/** Indicates whether the entity is a sales tax agency. */
|
|
1038
1885
|
IsSalesTaxAgency?: boolean;
|
|
1886
|
+
/** Sales tax return information. */
|
|
1039
1887
|
SalesTaxReturnRef?: SalesTaxReturnRef;
|
|
1888
|
+
/** The tax registration number used in CA and UK. */
|
|
1040
1889
|
TaxRegistrationNumber?: string;
|
|
1890
|
+
/** Vendor reporting period for CA or UK. This can be monthly or quarterly. */
|
|
1041
1891
|
ReportingPeriod?: ReportingPeriod;
|
|
1892
|
+
/** This flag is used for CA or UK and whether tax is tracked on purchases. */
|
|
1042
1893
|
IsTaxTrackedOnPurchases?: boolean;
|
|
1894
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
1043
1895
|
TaxOnPurchasesAccountRef?: TaxOnPurchasesAccountRef;
|
|
1896
|
+
/** This flag is used for CA or UK and whether tax is tracked on sales. */
|
|
1044
1897
|
IsTaxTrackedOnSales?: boolean;
|
|
1898
|
+
/** Account used for taxes on sales in CA or UK. */
|
|
1045
1899
|
TaxOnSalesAccountRef?: TaxOnSalesAccountRef;
|
|
1900
|
+
/** For vendor in CA or UK, is there tax charged on top of tax. */
|
|
1046
1901
|
IsTaxOnTax?: boolean;
|
|
1902
|
+
/** Expense account to prefill when you enter bills for this vendor. */
|
|
1047
1903
|
PrefillAccountRef?: PrefillAccountRef | PrefillAccountRef[];
|
|
1904
|
+
/** 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. */
|
|
1048
1905
|
CurrencyRef?: CurrencyRef;
|
|
1906
|
+
/** A list of `IDataExtRet` objects, each of which represents a field that has been added to QuickBooks as a data extension. */
|
|
1049
1907
|
DataExtRet?: DataExtRet | DataExtRet[];
|
|
1050
1908
|
}
|
|
1051
1909
|
export interface VendorAddRs {
|
|
@@ -1053,54 +1911,100 @@ export interface VendorAddRs {
|
|
|
1053
1911
|
ErrorRecovery?: ErrorRecovery;
|
|
1054
1912
|
}
|
|
1055
1913
|
interface VendorMod {
|
|
1914
|
+
/** 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. */
|
|
1056
1915
|
ListID: 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. */
|
|
1057
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. */
|
|
1058
1919
|
Name?: string;
|
|
1920
|
+
/** If `IsActive` is true, this object is currently enabled for use by QuickBooks. The default value is true. */
|
|
1059
1921
|
IsActive?: boolean;
|
|
1922
|
+
/** 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. */
|
|
1060
1923
|
ClassRef?: ClassRef;
|
|
1924
|
+
/** 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.) */
|
|
1061
1925
|
CompanyName?: string;
|
|
1926
|
+
/** A formal reference, such as Mr. or Dr., that precedes a name. */
|
|
1062
1927
|
Salutation?: string;
|
|
1928
|
+
/** The first name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1063
1929
|
FirstName?: string;
|
|
1930
|
+
/** The middle name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1064
1931
|
MiddleName?: string;
|
|
1932
|
+
/** The last name of a customer, vendor, employee, or person on the “other names” list. */
|
|
1065
1933
|
LastName?: string;
|
|
1934
|
+
/** The job title of a customer, vendor, employee, or person on the “other names” list. */
|
|
1066
1935
|
JobTitle?: string;
|
|
1936
|
+
/** If an address request fails, some combination of address fields might be too long. */
|
|
1067
1937
|
VendorAddress?: VendorAddress;
|
|
1938
|
+
/** 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`. */
|
|
1068
1939
|
ShipAddress?: ShipAddress;
|
|
1940
|
+
/** The telephone number. */
|
|
1069
1941
|
Phone?: string;
|
|
1942
|
+
/** A telephone number given as an alternative to `Phone`. */
|
|
1070
1943
|
AltPhone?: string;
|
|
1944
|
+
/** Fax number. */
|
|
1071
1945
|
Fax?: string;
|
|
1946
|
+
/** E-mail address. */
|
|
1072
1947
|
Email?: string;
|
|
1948
|
+
/** Email address that would be carbon copied or CC. */
|
|
1073
1949
|
Cc?: string;
|
|
1950
|
+
/** The name of a contact person for a customer or vendor. */
|
|
1074
1951
|
Contact?: string;
|
|
1952
|
+
/** The name of an alternate contact person for a vendor, customer, or “other name” entry. */
|
|
1075
1953
|
AltContact?: string;
|
|
1954
|
+
/** List of additional contacts. */
|
|
1076
1955
|
AdditionalContactRef?: AdditionalContactRef | AdditionalContactRef[];
|
|
1956
|
+
/** A list of contact records. */
|
|
1077
1957
|
ContactsMod?: ContactsMod | ContactsMod[];
|
|
1958
|
+
/** 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.) */
|
|
1078
1959
|
NameOnCheck?: string;
|
|
1960
|
+
/** 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. */
|
|
1079
1961
|
AccountNumber?: string;
|
|
1962
|
+
/** Additional information about this vendor. */
|
|
1080
1963
|
Notes?: string;
|
|
1964
|
+
/** List of notes. */
|
|
1081
1965
|
AdditionalNotesMod?: AdditionalNotesMod | AdditionalNotesMod[];
|
|
1966
|
+
/** 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. */
|
|
1082
1967
|
VendorTypeRef?: VendorTypeRef;
|
|
1968
|
+
/** 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. */
|
|
1083
1969
|
TermsRef?: TermsRef;
|
|
1970
|
+
/** 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. */
|
|
1084
1971
|
CreditLimit?: string;
|
|
1972
|
+
/** A character string that identifies a vendor. */
|
|
1085
1973
|
VendorTaxIdent?: string;
|
|
1974
|
+
/** If `IsVendorEligibleFor1099` is set to true, `VendorTaxIdent` and `VendorAddress` are required in a vendor add request message. Otherwise, `VendorTaxIdent` and `VendorAddress` are optional. */
|
|
1086
1975
|
IsVendorEligibleFor1099?: boolean;
|
|
1976
|
+
/** 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. */
|
|
1087
1977
|
BillingRateRef?: BillingRateRef;
|
|
1978
|
+
/** 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. */
|
|
1088
1979
|
SalesTaxCodeRef?: SalesTaxCodeRef;
|
|
1980
|
+
/** The country that sales tax is collected for. */
|
|
1089
1981
|
SalesTaxCountry?: SalesTaxCountry;
|
|
1982
|
+
/** Indicates whether the entity is a sales tax agency. */
|
|
1090
1983
|
IsSalesTaxAgency?: boolean;
|
|
1984
|
+
/** Sales tax return information. */
|
|
1091
1985
|
SalesTaxReturnRef?: SalesTaxReturnRef;
|
|
1986
|
+
/** The tax registration number used in CA and UK. */
|
|
1092
1987
|
TaxRegistrationNumber?: string;
|
|
1988
|
+
/** Vendor reporting period for CA or UK. This can be monthly or quarterly. */
|
|
1093
1989
|
ReportingPeriod?: ReportingPeriod;
|
|
1990
|
+
/** This flag is used for CA or UK and whether tax is tracked on purchases. */
|
|
1094
1991
|
IsTaxTrackedOnPurchases?: boolean;
|
|
1992
|
+
/** Account used for taxes on purchases in CA or UK. */
|
|
1095
1993
|
TaxOnPurchasesAccountRef?: TaxOnPurchasesAccountRef;
|
|
1994
|
+
/** This flag is used for CA or UK and whether tax is tracked on sales. */
|
|
1096
1995
|
IsTaxTrackedOnSales?: boolean;
|
|
1996
|
+
/** Account used for taxes on sales in CA or UK. */
|
|
1097
1997
|
TaxOnSalesAccountRef?: TaxOnSalesAccountRef;
|
|
1998
|
+
/** For vendor in CA or UK, is there tax charged on top of tax. */
|
|
1098
1999
|
IsTaxOnTax?: boolean;
|
|
2000
|
+
/** Expense account to prefill when you enter bills for this vendor. */
|
|
1099
2001
|
PrefillAccountRef?: PrefillAccountRef | PrefillAccountRef[];
|
|
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. */
|
|
1100
2003
|
CurrencyRef?: CurrencyRef;
|
|
1101
2004
|
}
|
|
1102
2005
|
export interface VendorModRq {
|
|
1103
2006
|
VendorMod: VendorMod;
|
|
2007
|
+
/** 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. */
|
|
1104
2008
|
IncludeRetElement?: string[] | string;
|
|
1105
2009
|
}
|
|
1106
2010
|
export interface VendorModRs {
|
|
@@ -1108,18 +2012,31 @@ export interface VendorModRs {
|
|
|
1108
2012
|
ErrorRecovery?: ErrorRecovery;
|
|
1109
2013
|
}
|
|
1110
2014
|
export interface VendorQueryRq {
|
|
2015
|
+
/** 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. */
|
|
1111
2016
|
ListID?: string[] | string;
|
|
2017
|
+
/** 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. */
|
|
1112
2018
|
FullName?: string[] | string;
|
|
2019
|
+
/** 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. */
|
|
1113
2020
|
MaxReturned?: number;
|
|
2021
|
+
/** 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. */
|
|
1114
2022
|
ActiveStatus?: ActiveStatus;
|
|
2023
|
+
/** 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). */
|
|
1115
2024
|
FromModifiedDate?: string;
|
|
2025
|
+
/** 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). */
|
|
1116
2026
|
ToModifiedDate?: string;
|
|
2027
|
+
/** Filters according to the object’s `Name`. */
|
|
1117
2028
|
NameFilter?: NameFilter;
|
|
2029
|
+
/** Filters according to the object’s `Name`. */
|
|
1118
2030
|
NameRangeFilter?: NameRangeFilter;
|
|
2031
|
+
/** 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. */
|
|
1119
2032
|
TotalBalanceFilter?: TotalBalanceFilter;
|
|
2033
|
+
/** Filters by the specified currency. */
|
|
1120
2034
|
CurrencyFilter?: CurrencyFilter;
|
|
2035
|
+
/** Filter according to class. */
|
|
1121
2036
|
ClassFilter?: ClassFilter;
|
|
2037
|
+
/** 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. */
|
|
1122
2038
|
IncludeRetElement?: string[] | string;
|
|
2039
|
+
/** 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. */
|
|
1123
2040
|
OwnerID?: string[] | string;
|
|
1124
2041
|
}
|
|
1125
2042
|
export interface VendorQueryRs {
|