conductor-node 14.11.0 → 14.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/internal/utils/log.d.mts.map +1 -1
  3. package/internal/utils/log.d.ts.map +1 -1
  4. package/internal/utils/log.js +2 -0
  5. package/internal/utils/log.js.map +1 -1
  6. package/internal/utils/log.mjs +2 -0
  7. package/internal/utils/log.mjs.map +1 -1
  8. package/package.json +1 -1
  9. package/resources/qbd/bill-check-payments.d.mts +33 -8
  10. package/resources/qbd/bill-check-payments.d.mts.map +1 -1
  11. package/resources/qbd/bill-check-payments.d.ts +33 -8
  12. package/resources/qbd/bill-check-payments.d.ts.map +1 -1
  13. package/resources/qbd/bill-credit-card-payments.d.mts +15 -4
  14. package/resources/qbd/bill-credit-card-payments.d.mts.map +1 -1
  15. package/resources/qbd/bill-credit-card-payments.d.ts +15 -4
  16. package/resources/qbd/bill-credit-card-payments.d.ts.map +1 -1
  17. package/resources/qbd/bills.d.mts +28 -0
  18. package/resources/qbd/bills.d.mts.map +1 -1
  19. package/resources/qbd/bills.d.ts +28 -0
  20. package/resources/qbd/bills.d.ts.map +1 -1
  21. package/resources/qbd/build-assemblies.d.mts +4 -0
  22. package/resources/qbd/build-assemblies.d.mts.map +1 -1
  23. package/resources/qbd/build-assemblies.d.ts +4 -0
  24. package/resources/qbd/build-assemblies.d.ts.map +1 -1
  25. package/resources/qbd/checks.d.mts +34 -0
  26. package/resources/qbd/checks.d.mts.map +1 -1
  27. package/resources/qbd/checks.d.ts +34 -0
  28. package/resources/qbd/checks.d.ts.map +1 -1
  29. package/resources/qbd/credit-card-charges.d.mts +28 -0
  30. package/resources/qbd/credit-card-charges.d.mts.map +1 -1
  31. package/resources/qbd/credit-card-charges.d.ts +28 -0
  32. package/resources/qbd/credit-card-charges.d.ts.map +1 -1
  33. package/resources/qbd/credit-card-credits.d.mts +28 -0
  34. package/resources/qbd/credit-card-credits.d.mts.map +1 -1
  35. package/resources/qbd/credit-card-credits.d.ts +28 -0
  36. package/resources/qbd/credit-card-credits.d.ts.map +1 -1
  37. package/resources/qbd/credit-card-refunds.d.mts +5 -0
  38. package/resources/qbd/credit-card-refunds.d.mts.map +1 -1
  39. package/resources/qbd/credit-card-refunds.d.ts +5 -0
  40. package/resources/qbd/credit-card-refunds.d.ts.map +1 -1
  41. package/resources/qbd/credit-memos.d.mts +26 -0
  42. package/resources/qbd/credit-memos.d.mts.map +1 -1
  43. package/resources/qbd/credit-memos.d.ts +26 -0
  44. package/resources/qbd/credit-memos.d.ts.map +1 -1
  45. package/resources/qbd/customers.d.mts +12 -0
  46. package/resources/qbd/customers.d.mts.map +1 -1
  47. package/resources/qbd/customers.d.ts +12 -0
  48. package/resources/qbd/customers.d.ts.map +1 -1
  49. package/resources/qbd/deposits.d.mts +12 -0
  50. package/resources/qbd/deposits.d.mts.map +1 -1
  51. package/resources/qbd/deposits.d.ts +12 -0
  52. package/resources/qbd/deposits.d.ts.map +1 -1
  53. package/resources/qbd/discount-items.d.mts +9 -3
  54. package/resources/qbd/discount-items.d.mts.map +1 -1
  55. package/resources/qbd/discount-items.d.ts +9 -3
  56. package/resources/qbd/discount-items.d.ts.map +1 -1
  57. package/resources/qbd/employees.d.mts +26 -0
  58. package/resources/qbd/employees.d.mts.map +1 -1
  59. package/resources/qbd/employees.d.ts +26 -0
  60. package/resources/qbd/employees.d.ts.map +1 -1
  61. package/resources/qbd/estimates.d.mts +26 -0
  62. package/resources/qbd/estimates.d.mts.map +1 -1
  63. package/resources/qbd/estimates.d.ts +26 -0
  64. package/resources/qbd/estimates.d.ts.map +1 -1
  65. package/resources/qbd/index.d.mts +1 -0
  66. package/resources/qbd/index.d.mts.map +1 -1
  67. package/resources/qbd/index.d.ts +1 -0
  68. package/resources/qbd/index.d.ts.map +1 -1
  69. package/resources/qbd/index.js +4 -2
  70. package/resources/qbd/index.js.map +1 -1
  71. package/resources/qbd/index.mjs +1 -0
  72. package/resources/qbd/index.mjs.map +1 -1
  73. package/resources/qbd/inventory-adjustments.d.mts +4 -0
  74. package/resources/qbd/inventory-adjustments.d.mts.map +1 -1
  75. package/resources/qbd/inventory-adjustments.d.ts +4 -0
  76. package/resources/qbd/inventory-adjustments.d.ts.map +1 -1
  77. package/resources/qbd/inventory-assembly-items.d.mts +8 -5
  78. package/resources/qbd/inventory-assembly-items.d.mts.map +1 -1
  79. package/resources/qbd/inventory-assembly-items.d.ts +8 -5
  80. package/resources/qbd/inventory-assembly-items.d.ts.map +1 -1
  81. package/resources/qbd/inventory-items.d.mts +8 -5
  82. package/resources/qbd/inventory-items.d.mts.map +1 -1
  83. package/resources/qbd/inventory-items.d.ts +8 -5
  84. package/resources/qbd/inventory-items.d.ts.map +1 -1
  85. package/resources/qbd/inventory-sites.d.mts +4 -0
  86. package/resources/qbd/inventory-sites.d.mts.map +1 -1
  87. package/resources/qbd/inventory-sites.d.ts +4 -0
  88. package/resources/qbd/inventory-sites.d.ts.map +1 -1
  89. package/resources/qbd/invoices.d.mts +42 -8
  90. package/resources/qbd/invoices.d.mts.map +1 -1
  91. package/resources/qbd/invoices.d.ts +42 -8
  92. package/resources/qbd/invoices.d.ts.map +1 -1
  93. package/resources/qbd/item-receipts.d.mts +28 -0
  94. package/resources/qbd/item-receipts.d.mts.map +1 -1
  95. package/resources/qbd/item-receipts.d.ts +28 -0
  96. package/resources/qbd/item-receipts.d.ts.map +1 -1
  97. package/resources/qbd/journal-entries.d.mts +13 -0
  98. package/resources/qbd/journal-entries.d.mts.map +1 -1
  99. package/resources/qbd/journal-entries.d.ts +13 -0
  100. package/resources/qbd/journal-entries.d.ts.map +1 -1
  101. package/resources/qbd/other-names.d.mts +12 -0
  102. package/resources/qbd/other-names.d.mts.map +1 -1
  103. package/resources/qbd/other-names.d.ts +12 -0
  104. package/resources/qbd/other-names.d.ts.map +1 -1
  105. package/resources/qbd/payroll-wage-items.d.mts +3 -0
  106. package/resources/qbd/payroll-wage-items.d.mts.map +1 -1
  107. package/resources/qbd/payroll-wage-items.d.ts +3 -0
  108. package/resources/qbd/payroll-wage-items.d.ts.map +1 -1
  109. package/resources/qbd/price-levels.d.mts +18 -18
  110. package/resources/qbd/price-levels.d.mts.map +1 -1
  111. package/resources/qbd/price-levels.d.ts +18 -18
  112. package/resources/qbd/price-levels.d.ts.map +1 -1
  113. package/resources/qbd/purchase-orders.d.mts +26 -0
  114. package/resources/qbd/purchase-orders.d.mts.map +1 -1
  115. package/resources/qbd/purchase-orders.d.ts +26 -0
  116. package/resources/qbd/purchase-orders.d.ts.map +1 -1
  117. package/resources/qbd/qbd.d.mts +4 -0
  118. package/resources/qbd/qbd.d.mts.map +1 -1
  119. package/resources/qbd/qbd.d.ts +4 -0
  120. package/resources/qbd/qbd.d.ts.map +1 -1
  121. package/resources/qbd/qbd.js +4 -0
  122. package/resources/qbd/qbd.js.map +1 -1
  123. package/resources/qbd/qbd.mjs +4 -0
  124. package/resources/qbd/qbd.mjs.map +1 -1
  125. package/resources/qbd/receive-payments.d.mts +40 -12
  126. package/resources/qbd/receive-payments.d.mts.map +1 -1
  127. package/resources/qbd/receive-payments.d.ts +40 -12
  128. package/resources/qbd/receive-payments.d.ts.map +1 -1
  129. package/resources/qbd/receive-payments.js +4 -4
  130. package/resources/qbd/receive-payments.mjs +4 -4
  131. package/resources/qbd/reports.d.mts +1800 -0
  132. package/resources/qbd/reports.d.mts.map +1 -0
  133. package/resources/qbd/reports.d.ts +1800 -0
  134. package/resources/qbd/reports.d.ts.map +1 -0
  135. package/resources/qbd/reports.js +203 -0
  136. package/resources/qbd/reports.js.map +1 -0
  137. package/resources/qbd/reports.mjs +199 -0
  138. package/resources/qbd/reports.mjs.map +1 -0
  139. package/resources/qbd/sales-orders.d.mts +26 -0
  140. package/resources/qbd/sales-orders.d.mts.map +1 -1
  141. package/resources/qbd/sales-orders.d.ts +26 -0
  142. package/resources/qbd/sales-orders.d.ts.map +1 -1
  143. package/resources/qbd/sales-receipts.d.mts +26 -0
  144. package/resources/qbd/sales-receipts.d.mts.map +1 -1
  145. package/resources/qbd/sales-receipts.d.ts +26 -0
  146. package/resources/qbd/sales-receipts.d.ts.map +1 -1
  147. package/resources/qbd/time-tracking-activities.d.mts +6 -0
  148. package/resources/qbd/time-tracking-activities.d.mts.map +1 -1
  149. package/resources/qbd/time-tracking-activities.d.ts +6 -0
  150. package/resources/qbd/time-tracking-activities.d.ts.map +1 -1
  151. package/resources/qbd/transfers.d.mts +6 -0
  152. package/resources/qbd/transfers.d.mts.map +1 -1
  153. package/resources/qbd/transfers.d.ts +6 -0
  154. package/resources/qbd/transfers.d.ts.map +1 -1
  155. package/resources/qbd/vendor-credits.d.mts +28 -0
  156. package/resources/qbd/vendor-credits.d.mts.map +1 -1
  157. package/resources/qbd/vendor-credits.d.ts +28 -0
  158. package/resources/qbd/vendor-credits.d.ts.map +1 -1
  159. package/resources/qbd/vendors.d.mts +16 -0
  160. package/resources/qbd/vendors.d.mts.map +1 -1
  161. package/resources/qbd/vendors.d.ts +16 -0
  162. package/resources/qbd/vendors.d.ts.map +1 -1
  163. package/src/internal/utils/log.ts +2 -0
  164. package/src/resources/qbd/bill-check-payments.ts +33 -8
  165. package/src/resources/qbd/bill-credit-card-payments.ts +15 -4
  166. package/src/resources/qbd/bills.ts +28 -0
  167. package/src/resources/qbd/build-assemblies.ts +4 -0
  168. package/src/resources/qbd/checks.ts +34 -0
  169. package/src/resources/qbd/credit-card-charges.ts +28 -0
  170. package/src/resources/qbd/credit-card-credits.ts +28 -0
  171. package/src/resources/qbd/credit-card-refunds.ts +5 -0
  172. package/src/resources/qbd/credit-memos.ts +26 -0
  173. package/src/resources/qbd/customers.ts +12 -0
  174. package/src/resources/qbd/deposits.ts +12 -0
  175. package/src/resources/qbd/discount-items.ts +9 -3
  176. package/src/resources/qbd/employees.ts +26 -0
  177. package/src/resources/qbd/estimates.ts +26 -0
  178. package/src/resources/qbd/index.ts +14 -0
  179. package/src/resources/qbd/inventory-adjustments.ts +4 -0
  180. package/src/resources/qbd/inventory-assembly-items.ts +8 -5
  181. package/src/resources/qbd/inventory-items.ts +8 -5
  182. package/src/resources/qbd/inventory-sites.ts +4 -0
  183. package/src/resources/qbd/invoices.ts +42 -8
  184. package/src/resources/qbd/item-receipts.ts +28 -0
  185. package/src/resources/qbd/journal-entries.ts +13 -0
  186. package/src/resources/qbd/other-names.ts +12 -0
  187. package/src/resources/qbd/payroll-wage-items.ts +3 -0
  188. package/src/resources/qbd/price-levels.ts +20 -20
  189. package/src/resources/qbd/purchase-orders.ts +26 -0
  190. package/src/resources/qbd/qbd.ts +32 -0
  191. package/src/resources/qbd/receive-payments.ts +40 -12
  192. package/src/resources/qbd/reports.ts +3933 -0
  193. package/src/resources/qbd/sales-orders.ts +26 -0
  194. package/src/resources/qbd/sales-receipts.ts +26 -0
  195. package/src/resources/qbd/time-tracking-activities.ts +6 -0
  196. package/src/resources/qbd/transfers.ts +6 -0
  197. package/src/resources/qbd/vendor-credits.ts +28 -0
  198. package/src/resources/qbd/vendors.ts +16 -0
  199. package/src/version.ts +1 -1
  200. package/version.d.mts +1 -1
  201. package/version.d.ts +1 -1
  202. package/version.js +1 -1
  203. package/version.mjs +1 -1
