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