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