@@ -0,0 +1,3933 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { APIResource } from '../../core/resource';
4
+ import { APIPromise } from '../../core/api-promise';
5
+ import { buildHeaders } from '../../internal/headers';
6
+ import { RequestOptions } from '../../internal/request-options';
7
+
8
+ export class Reports extends APIResource {
9
+ /**
10
+ * Retrieves an aging report.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const report = await conductor.qbd.reports.aging({
15
+ * reportType: 'ap_aging_detail',
16
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
17
+ * });
18
+ * ```
19
+ */
20
+ aging(params: ReportAgingParams, options?: RequestOptions): APIPromise<Report> {
21
+ const { conductorEndUserId, ...query } = params;
22
+ return this._client.get('/quickbooks-desktop/reports/aging', {
23
+ query,
24
+ ...options,
25
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
26
+ });
27
+ }
28
+
29
+ /**
30
+ * Retrieves a budget summary report.
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const report = await conductor.qbd.reports.budgetSummary({
35
+ * fiscalYear: 2026,
36
+ * reportType: 'balance_sheet_budget_overview',
37
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
38
+ * });
39
+ * ```
40
+ */
41
+ budgetSummary(params: ReportBudgetSummaryParams, options?: RequestOptions): APIPromise<Report> {
42
+ const { conductorEndUserId, ...query } = params;
43
+ return this._client.get('/quickbooks-desktop/reports/budget-summary', {
44
+ query,
45
+ ...options,
46
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
47
+ });
48
+ }
49
+
50
+ /**
51
+ * Retrieves a custom detail report.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * const report = await conductor.qbd.reports.customDetail({
56
+ * includeColumns: ['date', 'transaction_type', 'amount'],
57
+ * summarizeRowsBy: 'account',
58
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
59
+ * });
60
+ * ```
61
+ */
62
+ customDetail(params: ReportCustomDetailParams, options?: RequestOptions): APIPromise<Report> {
63
+ const { conductorEndUserId, ...query } = params;
64
+ return this._client.get('/quickbooks-desktop/reports/custom-detail', {
65
+ query,
66
+ ...options,
67
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
68
+ });
69
+ }
70
+
71
+ /**
72
+ * Retrieves a custom summary report.
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * const report = await conductor.qbd.reports.customSummary({
77
+ * summarizeColumnsBy: 'month',
78
+ * summarizeRowsBy: 'account',
79
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
80
+ * });
81
+ * ```
82
+ */
83
+ customSummary(params: ReportCustomSummaryParams, options?: RequestOptions): APIPromise<Report> {
84
+ const { conductorEndUserId, ...query } = params;
85
+ return this._client.get('/quickbooks-desktop/reports/custom-summary', {
86
+ query,
87
+ ...options,
88
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
89
+ });
90
+ }
91
+
92
+ /**
93
+ * Retrieves a general detail report.
94
+ *
95
+ * @example
96
+ * ```ts
97
+ * const report = await conductor.qbd.reports.generalDetail({
98
+ * reportType: '1099_detail',
99
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
100
+ * });
101
+ * ```
102
+ */
103
+ generalDetail(params: ReportGeneralDetailParams, options?: RequestOptions): APIPromise<Report> {
104
+ const { conductorEndUserId, ...query } = params;
105
+ return this._client.get('/quickbooks-desktop/reports/general-detail', {
106
+ query,
107
+ ...options,
108
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
109
+ });
110
+ }
111
+
112
+ /**
113
+ * Retrieves a general summary report.
114
+ *
115
+ * @example
116
+ * ```ts
117
+ * const report = await conductor.qbd.reports.generalSummary({
118
+ * reportType: 'balance_sheet_by_class',
119
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
120
+ * });
121
+ * ```
122
+ */
123
+ generalSummary(params: ReportGeneralSummaryParams, options?: RequestOptions): APIPromise<Report> {
124
+ const { conductorEndUserId, ...query } = params;
125
+ return this._client.get('/quickbooks-desktop/reports/general-summary', {
126
+ query,
127
+ ...options,
128
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
129
+ });
130
+ }
131
+
132
+ /**
133
+ * Retrieves a job report.
134
+ *
135
+ * @example
136
+ * ```ts
137
+ * const report = await conductor.qbd.reports.job({
138
+ * reportType: 'item_estimates_vs_actuals',
139
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
140
+ * });
141
+ * ```
142
+ */
143
+ job(params: ReportJobParams, options?: RequestOptions): APIPromise<Report> {
144
+ const { conductorEndUserId, ...query } = params;
145
+ return this._client.get('/quickbooks-desktop/reports/job', {
146
+ query,
147
+ ...options,
148
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
149
+ });
150
+ }
151
+
152
+ /**
153
+ * Retrieves a payroll detail report.
154
+ *
155
+ * @example
156
+ * ```ts
157
+ * const report = await conductor.qbd.reports.payrollDetail({
158
+ * reportType: 'employee_state_taxes_detail',
159
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
160
+ * });
161
+ * ```
162
+ */
163
+ payrollDetail(params: ReportPayrollDetailParams, options?: RequestOptions): APIPromise<Report> {
164
+ const { conductorEndUserId, ...query } = params;
165
+ return this._client.get('/quickbooks-desktop/reports/payroll-detail', {
166
+ query,
167
+ ...options,
168
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
169
+ });
170
+ }
171
+
172
+ /**
173
+ * Retrieves a payroll summary report.
174
+ *
175
+ * @example
176
+ * ```ts
177
+ * const report = await conductor.qbd.reports.payrollSummary({
178
+ * reportType: 'employee_earnings_summary',
179
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
180
+ * });
181
+ * ```
182
+ */
183
+ payrollSummary(params: ReportPayrollSummaryParams, options?: RequestOptions): APIPromise<Report> {
184
+ const { conductorEndUserId, ...query } = params;
185
+ return this._client.get('/quickbooks-desktop/reports/payroll-summary', {
186
+ query,
187
+ ...options,
188
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
189
+ });
190
+ }
191
+
192
+ /**
193
+ * Retrieves a time report.
194
+ *
195
+ * @example
196
+ * ```ts
197
+ * const report = await conductor.qbd.reports.time({
198
+ * reportType: 'time_by_item',
199
+ * conductorEndUserId: 'end_usr_1234567abcdefg',
200
+ * });
201
+ * ```
202
+ */
203
+ time(params: ReportTimeParams, options?: RequestOptions): APIPromise<Report> {
204
+ const { conductorEndUserId, ...query } = params;
205
+ return this._client.get('/quickbooks-desktop/reports/time', {
206
+ query,
207
+ ...options,
208
+ headers: buildHeaders([{ 'Conductor-End-User-Id': conductorEndUserId }, options?.headers]),
209
+ });
210
+ }
211
+ }
212
+
213
+ export interface Report {
214
+ /**
215
+ * The accounting basis.
216
+ */
217
+ basis: 'accrual' | 'cash' | 'none' | null;
218
+
219
+ /**
220
+ * The report category.
221
+ */
222
+ category:
223
+ | 'general_summary'
224
+ | 'general_detail'
225
+ | 'aging'
226
+ | 'budget_summary'
227
+ | 'job'
228
+ | 'time'
229
+ | 'custom_detail'
230
+ | 'custom_summary'
231
+ | 'payroll_detail'
232
+ | 'payroll_summary';
233
+
234
+ /**
235
+ * The number of columns in the report.
236
+ */
237
+ columnCount: number | null;
238
+
239
+ /**
240
+ * The report columns, in display order. Use each column's `columnId` to match row
241
+ * cells to columns.
242
+ */
243
+ columns: Array<Report.Column>;
244
+
245
+ /**
246
+ * The number of title rows for the report columns.
247
+ */
248
+ columnTitleRowCount: number | null;
249
+
250
+ /**
251
+ * The type of object. This value is always `"qbd_report"`.
252
+ */
253
+ objectType: 'qbd_report';
254
+
255
+ /**
256
+ * The report type.
257
+ */
258
+ reportType:
259
+ | 'balance_sheet_by_class'
260
+ | 'balance_sheet_previous_year_comparison'
261
+ | 'balance_sheet_standard'
262
+ | 'balance_sheet_summary'
263
+ | 'customer_balance_summary'
264
+ | 'expense_by_vendor_summary'
265
+ | 'income_by_customer_summary'
266
+ | 'inventory_stock_status_by_item'
267
+ | 'inventory_stock_status_by_vendor'
268
+ | 'income_tax_summary'
269
+ | 'inventory_valuation_summary'
270
+ | 'inventory_valuation_summary_by_site'
271
+ | 'lot_number_in_stock_by_site'
272
+ | 'physical_inventory_worksheet'
273
+ | 'profit_and_loss_by_class'
274
+ | 'profit_and_loss_by_job'
275
+ | 'profit_and_loss_previous_year_comparison'
276
+ | 'profit_and_loss_standard'
277
+ | 'profit_and_loss_ytd_comparison'
278
+ | 'purchase_by_item_summary'
279
+ | 'purchase_by_vendor_summary'
280
+ | 'sales_by_customer_summary'
281
+ | 'sales_by_item_summary'
282
+ | 'sales_by_sales_representative_summary'
283
+ | 'sales_tax_liability'
284
+ | 'sales_tax_revenue_summary'
285
+ | 'serial_number_in_stock_by_site'
286
+ | 'trial_balance'
287
+ | 'vendor_balance_summary'
288
+ | '1099_detail'
289
+ | 'audit_trail'
290
+ | 'balance_sheet_detail'
291
+ | 'check_detail'
292
+ | 'customer_balance_detail'
293
+ | 'deposit_detail'
294
+ | 'estimates_by_job'
295
+ | 'expense_by_vendor_detail'
296
+ | 'general_ledger'
297
+ | 'income_by_customer_detail'
298
+ | 'income_tax_detail'
299
+ | 'inventory_valuation_detail'
300
+ | 'job_progress_invoices_vs_estimates'
301
+ | 'journal'
302
+ | 'missing_checks'
303
+ | 'open_invoices'
304
+ | 'open_purchase_orders'
305
+ | 'open_purchase_orders_by_job'
306
+ | 'open_sales_order_by_customer'
307
+ | 'open_sales_order_by_item'
308
+ | 'pending_sales'
309
+ | 'profit_and_loss_detail'
310
+ | 'purchase_by_item_detail'
311
+ | 'purchase_by_vendor_detail'
312
+ | 'sales_by_customer_detail'
313
+ | 'sales_by_item_detail'
314
+ | 'sales_by_sales_representative_detail'
315
+ | 'transaction_detail_by_account'
316
+ | 'transaction_list_by_customer'
317
+ | 'transaction_list_by_date'
318
+ | 'transaction_list_by_vendor'
319
+ | 'unpaid_bills_detail'
320
+ | 'unbilled_costs_by_job'
321
+ | 'vendor_balance_detail'
322
+ | 'ap_aging_detail'
323
+ | 'ap_aging_summary'
324
+ | 'ar_aging_detail'
325
+ | 'ar_aging_summary'
326
+ | 'collections_report'
327
+ | 'balance_sheet_budget_overview'
328
+ | 'balance_sheet_budget_vs_actual'
329
+ | 'profit_and_loss_budget_overview'
330
+ | 'profit_and_loss_budget_performance'
331
+ | 'profit_and_loss_budget_vs_actual'
332
+ | 'item_estimates_vs_actuals'
333
+ | 'item_profitability'
334
+ | 'job_estimates_vs_actuals_detail'
335
+ | 'job_estimates_vs_actuals_summary'
336
+ | 'job_profitability_detail'
337
+ | 'job_profitability_summary'
338
+ | 'time_by_item'
339
+ | 'time_by_job_detail'
340
+ | 'time_by_job_summary'
341
+ | 'time_by_name'
342
+ | 'custom_transaction_detail'
343
+ | 'custom_summary'
344
+ | 'employee_state_taxes_detail'
345
+ | 'payroll_item_detail'
346
+ | 'payroll_review_detail'
347
+ | 'payroll_transaction_detail'
348
+ | 'payroll_transactions_by_payee'
349
+ | 'employee_earnings_summary'
350
+ | 'payroll_liability_balances'
351
+ | 'payroll_summary';
352
+
353
+ /**
354
+ * The number of rows in the report.
355
+ */
356
+ rowCount: number | null;
357
+
358
+ /**
359
+ * The report rows, in display order. Rows can be text rows, detail data rows,
360
+ * subtotal rows, or total rows.
361
+ */
362
+ rows: Array<
363
+ Report.QbdReportTextRow | Report.QbdReportDataRow | Report.QbdReportSubtotalRow | Report.QbdReportTotalRow
364
+ >;
365
+
366
+ /**
367
+ * The report subtitle.
368
+ */
369
+ subtitle: string | null;
370
+
371
+ /**
372
+ * The report title.
373
+ */
374
+ title: string | null;
375
+ }
376
+
377
+ export namespace Report {
378
+ export interface Column {
379
+ /**
380
+ * The report column identifier. QuickBooks Desktop numbers columns from left to
381
+ * right, starting at 1. Use this value to match row cells to columns.
382
+ */
383
+ columnId: string;
384
+
385
+ /**
386
+ * The report column type, describing the business meaning of the column, such as
387
+ * `date`, `amount`, or `transaction_type`.
388
+ */
389
+ columnType: string;
390
+
391
+ /**
392
+ * The raw value data type for this column, such as `string`, `amount`, or `date`.
393
+ * This is `null` if QuickBooks Desktop does not provide a data type.
394
+ */
395
+ dataType: string | null;
396
+
397
+ /**
398
+ * The column title cells. Reports can use multiple title rows.
399
+ */
400
+ titles: Array<Column.Title>;
401
+ }
402
+
403
+ export namespace Column {
404
+ export interface Title {
405
+ /**
406
+ * The one-based title row number. Reports can have multiple title rows.
407
+ */
408
+ rowNumber: number;
409
+
410
+ /**
411
+ * The title text for this column title row. This is `null` if QuickBooks Desktop
412
+ * does not provide one.
413
+ */
414
+ value: string | null;
415
+ }
416
+ }
417
+
418
+ export interface QbdReportTextRow {
419
+ /**
420
+ * The row kind. This value is always `"text"`.
421
+ */
422
+ kind: 'text';
423
+
424
+ /**
425
+ * The one-based row number from the report.
426
+ */
427
+ rowNumber: number;
428
+
429
+ /**
430
+ * The text row value. Text rows are mainly used for headings. This is `null` if
431
+ * QuickBooks Desktop does not provide one.
432
+ */
433
+ text: string | null;
434
+ }
435
+
436
+ export interface QbdReportDataRow {
437
+ /**
438
+ * The cells in this report row. Report rows are sparse, so cells appear only for
439
+ * columns where QuickBooks Desktop returned a value.
440
+ */
441
+ cells: Array<QbdReportDataRow.Cell>;
442
+
443
+ /**
444
+ * The row kind. This value is always `"data"`.
445
+ */
446
+ kind: 'data';
447
+
448
+ /**
449
+ * The row-level descriptor provided by QuickBooks Desktop. This is separate from
450
+ * the row's table values in `cells` and is `null` when QuickBooks Desktop does not
451
+ * provide one.
452
+ */
453
+ rowDescriptor: QbdReportDataRow.RowDescriptor | null;
454
+
455
+ /**
456
+ * The one-based row number from the report.
457
+ */
458
+ rowNumber: number;
459
+ }
460
+
461
+ export namespace QbdReportDataRow {
462
+ export interface Cell {
463
+ /**
464
+ * The column identifier for this cell. This matches a column's `columnId` and
465
+ * refers to the column's left-to-right position in the report.
466
+ */
467
+ columnId: string;
468
+
469
+ /**
470
+ * The value data type for this cell. If QuickBooks Desktop omits the cell data
471
+ * type, this uses the matching column's `dataType` when available.
472
+ */
473
+ dataType: string | null;
474
+
475
+ /**
476
+ * The cell value as a QuickBooks Desktop-formatted string. This is `null` if
477
+ * QuickBooks Desktop does not provide a value for the cell.
478
+ */
479
+ value: string | null;
480
+ }
481
+
482
+ /**
483
+ * The row-level descriptor provided by QuickBooks Desktop. This is separate from
484
+ * the row's table values in `cells` and is `null` when QuickBooks Desktop does not
485
+ * provide one.
486
+ */
487
+ export interface RowDescriptor {
488
+ /**
489
+ * The kind of row-level descriptor, such as `account`, `customer`, or `vendor`.
490
+ * This is `null` if QuickBooks Desktop does not provide one.
491
+ */
492
+ type: string | null;
493
+
494
+ /**
495
+ * The row-level descriptor value. This can differ from the first cell value and is
496
+ * `null` if QuickBooks Desktop does not provide one.
497
+ */
498
+ value: string | null;
499
+ }
500
+ }
501
+
502
+ export interface QbdReportSubtotalRow {
503
+ /**
504
+ * The cells in this report row. Report rows are sparse, so cells appear only for
505
+ * columns where QuickBooks Desktop returned a value.
506
+ */
507
+ cells: Array<QbdReportSubtotalRow.Cell>;
508
+
509
+ /**
510
+ * The row kind. This value is always `"subtotal"`.
511
+ */
512
+ kind: 'subtotal';
513
+
514
+ /**
515
+ * The row-level descriptor provided by QuickBooks Desktop. This is separate from
516
+ * the row's table values in `cells` and is `null` when QuickBooks Desktop does not
517
+ * provide one.
518
+ */
519
+ rowDescriptor: QbdReportSubtotalRow.RowDescriptor | null;
520
+
521
+ /**
522
+ * The one-based row number from the report.
523
+ */
524
+ rowNumber: number;
525
+ }
526
+
527
+ export namespace QbdReportSubtotalRow {
528
+ export interface Cell {
529
+ /**
530
+ * The column identifier for this cell. This matches a column's `columnId` and
531
+ * refers to the column's left-to-right position in the report.
532
+ */
533
+ columnId: string;
534
+
535
+ /**
536
+ * The value data type for this cell. If QuickBooks Desktop omits the cell data
537
+ * type, this uses the matching column's `dataType` when available.
538
+ */
539
+ dataType: string | null;
540
+
541
+ /**
542
+ * The cell value as a QuickBooks Desktop-formatted string. This is `null` if
543
+ * QuickBooks Desktop does not provide a value for the cell.
544
+ */
545
+ value: string | null;
546
+ }
547
+
548
+ /**
549
+ * The row-level descriptor provided by QuickBooks Desktop. This is separate from
550
+ * the row's table values in `cells` and is `null` when QuickBooks Desktop does not
551
+ * provide one.
552
+ */
553
+ export interface RowDescriptor {
554
+ /**
555
+ * The kind of row-level descriptor, such as `account`, `customer`, or `vendor`.
556
+ * This is `null` if QuickBooks Desktop does not provide one.
557
+ */
558
+ type: string | null;
559
+
560
+ /**
561
+ * The row-level descriptor value. This can differ from the first cell value and is
562
+ * `null` if QuickBooks Desktop does not provide one.
563
+ */
564
+ value: string | null;
565
+ }
566
+ }
567
+
568
+ export interface QbdReportTotalRow {
569
+ /**
570
+ * The cells in this report row. Report rows are sparse, so cells appear only for
571
+ * columns where QuickBooks Desktop returned a value.
572
+ */
573
+ cells: Array<QbdReportTotalRow.Cell>;
574
+
575
+ /**
576
+ * The row kind. This value is always `"total"`.
577
+ */
578
+ kind: 'total';
579
+
580
+ /**
581
+ * The row-level descriptor provided by QuickBooks Desktop. This is separate from
582
+ * the row's table values in `cells` and is `null` when QuickBooks Desktop does not
583
+ * provide one.
584
+ */
585
+ rowDescriptor: QbdReportTotalRow.RowDescriptor | null;
586
+
587
+ /**
588
+ * The one-based row number from the report.
589
+ */
590
+ rowNumber: number;
591
+ }
592
+
593
+ export namespace QbdReportTotalRow {
594
+ export interface Cell {
595
+ /**
596
+ * The column identifier for this cell. This matches a column's `columnId` and
597
+ * refers to the column's left-to-right position in the report.
598
+ */
599
+ columnId: string;
600
+
601
+ /**
602
+ * The value data type for this cell. If QuickBooks Desktop omits the cell data
603
+ * type, this uses the matching column's `dataType` when available.
604
+ */
605
+ dataType: string | null;
606
+
607
+ /**
608
+ * The cell value as a QuickBooks Desktop-formatted string. This is `null` if
609
+ * QuickBooks Desktop does not provide a value for the cell.
610
+ */
611
+ value: string | null;
612
+ }
613
+
614
+ /**
615
+ * The row-level descriptor provided by QuickBooks Desktop. This is separate from
616
+ * the row's table values in `cells` and is `null` when QuickBooks Desktop does not
617
+ * provide one.
618
+ */
619
+ export interface RowDescriptor {
620
+ /**
621
+ * The kind of row-level descriptor, such as `account`, `customer`, or `vendor`.
622
+ * This is `null` if QuickBooks Desktop does not provide one.
623
+ */
624
+ type: string | null;
625
+
626
+ /**
627
+ * The row-level descriptor value. This can differ from the first cell value and is
628
+ * `null` if QuickBooks Desktop does not provide one.
629
+ */
630
+ value: string | null;
631
+ }
632
+ }
633
+ }
634
+
635
+ export interface ReportAgingParams {
636
+ /**
637
+ * Query param: The aging report type to retrieve.
638
+ */
639
+ reportType:
640
+ | 'ap_aging_detail'
641
+ | 'ap_aging_summary'
642
+ | 'ar_aging_detail'
643
+ | 'ar_aging_summary'
644
+ | 'collections_report';
645
+
646
+ /**
647
+ * Header param: The ID of the End-User to receive this request.
648
+ */
649
+ conductorEndUserId: string;
650
+
651
+ /**
652
+ * Query param: Filter for report data by account `fullName` values,
653
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
654
+ * joining parent object names with the object's `name` using colons. Repeat this
655
+ * query parameter to include multiple accounts. Use only one account filter per
656
+ * request.
657
+ */
658
+ accountFullNames?: Array<string>;
659
+
660
+ /**
661
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
662
+ * this query parameter to include multiple accounts. Use only one account filter
663
+ * per request.
664
+ */
665
+ accountIds?: Array<string>;
666
+
667
+ /**
668
+ * Query param: Whether to include all accounts or only accounts in use.
669
+ */
670
+ accountsToInclude?: 'all' | 'in_use';
671
+
672
+ /**
673
+ * Query param: Filter for report data by account type. Use only one account filter
674
+ * per request.
675
+ */
676
+ accountType?:
677
+ | 'accounts_payable'
678
+ | 'accounts_receivable'
679
+ | 'allowed_for_1099'
680
+ | 'ap_and_sales_tax'
681
+ | 'ap_or_credit_card'
682
+ | 'ar_and_ap'
683
+ | 'asset'
684
+ | 'balance_sheet'
685
+ | 'bank'
686
+ | 'bank_and_ar_and_ap_and_uf'
687
+ | 'bank_and_uf'
688
+ | 'cost_of_sales'
689
+ | 'credit_card'
690
+ | 'current_asset'
691
+ | 'current_asset_and_expense'
692
+ | 'current_liability'
693
+ | 'equity'
694
+ | 'equity_and_income_and_expense'
695
+ | 'expense_and_other_expense'
696
+ | 'fixed_asset'
697
+ | 'income_and_expense'
698
+ | 'income_and_other_income'
699
+ | 'liability'
700
+ | 'liability_and_equity'
701
+ | 'long_term_liability'
702
+ | 'non_posting'
703
+ | 'ordinary_expense'
704
+ | 'ordinary_income'
705
+ | 'ordinary_income_and_cogs'
706
+ | 'ordinary_income_and_expense'
707
+ | 'other_asset'
708
+ | 'other_current_asset'
709
+ | 'other_current_liability'
710
+ | 'other_expense'
711
+ | 'other_income'
712
+ | 'other_income_or_expense';
713
+
714
+ /**
715
+ * Query param: The date through which QuickBooks Desktop calculates aging
716
+ * information.
717
+ */
718
+ agingAsOf?: 'report_end_date' | 'today';
719
+
720
+ /**
721
+ * Query param: Filter for report data by class `fullName` values,
722
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
723
+ * joining parent object names with the object's `name` using colons. Repeat this
724
+ * query parameter to include multiple classes. Use only one class filter per
725
+ * request.
726
+ */
727
+ classFullNames?: Array<string>;
728
+
729
+ /**
730
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
731
+ * this query parameter to include multiple classes. Use only one class filter per
732
+ * request.
733
+ */
734
+ classIds?: Array<string>;
735
+
736
+ /**
737
+ * Query param: The report detail level to include. Use `all` for all rows,
738
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
739
+ * summary rows.
740
+ */
741
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
742
+
743
+ /**
744
+ * Query param: Filter for report data by entity `fullName` values,
745
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
746
+ * joining parent object names with the object's `name` using colons. Repeat this
747
+ * query parameter to include multiple entities. Use only one entity filter per
748
+ * request.
749
+ */
750
+ entityFullNames?: Array<string>;
751
+
752
+ /**
753
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
754
+ * this query parameter to include multiple entities. Use only one entity filter
755
+ * per request.
756
+ */
757
+ entityIds?: Array<string>;
758
+
759
+ /**
760
+ * Query param: Filter for report data by entity type, such as customer, vendor,
761
+ * employee, or other name. Use only one entity filter per request.
762
+ */
763
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
764
+
765
+ /**
766
+ * Query param: The specific report columns to include, by column type. Repeat this
767
+ * query parameter to request multiple columns. When this parameter is present,
768
+ * QuickBooks Desktop omits its default report columns unless you include them
769
+ * here.
770
+ */
771
+ includeColumns?: Array<
772
+ | 'account'
773
+ | 'aging'
774
+ | 'amount'
775
+ | 'amount_difference'
776
+ | 'average_cost'
777
+ | 'billed_date'
778
+ | 'billing_status'
779
+ | 'calculated_amount'
780
+ | 'class'
781
+ | 'cleared_status'
782
+ | 'cost_price'
783
+ | 'credit'
784
+ | 'currency'
785
+ | 'date'
786
+ | 'debit'
787
+ | 'delivery_date'
788
+ | 'due_date'
789
+ | 'estimate_active'
790
+ | 'exchange_rate'
791
+ | 'shipment_origin'
792
+ | 'income_subject_to_tax'
793
+ | 'invoiced'
794
+ | 'item'
795
+ | 'description'
796
+ | 'last_modified_by'
797
+ | 'latest_or_prior_state'
798
+ | 'memo'
799
+ | 'updated_at'
800
+ | 'name'
801
+ | 'name_account_number'
802
+ | 'name_address'
803
+ | 'name_city'
804
+ | 'name_contact'
805
+ | 'name_email'
806
+ | 'name_fax'
807
+ | 'name_phone'
808
+ | 'name_state'
809
+ | 'name_postal_code'
810
+ | 'open_balance'
811
+ | 'original_amount'
812
+ | 'paid_amount'
813
+ | 'paid_status'
814
+ | 'paid_through_date'
815
+ | 'payment_method'
816
+ | 'payroll_item'
817
+ | 'purchase_order_number'
818
+ | 'print_status'
819
+ | 'progress_amount'
820
+ | 'progress_percent'
821
+ | 'quantity'
822
+ | 'quantity_available'
823
+ | 'quantity_on_hand'
824
+ | 'quantity_on_sales_order'
825
+ | 'received_quantity'
826
+ | 'ref_number'
827
+ | 'running_balance'
828
+ | 'sales_representative'
829
+ | 'sales_tax_code'
830
+ | 'serial_or_lot_number'
831
+ | 'shipping_date'
832
+ | 'shipping_method'
833
+ | 'source_name'
834
+ | 'split_account'
835
+ | 'ssn_or_tax_identification_number'
836
+ | 'tax_line'
837
+ | 'tax_table_version'
838
+ | 'terms'
839
+ | 'transaction_id'
840
+ | 'transaction_number'
841
+ | 'transaction_type'
842
+ | 'unit_price'
843
+ | 'user_edit'
844
+ | 'value_on_hand'
845
+ | 'wage_base'
846
+ | 'wage_base_tips'
847
+ >;
848
+
849
+ /**
850
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
851
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
852
+ * object names with the object's `name` using colons. Repeat this query parameter
853
+ * to include multiple items. Use only one item filter per request.
854
+ */
855
+ itemFullNames?: Array<string>;
856
+
857
+ /**
858
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
859
+ * query parameter to include multiple items. Use only one item filter per request.
860
+ */
861
+ itemIds?: Array<string>;
862
+
863
+ /**
864
+ * Query param: Filter for report data by item type. Use only one item filter per
865
+ * request.
866
+ */
867
+ itemType?:
868
+ | 'all_except_fixed_asset'
869
+ | 'assembly'
870
+ | 'discount'
871
+ | 'fixed_asset'
872
+ | 'inventory'
873
+ | 'inventory_and_assembly'
874
+ | 'non_inventory'
875
+ | 'other_charge'
876
+ | 'payment'
877
+ | 'sales'
878
+ | 'sales_tax'
879
+ | 'service';
880
+
881
+ /**
882
+ * Query param: Filter for report data that is posting, non-posting, or either.
883
+ * Posting status refers to whether QuickBooks records the transaction in an
884
+ * account register.
885
+ */
886
+ postingStatus?: 'either' | 'non_posting' | 'posting';
887
+
888
+ /**
889
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
890
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
891
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
892
+ * the current fiscal year to date.
893
+ */
894
+ reportDateFrom?: string;
895
+
896
+ /**
897
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
898
+ * with `reportDateFrom` or `reportDateTo`.
899
+ */
900
+ reportDateMacro?:
901
+ | 'all'
902
+ | 'today'
903
+ | 'this_week'
904
+ | 'this_week_to_date'
905
+ | 'this_month'
906
+ | 'this_month_to_date'
907
+ | 'this_quarter'
908
+ | 'this_quarter_to_date'
909
+ | 'this_year'
910
+ | 'this_year_to_date'
911
+ | 'yesterday'
912
+ | 'last_week'
913
+ | 'last_week_to_date'
914
+ | 'last_month'
915
+ | 'last_month_to_date'
916
+ | 'last_quarter'
917
+ | 'last_quarter_to_date'
918
+ | 'last_year'
919
+ | 'last_year_to_date'
920
+ | 'next_week'
921
+ | 'next_four_weeks'
922
+ | 'next_month'
923
+ | 'next_quarter'
924
+ | 'next_year';
925
+
926
+ /**
927
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
928
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
929
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
930
+ * the current fiscal year to date.
931
+ */
932
+ reportDateTo?: string;
933
+
934
+ /**
935
+ * Query param: Filter for report data by transaction type(s). Repeat this query
936
+ * parameter to include multiple transaction types.
937
+ */
938
+ transactionTypes?: Array<
939
+ | 'all'
940
+ | 'ar_refund_credit_card'
941
+ | 'bill'
942
+ | 'bill_payment_check'
943
+ | 'bill_payment_credit_card'
944
+ | 'build_assembly'
945
+ | 'charge'
946
+ | 'check'
947
+ | 'credit_card_charge'
948
+ | 'credit_card_credit'
949
+ | 'credit_memo'
950
+ | 'deposit'
951
+ | 'estimate'
952
+ | 'inventory_adjustment'
953
+ | 'invoice'
954
+ | 'item_receipt'
955
+ | 'journal_entry'
956
+ | 'liability_adjustment'
957
+ | 'paycheck'
958
+ | 'payroll_liability_check'
959
+ | 'purchase_order'
960
+ | 'receive_payment'
961
+ | 'sales_order'
962
+ | 'sales_receipt'
963
+ | 'sales_tax_payment_check'
964
+ | 'transfer'
965
+ | 'vendor_credit'
966
+ | 'ytd_adjustment'
967
+ >;
968
+
969
+ /**
970
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
971
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
972
+ */
973
+ updatedAfter?: string;
974
+
975
+ /**
976
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
977
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
978
+ */
979
+ updatedBefore?: string;
980
+
981
+ /**
982
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
983
+ * combined with `updatedAfter` or `updatedBefore`.
984
+ */
985
+ updatedDateMacro?:
986
+ | 'all'
987
+ | 'today'
988
+ | 'this_week'
989
+ | 'this_week_to_date'
990
+ | 'this_month'
991
+ | 'this_month_to_date'
992
+ | 'this_quarter'
993
+ | 'this_quarter_to_date'
994
+ | 'this_year'
995
+ | 'this_year_to_date'
996
+ | 'yesterday'
997
+ | 'last_week'
998
+ | 'last_week_to_date'
999
+ | 'last_month'
1000
+ | 'last_month_to_date'
1001
+ | 'last_quarter'
1002
+ | 'last_quarter_to_date'
1003
+ | 'last_year'
1004
+ | 'last_year_to_date'
1005
+ | 'next_week'
1006
+ | 'next_four_weeks'
1007
+ | 'next_month'
1008
+ | 'next_quarter'
1009
+ | 'next_year';
1010
+ }
1011
+
1012
+ export interface ReportBudgetSummaryParams {
1013
+ /**
1014
+ * Query param: The fiscal year of the QuickBooks budget. QuickBooks Desktop
1015
+ * returns the full fiscal year for prior years and year-to-date data for the
1016
+ * current fiscal year.
1017
+ */
1018
+ fiscalYear: number;
1019
+
1020
+ /**
1021
+ * Query param: The budget summary report type to retrieve.
1022
+ */
1023
+ reportType:
1024
+ | 'balance_sheet_budget_overview'
1025
+ | 'balance_sheet_budget_vs_actual'
1026
+ | 'profit_and_loss_budget_overview'
1027
+ | 'profit_and_loss_budget_performance'
1028
+ | 'profit_and_loss_budget_vs_actual';
1029
+
1030
+ /**
1031
+ * Header param: The ID of the End-User to receive this request.
1032
+ */
1033
+ conductorEndUserId: string;
1034
+
1035
+ /**
1036
+ * Query param: What the budget covers, such as accounts, accounts and classes, or
1037
+ * accounts and customers.
1038
+ */
1039
+ budgetCriterion?: 'accounts' | 'accounts_and_classes' | 'accounts_and_customers';
1040
+
1041
+ /**
1042
+ * Query param: Filter for report data by class `fullName` values,
1043
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1044
+ * joining parent object names with the object's `name` using colons. Repeat this
1045
+ * query parameter to include multiple classes. Use only one class filter per
1046
+ * request.
1047
+ */
1048
+ classFullNames?: Array<string>;
1049
+
1050
+ /**
1051
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
1052
+ * this query parameter to include multiple classes. Use only one class filter per
1053
+ * request.
1054
+ */
1055
+ classIds?: Array<string>;
1056
+
1057
+ /**
1058
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
1059
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
1060
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
1061
+ * the current fiscal year to date.
1062
+ */
1063
+ reportDateFrom?: string;
1064
+
1065
+ /**
1066
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
1067
+ * with `reportDateFrom` or `reportDateTo`.
1068
+ */
1069
+ reportDateMacro?:
1070
+ | 'all'
1071
+ | 'today'
1072
+ | 'this_week'
1073
+ | 'this_week_to_date'
1074
+ | 'this_month'
1075
+ | 'this_month_to_date'
1076
+ | 'this_quarter'
1077
+ | 'this_quarter_to_date'
1078
+ | 'this_year'
1079
+ | 'this_year_to_date'
1080
+ | 'yesterday'
1081
+ | 'last_week'
1082
+ | 'last_week_to_date'
1083
+ | 'last_month'
1084
+ | 'last_month_to_date'
1085
+ | 'last_quarter'
1086
+ | 'last_quarter_to_date'
1087
+ | 'last_year'
1088
+ | 'last_year_to_date'
1089
+ | 'next_week'
1090
+ | 'next_four_weeks'
1091
+ | 'next_month'
1092
+ | 'next_quarter'
1093
+ | 'next_year';
1094
+
1095
+ /**
1096
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
1097
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
1098
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
1099
+ * the current fiscal year to date.
1100
+ */
1101
+ reportDateTo?: string;
1102
+
1103
+ /**
1104
+ * Query param: How QuickBooks Desktop calculates budget report columns and labels
1105
+ * column headers.
1106
+ */
1107
+ summarizeColumnsBy?: 'class' | 'customer' | 'date';
1108
+
1109
+ /**
1110
+ * Query param: How QuickBooks Desktop labels budget report rows.
1111
+ */
1112
+ summarizeRowsBy?: 'account' | 'class' | 'customer';
1113
+ }
1114
+
1115
+ export interface ReportCustomDetailParams {
1116
+ /**
1117
+ * Query param: The specific report columns to include, by column type. Repeat this
1118
+ * query parameter to request multiple columns. When this parameter is present,
1119
+ * QuickBooks Desktop omits its default report columns unless you include them
1120
+ * here.
1121
+ */
1122
+ includeColumns: Array<
1123
+ | 'account'
1124
+ | 'aging'
1125
+ | 'amount'
1126
+ | 'amount_difference'
1127
+ | 'average_cost'
1128
+ | 'billed_date'
1129
+ | 'billing_status'
1130
+ | 'calculated_amount'
1131
+ | 'class'
1132
+ | 'cleared_status'
1133
+ | 'cost_price'
1134
+ | 'credit'
1135
+ | 'currency'
1136
+ | 'date'
1137
+ | 'debit'
1138
+ | 'delivery_date'
1139
+ | 'due_date'
1140
+ | 'estimate_active'
1141
+ | 'exchange_rate'
1142
+ | 'shipment_origin'
1143
+ | 'income_subject_to_tax'
1144
+ | 'invoiced'
1145
+ | 'item'
1146
+ | 'description'
1147
+ | 'last_modified_by'
1148
+ | 'latest_or_prior_state'
1149
+ | 'memo'
1150
+ | 'updated_at'
1151
+ | 'name'
1152
+ | 'name_account_number'
1153
+ | 'name_address'
1154
+ | 'name_city'
1155
+ | 'name_contact'
1156
+ | 'name_email'
1157
+ | 'name_fax'
1158
+ | 'name_phone'
1159
+ | 'name_state'
1160
+ | 'name_postal_code'
1161
+ | 'open_balance'
1162
+ | 'original_amount'
1163
+ | 'paid_amount'
1164
+ | 'paid_status'
1165
+ | 'paid_through_date'
1166
+ | 'payment_method'
1167
+ | 'payroll_item'
1168
+ | 'purchase_order_number'
1169
+ | 'print_status'
1170
+ | 'progress_amount'
1171
+ | 'progress_percent'
1172
+ | 'quantity'
1173
+ | 'quantity_available'
1174
+ | 'quantity_on_hand'
1175
+ | 'quantity_on_sales_order'
1176
+ | 'received_quantity'
1177
+ | 'ref_number'
1178
+ | 'running_balance'
1179
+ | 'sales_representative'
1180
+ | 'sales_tax_code'
1181
+ | 'serial_or_lot_number'
1182
+ | 'shipping_date'
1183
+ | 'shipping_method'
1184
+ | 'source_name'
1185
+ | 'split_account'
1186
+ | 'ssn_or_tax_identification_number'
1187
+ | 'tax_line'
1188
+ | 'tax_table_version'
1189
+ | 'terms'
1190
+ | 'transaction_id'
1191
+ | 'transaction_number'
1192
+ | 'transaction_type'
1193
+ | 'unit_price'
1194
+ | 'user_edit'
1195
+ | 'value_on_hand'
1196
+ | 'wage_base'
1197
+ | 'wage_base_tips'
1198
+ >;
1199
+
1200
+ /**
1201
+ * Query param: How QuickBooks Desktop calculates report data and labels report
1202
+ * rows.
1203
+ */
1204
+ summarizeRowsBy:
1205
+ | 'account'
1206
+ | 'balance_sheet'
1207
+ | 'class'
1208
+ | 'customer'
1209
+ | 'customer_type'
1210
+ | 'day'
1211
+ | 'employee'
1212
+ | 'four_week'
1213
+ | 'half_month'
1214
+ | 'income_statement'
1215
+ | 'item_detail'
1216
+ | 'item_type'
1217
+ | 'month'
1218
+ | 'payee'
1219
+ | 'payment_method'
1220
+ | 'payroll_item_detail'
1221
+ | 'payroll_ytd_detail'
1222
+ | 'quarter'
1223
+ | 'sales_representative'
1224
+ | 'sales_tax_code'
1225
+ | 'shipping_method'
1226
+ | 'tax_line'
1227
+ | 'terms'
1228
+ | 'total_only'
1229
+ | 'two_week'
1230
+ | 'vendor'
1231
+ | 'vendor_type'
1232
+ | 'week'
1233
+ | 'year';
1234
+
1235
+ /**
1236
+ * Header param: The ID of the End-User to receive this request.
1237
+ */
1238
+ conductorEndUserId: string;
1239
+
1240
+ /**
1241
+ * Query param: Filter for report data by account `fullName` values,
1242
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1243
+ * joining parent object names with the object's `name` using colons. Repeat this
1244
+ * query parameter to include multiple accounts. Use only one account filter per
1245
+ * request.
1246
+ */
1247
+ accountFullNames?: Array<string>;
1248
+
1249
+ /**
1250
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
1251
+ * this query parameter to include multiple accounts. Use only one account filter
1252
+ * per request.
1253
+ */
1254
+ accountIds?: Array<string>;
1255
+
1256
+ /**
1257
+ * Query param: Whether to include all accounts or only accounts in use.
1258
+ */
1259
+ accountsToInclude?: 'all' | 'in_use';
1260
+
1261
+ /**
1262
+ * Query param: Filter for report data by account type. Use only one account filter
1263
+ * per request.
1264
+ */
1265
+ accountType?:
1266
+ | 'accounts_payable'
1267
+ | 'accounts_receivable'
1268
+ | 'allowed_for_1099'
1269
+ | 'ap_and_sales_tax'
1270
+ | 'ap_or_credit_card'
1271
+ | 'ar_and_ap'
1272
+ | 'asset'
1273
+ | 'balance_sheet'
1274
+ | 'bank'
1275
+ | 'bank_and_ar_and_ap_and_uf'
1276
+ | 'bank_and_uf'
1277
+ | 'cost_of_sales'
1278
+ | 'credit_card'
1279
+ | 'current_asset'
1280
+ | 'current_asset_and_expense'
1281
+ | 'current_liability'
1282
+ | 'equity'
1283
+ | 'equity_and_income_and_expense'
1284
+ | 'expense_and_other_expense'
1285
+ | 'fixed_asset'
1286
+ | 'income_and_expense'
1287
+ | 'income_and_other_income'
1288
+ | 'liability'
1289
+ | 'liability_and_equity'
1290
+ | 'long_term_liability'
1291
+ | 'non_posting'
1292
+ | 'ordinary_expense'
1293
+ | 'ordinary_income'
1294
+ | 'ordinary_income_and_cogs'
1295
+ | 'ordinary_income_and_expense'
1296
+ | 'other_asset'
1297
+ | 'other_current_asset'
1298
+ | 'other_current_liability'
1299
+ | 'other_expense'
1300
+ | 'other_income'
1301
+ | 'other_income_or_expense';
1302
+
1303
+ /**
1304
+ * Query param: The accounting basis to use for the report. Use `cash` to base
1305
+ * income and expenses on when money changes hands, `accrual` to base them on
1306
+ * invoice and bill dates, or `none` to use the QuickBooks Desktop default for the
1307
+ * report.
1308
+ */
1309
+ basis?: 'accrual' | 'cash' | 'none';
1310
+
1311
+ /**
1312
+ * Query param: Filter for report data by class `fullName` values,
1313
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1314
+ * joining parent object names with the object's `name` using colons. Repeat this
1315
+ * query parameter to include multiple classes. Use only one class filter per
1316
+ * request.
1317
+ */
1318
+ classFullNames?: Array<string>;
1319
+
1320
+ /**
1321
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
1322
+ * this query parameter to include multiple classes. Use only one class filter per
1323
+ * request.
1324
+ */
1325
+ classIds?: Array<string>;
1326
+
1327
+ /**
1328
+ * Query param: The report detail level to include. Use `all` for all rows,
1329
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
1330
+ * summary rows.
1331
+ */
1332
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
1333
+
1334
+ /**
1335
+ * Query param: Filter for report data by entity `fullName` values,
1336
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1337
+ * joining parent object names with the object's `name` using colons. Repeat this
1338
+ * query parameter to include multiple entities. Use only one entity filter per
1339
+ * request.
1340
+ */
1341
+ entityFullNames?: Array<string>;
1342
+
1343
+ /**
1344
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
1345
+ * this query parameter to include multiple entities. Use only one entity filter
1346
+ * per request.
1347
+ */
1348
+ entityIds?: Array<string>;
1349
+
1350
+ /**
1351
+ * Query param: Filter for report data by entity type, such as customer, vendor,
1352
+ * employee, or other name. Use only one entity filter per request.
1353
+ */
1354
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
1355
+
1356
+ /**
1357
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
1358
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
1359
+ * object names with the object's `name` using colons. Repeat this query parameter
1360
+ * to include multiple items. Use only one item filter per request.
1361
+ */
1362
+ itemFullNames?: Array<string>;
1363
+
1364
+ /**
1365
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
1366
+ * query parameter to include multiple items. Use only one item filter per request.
1367
+ */
1368
+ itemIds?: Array<string>;
1369
+
1370
+ /**
1371
+ * Query param: Filter for report data by item type. Use only one item filter per
1372
+ * request.
1373
+ */
1374
+ itemType?:
1375
+ | 'all_except_fixed_asset'
1376
+ | 'assembly'
1377
+ | 'discount'
1378
+ | 'fixed_asset'
1379
+ | 'inventory'
1380
+ | 'inventory_and_assembly'
1381
+ | 'non_inventory'
1382
+ | 'other_charge'
1383
+ | 'payment'
1384
+ | 'sales'
1385
+ | 'sales_tax'
1386
+ | 'service';
1387
+
1388
+ /**
1389
+ * Query param: The date through which QuickBooks Desktop calculates open balance
1390
+ * information.
1391
+ */
1392
+ openBalanceAsOf?: 'report_end_date' | 'today';
1393
+
1394
+ /**
1395
+ * Query param: Filter for report data that is posting, non-posting, or either.
1396
+ * Posting status refers to whether QuickBooks records the transaction in an
1397
+ * account register.
1398
+ */
1399
+ postingStatus?: 'either' | 'non_posting' | 'posting';
1400
+
1401
+ /**
1402
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
1403
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
1404
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
1405
+ * the current fiscal year to date.
1406
+ */
1407
+ reportDateFrom?: string;
1408
+
1409
+ /**
1410
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
1411
+ * with `reportDateFrom` or `reportDateTo`.
1412
+ */
1413
+ reportDateMacro?:
1414
+ | 'all'
1415
+ | 'today'
1416
+ | 'this_week'
1417
+ | 'this_week_to_date'
1418
+ | 'this_month'
1419
+ | 'this_month_to_date'
1420
+ | 'this_quarter'
1421
+ | 'this_quarter_to_date'
1422
+ | 'this_year'
1423
+ | 'this_year_to_date'
1424
+ | 'yesterday'
1425
+ | 'last_week'
1426
+ | 'last_week_to_date'
1427
+ | 'last_month'
1428
+ | 'last_month_to_date'
1429
+ | 'last_quarter'
1430
+ | 'last_quarter_to_date'
1431
+ | 'last_year'
1432
+ | 'last_year_to_date'
1433
+ | 'next_week'
1434
+ | 'next_four_weeks'
1435
+ | 'next_month'
1436
+ | 'next_quarter'
1437
+ | 'next_year';
1438
+
1439
+ /**
1440
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
1441
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
1442
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
1443
+ * the current fiscal year to date.
1444
+ */
1445
+ reportDateTo?: string;
1446
+
1447
+ /**
1448
+ * Query param: The custom detail report type to retrieve. This endpoint supports
1449
+ * only `custom_transaction_detail`, so this parameter is optional and defaults to
1450
+ * `custom_transaction_detail`.
1451
+ */
1452
+ reportType?: 'custom_transaction_detail';
1453
+
1454
+ /**
1455
+ * Query param: Filter for report data by transaction type(s). Repeat this query
1456
+ * parameter to include multiple transaction types.
1457
+ */
1458
+ transactionTypes?: Array<
1459
+ | 'all'
1460
+ | 'ar_refund_credit_card'
1461
+ | 'bill'
1462
+ | 'bill_payment_check'
1463
+ | 'bill_payment_credit_card'
1464
+ | 'build_assembly'
1465
+ | 'charge'
1466
+ | 'check'
1467
+ | 'credit_card_charge'
1468
+ | 'credit_card_credit'
1469
+ | 'credit_memo'
1470
+ | 'deposit'
1471
+ | 'estimate'
1472
+ | 'inventory_adjustment'
1473
+ | 'invoice'
1474
+ | 'item_receipt'
1475
+ | 'journal_entry'
1476
+ | 'liability_adjustment'
1477
+ | 'paycheck'
1478
+ | 'payroll_liability_check'
1479
+ | 'purchase_order'
1480
+ | 'receive_payment'
1481
+ | 'sales_order'
1482
+ | 'sales_receipt'
1483
+ | 'sales_tax_payment_check'
1484
+ | 'transfer'
1485
+ | 'vendor_credit'
1486
+ | 'ytd_adjustment'
1487
+ >;
1488
+
1489
+ /**
1490
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
1491
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
1492
+ */
1493
+ updatedAfter?: string;
1494
+
1495
+ /**
1496
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
1497
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
1498
+ */
1499
+ updatedBefore?: string;
1500
+
1501
+ /**
1502
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
1503
+ * combined with `updatedAfter` or `updatedBefore`.
1504
+ */
1505
+ updatedDateMacro?:
1506
+ | 'all'
1507
+ | 'today'
1508
+ | 'this_week'
1509
+ | 'this_week_to_date'
1510
+ | 'this_month'
1511
+ | 'this_month_to_date'
1512
+ | 'this_quarter'
1513
+ | 'this_quarter_to_date'
1514
+ | 'this_year'
1515
+ | 'this_year_to_date'
1516
+ | 'yesterday'
1517
+ | 'last_week'
1518
+ | 'last_week_to_date'
1519
+ | 'last_month'
1520
+ | 'last_month_to_date'
1521
+ | 'last_quarter'
1522
+ | 'last_quarter_to_date'
1523
+ | 'last_year'
1524
+ | 'last_year_to_date'
1525
+ | 'next_week'
1526
+ | 'next_four_weeks'
1527
+ | 'next_month'
1528
+ | 'next_quarter'
1529
+ | 'next_year';
1530
+ }
1531
+
1532
+ export interface ReportCustomSummaryParams {
1533
+ /**
1534
+ * Query param: How QuickBooks Desktop calculates report data and labels report
1535
+ * column headers.
1536
+ */
1537
+ summarizeColumnsBy:
1538
+ | 'account'
1539
+ | 'balance_sheet'
1540
+ | 'class'
1541
+ | 'customer'
1542
+ | 'customer_type'
1543
+ | 'day'
1544
+ | 'employee'
1545
+ | 'four_week'
1546
+ | 'half_month'
1547
+ | 'income_statement'
1548
+ | 'item_detail'
1549
+ | 'item_type'
1550
+ | 'month'
1551
+ | 'payee'
1552
+ | 'payment_method'
1553
+ | 'payroll_item_detail'
1554
+ | 'payroll_ytd_detail'
1555
+ | 'quarter'
1556
+ | 'sales_representative'
1557
+ | 'sales_tax_code'
1558
+ | 'shipping_method'
1559
+ | 'terms'
1560
+ | 'total_only'
1561
+ | 'two_week'
1562
+ | 'vendor'
1563
+ | 'vendor_type'
1564
+ | 'week'
1565
+ | 'year';
1566
+
1567
+ /**
1568
+ * Query param: How QuickBooks Desktop calculates report data and labels report
1569
+ * rows.
1570
+ */
1571
+ summarizeRowsBy:
1572
+ | 'account'
1573
+ | 'balance_sheet'
1574
+ | 'class'
1575
+ | 'customer'
1576
+ | 'customer_type'
1577
+ | 'day'
1578
+ | 'employee'
1579
+ | 'four_week'
1580
+ | 'half_month'
1581
+ | 'income_statement'
1582
+ | 'item_detail'
1583
+ | 'item_type'
1584
+ | 'month'
1585
+ | 'payee'
1586
+ | 'payment_method'
1587
+ | 'payroll_item_detail'
1588
+ | 'payroll_ytd_detail'
1589
+ | 'quarter'
1590
+ | 'sales_representative'
1591
+ | 'sales_tax_code'
1592
+ | 'shipping_method'
1593
+ | 'tax_line'
1594
+ | 'terms'
1595
+ | 'total_only'
1596
+ | 'two_week'
1597
+ | 'vendor'
1598
+ | 'vendor_type'
1599
+ | 'week'
1600
+ | 'year';
1601
+
1602
+ /**
1603
+ * Header param: The ID of the End-User to receive this request.
1604
+ */
1605
+ conductorEndUserId: string;
1606
+
1607
+ /**
1608
+ * Query param: Filter for report data by account `fullName` values,
1609
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1610
+ * joining parent object names with the object's `name` using colons. Repeat this
1611
+ * query parameter to include multiple accounts. Use only one account filter per
1612
+ * request.
1613
+ */
1614
+ accountFullNames?: Array<string>;
1615
+
1616
+ /**
1617
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
1618
+ * this query parameter to include multiple accounts. Use only one account filter
1619
+ * per request.
1620
+ */
1621
+ accountIds?: Array<string>;
1622
+
1623
+ /**
1624
+ * Query param: Filter for report data by account type. Use only one account filter
1625
+ * per request.
1626
+ */
1627
+ accountType?:
1628
+ | 'accounts_payable'
1629
+ | 'accounts_receivable'
1630
+ | 'allowed_for_1099'
1631
+ | 'ap_and_sales_tax'
1632
+ | 'ap_or_credit_card'
1633
+ | 'ar_and_ap'
1634
+ | 'asset'
1635
+ | 'balance_sheet'
1636
+ | 'bank'
1637
+ | 'bank_and_ar_and_ap_and_uf'
1638
+ | 'bank_and_uf'
1639
+ | 'cost_of_sales'
1640
+ | 'credit_card'
1641
+ | 'current_asset'
1642
+ | 'current_asset_and_expense'
1643
+ | 'current_liability'
1644
+ | 'equity'
1645
+ | 'equity_and_income_and_expense'
1646
+ | 'expense_and_other_expense'
1647
+ | 'fixed_asset'
1648
+ | 'income_and_expense'
1649
+ | 'income_and_other_income'
1650
+ | 'liability'
1651
+ | 'liability_and_equity'
1652
+ | 'long_term_liability'
1653
+ | 'non_posting'
1654
+ | 'ordinary_expense'
1655
+ | 'ordinary_income'
1656
+ | 'ordinary_income_and_cogs'
1657
+ | 'ordinary_income_and_expense'
1658
+ | 'other_asset'
1659
+ | 'other_current_asset'
1660
+ | 'other_current_liability'
1661
+ | 'other_expense'
1662
+ | 'other_income'
1663
+ | 'other_income_or_expense';
1664
+
1665
+ /**
1666
+ * Query param: The accounting basis to use for the report. Use `cash` to base
1667
+ * income and expenses on when money changes hands, `accrual` to base them on
1668
+ * invoice and bill dates, or `none` to use the QuickBooks Desktop default for the
1669
+ * report.
1670
+ */
1671
+ basis?: 'accrual' | 'cash' | 'none';
1672
+
1673
+ /**
1674
+ * Query param: Filter for report data by class `fullName` values,
1675
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1676
+ * joining parent object names with the object's `name` using colons. Repeat this
1677
+ * query parameter to include multiple classes. Use only one class filter per
1678
+ * request.
1679
+ */
1680
+ classFullNames?: Array<string>;
1681
+
1682
+ /**
1683
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
1684
+ * this query parameter to include multiple classes. Use only one class filter per
1685
+ * request.
1686
+ */
1687
+ classIds?: Array<string>;
1688
+
1689
+ /**
1690
+ * Query param: Filters which report columns QuickBooks returns. Use `active_only`
1691
+ * for active columns, `non_zero` for columns with non-zero values, or `all` for
1692
+ * all columns.
1693
+ */
1694
+ columnsToReturn?: 'active_only' | 'non_zero' | 'all';
1695
+
1696
+ /**
1697
+ * Query param: The report detail level to include. Use `all` for all rows,
1698
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
1699
+ * summary rows.
1700
+ */
1701
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
1702
+
1703
+ /**
1704
+ * Query param: Filter for report data by entity `fullName` values,
1705
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1706
+ * joining parent object names with the object's `name` using colons. Repeat this
1707
+ * query parameter to include multiple entities. Use only one entity filter per
1708
+ * request.
1709
+ */
1710
+ entityFullNames?: Array<string>;
1711
+
1712
+ /**
1713
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
1714
+ * this query parameter to include multiple entities. Use only one entity filter
1715
+ * per request.
1716
+ */
1717
+ entityIds?: Array<string>;
1718
+
1719
+ /**
1720
+ * Query param: Filter for report data by entity type, such as customer, vendor,
1721
+ * employee, or other name. Use only one entity filter per request.
1722
+ */
1723
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
1724
+
1725
+ /**
1726
+ * Query param: Whether to include subcolumns in the report. QuickBooks Desktop may
1727
+ * still omit subcolumns that it can easily compute from other returned values.
1728
+ */
1729
+ includeSubcolumns?: boolean;
1730
+
1731
+ /**
1732
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
1733
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
1734
+ * object names with the object's `name` using colons. Repeat this query parameter
1735
+ * to include multiple items. Use only one item filter per request.
1736
+ */
1737
+ itemFullNames?: Array<string>;
1738
+
1739
+ /**
1740
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
1741
+ * query parameter to include multiple items. Use only one item filter per request.
1742
+ */
1743
+ itemIds?: Array<string>;
1744
+
1745
+ /**
1746
+ * Query param: Filter for report data by item type. Use only one item filter per
1747
+ * request.
1748
+ */
1749
+ itemType?:
1750
+ | 'all_except_fixed_asset'
1751
+ | 'assembly'
1752
+ | 'discount'
1753
+ | 'fixed_asset'
1754
+ | 'inventory'
1755
+ | 'inventory_and_assembly'
1756
+ | 'non_inventory'
1757
+ | 'other_charge'
1758
+ | 'payment'
1759
+ | 'sales'
1760
+ | 'sales_tax'
1761
+ | 'service';
1762
+
1763
+ /**
1764
+ * Query param: Filter for report data that is posting, non-posting, or either.
1765
+ * Posting status refers to whether QuickBooks records the transaction in an
1766
+ * account register.
1767
+ */
1768
+ postingStatus?: 'either' | 'non_posting' | 'posting';
1769
+
1770
+ /**
1771
+ * Query param: The type of year to use for the report.
1772
+ */
1773
+ reportCalendar?: 'calendar_year' | 'fiscal_year' | 'tax_year';
1774
+
1775
+ /**
1776
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
1777
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
1778
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
1779
+ * the current fiscal year to date.
1780
+ */
1781
+ reportDateFrom?: string;
1782
+
1783
+ /**
1784
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
1785
+ * with `reportDateFrom` or `reportDateTo`.
1786
+ */
1787
+ reportDateMacro?:
1788
+ | 'all'
1789
+ | 'today'
1790
+ | 'this_week'
1791
+ | 'this_week_to_date'
1792
+ | 'this_month'
1793
+ | 'this_month_to_date'
1794
+ | 'this_quarter'
1795
+ | 'this_quarter_to_date'
1796
+ | 'this_year'
1797
+ | 'this_year_to_date'
1798
+ | 'yesterday'
1799
+ | 'last_week'
1800
+ | 'last_week_to_date'
1801
+ | 'last_month'
1802
+ | 'last_month_to_date'
1803
+ | 'last_quarter'
1804
+ | 'last_quarter_to_date'
1805
+ | 'last_year'
1806
+ | 'last_year_to_date'
1807
+ | 'next_week'
1808
+ | 'next_four_weeks'
1809
+ | 'next_month'
1810
+ | 'next_quarter'
1811
+ | 'next_year';
1812
+
1813
+ /**
1814
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
1815
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
1816
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
1817
+ * the current fiscal year to date.
1818
+ */
1819
+ reportDateTo?: string;
1820
+
1821
+ /**
1822
+ * Query param: The custom summary report type to retrieve. This endpoint supports
1823
+ * only `custom_summary`, so this parameter is optional and defaults to
1824
+ * `custom_summary`.
1825
+ */
1826
+ reportType?: 'custom_summary';
1827
+
1828
+ /**
1829
+ * Query param: Filters which report rows QuickBooks returns. Use `active_only` for
1830
+ * active rows, `non_zero` for rows with non-zero values, or `all` for all rows.
1831
+ */
1832
+ rowsToReturn?: 'active_only' | 'non_zero' | 'all';
1833
+
1834
+ /**
1835
+ * Query param: Filter for report data by transaction type(s). Repeat this query
1836
+ * parameter to include multiple transaction types.
1837
+ */
1838
+ transactionTypes?: Array<
1839
+ | 'all'
1840
+ | 'ar_refund_credit_card'
1841
+ | 'bill'
1842
+ | 'bill_payment_check'
1843
+ | 'bill_payment_credit_card'
1844
+ | 'build_assembly'
1845
+ | 'charge'
1846
+ | 'check'
1847
+ | 'credit_card_charge'
1848
+ | 'credit_card_credit'
1849
+ | 'credit_memo'
1850
+ | 'deposit'
1851
+ | 'estimate'
1852
+ | 'inventory_adjustment'
1853
+ | 'invoice'
1854
+ | 'item_receipt'
1855
+ | 'journal_entry'
1856
+ | 'liability_adjustment'
1857
+ | 'paycheck'
1858
+ | 'payroll_liability_check'
1859
+ | 'purchase_order'
1860
+ | 'receive_payment'
1861
+ | 'sales_order'
1862
+ | 'sales_receipt'
1863
+ | 'sales_tax_payment_check'
1864
+ | 'transfer'
1865
+ | 'vendor_credit'
1866
+ | 'ytd_adjustment'
1867
+ >;
1868
+
1869
+ /**
1870
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
1871
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
1872
+ */
1873
+ updatedAfter?: string;
1874
+
1875
+ /**
1876
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
1877
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
1878
+ */
1879
+ updatedBefore?: string;
1880
+
1881
+ /**
1882
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
1883
+ * combined with `updatedAfter` or `updatedBefore`.
1884
+ */
1885
+ updatedDateMacro?:
1886
+ | 'all'
1887
+ | 'today'
1888
+ | 'this_week'
1889
+ | 'this_week_to_date'
1890
+ | 'this_month'
1891
+ | 'this_month_to_date'
1892
+ | 'this_quarter'
1893
+ | 'this_quarter_to_date'
1894
+ | 'this_year'
1895
+ | 'this_year_to_date'
1896
+ | 'yesterday'
1897
+ | 'last_week'
1898
+ | 'last_week_to_date'
1899
+ | 'last_month'
1900
+ | 'last_month_to_date'
1901
+ | 'last_quarter'
1902
+ | 'last_quarter_to_date'
1903
+ | 'last_year'
1904
+ | 'last_year_to_date'
1905
+ | 'next_week'
1906
+ | 'next_four_weeks'
1907
+ | 'next_month'
1908
+ | 'next_quarter'
1909
+ | 'next_year';
1910
+ }
1911
+
1912
+ export interface ReportGeneralDetailParams {
1913
+ /**
1914
+ * Query param: The general detail report type to retrieve.
1915
+ */
1916
+ reportType:
1917
+ | '1099_detail'
1918
+ | 'audit_trail'
1919
+ | 'balance_sheet_detail'
1920
+ | 'check_detail'
1921
+ | 'customer_balance_detail'
1922
+ | 'deposit_detail'
1923
+ | 'estimates_by_job'
1924
+ | 'expense_by_vendor_detail'
1925
+ | 'general_ledger'
1926
+ | 'income_by_customer_detail'
1927
+ | 'income_tax_detail'
1928
+ | 'inventory_valuation_detail'
1929
+ | 'job_progress_invoices_vs_estimates'
1930
+ | 'journal'
1931
+ | 'missing_checks'
1932
+ | 'open_invoices'
1933
+ | 'open_purchase_orders'
1934
+ | 'open_purchase_orders_by_job'
1935
+ | 'open_sales_order_by_customer'
1936
+ | 'open_sales_order_by_item'
1937
+ | 'pending_sales'
1938
+ | 'profit_and_loss_detail'
1939
+ | 'purchase_by_item_detail'
1940
+ | 'purchase_by_vendor_detail'
1941
+ | 'sales_by_customer_detail'
1942
+ | 'sales_by_item_detail'
1943
+ | 'sales_by_sales_representative_detail'
1944
+ | 'transaction_detail_by_account'
1945
+ | 'transaction_list_by_customer'
1946
+ | 'transaction_list_by_date'
1947
+ | 'transaction_list_by_vendor'
1948
+ | 'unpaid_bills_detail'
1949
+ | 'unbilled_costs_by_job'
1950
+ | 'vendor_balance_detail';
1951
+
1952
+ /**
1953
+ * Header param: The ID of the End-User to receive this request.
1954
+ */
1955
+ conductorEndUserId: string;
1956
+
1957
+ /**
1958
+ * Query param: Filter for report data by account `fullName` values,
1959
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
1960
+ * joining parent object names with the object's `name` using colons. Repeat this
1961
+ * query parameter to include multiple accounts. Use only one account filter per
1962
+ * request.
1963
+ */
1964
+ accountFullNames?: Array<string>;
1965
+
1966
+ /**
1967
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
1968
+ * this query parameter to include multiple accounts. Use only one account filter
1969
+ * per request.
1970
+ */
1971
+ accountIds?: Array<string>;
1972
+
1973
+ /**
1974
+ * Query param: Whether to include all accounts or only accounts in use.
1975
+ */
1976
+ accountsToInclude?: 'all' | 'in_use';
1977
+
1978
+ /**
1979
+ * Query param: Filter for report data by account type. Use only one account filter
1980
+ * per request.
1981
+ */
1982
+ accountType?:
1983
+ | 'accounts_payable'
1984
+ | 'accounts_receivable'
1985
+ | 'allowed_for_1099'
1986
+ | 'ap_and_sales_tax'
1987
+ | 'ap_or_credit_card'
1988
+ | 'ar_and_ap'
1989
+ | 'asset'
1990
+ | 'balance_sheet'
1991
+ | 'bank'
1992
+ | 'bank_and_ar_and_ap_and_uf'
1993
+ | 'bank_and_uf'
1994
+ | 'cost_of_sales'
1995
+ | 'credit_card'
1996
+ | 'current_asset'
1997
+ | 'current_asset_and_expense'
1998
+ | 'current_liability'
1999
+ | 'equity'
2000
+ | 'equity_and_income_and_expense'
2001
+ | 'expense_and_other_expense'
2002
+ | 'fixed_asset'
2003
+ | 'income_and_expense'
2004
+ | 'income_and_other_income'
2005
+ | 'liability'
2006
+ | 'liability_and_equity'
2007
+ | 'long_term_liability'
2008
+ | 'non_posting'
2009
+ | 'ordinary_expense'
2010
+ | 'ordinary_income'
2011
+ | 'ordinary_income_and_cogs'
2012
+ | 'ordinary_income_and_expense'
2013
+ | 'other_asset'
2014
+ | 'other_current_asset'
2015
+ | 'other_current_liability'
2016
+ | 'other_expense'
2017
+ | 'other_income'
2018
+ | 'other_income_or_expense';
2019
+
2020
+ /**
2021
+ * Query param: The accounting basis to use for the report. Use `cash` to base
2022
+ * income and expenses on when money changes hands, `accrual` to base them on
2023
+ * invoice and bill dates, or `none` to use the QuickBooks Desktop default for the
2024
+ * report.
2025
+ */
2026
+ basis?: 'accrual' | 'cash' | 'none';
2027
+
2028
+ /**
2029
+ * Query param: Filter for report data by class `fullName` values,
2030
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2031
+ * joining parent object names with the object's `name` using colons. Repeat this
2032
+ * query parameter to include multiple classes. Use only one class filter per
2033
+ * request.
2034
+ */
2035
+ classFullNames?: Array<string>;
2036
+
2037
+ /**
2038
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
2039
+ * this query parameter to include multiple classes. Use only one class filter per
2040
+ * request.
2041
+ */
2042
+ classIds?: Array<string>;
2043
+
2044
+ /**
2045
+ * Query param: The report detail level to include. Use `all` for all rows,
2046
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
2047
+ * summary rows.
2048
+ */
2049
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
2050
+
2051
+ /**
2052
+ * Query param: Filter for report data by entity `fullName` values,
2053
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2054
+ * joining parent object names with the object's `name` using colons. Repeat this
2055
+ * query parameter to include multiple entities. Use only one entity filter per
2056
+ * request.
2057
+ */
2058
+ entityFullNames?: Array<string>;
2059
+
2060
+ /**
2061
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
2062
+ * this query parameter to include multiple entities. Use only one entity filter
2063
+ * per request.
2064
+ */
2065
+ entityIds?: Array<string>;
2066
+
2067
+ /**
2068
+ * Query param: Filter for report data by entity type, such as customer, vendor,
2069
+ * employee, or other name. Use only one entity filter per request.
2070
+ */
2071
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
2072
+
2073
+ /**
2074
+ * Query param: The specific report columns to include, by column type. Repeat this
2075
+ * query parameter to request multiple columns. When this parameter is present,
2076
+ * QuickBooks Desktop omits its default report columns unless you include them
2077
+ * here.
2078
+ */
2079
+ includeColumns?: Array<
2080
+ | 'account'
2081
+ | 'aging'
2082
+ | 'amount'
2083
+ | 'amount_difference'
2084
+ | 'average_cost'
2085
+ | 'billed_date'
2086
+ | 'billing_status'
2087
+ | 'calculated_amount'
2088
+ | 'class'
2089
+ | 'cleared_status'
2090
+ | 'cost_price'
2091
+ | 'credit'
2092
+ | 'currency'
2093
+ | 'date'
2094
+ | 'debit'
2095
+ | 'delivery_date'
2096
+ | 'due_date'
2097
+ | 'estimate_active'
2098
+ | 'exchange_rate'
2099
+ | 'shipment_origin'
2100
+ | 'income_subject_to_tax'
2101
+ | 'invoiced'
2102
+ | 'item'
2103
+ | 'description'
2104
+ | 'last_modified_by'
2105
+ | 'latest_or_prior_state'
2106
+ | 'memo'
2107
+ | 'updated_at'
2108
+ | 'name'
2109
+ | 'name_account_number'
2110
+ | 'name_address'
2111
+ | 'name_city'
2112
+ | 'name_contact'
2113
+ | 'name_email'
2114
+ | 'name_fax'
2115
+ | 'name_phone'
2116
+ | 'name_state'
2117
+ | 'name_postal_code'
2118
+ | 'open_balance'
2119
+ | 'original_amount'
2120
+ | 'paid_amount'
2121
+ | 'paid_status'
2122
+ | 'paid_through_date'
2123
+ | 'payment_method'
2124
+ | 'payroll_item'
2125
+ | 'purchase_order_number'
2126
+ | 'print_status'
2127
+ | 'progress_amount'
2128
+ | 'progress_percent'
2129
+ | 'quantity'
2130
+ | 'quantity_available'
2131
+ | 'quantity_on_hand'
2132
+ | 'quantity_on_sales_order'
2133
+ | 'received_quantity'
2134
+ | 'ref_number'
2135
+ | 'running_balance'
2136
+ | 'sales_representative'
2137
+ | 'sales_tax_code'
2138
+ | 'serial_or_lot_number'
2139
+ | 'shipping_date'
2140
+ | 'shipping_method'
2141
+ | 'source_name'
2142
+ | 'split_account'
2143
+ | 'ssn_or_tax_identification_number'
2144
+ | 'tax_line'
2145
+ | 'tax_table_version'
2146
+ | 'terms'
2147
+ | 'transaction_id'
2148
+ | 'transaction_number'
2149
+ | 'transaction_type'
2150
+ | 'unit_price'
2151
+ | 'user_edit'
2152
+ | 'value_on_hand'
2153
+ | 'wage_base'
2154
+ | 'wage_base_tips'
2155
+ >;
2156
+
2157
+ /**
2158
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
2159
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
2160
+ * object names with the object's `name` using colons. Repeat this query parameter
2161
+ * to include multiple items. Use only one item filter per request.
2162
+ */
2163
+ itemFullNames?: Array<string>;
2164
+
2165
+ /**
2166
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
2167
+ * query parameter to include multiple items. Use only one item filter per request.
2168
+ */
2169
+ itemIds?: Array<string>;
2170
+
2171
+ /**
2172
+ * Query param: Filter for report data by item type. Use only one item filter per
2173
+ * request.
2174
+ */
2175
+ itemType?:
2176
+ | 'all_except_fixed_asset'
2177
+ | 'assembly'
2178
+ | 'discount'
2179
+ | 'fixed_asset'
2180
+ | 'inventory'
2181
+ | 'inventory_and_assembly'
2182
+ | 'non_inventory'
2183
+ | 'other_charge'
2184
+ | 'payment'
2185
+ | 'sales'
2186
+ | 'sales_tax'
2187
+ | 'service';
2188
+
2189
+ /**
2190
+ * Query param: The date through which QuickBooks Desktop calculates open balance
2191
+ * information.
2192
+ */
2193
+ openBalanceAsOf?: 'report_end_date' | 'today';
2194
+
2195
+ /**
2196
+ * Query param: Filter for report data that is posting, non-posting, or either.
2197
+ * Posting status refers to whether QuickBooks records the transaction in an
2198
+ * account register.
2199
+ */
2200
+ postingStatus?: 'either' | 'non_posting' | 'posting';
2201
+
2202
+ /**
2203
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
2204
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
2205
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
2206
+ * the current fiscal year to date.
2207
+ */
2208
+ reportDateFrom?: string;
2209
+
2210
+ /**
2211
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
2212
+ * with `reportDateFrom` or `reportDateTo`.
2213
+ */
2214
+ reportDateMacro?:
2215
+ | 'all'
2216
+ | 'today'
2217
+ | 'this_week'
2218
+ | 'this_week_to_date'
2219
+ | 'this_month'
2220
+ | 'this_month_to_date'
2221
+ | 'this_quarter'
2222
+ | 'this_quarter_to_date'
2223
+ | 'this_year'
2224
+ | 'this_year_to_date'
2225
+ | 'yesterday'
2226
+ | 'last_week'
2227
+ | 'last_week_to_date'
2228
+ | 'last_month'
2229
+ | 'last_month_to_date'
2230
+ | 'last_quarter'
2231
+ | 'last_quarter_to_date'
2232
+ | 'last_year'
2233
+ | 'last_year_to_date'
2234
+ | 'next_week'
2235
+ | 'next_four_weeks'
2236
+ | 'next_month'
2237
+ | 'next_quarter'
2238
+ | 'next_year';
2239
+
2240
+ /**
2241
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
2242
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
2243
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
2244
+ * the current fiscal year to date.
2245
+ */
2246
+ reportDateTo?: string;
2247
+
2248
+ /**
2249
+ * Query param: How QuickBooks Desktop calculates report data and labels report
2250
+ * rows.
2251
+ */
2252
+ summarizeRowsBy?:
2253
+ | 'account'
2254
+ | 'balance_sheet'
2255
+ | 'class'
2256
+ | 'customer'
2257
+ | 'customer_type'
2258
+ | 'day'
2259
+ | 'employee'
2260
+ | 'four_week'
2261
+ | 'half_month'
2262
+ | 'income_statement'
2263
+ | 'item_detail'
2264
+ | 'item_type'
2265
+ | 'month'
2266
+ | 'payee'
2267
+ | 'payment_method'
2268
+ | 'payroll_item_detail'
2269
+ | 'payroll_ytd_detail'
2270
+ | 'quarter'
2271
+ | 'sales_representative'
2272
+ | 'sales_tax_code'
2273
+ | 'shipping_method'
2274
+ | 'tax_line'
2275
+ | 'terms'
2276
+ | 'total_only'
2277
+ | 'two_week'
2278
+ | 'vendor'
2279
+ | 'vendor_type'
2280
+ | 'week'
2281
+ | 'year';
2282
+
2283
+ /**
2284
+ * Query param: Filter for report data by transaction type(s). Repeat this query
2285
+ * parameter to include multiple transaction types.
2286
+ */
2287
+ transactionTypes?: Array<
2288
+ | 'all'
2289
+ | 'ar_refund_credit_card'
2290
+ | 'bill'
2291
+ | 'bill_payment_check'
2292
+ | 'bill_payment_credit_card'
2293
+ | 'build_assembly'
2294
+ | 'charge'
2295
+ | 'check'
2296
+ | 'credit_card_charge'
2297
+ | 'credit_card_credit'
2298
+ | 'credit_memo'
2299
+ | 'deposit'
2300
+ | 'estimate'
2301
+ | 'inventory_adjustment'
2302
+ | 'invoice'
2303
+ | 'item_receipt'
2304
+ | 'journal_entry'
2305
+ | 'liability_adjustment'
2306
+ | 'paycheck'
2307
+ | 'payroll_liability_check'
2308
+ | 'purchase_order'
2309
+ | 'receive_payment'
2310
+ | 'sales_order'
2311
+ | 'sales_receipt'
2312
+ | 'sales_tax_payment_check'
2313
+ | 'transfer'
2314
+ | 'vendor_credit'
2315
+ | 'ytd_adjustment'
2316
+ >;
2317
+
2318
+ /**
2319
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
2320
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
2321
+ */
2322
+ updatedAfter?: string;
2323
+
2324
+ /**
2325
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
2326
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
2327
+ */
2328
+ updatedBefore?: string;
2329
+
2330
+ /**
2331
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
2332
+ * combined with `updatedAfter` or `updatedBefore`.
2333
+ */
2334
+ updatedDateMacro?:
2335
+ | 'all'
2336
+ | 'today'
2337
+ | 'this_week'
2338
+ | 'this_week_to_date'
2339
+ | 'this_month'
2340
+ | 'this_month_to_date'
2341
+ | 'this_quarter'
2342
+ | 'this_quarter_to_date'
2343
+ | 'this_year'
2344
+ | 'this_year_to_date'
2345
+ | 'yesterday'
2346
+ | 'last_week'
2347
+ | 'last_week_to_date'
2348
+ | 'last_month'
2349
+ | 'last_month_to_date'
2350
+ | 'last_quarter'
2351
+ | 'last_quarter_to_date'
2352
+ | 'last_year'
2353
+ | 'last_year_to_date'
2354
+ | 'next_week'
2355
+ | 'next_four_weeks'
2356
+ | 'next_month'
2357
+ | 'next_quarter'
2358
+ | 'next_year';
2359
+ }
2360
+
2361
+ export interface ReportGeneralSummaryParams {
2362
+ /**
2363
+ * Query param: The general summary report type to retrieve.
2364
+ */
2365
+ reportType:
2366
+ | 'balance_sheet_by_class'
2367
+ | 'balance_sheet_previous_year_comparison'
2368
+ | 'balance_sheet_standard'
2369
+ | 'balance_sheet_summary'
2370
+ | 'customer_balance_summary'
2371
+ | 'expense_by_vendor_summary'
2372
+ | 'income_by_customer_summary'
2373
+ | 'inventory_stock_status_by_item'
2374
+ | 'inventory_stock_status_by_vendor'
2375
+ | 'income_tax_summary'
2376
+ | 'inventory_valuation_summary'
2377
+ | 'inventory_valuation_summary_by_site'
2378
+ | 'lot_number_in_stock_by_site'
2379
+ | 'physical_inventory_worksheet'
2380
+ | 'profit_and_loss_by_class'
2381
+ | 'profit_and_loss_by_job'
2382
+ | 'profit_and_loss_previous_year_comparison'
2383
+ | 'profit_and_loss_standard'
2384
+ | 'profit_and_loss_ytd_comparison'
2385
+ | 'purchase_by_item_summary'
2386
+ | 'purchase_by_vendor_summary'
2387
+ | 'sales_by_customer_summary'
2388
+ | 'sales_by_item_summary'
2389
+ | 'sales_by_sales_representative_summary'
2390
+ | 'sales_tax_liability'
2391
+ | 'sales_tax_revenue_summary'
2392
+ | 'serial_number_in_stock_by_site'
2393
+ | 'trial_balance'
2394
+ | 'vendor_balance_summary';
2395
+
2396
+ /**
2397
+ * Header param: The ID of the End-User to receive this request.
2398
+ */
2399
+ conductorEndUserId: string;
2400
+
2401
+ /**
2402
+ * Query param: Filter for report data by account `fullName` values,
2403
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2404
+ * joining parent object names with the object's `name` using colons. Repeat this
2405
+ * query parameter to include multiple accounts. Use only one account filter per
2406
+ * request.
2407
+ */
2408
+ accountFullNames?: Array<string>;
2409
+
2410
+ /**
2411
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
2412
+ * this query parameter to include multiple accounts. Use only one account filter
2413
+ * per request.
2414
+ */
2415
+ accountIds?: Array<string>;
2416
+
2417
+ /**
2418
+ * Query param: Filter for report data by account type. Use only one account filter
2419
+ * per request.
2420
+ */
2421
+ accountType?:
2422
+ | 'accounts_payable'
2423
+ | 'accounts_receivable'
2424
+ | 'allowed_for_1099'
2425
+ | 'ap_and_sales_tax'
2426
+ | 'ap_or_credit_card'
2427
+ | 'ar_and_ap'
2428
+ | 'asset'
2429
+ | 'balance_sheet'
2430
+ | 'bank'
2431
+ | 'bank_and_ar_and_ap_and_uf'
2432
+ | 'bank_and_uf'
2433
+ | 'cost_of_sales'
2434
+ | 'credit_card'
2435
+ | 'current_asset'
2436
+ | 'current_asset_and_expense'
2437
+ | 'current_liability'
2438
+ | 'equity'
2439
+ | 'equity_and_income_and_expense'
2440
+ | 'expense_and_other_expense'
2441
+ | 'fixed_asset'
2442
+ | 'income_and_expense'
2443
+ | 'income_and_other_income'
2444
+ | 'liability'
2445
+ | 'liability_and_equity'
2446
+ | 'long_term_liability'
2447
+ | 'non_posting'
2448
+ | 'ordinary_expense'
2449
+ | 'ordinary_income'
2450
+ | 'ordinary_income_and_cogs'
2451
+ | 'ordinary_income_and_expense'
2452
+ | 'other_asset'
2453
+ | 'other_current_asset'
2454
+ | 'other_current_liability'
2455
+ | 'other_expense'
2456
+ | 'other_income'
2457
+ | 'other_income_or_expense';
2458
+
2459
+ /**
2460
+ * Query param: The accounting basis to use for the report. Use `cash` to base
2461
+ * income and expenses on when money changes hands, `accrual` to base them on
2462
+ * invoice and bill dates, or `none` to use the QuickBooks Desktop default for the
2463
+ * report.
2464
+ */
2465
+ basis?: 'accrual' | 'cash' | 'none';
2466
+
2467
+ /**
2468
+ * Query param: Filter for report data by class `fullName` values,
2469
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2470
+ * joining parent object names with the object's `name` using colons. Repeat this
2471
+ * query parameter to include multiple classes. Use only one class filter per
2472
+ * request.
2473
+ */
2474
+ classFullNames?: Array<string>;
2475
+
2476
+ /**
2477
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
2478
+ * this query parameter to include multiple classes. Use only one class filter per
2479
+ * request.
2480
+ */
2481
+ classIds?: Array<string>;
2482
+
2483
+ /**
2484
+ * Query param: Filters which report columns QuickBooks returns. Use `active_only`
2485
+ * for active columns, `non_zero` for columns with non-zero values, or `all` for
2486
+ * all columns.
2487
+ */
2488
+ columnsToReturn?: 'active_only' | 'non_zero' | 'all';
2489
+
2490
+ /**
2491
+ * Query param: The report detail level to include. Use `all` for all rows,
2492
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
2493
+ * summary rows.
2494
+ */
2495
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
2496
+
2497
+ /**
2498
+ * Query param: Filter for report data by entity `fullName` values,
2499
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2500
+ * joining parent object names with the object's `name` using colons. Repeat this
2501
+ * query parameter to include multiple entities. Use only one entity filter per
2502
+ * request.
2503
+ */
2504
+ entityFullNames?: Array<string>;
2505
+
2506
+ /**
2507
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
2508
+ * this query parameter to include multiple entities. Use only one entity filter
2509
+ * per request.
2510
+ */
2511
+ entityIds?: Array<string>;
2512
+
2513
+ /**
2514
+ * Query param: Filter for report data by entity type, such as customer, vendor,
2515
+ * employee, or other name. Use only one entity filter per request.
2516
+ */
2517
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
2518
+
2519
+ /**
2520
+ * Query param: Whether to include subcolumns in the report. QuickBooks Desktop may
2521
+ * still omit subcolumns that it can easily compute from other returned values.
2522
+ */
2523
+ includeSubcolumns?: boolean;
2524
+
2525
+ /**
2526
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
2527
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
2528
+ * object names with the object's `name` using colons. Repeat this query parameter
2529
+ * to include multiple items. Use only one item filter per request.
2530
+ */
2531
+ itemFullNames?: Array<string>;
2532
+
2533
+ /**
2534
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
2535
+ * query parameter to include multiple items. Use only one item filter per request.
2536
+ */
2537
+ itemIds?: Array<string>;
2538
+
2539
+ /**
2540
+ * Query param: Filter for report data by item type. Use only one item filter per
2541
+ * request.
2542
+ */
2543
+ itemType?:
2544
+ | 'all_except_fixed_asset'
2545
+ | 'assembly'
2546
+ | 'discount'
2547
+ | 'fixed_asset'
2548
+ | 'inventory'
2549
+ | 'inventory_and_assembly'
2550
+ | 'non_inventory'
2551
+ | 'other_charge'
2552
+ | 'payment'
2553
+ | 'sales'
2554
+ | 'sales_tax'
2555
+ | 'service';
2556
+
2557
+ /**
2558
+ * Query param: Filter for report data that is posting, non-posting, or either.
2559
+ * Posting status refers to whether QuickBooks records the transaction in an
2560
+ * account register.
2561
+ */
2562
+ postingStatus?: 'either' | 'non_posting' | 'posting';
2563
+
2564
+ /**
2565
+ * Query param: The type of year to use for the report.
2566
+ */
2567
+ reportCalendar?: 'calendar_year' | 'fiscal_year' | 'tax_year';
2568
+
2569
+ /**
2570
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
2571
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
2572
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
2573
+ * the current fiscal year to date.
2574
+ */
2575
+ reportDateFrom?: string;
2576
+
2577
+ /**
2578
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
2579
+ * with `reportDateFrom` or `reportDateTo`.
2580
+ */
2581
+ reportDateMacro?:
2582
+ | 'all'
2583
+ | 'today'
2584
+ | 'this_week'
2585
+ | 'this_week_to_date'
2586
+ | 'this_month'
2587
+ | 'this_month_to_date'
2588
+ | 'this_quarter'
2589
+ | 'this_quarter_to_date'
2590
+ | 'this_year'
2591
+ | 'this_year_to_date'
2592
+ | 'yesterday'
2593
+ | 'last_week'
2594
+ | 'last_week_to_date'
2595
+ | 'last_month'
2596
+ | 'last_month_to_date'
2597
+ | 'last_quarter'
2598
+ | 'last_quarter_to_date'
2599
+ | 'last_year'
2600
+ | 'last_year_to_date'
2601
+ | 'next_week'
2602
+ | 'next_four_weeks'
2603
+ | 'next_month'
2604
+ | 'next_quarter'
2605
+ | 'next_year';
2606
+
2607
+ /**
2608
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
2609
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
2610
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
2611
+ * the current fiscal year to date.
2612
+ */
2613
+ reportDateTo?: string;
2614
+
2615
+ /**
2616
+ * Query param: Filters which report rows QuickBooks returns. Use `active_only` for
2617
+ * active rows, `non_zero` for rows with non-zero values, or `all` for all rows.
2618
+ */
2619
+ rowsToReturn?: 'active_only' | 'non_zero' | 'all';
2620
+
2621
+ /**
2622
+ * Query param: How QuickBooks Desktop calculates report data and labels report
2623
+ * column headers.
2624
+ */
2625
+ summarizeColumnsBy?:
2626
+ | 'account'
2627
+ | 'balance_sheet'
2628
+ | 'class'
2629
+ | 'customer'
2630
+ | 'customer_type'
2631
+ | 'day'
2632
+ | 'employee'
2633
+ | 'four_week'
2634
+ | 'half_month'
2635
+ | 'income_statement'
2636
+ | 'item_detail'
2637
+ | 'item_type'
2638
+ | 'month'
2639
+ | 'payee'
2640
+ | 'payment_method'
2641
+ | 'payroll_item_detail'
2642
+ | 'payroll_ytd_detail'
2643
+ | 'quarter'
2644
+ | 'sales_representative'
2645
+ | 'sales_tax_code'
2646
+ | 'shipping_method'
2647
+ | 'terms'
2648
+ | 'total_only'
2649
+ | 'two_week'
2650
+ | 'vendor'
2651
+ | 'vendor_type'
2652
+ | 'week'
2653
+ | 'year';
2654
+
2655
+ /**
2656
+ * Query param: Filter for report data by transaction type(s). Repeat this query
2657
+ * parameter to include multiple transaction types.
2658
+ */
2659
+ transactionTypes?: Array<
2660
+ | 'all'
2661
+ | 'ar_refund_credit_card'
2662
+ | 'bill'
2663
+ | 'bill_payment_check'
2664
+ | 'bill_payment_credit_card'
2665
+ | 'build_assembly'
2666
+ | 'charge'
2667
+ | 'check'
2668
+ | 'credit_card_charge'
2669
+ | 'credit_card_credit'
2670
+ | 'credit_memo'
2671
+ | 'deposit'
2672
+ | 'estimate'
2673
+ | 'inventory_adjustment'
2674
+ | 'invoice'
2675
+ | 'item_receipt'
2676
+ | 'journal_entry'
2677
+ | 'liability_adjustment'
2678
+ | 'paycheck'
2679
+ | 'payroll_liability_check'
2680
+ | 'purchase_order'
2681
+ | 'receive_payment'
2682
+ | 'sales_order'
2683
+ | 'sales_receipt'
2684
+ | 'sales_tax_payment_check'
2685
+ | 'transfer'
2686
+ | 'vendor_credit'
2687
+ | 'ytd_adjustment'
2688
+ >;
2689
+
2690
+ /**
2691
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
2692
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
2693
+ */
2694
+ updatedAfter?: string;
2695
+
2696
+ /**
2697
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
2698
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
2699
+ */
2700
+ updatedBefore?: string;
2701
+
2702
+ /**
2703
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
2704
+ * combined with `updatedAfter` or `updatedBefore`.
2705
+ */
2706
+ updatedDateMacro?:
2707
+ | 'all'
2708
+ | 'today'
2709
+ | 'this_week'
2710
+ | 'this_week_to_date'
2711
+ | 'this_month'
2712
+ | 'this_month_to_date'
2713
+ | 'this_quarter'
2714
+ | 'this_quarter_to_date'
2715
+ | 'this_year'
2716
+ | 'this_year_to_date'
2717
+ | 'yesterday'
2718
+ | 'last_week'
2719
+ | 'last_week_to_date'
2720
+ | 'last_month'
2721
+ | 'last_month_to_date'
2722
+ | 'last_quarter'
2723
+ | 'last_quarter_to_date'
2724
+ | 'last_year'
2725
+ | 'last_year_to_date'
2726
+ | 'next_week'
2727
+ | 'next_four_weeks'
2728
+ | 'next_month'
2729
+ | 'next_quarter'
2730
+ | 'next_year';
2731
+ }
2732
+
2733
+ export interface ReportJobParams {
2734
+ /**
2735
+ * Query param: The job report type to retrieve.
2736
+ */
2737
+ reportType:
2738
+ | 'item_estimates_vs_actuals'
2739
+ | 'item_profitability'
2740
+ | 'job_estimates_vs_actuals_detail'
2741
+ | 'job_estimates_vs_actuals_summary'
2742
+ | 'job_profitability_detail'
2743
+ | 'job_profitability_summary';
2744
+
2745
+ /**
2746
+ * Header param: The ID of the End-User to receive this request.
2747
+ */
2748
+ conductorEndUserId: string;
2749
+
2750
+ /**
2751
+ * Query param: Filter for report data by account `fullName` values,
2752
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2753
+ * joining parent object names with the object's `name` using colons. Repeat this
2754
+ * query parameter to include multiple accounts. Use only one account filter per
2755
+ * request.
2756
+ */
2757
+ accountFullNames?: Array<string>;
2758
+
2759
+ /**
2760
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
2761
+ * this query parameter to include multiple accounts. Use only one account filter
2762
+ * per request.
2763
+ */
2764
+ accountIds?: Array<string>;
2765
+
2766
+ /**
2767
+ * Query param: Filter for report data by account type. Use only one account filter
2768
+ * per request.
2769
+ */
2770
+ accountType?:
2771
+ | 'accounts_payable'
2772
+ | 'accounts_receivable'
2773
+ | 'allowed_for_1099'
2774
+ | 'ap_and_sales_tax'
2775
+ | 'ap_or_credit_card'
2776
+ | 'ar_and_ap'
2777
+ | 'asset'
2778
+ | 'balance_sheet'
2779
+ | 'bank'
2780
+ | 'bank_and_ar_and_ap_and_uf'
2781
+ | 'bank_and_uf'
2782
+ | 'cost_of_sales'
2783
+ | 'credit_card'
2784
+ | 'current_asset'
2785
+ | 'current_asset_and_expense'
2786
+ | 'current_liability'
2787
+ | 'equity'
2788
+ | 'equity_and_income_and_expense'
2789
+ | 'expense_and_other_expense'
2790
+ | 'fixed_asset'
2791
+ | 'income_and_expense'
2792
+ | 'income_and_other_income'
2793
+ | 'liability'
2794
+ | 'liability_and_equity'
2795
+ | 'long_term_liability'
2796
+ | 'non_posting'
2797
+ | 'ordinary_expense'
2798
+ | 'ordinary_income'
2799
+ | 'ordinary_income_and_cogs'
2800
+ | 'ordinary_income_and_expense'
2801
+ | 'other_asset'
2802
+ | 'other_current_asset'
2803
+ | 'other_current_liability'
2804
+ | 'other_expense'
2805
+ | 'other_income'
2806
+ | 'other_income_or_expense';
2807
+
2808
+ /**
2809
+ * Query param: Filter for report data by class `fullName` values,
2810
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2811
+ * joining parent object names with the object's `name` using colons. Repeat this
2812
+ * query parameter to include multiple classes. Use only one class filter per
2813
+ * request.
2814
+ */
2815
+ classFullNames?: Array<string>;
2816
+
2817
+ /**
2818
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
2819
+ * this query parameter to include multiple classes. Use only one class filter per
2820
+ * request.
2821
+ */
2822
+ classIds?: Array<string>;
2823
+
2824
+ /**
2825
+ * Query param: The report detail level to include. Use `all` for all rows,
2826
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
2827
+ * summary rows.
2828
+ */
2829
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
2830
+
2831
+ /**
2832
+ * Query param: Filter for report data by entity `fullName` values,
2833
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
2834
+ * joining parent object names with the object's `name` using colons. Repeat this
2835
+ * query parameter to include multiple entities. Use only one entity filter per
2836
+ * request.
2837
+ */
2838
+ entityFullNames?: Array<string>;
2839
+
2840
+ /**
2841
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
2842
+ * this query parameter to include multiple entities. Use only one entity filter
2843
+ * per request.
2844
+ */
2845
+ entityIds?: Array<string>;
2846
+
2847
+ /**
2848
+ * Query param: Filter for report data by entity type, such as customer, vendor,
2849
+ * employee, or other name. Use only one entity filter per request.
2850
+ */
2851
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
2852
+
2853
+ /**
2854
+ * Query param: Whether to include subcolumns in the report. QuickBooks Desktop may
2855
+ * still omit subcolumns that it can easily compute from other returned values.
2856
+ */
2857
+ includeSubcolumns?: boolean;
2858
+
2859
+ /**
2860
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
2861
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
2862
+ * object names with the object's `name` using colons. Repeat this query parameter
2863
+ * to include multiple items. Use only one item filter per request.
2864
+ */
2865
+ itemFullNames?: Array<string>;
2866
+
2867
+ /**
2868
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
2869
+ * query parameter to include multiple items. Use only one item filter per request.
2870
+ */
2871
+ itemIds?: Array<string>;
2872
+
2873
+ /**
2874
+ * Query param: Filter for report data by item type. Use only one item filter per
2875
+ * request.
2876
+ */
2877
+ itemType?:
2878
+ | 'all_except_fixed_asset'
2879
+ | 'assembly'
2880
+ | 'discount'
2881
+ | 'fixed_asset'
2882
+ | 'inventory'
2883
+ | 'inventory_and_assembly'
2884
+ | 'non_inventory'
2885
+ | 'other_charge'
2886
+ | 'payment'
2887
+ | 'sales'
2888
+ | 'sales_tax'
2889
+ | 'service';
2890
+
2891
+ /**
2892
+ * Query param: Filter for report data that is posting, non-posting, or either.
2893
+ * Posting status refers to whether QuickBooks records the transaction in an
2894
+ * account register.
2895
+ */
2896
+ postingStatus?: 'either' | 'non_posting' | 'posting';
2897
+
2898
+ /**
2899
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
2900
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
2901
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
2902
+ * the current fiscal year to date.
2903
+ */
2904
+ reportDateFrom?: string;
2905
+
2906
+ /**
2907
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
2908
+ * with `reportDateFrom` or `reportDateTo`.
2909
+ */
2910
+ reportDateMacro?:
2911
+ | 'all'
2912
+ | 'today'
2913
+ | 'this_week'
2914
+ | 'this_week_to_date'
2915
+ | 'this_month'
2916
+ | 'this_month_to_date'
2917
+ | 'this_quarter'
2918
+ | 'this_quarter_to_date'
2919
+ | 'this_year'
2920
+ | 'this_year_to_date'
2921
+ | 'yesterday'
2922
+ | 'last_week'
2923
+ | 'last_week_to_date'
2924
+ | 'last_month'
2925
+ | 'last_month_to_date'
2926
+ | 'last_quarter'
2927
+ | 'last_quarter_to_date'
2928
+ | 'last_year'
2929
+ | 'last_year_to_date'
2930
+ | 'next_week'
2931
+ | 'next_four_weeks'
2932
+ | 'next_month'
2933
+ | 'next_quarter'
2934
+ | 'next_year';
2935
+
2936
+ /**
2937
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
2938
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
2939
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
2940
+ * the current fiscal year to date.
2941
+ */
2942
+ reportDateTo?: string;
2943
+
2944
+ /**
2945
+ * Query param: How QuickBooks Desktop calculates report data and labels report
2946
+ * column headers.
2947
+ */
2948
+ summarizeColumnsBy?:
2949
+ | 'account'
2950
+ | 'balance_sheet'
2951
+ | 'class'
2952
+ | 'customer'
2953
+ | 'customer_type'
2954
+ | 'day'
2955
+ | 'employee'
2956
+ | 'four_week'
2957
+ | 'half_month'
2958
+ | 'income_statement'
2959
+ | 'item_detail'
2960
+ | 'item_type'
2961
+ | 'month'
2962
+ | 'payee'
2963
+ | 'payment_method'
2964
+ | 'payroll_item_detail'
2965
+ | 'payroll_ytd_detail'
2966
+ | 'quarter'
2967
+ | 'sales_representative'
2968
+ | 'sales_tax_code'
2969
+ | 'shipping_method'
2970
+ | 'terms'
2971
+ | 'total_only'
2972
+ | 'two_week'
2973
+ | 'vendor'
2974
+ | 'vendor_type'
2975
+ | 'week'
2976
+ | 'year';
2977
+
2978
+ /**
2979
+ * Query param: Filter for report data by transaction type(s). Repeat this query
2980
+ * parameter to include multiple transaction types.
2981
+ */
2982
+ transactionTypes?: Array<
2983
+ | 'all'
2984
+ | 'ar_refund_credit_card'
2985
+ | 'bill'
2986
+ | 'bill_payment_check'
2987
+ | 'bill_payment_credit_card'
2988
+ | 'build_assembly'
2989
+ | 'charge'
2990
+ | 'check'
2991
+ | 'credit_card_charge'
2992
+ | 'credit_card_credit'
2993
+ | 'credit_memo'
2994
+ | 'deposit'
2995
+ | 'estimate'
2996
+ | 'inventory_adjustment'
2997
+ | 'invoice'
2998
+ | 'item_receipt'
2999
+ | 'journal_entry'
3000
+ | 'liability_adjustment'
3001
+ | 'paycheck'
3002
+ | 'payroll_liability_check'
3003
+ | 'purchase_order'
3004
+ | 'receive_payment'
3005
+ | 'sales_order'
3006
+ | 'sales_receipt'
3007
+ | 'sales_tax_payment_check'
3008
+ | 'transfer'
3009
+ | 'vendor_credit'
3010
+ | 'ytd_adjustment'
3011
+ >;
3012
+
3013
+ /**
3014
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
3015
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
3016
+ */
3017
+ updatedAfter?: string;
3018
+
3019
+ /**
3020
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
3021
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
3022
+ */
3023
+ updatedBefore?: string;
3024
+
3025
+ /**
3026
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
3027
+ * combined with `updatedAfter` or `updatedBefore`.
3028
+ */
3029
+ updatedDateMacro?:
3030
+ | 'all'
3031
+ | 'today'
3032
+ | 'this_week'
3033
+ | 'this_week_to_date'
3034
+ | 'this_month'
3035
+ | 'this_month_to_date'
3036
+ | 'this_quarter'
3037
+ | 'this_quarter_to_date'
3038
+ | 'this_year'
3039
+ | 'this_year_to_date'
3040
+ | 'yesterday'
3041
+ | 'last_week'
3042
+ | 'last_week_to_date'
3043
+ | 'last_month'
3044
+ | 'last_month_to_date'
3045
+ | 'last_quarter'
3046
+ | 'last_quarter_to_date'
3047
+ | 'last_year'
3048
+ | 'last_year_to_date'
3049
+ | 'next_week'
3050
+ | 'next_four_weeks'
3051
+ | 'next_month'
3052
+ | 'next_quarter'
3053
+ | 'next_year';
3054
+ }
3055
+
3056
+ export interface ReportPayrollDetailParams {
3057
+ /**
3058
+ * Query param: The payroll detail report type to retrieve.
3059
+ */
3060
+ reportType:
3061
+ | 'employee_state_taxes_detail'
3062
+ | 'payroll_item_detail'
3063
+ | 'payroll_review_detail'
3064
+ | 'payroll_transaction_detail'
3065
+ | 'payroll_transactions_by_payee';
3066
+
3067
+ /**
3068
+ * Header param: The ID of the End-User to receive this request.
3069
+ */
3070
+ conductorEndUserId: string;
3071
+
3072
+ /**
3073
+ * Query param: Filter for report data by account `fullName` values,
3074
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3075
+ * joining parent object names with the object's `name` using colons. Repeat this
3076
+ * query parameter to include multiple accounts. Use only one account filter per
3077
+ * request.
3078
+ */
3079
+ accountFullNames?: Array<string>;
3080
+
3081
+ /**
3082
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
3083
+ * this query parameter to include multiple accounts. Use only one account filter
3084
+ * per request.
3085
+ */
3086
+ accountIds?: Array<string>;
3087
+
3088
+ /**
3089
+ * Query param: Whether to include all accounts or only accounts in use.
3090
+ */
3091
+ accountsToInclude?: 'all' | 'in_use';
3092
+
3093
+ /**
3094
+ * Query param: Filter for report data by account type. Use only one account filter
3095
+ * per request.
3096
+ */
3097
+ accountType?:
3098
+ | 'accounts_payable'
3099
+ | 'accounts_receivable'
3100
+ | 'allowed_for_1099'
3101
+ | 'ap_and_sales_tax'
3102
+ | 'ap_or_credit_card'
3103
+ | 'ar_and_ap'
3104
+ | 'asset'
3105
+ | 'balance_sheet'
3106
+ | 'bank'
3107
+ | 'bank_and_ar_and_ap_and_uf'
3108
+ | 'bank_and_uf'
3109
+ | 'cost_of_sales'
3110
+ | 'credit_card'
3111
+ | 'current_asset'
3112
+ | 'current_asset_and_expense'
3113
+ | 'current_liability'
3114
+ | 'equity'
3115
+ | 'equity_and_income_and_expense'
3116
+ | 'expense_and_other_expense'
3117
+ | 'fixed_asset'
3118
+ | 'income_and_expense'
3119
+ | 'income_and_other_income'
3120
+ | 'liability'
3121
+ | 'liability_and_equity'
3122
+ | 'long_term_liability'
3123
+ | 'non_posting'
3124
+ | 'ordinary_expense'
3125
+ | 'ordinary_income'
3126
+ | 'ordinary_income_and_cogs'
3127
+ | 'ordinary_income_and_expense'
3128
+ | 'other_asset'
3129
+ | 'other_current_asset'
3130
+ | 'other_current_liability'
3131
+ | 'other_expense'
3132
+ | 'other_income'
3133
+ | 'other_income_or_expense';
3134
+
3135
+ /**
3136
+ * Query param: Filter for report data by class `fullName` values,
3137
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3138
+ * joining parent object names with the object's `name` using colons. Repeat this
3139
+ * query parameter to include multiple classes. Use only one class filter per
3140
+ * request.
3141
+ */
3142
+ classFullNames?: Array<string>;
3143
+
3144
+ /**
3145
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
3146
+ * this query parameter to include multiple classes. Use only one class filter per
3147
+ * request.
3148
+ */
3149
+ classIds?: Array<string>;
3150
+
3151
+ /**
3152
+ * Query param: The report detail level to include. Use `all` for all rows,
3153
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
3154
+ * summary rows.
3155
+ */
3156
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
3157
+
3158
+ /**
3159
+ * Query param: Filter for report data by entity `fullName` values,
3160
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3161
+ * joining parent object names with the object's `name` using colons. Repeat this
3162
+ * query parameter to include multiple entities. Use only one entity filter per
3163
+ * request.
3164
+ */
3165
+ entityFullNames?: Array<string>;
3166
+
3167
+ /**
3168
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
3169
+ * this query parameter to include multiple entities. Use only one entity filter
3170
+ * per request.
3171
+ */
3172
+ entityIds?: Array<string>;
3173
+
3174
+ /**
3175
+ * Query param: Filter for report data by entity type, such as customer, vendor,
3176
+ * employee, or other name. Use only one entity filter per request.
3177
+ */
3178
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
3179
+
3180
+ /**
3181
+ * Query param: The specific report columns to include, by column type. Repeat this
3182
+ * query parameter to request multiple columns. When this parameter is present,
3183
+ * QuickBooks Desktop omits its default report columns unless you include them
3184
+ * here.
3185
+ */
3186
+ includeColumns?: Array<
3187
+ | 'account'
3188
+ | 'aging'
3189
+ | 'amount'
3190
+ | 'amount_difference'
3191
+ | 'average_cost'
3192
+ | 'billed_date'
3193
+ | 'billing_status'
3194
+ | 'calculated_amount'
3195
+ | 'class'
3196
+ | 'cleared_status'
3197
+ | 'cost_price'
3198
+ | 'credit'
3199
+ | 'currency'
3200
+ | 'date'
3201
+ | 'debit'
3202
+ | 'delivery_date'
3203
+ | 'due_date'
3204
+ | 'estimate_active'
3205
+ | 'exchange_rate'
3206
+ | 'shipment_origin'
3207
+ | 'income_subject_to_tax'
3208
+ | 'invoiced'
3209
+ | 'item'
3210
+ | 'description'
3211
+ | 'last_modified_by'
3212
+ | 'latest_or_prior_state'
3213
+ | 'memo'
3214
+ | 'updated_at'
3215
+ | 'name'
3216
+ | 'name_account_number'
3217
+ | 'name_address'
3218
+ | 'name_city'
3219
+ | 'name_contact'
3220
+ | 'name_email'
3221
+ | 'name_fax'
3222
+ | 'name_phone'
3223
+ | 'name_state'
3224
+ | 'name_postal_code'
3225
+ | 'open_balance'
3226
+ | 'original_amount'
3227
+ | 'paid_amount'
3228
+ | 'paid_status'
3229
+ | 'paid_through_date'
3230
+ | 'payment_method'
3231
+ | 'payroll_item'
3232
+ | 'purchase_order_number'
3233
+ | 'print_status'
3234
+ | 'progress_amount'
3235
+ | 'progress_percent'
3236
+ | 'quantity'
3237
+ | 'quantity_available'
3238
+ | 'quantity_on_hand'
3239
+ | 'quantity_on_sales_order'
3240
+ | 'received_quantity'
3241
+ | 'ref_number'
3242
+ | 'running_balance'
3243
+ | 'sales_representative'
3244
+ | 'sales_tax_code'
3245
+ | 'serial_or_lot_number'
3246
+ | 'shipping_date'
3247
+ | 'shipping_method'
3248
+ | 'source_name'
3249
+ | 'split_account'
3250
+ | 'ssn_or_tax_identification_number'
3251
+ | 'tax_line'
3252
+ | 'tax_table_version'
3253
+ | 'terms'
3254
+ | 'transaction_id'
3255
+ | 'transaction_number'
3256
+ | 'transaction_type'
3257
+ | 'unit_price'
3258
+ | 'user_edit'
3259
+ | 'value_on_hand'
3260
+ | 'wage_base'
3261
+ | 'wage_base_tips'
3262
+ >;
3263
+
3264
+ /**
3265
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
3266
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
3267
+ * object names with the object's `name` using colons. Repeat this query parameter
3268
+ * to include multiple items. Use only one item filter per request.
3269
+ */
3270
+ itemFullNames?: Array<string>;
3271
+
3272
+ /**
3273
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
3274
+ * query parameter to include multiple items. Use only one item filter per request.
3275
+ */
3276
+ itemIds?: Array<string>;
3277
+
3278
+ /**
3279
+ * Query param: Filter for report data by item type. Use only one item filter per
3280
+ * request.
3281
+ */
3282
+ itemType?:
3283
+ | 'all_except_fixed_asset'
3284
+ | 'assembly'
3285
+ | 'discount'
3286
+ | 'fixed_asset'
3287
+ | 'inventory'
3288
+ | 'inventory_and_assembly'
3289
+ | 'non_inventory'
3290
+ | 'other_charge'
3291
+ | 'payment'
3292
+ | 'sales'
3293
+ | 'sales_tax'
3294
+ | 'service';
3295
+
3296
+ /**
3297
+ * Query param: The date through which QuickBooks Desktop calculates open balance
3298
+ * information.
3299
+ */
3300
+ openBalanceAsOf?: 'report_end_date' | 'today';
3301
+
3302
+ /**
3303
+ * Query param: Filter for report data that is posting, non-posting, or either.
3304
+ * Posting status refers to whether QuickBooks records the transaction in an
3305
+ * account register.
3306
+ */
3307
+ postingStatus?: 'either' | 'non_posting' | 'posting';
3308
+
3309
+ /**
3310
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
3311
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
3312
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
3313
+ * the current fiscal year to date.
3314
+ */
3315
+ reportDateFrom?: string;
3316
+
3317
+ /**
3318
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
3319
+ * with `reportDateFrom` or `reportDateTo`.
3320
+ */
3321
+ reportDateMacro?:
3322
+ | 'all'
3323
+ | 'today'
3324
+ | 'this_week'
3325
+ | 'this_week_to_date'
3326
+ | 'this_month'
3327
+ | 'this_month_to_date'
3328
+ | 'this_quarter'
3329
+ | 'this_quarter_to_date'
3330
+ | 'this_year'
3331
+ | 'this_year_to_date'
3332
+ | 'yesterday'
3333
+ | 'last_week'
3334
+ | 'last_week_to_date'
3335
+ | 'last_month'
3336
+ | 'last_month_to_date'
3337
+ | 'last_quarter'
3338
+ | 'last_quarter_to_date'
3339
+ | 'last_year'
3340
+ | 'last_year_to_date'
3341
+ | 'next_week'
3342
+ | 'next_four_weeks'
3343
+ | 'next_month'
3344
+ | 'next_quarter'
3345
+ | 'next_year';
3346
+
3347
+ /**
3348
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
3349
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
3350
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
3351
+ * the current fiscal year to date.
3352
+ */
3353
+ reportDateTo?: string;
3354
+
3355
+ /**
3356
+ * Query param: How QuickBooks Desktop calculates report data and labels report
3357
+ * rows.
3358
+ */
3359
+ summarizeRowsBy?:
3360
+ | 'account'
3361
+ | 'balance_sheet'
3362
+ | 'class'
3363
+ | 'customer'
3364
+ | 'customer_type'
3365
+ | 'day'
3366
+ | 'employee'
3367
+ | 'four_week'
3368
+ | 'half_month'
3369
+ | 'income_statement'
3370
+ | 'item_detail'
3371
+ | 'item_type'
3372
+ | 'month'
3373
+ | 'payee'
3374
+ | 'payment_method'
3375
+ | 'payroll_item_detail'
3376
+ | 'payroll_ytd_detail'
3377
+ | 'quarter'
3378
+ | 'sales_representative'
3379
+ | 'sales_tax_code'
3380
+ | 'shipping_method'
3381
+ | 'tax_line'
3382
+ | 'terms'
3383
+ | 'total_only'
3384
+ | 'two_week'
3385
+ | 'vendor'
3386
+ | 'vendor_type'
3387
+ | 'week'
3388
+ | 'year';
3389
+
3390
+ /**
3391
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
3392
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
3393
+ */
3394
+ updatedAfter?: string;
3395
+
3396
+ /**
3397
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
3398
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
3399
+ */
3400
+ updatedBefore?: string;
3401
+
3402
+ /**
3403
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
3404
+ * combined with `updatedAfter` or `updatedBefore`.
3405
+ */
3406
+ updatedDateMacro?:
3407
+ | 'all'
3408
+ | 'today'
3409
+ | 'this_week'
3410
+ | 'this_week_to_date'
3411
+ | 'this_month'
3412
+ | 'this_month_to_date'
3413
+ | 'this_quarter'
3414
+ | 'this_quarter_to_date'
3415
+ | 'this_year'
3416
+ | 'this_year_to_date'
3417
+ | 'yesterday'
3418
+ | 'last_week'
3419
+ | 'last_week_to_date'
3420
+ | 'last_month'
3421
+ | 'last_month_to_date'
3422
+ | 'last_quarter'
3423
+ | 'last_quarter_to_date'
3424
+ | 'last_year'
3425
+ | 'last_year_to_date'
3426
+ | 'next_week'
3427
+ | 'next_four_weeks'
3428
+ | 'next_month'
3429
+ | 'next_quarter'
3430
+ | 'next_year';
3431
+ }
3432
+
3433
+ export interface ReportPayrollSummaryParams {
3434
+ /**
3435
+ * Query param: The payroll summary report type to retrieve.
3436
+ */
3437
+ reportType: 'employee_earnings_summary' | 'payroll_liability_balances' | 'payroll_summary';
3438
+
3439
+ /**
3440
+ * Header param: The ID of the End-User to receive this request.
3441
+ */
3442
+ conductorEndUserId: string;
3443
+
3444
+ /**
3445
+ * Query param: Filter for report data by account `fullName` values,
3446
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3447
+ * joining parent object names with the object's `name` using colons. Repeat this
3448
+ * query parameter to include multiple accounts. Use only one account filter per
3449
+ * request.
3450
+ */
3451
+ accountFullNames?: Array<string>;
3452
+
3453
+ /**
3454
+ * Query param: Filter for report data by QuickBooks-assigned account IDs. Repeat
3455
+ * this query parameter to include multiple accounts. Use only one account filter
3456
+ * per request.
3457
+ */
3458
+ accountIds?: Array<string>;
3459
+
3460
+ /**
3461
+ * Query param: Filter for report data by account type. Use only one account filter
3462
+ * per request.
3463
+ */
3464
+ accountType?:
3465
+ | 'accounts_payable'
3466
+ | 'accounts_receivable'
3467
+ | 'allowed_for_1099'
3468
+ | 'ap_and_sales_tax'
3469
+ | 'ap_or_credit_card'
3470
+ | 'ar_and_ap'
3471
+ | 'asset'
3472
+ | 'balance_sheet'
3473
+ | 'bank'
3474
+ | 'bank_and_ar_and_ap_and_uf'
3475
+ | 'bank_and_uf'
3476
+ | 'cost_of_sales'
3477
+ | 'credit_card'
3478
+ | 'current_asset'
3479
+ | 'current_asset_and_expense'
3480
+ | 'current_liability'
3481
+ | 'equity'
3482
+ | 'equity_and_income_and_expense'
3483
+ | 'expense_and_other_expense'
3484
+ | 'fixed_asset'
3485
+ | 'income_and_expense'
3486
+ | 'income_and_other_income'
3487
+ | 'liability'
3488
+ | 'liability_and_equity'
3489
+ | 'long_term_liability'
3490
+ | 'non_posting'
3491
+ | 'ordinary_expense'
3492
+ | 'ordinary_income'
3493
+ | 'ordinary_income_and_cogs'
3494
+ | 'ordinary_income_and_expense'
3495
+ | 'other_asset'
3496
+ | 'other_current_asset'
3497
+ | 'other_current_liability'
3498
+ | 'other_expense'
3499
+ | 'other_income'
3500
+ | 'other_income_or_expense';
3501
+
3502
+ /**
3503
+ * Query param: Filter for report data by class `fullName` values,
3504
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3505
+ * joining parent object names with the object's `name` using colons. Repeat this
3506
+ * query parameter to include multiple classes. Use only one class filter per
3507
+ * request.
3508
+ */
3509
+ classFullNames?: Array<string>;
3510
+
3511
+ /**
3512
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
3513
+ * this query parameter to include multiple classes. Use only one class filter per
3514
+ * request.
3515
+ */
3516
+ classIds?: Array<string>;
3517
+
3518
+ /**
3519
+ * Query param: Filters which report columns QuickBooks returns. Use `active_only`
3520
+ * for active columns, `non_zero` for columns with non-zero values, or `all` for
3521
+ * all columns.
3522
+ */
3523
+ columnsToReturn?: 'active_only' | 'non_zero' | 'all';
3524
+
3525
+ /**
3526
+ * Query param: The report detail level to include. Use `all` for all rows,
3527
+ * `all_except_summary` to omit summary rows, or `summary_only` to return only
3528
+ * summary rows.
3529
+ */
3530
+ detailLevel?: 'all' | 'all_except_summary' | 'summary_only';
3531
+
3532
+ /**
3533
+ * Query param: Filter for report data by entity `fullName` values,
3534
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3535
+ * joining parent object names with the object's `name` using colons. Repeat this
3536
+ * query parameter to include multiple entities. Use only one entity filter per
3537
+ * request.
3538
+ */
3539
+ entityFullNames?: Array<string>;
3540
+
3541
+ /**
3542
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
3543
+ * this query parameter to include multiple entities. Use only one entity filter
3544
+ * per request.
3545
+ */
3546
+ entityIds?: Array<string>;
3547
+
3548
+ /**
3549
+ * Query param: Filter for report data by entity type, such as customer, vendor,
3550
+ * employee, or other name. Use only one entity filter per request.
3551
+ */
3552
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
3553
+
3554
+ /**
3555
+ * Query param: Whether to include subcolumns in the report. QuickBooks Desktop may
3556
+ * still omit subcolumns that it can easily compute from other returned values.
3557
+ */
3558
+ includeSubcolumns?: boolean;
3559
+
3560
+ /**
3561
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
3562
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
3563
+ * object names with the object's `name` using colons. Repeat this query parameter
3564
+ * to include multiple items. Use only one item filter per request.
3565
+ */
3566
+ itemFullNames?: Array<string>;
3567
+
3568
+ /**
3569
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
3570
+ * query parameter to include multiple items. Use only one item filter per request.
3571
+ */
3572
+ itemIds?: Array<string>;
3573
+
3574
+ /**
3575
+ * Query param: Filter for report data by item type. Use only one item filter per
3576
+ * request.
3577
+ */
3578
+ itemType?:
3579
+ | 'all_except_fixed_asset'
3580
+ | 'assembly'
3581
+ | 'discount'
3582
+ | 'fixed_asset'
3583
+ | 'inventory'
3584
+ | 'inventory_and_assembly'
3585
+ | 'non_inventory'
3586
+ | 'other_charge'
3587
+ | 'payment'
3588
+ | 'sales'
3589
+ | 'sales_tax'
3590
+ | 'service';
3591
+
3592
+ /**
3593
+ * Query param: Filter for report data that is posting, non-posting, or either.
3594
+ * Posting status refers to whether QuickBooks records the transaction in an
3595
+ * account register.
3596
+ */
3597
+ postingStatus?: 'either' | 'non_posting' | 'posting';
3598
+
3599
+ /**
3600
+ * Query param: The type of year to use for the report.
3601
+ */
3602
+ reportCalendar?: 'calendar_year' | 'fiscal_year' | 'tax_year';
3603
+
3604
+ /**
3605
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
3606
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
3607
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
3608
+ * the current fiscal year to date.
3609
+ */
3610
+ reportDateFrom?: string;
3611
+
3612
+ /**
3613
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
3614
+ * with `reportDateFrom` or `reportDateTo`.
3615
+ */
3616
+ reportDateMacro?:
3617
+ | 'all'
3618
+ | 'today'
3619
+ | 'this_week'
3620
+ | 'this_week_to_date'
3621
+ | 'this_month'
3622
+ | 'this_month_to_date'
3623
+ | 'this_quarter'
3624
+ | 'this_quarter_to_date'
3625
+ | 'this_year'
3626
+ | 'this_year_to_date'
3627
+ | 'yesterday'
3628
+ | 'last_week'
3629
+ | 'last_week_to_date'
3630
+ | 'last_month'
3631
+ | 'last_month_to_date'
3632
+ | 'last_quarter'
3633
+ | 'last_quarter_to_date'
3634
+ | 'last_year'
3635
+ | 'last_year_to_date'
3636
+ | 'next_week'
3637
+ | 'next_four_weeks'
3638
+ | 'next_month'
3639
+ | 'next_quarter'
3640
+ | 'next_year';
3641
+
3642
+ /**
3643
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
3644
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
3645
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
3646
+ * the current fiscal year to date.
3647
+ */
3648
+ reportDateTo?: string;
3649
+
3650
+ /**
3651
+ * Query param: Filters which report rows QuickBooks returns. Use `active_only` for
3652
+ * active rows, `non_zero` for rows with non-zero values, or `all` for all rows.
3653
+ */
3654
+ rowsToReturn?: 'active_only' | 'non_zero' | 'all';
3655
+
3656
+ /**
3657
+ * Query param: How QuickBooks Desktop calculates report data and labels report
3658
+ * column headers.
3659
+ */
3660
+ summarizeColumnsBy?:
3661
+ | 'account'
3662
+ | 'balance_sheet'
3663
+ | 'class'
3664
+ | 'customer'
3665
+ | 'customer_type'
3666
+ | 'day'
3667
+ | 'employee'
3668
+ | 'four_week'
3669
+ | 'half_month'
3670
+ | 'income_statement'
3671
+ | 'item_detail'
3672
+ | 'item_type'
3673
+ | 'month'
3674
+ | 'payee'
3675
+ | 'payment_method'
3676
+ | 'payroll_item_detail'
3677
+ | 'payroll_ytd_detail'
3678
+ | 'quarter'
3679
+ | 'sales_representative'
3680
+ | 'sales_tax_code'
3681
+ | 'shipping_method'
3682
+ | 'terms'
3683
+ | 'total_only'
3684
+ | 'two_week'
3685
+ | 'vendor'
3686
+ | 'vendor_type'
3687
+ | 'week'
3688
+ | 'year';
3689
+
3690
+ /**
3691
+ * Query param: Filter for report data updated on or after this date, in ISO 8601
3692
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
3693
+ */
3694
+ updatedAfter?: string;
3695
+
3696
+ /**
3697
+ * Query param: Filter for report data updated on or before this date, in ISO 8601
3698
+ * format (YYYY-MM-DD). This cannot be combined with `updatedDateMacro`.
3699
+ */
3700
+ updatedBefore?: string;
3701
+
3702
+ /**
3703
+ * Query param: A QuickBooks Desktop relative updated-date macro. This cannot be
3704
+ * combined with `updatedAfter` or `updatedBefore`.
3705
+ */
3706
+ updatedDateMacro?:
3707
+ | 'all'
3708
+ | 'today'
3709
+ | 'this_week'
3710
+ | 'this_week_to_date'
3711
+ | 'this_month'
3712
+ | 'this_month_to_date'
3713
+ | 'this_quarter'
3714
+ | 'this_quarter_to_date'
3715
+ | 'this_year'
3716
+ | 'this_year_to_date'
3717
+ | 'yesterday'
3718
+ | 'last_week'
3719
+ | 'last_week_to_date'
3720
+ | 'last_month'
3721
+ | 'last_month_to_date'
3722
+ | 'last_quarter'
3723
+ | 'last_quarter_to_date'
3724
+ | 'last_year'
3725
+ | 'last_year_to_date'
3726
+ | 'next_week'
3727
+ | 'next_four_weeks'
3728
+ | 'next_month'
3729
+ | 'next_quarter'
3730
+ | 'next_year';
3731
+ }
3732
+
3733
+ export interface ReportTimeParams {
3734
+ /**
3735
+ * Query param: The time report type to retrieve.
3736
+ */
3737
+ reportType: 'time_by_item' | 'time_by_job_detail' | 'time_by_job_summary' | 'time_by_name';
3738
+
3739
+ /**
3740
+ * Header param: The ID of the End-User to receive this request.
3741
+ */
3742
+ conductorEndUserId: string;
3743
+
3744
+ /**
3745
+ * Query param: Filter for report data by class `fullName` values,
3746
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3747
+ * joining parent object names with the object's `name` using colons. Repeat this
3748
+ * query parameter to include multiple classes. Use only one class filter per
3749
+ * request.
3750
+ */
3751
+ classFullNames?: Array<string>;
3752
+
3753
+ /**
3754
+ * Query param: Filter for report data by QuickBooks-assigned class IDs. Repeat
3755
+ * this query parameter to include multiple classes. Use only one class filter per
3756
+ * request.
3757
+ */
3758
+ classIds?: Array<string>;
3759
+
3760
+ /**
3761
+ * Query param: Filters which report columns QuickBooks returns. Use `active_only`
3762
+ * for active columns, `non_zero` for columns with non-zero values, or `all` for
3763
+ * all columns.
3764
+ */
3765
+ columnsToReturn?: 'active_only' | 'non_zero' | 'all';
3766
+
3767
+ /**
3768
+ * Query param: Filter for report data by entity `fullName` values,
3769
+ * case-insensitive. A `fullName` is a fully-qualified QuickBooks name formed by
3770
+ * joining parent object names with the object's `name` using colons. Repeat this
3771
+ * query parameter to include multiple entities. Use only one entity filter per
3772
+ * request.
3773
+ */
3774
+ entityFullNames?: Array<string>;
3775
+
3776
+ /**
3777
+ * Query param: Filter for report data by QuickBooks-assigned entity IDs. Repeat
3778
+ * this query parameter to include multiple entities. Use only one entity filter
3779
+ * per request.
3780
+ */
3781
+ entityIds?: Array<string>;
3782
+
3783
+ /**
3784
+ * Query param: Filter for report data by entity type, such as customer, vendor,
3785
+ * employee, or other name. Use only one entity filter per request.
3786
+ */
3787
+ entityType?: 'customer' | 'employee' | 'other_name' | 'vendor';
3788
+
3789
+ /**
3790
+ * Query param: Whether to include subcolumns in the report. QuickBooks Desktop may
3791
+ * still omit subcolumns that it can easily compute from other returned values.
3792
+ */
3793
+ includeSubcolumns?: boolean;
3794
+
3795
+ /**
3796
+ * Query param: Filter for report data by item `fullName` values, case-insensitive.
3797
+ * A `fullName` is a fully-qualified QuickBooks name formed by joining parent
3798
+ * object names with the object's `name` using colons. Repeat this query parameter
3799
+ * to include multiple items. Use only one item filter per request.
3800
+ */
3801
+ itemFullNames?: Array<string>;
3802
+
3803
+ /**
3804
+ * Query param: Filter for report data by QuickBooks-assigned item IDs. Repeat this
3805
+ * query parameter to include multiple items. Use only one item filter per request.
3806
+ */
3807
+ itemIds?: Array<string>;
3808
+
3809
+ /**
3810
+ * Query param: Filter for report data by item type. Use only one item filter per
3811
+ * request.
3812
+ */
3813
+ itemType?:
3814
+ | 'all_except_fixed_asset'
3815
+ | 'assembly'
3816
+ | 'discount'
3817
+ | 'fixed_asset'
3818
+ | 'inventory'
3819
+ | 'inventory_and_assembly'
3820
+ | 'non_inventory'
3821
+ | 'other_charge'
3822
+ | 'payment'
3823
+ | 'sales'
3824
+ | 'sales_tax'
3825
+ | 'service';
3826
+
3827
+ /**
3828
+ * Query param: The type of year to use for the report.
3829
+ */
3830
+ reportCalendar?: 'calendar_year' | 'fiscal_year' | 'tax_year';
3831
+
3832
+ /**
3833
+ * Query param: Filter for report data dated on or after this date, in ISO 8601
3834
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
3835
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
3836
+ * the current fiscal year to date.
3837
+ */
3838
+ reportDateFrom?: string;
3839
+
3840
+ /**
3841
+ * Query param: A QuickBooks Desktop relative date macro. This cannot be combined
3842
+ * with `reportDateFrom` or `reportDateTo`.
3843
+ */
3844
+ reportDateMacro?:
3845
+ | 'all'
3846
+ | 'today'
3847
+ | 'this_week'
3848
+ | 'this_week_to_date'
3849
+ | 'this_month'
3850
+ | 'this_month_to_date'
3851
+ | 'this_quarter'
3852
+ | 'this_quarter_to_date'
3853
+ | 'this_year'
3854
+ | 'this_year_to_date'
3855
+ | 'yesterday'
3856
+ | 'last_week'
3857
+ | 'last_week_to_date'
3858
+ | 'last_month'
3859
+ | 'last_month_to_date'
3860
+ | 'last_quarter'
3861
+ | 'last_quarter_to_date'
3862
+ | 'last_year'
3863
+ | 'last_year_to_date'
3864
+ | 'next_week'
3865
+ | 'next_four_weeks'
3866
+ | 'next_month'
3867
+ | 'next_quarter'
3868
+ | 'next_year';
3869
+
3870
+ /**
3871
+ * Query param: Filter for report data dated on or before this date, in ISO 8601
3872
+ * format (YYYY-MM-DD). This cannot be combined with `reportDateMacro`. If you omit
3873
+ * `reportDateFrom`, `reportDateTo`, and `reportDateMacro`, QuickBooks Desktop uses
3874
+ * the current fiscal year to date.
3875
+ */
3876
+ reportDateTo?: string;
3877
+
3878
+ /**
3879
+ * Query param: Filters which report rows QuickBooks returns. Use `active_only` for
3880
+ * active rows, `non_zero` for rows with non-zero values, or `all` for all rows.
3881
+ */
3882
+ rowsToReturn?: 'active_only' | 'non_zero' | 'all';
3883
+
3884
+ /**
3885
+ * Query param: How QuickBooks Desktop calculates report data and labels report
3886
+ * column headers.
3887
+ */
3888
+ summarizeColumnsBy?:
3889
+ | 'account'
3890
+ | 'balance_sheet'
3891
+ | 'class'
3892
+ | 'customer'
3893
+ | 'customer_type'
3894
+ | 'day'
3895
+ | 'employee'
3896
+ | 'four_week'
3897
+ | 'half_month'
3898
+ | 'income_statement'
3899
+ | 'item_detail'
3900
+ | 'item_type'
3901
+ | 'month'
3902
+ | 'payee'
3903
+ | 'payment_method'
3904
+ | 'payroll_item_detail'
3905
+ | 'payroll_ytd_detail'
3906
+ | 'quarter'
3907
+ | 'sales_representative'
3908
+ | 'sales_tax_code'
3909
+ | 'shipping_method'
3910
+ | 'terms'
3911
+ | 'total_only'
3912
+ | 'two_week'
3913
+ | 'vendor'
3914
+ | 'vendor_type'
3915
+ | 'week'
3916
+ | 'year';
3917
+ }
3918
+
3919
+ export declare namespace Reports {
3920
+ export {
3921
+ type Report as Report,
3922
+ type ReportAgingParams as ReportAgingParams,
3923
+ type ReportBudgetSummaryParams as ReportBudgetSummaryParams,
3924
+ type ReportCustomDetailParams as ReportCustomDetailParams,
3925
+ type ReportCustomSummaryParams as ReportCustomSummaryParams,
3926
+ type ReportGeneralDetailParams as ReportGeneralDetailParams,
3927
+ type ReportGeneralSummaryParams as ReportGeneralSummaryParams,
3928
+ type ReportJobParams as ReportJobParams,
3929
+ type ReportPayrollDetailParams as ReportPayrollDetailParams,
3930
+ type ReportPayrollSummaryParams as ReportPayrollSummaryParams,
3931
+ type ReportTimeParams as ReportTimeParams,
3932
+ };
3933
+ }