conductor-node 9.5.0 → 9.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conductor-node",
3
- "version": "9.5.0",
3
+ "version": "9.6.1",
4
4
  "description": "Easily integrate with the entire QuickBooks Desktop API with fully-typed async TypeScript",
5
5
  "author": "Danny Nemer <hi@DannyNemer.com>",
6
6
  "license": "MIT",
@@ -12,7 +12,7 @@
12
12
  "dist/package.json"
13
13
  ],
14
14
  "scripts": {
15
- "prepack": "yarn tsc && yarn delete-compiled-dev-files && yarn tsc-alias --verbose",
15
+ "prepack": "yarn --silent tsc && yarn --silent delete-compiled-dev-files && yarn --silent tsc-alias",
16
16
  "delete-compiled-dev-files": "rm -rf `find ./dist -type d -name __tests__` ./dist/src/utils/testing.* ./dist/src/graphql/codegenConfig.*",
17
17
  "postpack": "rm -rf dist",
18
18
  "clean": "rm -rf dist package conductor-node-*.tgz tsconfig.tsbuildinfo",
@@ -67,11 +67,7 @@ function wrapError(error) {
67
67
  if (error instanceof graphql_request_1.ClientError) {
68
68
  const { response } = error;
69
69
  if ([404, 502, 503].includes(response.status)) {
70
- return new error_1.ConductorConnectionError({
71
- code: "SERVER_UNAVAILABLE",
72
- message: `The Conductor server returned a ${response.status} error, which may indicate that the server is unavailable. Please alert the Conductor team if this error persists.`,
73
- httpStatusCode: response.status,
74
- });
70
+ return createConnectionError(String(response.status), response.status);
75
71
  }
76
72
  const nestedError = response.errors?.[0];
77
73
  const errorExtensions = nestedError?.extensions;
@@ -91,6 +87,11 @@ function wrapError(error) {
91
87
  ...errorExtensions,
92
88
  });
93
89
  }
90
+ // Ideally, we would check for instances of `FetchError` but we don't have
91
+ // that type available.
92
+ }
93
+ else if (error.name === "FetchError") {
94
+ return createConnectionError(error.message, 502);
94
95
  }
95
96
  return new error_1.ConductorInternalError({
96
97
  code: "INVALID_JSON_RESPONSE",
@@ -98,3 +99,10 @@ function wrapError(error) {
98
99
  });
99
100
  }
100
101
  exports.wrapError = wrapError;
102
+ function createConnectionError(originalMessage, httpStatusCode) {
103
+ return new error_1.ConductorConnectionError({
104
+ code: "SERVER_UNAVAILABLE",
105
+ message: `Conductor failed to connect to the server: ${originalMessage}. Please alert the Conductor team if this error persists.`,
106
+ httpStatusCode,
107
+ });
108
+ }
@@ -343,6 +343,36 @@ export default class QbdIntegration extends BaseIntegration {
343
343
  */
344
344
  query: (integrationConnectionId: string, params: QbdTypes.ChargeQueryRq) => Promise<NonNullable<QbdTypes.ChargeQueryRs["ChargeRet"]>>;
345
345
  };
346
+ buildAssembly: {
347
+ /**
348
+ * Adds a build assembly transaction to QuickBooks, where the specified
349
+ * quantity of the specified inventory assembly item is built. If there are
350
+ * insufficient quantities of items required for the build, you can have the
351
+ * build marked as a pending build by using setting `MarkPendingIfRequired`
352
+ * to `True`. (If you don’t and there aren’t enough quantities on hand for
353
+ * the build, this request will fail.) If successful, this request results
354
+ * in the decrementing of the quantities on hand amounts of each item used
355
+ * in the build, and the incrementing of the on hand quantities of the built
356
+ * assembly item.
357
+ *
358
+ * This request is supported only in Premier and Enterprise.
359
+ *
360
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BuildAssemblyAdd
361
+ */
362
+ add: (integrationConnectionId: string, params: QbdTypes.BuildAssemblyAddRq["BuildAssemblyAdd"]) => Promise<NonNullable<QbdTypes.BuildAssemblyAddRs["BuildAssemblyRet"]>>;
363
+ /**
364
+ * Modifies an existing build assembly transaction in the QuickBooks company.
365
+ *
366
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BuildAssemblyMod
367
+ */
368
+ mod: (integrationConnectionId: string, params: QbdTypes.BuildAssemblyModRq["BuildAssemblyMod"]) => Promise<NonNullable<QbdTypes.BuildAssemblyModRs["BuildAssemblyRet"]>>;
369
+ /**
370
+ * Filters build assembly transactions by the specified filter criteria.
371
+ *
372
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BuildAssemblyQuery
373
+ */
374
+ query: (integrationConnectionId: string, params: QbdTypes.BuildAssemblyQueryRq) => Promise<NonNullable<QbdTypes.BuildAssemblyQueryRs["BuildAssemblyRet"]>>;
375
+ };
346
376
  check: {
347
377
  /**
348
378
  * The amount of a check is the total of the amounts assigned to expense
@@ -1211,6 +1241,8 @@ export default class QbdIntegration extends BaseIntegration {
1211
1241
  mod: (integrationConnectionId: string, params: QbdTypes.ItemSalesTaxModRq["ItemSalesTaxMod"]) => Promise<NonNullable<QbdTypes.ItemSalesTaxModRs["ItemSalesTaxRet"]>>;
1212
1242
  /**
1213
1243
  * Queries for the specified sales-tax item or set of items.
1244
+ *
1245
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxQuery
1214
1246
  */
1215
1247
  query: (integrationConnectionId: string, params: QbdTypes.ItemSalesTaxQueryRq) => Promise<NonNullable<QbdTypes.ItemSalesTaxQueryRs["ItemSalesTaxRet"]>>;
1216
1248
  };
@@ -1344,17 +1376,6 @@ export default class QbdIntegration extends BaseIntegration {
1344
1376
  */
1345
1377
  query: (integrationConnectionId: string, params: QbdTypes.ItemSubtotalQueryRq) => Promise<NonNullable<QbdTypes.ItemSubtotalQueryRs["ItemSubtotalRet"]>>;
1346
1378
  };
1347
- jobReport: {
1348
- /**
1349
- * Queries for a job report, which includes both summary and transaction
1350
- * detail reports. The reports can be customized only by date range, by
1351
- * column summarization, and by common filters. Some job reports require a
1352
- * `customer:job` reference in order to work.
1353
- *
1354
- * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobReportQuery
1355
- */
1356
- query: (integrationConnectionId: string, params: QbdTypes.JobReportQueryRq) => Promise<NonNullable<QbdTypes.JobReportQueryRs["ReportRet"]>>;
1357
- };
1358
1379
  jobType: {
1359
1380
  /**
1360
1381
  * Adds a job type. A job type can be used to separate jobs into any
@@ -1518,6 +1539,299 @@ export default class QbdIntegration extends BaseIntegration {
1518
1539
  */
1519
1540
  query: (integrationConnectionId: string, params: QbdTypes.PurchaseOrderQueryRq) => Promise<NonNullable<QbdTypes.PurchaseOrderQueryRs["PurchaseOrderRet"]>>;
1520
1541
  };
1542
+ receivePayment: {
1543
+ /**
1544
+ * Receives a customer payment into QuickBooks. A receive payment
1545
+ * transaction is used for one or more of these purposes:
1546
+ * 1. To record a customer’s payment against an invoice for one or more
1547
+ * jobs,
1548
+ * 2. To set a discount (for early payment, for example),
1549
+ * 3. To set a credit (from previously returned merchandise, for example).
1550
+ *
1551
+ * If full payment is received at the time of sale, it is recorded using a
1552
+ * sales receipt transaction, not a receive payments transaction.
1553
+ *
1554
+ * Notice that access to sensitive data permissions are not required to use
1555
+ * this request. However, if the application does not have access to
1556
+ * sensitive data permission, then the response returned will not contain
1557
+ * certain sensitive data. For example, even if credit card data is supplied
1558
+ * in the `ReceivePaymentAdd` request via the `CreditCardTxnInfo` aggregate,
1559
+ * the response will not contain the corresponding aggregate.
1560
+ *
1561
+ * This request can be used to record QBMS credit card transaction data, via
1562
+ * the `CreditCardTxnInfo` aggregate. You can record charges and also
1563
+ * authorizations. (You can later respond to a QBMS capture of authorized
1564
+ * charges by doing a `ReceivePaymentMod` and changing the
1565
+ * `CreditCardTxnType` to “Charge”.) Notice that the reconciliation data
1566
+ * fields (`ReconBatchID`, `PaymentGroupingCode`, `PaymentStatus`,
1567
+ * `TxnAuthorizationTime`, `TxnAuthorizationStamp`, `ClientTransID`) are
1568
+ * optional ONLY if the `CreditCardTxnType` is “Authorization”. If the type
1569
+ * is “Charge”, then those reconciliation fields must be supplied or you
1570
+ * will get a runtime error.
1571
+ *
1572
+ * IMPORTANT: In a `SalesReceiptAdd` or `ReceivePaymentAdd` request that
1573
+ * contains credit card transaction data supplied from QBMS transaction
1574
+ * responses, you must specify the payment method (using the
1575
+ * `PaymentMethodRef` aggregate).
1576
+ *
1577
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ReceivePaymentAdd
1578
+ */
1579
+ add: (integrationConnectionId: string, params: QbdTypes.ReceivePaymentAddRq["ReceivePaymentAdd"]) => Promise<NonNullable<QbdTypes.ReceivePaymentAddRs["ReceivePaymentRet"]>>;
1580
+ /**
1581
+ * Modifies a receive payment transaction.
1582
+ *
1583
+ * If you save QBMS credit card data in your `ReceivePayments`, this Mod
1584
+ * request allows you to capture a previously authorized credit card charge.
1585
+ * The way this works is that the ReceivePaymentAdd would contain the QBMS
1586
+ * `CreditCardTxnInfo` aggregate with the `CreditCardTxnType` set to
1587
+ * “Authorization,” which causes QB to internally mark the transaction as
1588
+ * pending. When the capture transaction is performed later, in QBMS, that
1589
+ * capture transaction can be saved into QuickBooks via this Mod request, as
1590
+ * you are modifying the original `ReceivePayment` but changing its
1591
+ * `CreditCardTxnType` from ”Authorization” to “Capture.” This mod operation
1592
+ * results in the removal of the pending status and the posting of this
1593
+ * receive payment.
1594
+ *
1595
+ * Notice that the reconciliation data fields (`ReconBatchID`,
1596
+ * `PaymentGroupingCode`, `PaymentStatus`, `TxnAuthorizationTime`,
1597
+ * `TxnAuthorizationStamp`, `ClientTransID`) are optional ONLY if the
1598
+ * `CreditCardTxnType` is “Authorization” because authorizations don’t have
1599
+ * such data. If the type is “Charge”, then those reconciliation fields must
1600
+ * be supplied or you will get a runtime error.
1601
+ *
1602
+ * The following list describes what you can and can’t do with this request.
1603
+ * - Modify `RefNumber` or `Memo`.
1604
+ * - Modify (not clear) the `CustomerRef` field for a payment that was not
1605
+ * electronically processed.
1606
+ * - Modify (not clear) the `ARAccountRef`.
1607
+ * - Modify (not clear) the `TxnDate`.
1608
+ * - Modify or clear the `TotalAmount`.
1609
+ * - Modify or clear the `PaymentMethodRef`.
1610
+ * - Modify, (not clear) the `DepositToAccountRef`
1611
+ * - Change the payment amount applied to an invoice. For a receive payment
1612
+ * transaction that has been applied to several existing invoices,
1613
+ * redistribute the payment amounts applied to the invoices.
1614
+ * - Change the discount amount applied to particular invoice.
1615
+ * - You cannot change the credit amount applied to an invoice.
1616
+ * - Apply the payment to a different invoice, including a discount and a
1617
+ * credit. Apply the payment amount to a different invoice. Apply a
1618
+ * discount, and a credit. The existing distribution is cleared, except
1619
+ * for any credit that may have been applied.
1620
+ * - Modify QBMS credit card information.
1621
+ * - You cannot auto apply payment.
1622
+ * - Apply an additional credit to an invoice.
1623
+ *
1624
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ReceivePaymentMod
1625
+ */
1626
+ mod: (integrationConnectionId: string, params: QbdTypes.ReceivePaymentModRq["ReceivePaymentMod"]) => Promise<NonNullable<QbdTypes.ReceivePaymentModRs["ReceivePaymentRet"]>>;
1627
+ /**
1628
+ * Queries for the specified receive payment or set of payments.
1629
+ *
1630
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ReceivePaymentQuery
1631
+ */
1632
+ query: (integrationConnectionId: string, params: QbdTypes.ReceivePaymentQueryRq) => Promise<NonNullable<QbdTypes.ReceivePaymentQueryRs["ReceivePaymentRet"]>>;
1633
+ };
1634
+ report: {
1635
+ /**
1636
+ * Generates budget reports similar to the budget report functionality that
1637
+ * is available within the QuickBooks UI. (From the main QB menubar select
1638
+ * Reports->Budgets & Forecasts.)
1639
+ *
1640
+ * Note: the graphing functionality, forecasts, and memorized reports that
1641
+ * are available through the UI are not supported by the SDK.
1642
+ *
1643
+ * Notice that if you simply use the default instead of specifying the
1644
+ * Fiscal Year, the `ReportPeriod` defaults to “year to date.” You cannot
1645
+ * change the default to “This Fiscal Year.”
1646
+ *
1647
+ * There can only be one balance sheet budget for each fiscal year, one
1648
+ * profit and loss (P&L) by account budget per fiscal year, and one profit
1649
+ * and loss (P&L) by account and customer budget per fiscal year. Hence the
1650
+ * `FiscalYear` element is key in specifying which budget you want. Notice
1651
+ * that there are two “views” into each of the two budget categories: the
1652
+ * Overview, which shows the budget itself, and the Actual, which shows how
1653
+ * expenditures are currently running against the budget.
1654
+ *
1655
+ * All of the budget reports supported in the UI are supported in the SDK,
1656
+ * although the UI and SDK nomenclature differs slightly. The UI shows
1657
+ * Budget Overview and Budget Vs Actual as choices in the selection list,
1658
+ * with Balance Sheet and P&L as subchoices in a subsequent selection list,
1659
+ * already filtered by Accounts, or Accounts and Classes, or Accounts and
1660
+ * Customers, if these are available.
1661
+ *
1662
+ * In comparison, you choose the budget view you want via the SDK
1663
+ * `BudgetSummaryType` element, which has these possible values:
1664
+ * - `BalanceSheetBudgetOverview`
1665
+ * - `BalanceSheetBudgetVsActual`
1666
+ * - `ProfitAndLossBudgetOverview`
1667
+ * - `ProfitAndLossBudgetVsActual`
1668
+ *
1669
+ * Then you specify any additional filtering by the Budget Criterion value
1670
+ * you specify (`Accounts`, `AccountsAndCustomers`, or
1671
+ * `AccountsAndClasses`). Notice that before you can obtain a Budget report,
1672
+ * the “target” budget must be defined in QuickBooks, via the UI, because
1673
+ * you cannot create a budget via the SDK.
1674
+ *
1675
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BudgetSummaryReportQuery
1676
+ */
1677
+ budgetSummary: (integrationConnectionId: string, params: QbdTypes.BudgetSummaryReportQueryRq) => Promise<NonNullable<QbdTypes.BudgetSummaryReportQueryRs["ReportRet"]>>;
1678
+ /**
1679
+ * A Custom Transaction Detail report gives you complete control over the
1680
+ * content of the report. It does not have any default values and consists
1681
+ * entirely of customized data. You must specify all the include columns for
1682
+ * the transactions you want returned in the report.
1683
+ *
1684
+ * If you want complete control over the report content, you will be
1685
+ * interested in both the custom summary report and the custom transaction
1686
+ * detail report. Custom reports do not make any assumptions about the data
1687
+ * you are interested in–they require you to specify exactly what data you
1688
+ * want included in the report. Your application has to select the row and
1689
+ * column axes, and it controls the output using common customization
1690
+ * parameters for dates and filters. For the custom transaction detail
1691
+ * report, you must specify all the include columns for the transactions you
1692
+ * want returned in the report. For these reports, you are also required to
1693
+ * specify a date element a `DateMacro` or a custom date range).
1694
+ *
1695
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomDetailReportQuery
1696
+ */
1697
+ customDetail: (integrationConnectionId: string, params: QbdTypes.CustomDetailReportQueryRq) => Promise<NonNullable<QbdTypes.CustomDetailReportQueryRs["ReportRet"]>>;
1698
+ /**
1699
+ * A custom summary report gives you complete control over the content of
1700
+ * the report. It does not have any default values and consists entirely of
1701
+ * customized data.
1702
+ *
1703
+ * If you want complete control over the report content, you will be
1704
+ * interested in both the custom summary report and the custom transaction
1705
+ * detail report. Custom reports do not make any assumptions about the data
1706
+ * you are interested in–they require you to specify exactly what data you
1707
+ * want included in the report. Your application has to select the row and
1708
+ * column axes, and it controls the output using common customization
1709
+ * parameters for dates and filters. For the custom transaction detail
1710
+ * report, you must specify all the include columns for the transactions you
1711
+ * want returned in the report. For these reports, you are also required to
1712
+ * specify a date element a ``DateMacro`` or a custom date range).
1713
+ *
1714
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomSummaryReportQuery
1715
+ */
1716
+ customSummary: (integrationConnectionId: string, params: QbdTypes.CustomSummaryReportQueryRq) => Promise<NonNullable<QbdTypes.CustomSummaryReportQueryRs["ReportRet"]>>;
1717
+ /**
1718
+ * You use this report query to get any of the supported QuickBooks detail
1719
+ * reports, which you specify in the `GeneralDetailReportType`. You can
1720
+ * optionally display the report within QB by setting `DisplayReport` to
1721
+ * True.
1722
+ *
1723
+ * You can also use this detail report to get information not obtainable
1724
+ * from various SDK queries. For example, suppose you wanted the cleared
1725
+ * status from a `BillPaymentCheck`; the `BillPaymentCheckQuery` wouldn’t
1726
+ * have this info, but you could use this general detail report and specify
1727
+ * the column `ClearedStatus` to find that information.
1728
+ *
1729
+ * Also, if you wanted to query the accounts receivable directly, you could
1730
+ * do a General Detail Report Query with the report type set to Open
1731
+ * Invoices.
1732
+ *
1733
+ * You could also use this report if you needed to run a report on all
1734
+ * invoice changes made in a specific day, and only include changes to
1735
+ * invoices from a given past month, if the audit trail is on in QuickBooks.
1736
+ * You would use a `GeneralDetailReport` query with the report type set to
1737
+ * `AuditTrail`.
1738
+ *
1739
+ * Notice that if a line is paid, `PaidStatus == “X”`. If a line is not
1740
+ * paid, no entry for `PaidStatus` is returned.
1741
+ *
1742
+ * However, in the same report run within the QB GUI, the following behavior
1743
+ * is observed: This differs from the UI, where if the line is paid, an
1744
+ * entry of “Paid” is displayed and if the line is not paid, an entry of
1745
+ * “Unpaid” is displayed.
1746
+ *
1747
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/GeneralDetailReportQuery
1748
+ */
1749
+ generalDetail: (integrationConnectionId: string, params: QbdTypes.GeneralDetailReportQueryRq) => Promise<NonNullable<QbdTypes.GeneralDetailReportQueryRs["ReportRet"]>>;
1750
+ /**
1751
+ * The General Summary Reports category is the largest category for summary
1752
+ * reports. In addition to common customizations, the reports within this
1753
+ * category can be customized by the number of columns that are returned and
1754
+ * by period comparisons for the data in the report.
1755
+ *
1756
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/GeneralSummaryReportQuery
1757
+ */
1758
+ generalSummary: (integrationConnectionId: string, params: QbdTypes.GeneralSummaryReportQueryRq) => Promise<NonNullable<QbdTypes.GeneralSummaryReportQueryRs["ReportRet"]>>;
1759
+ /**
1760
+ * Queries for a job report, which includes both summary and transaction
1761
+ * detail reports. The reports can be customized only by date range, by
1762
+ * column summarization, and by common filters. Some job reports require a
1763
+ * `customer:job` reference in order to work.
1764
+ *
1765
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobReportQuery
1766
+ */
1767
+ job: (integrationConnectionId: string, params: QbdTypes.JobReportQueryRq) => Promise<NonNullable<QbdTypes.JobReportQueryRs["ReportRet"]>>;
1768
+ /**
1769
+ * This report returns information from any of three QuickBooks payroll
1770
+ * reports:
1771
+ * - Payroll summary report This report shows the total wages, taxes
1772
+ * withheld, deductions from net pay, additions to net pay, and
1773
+ * employer-paid taxes and contributions for each employee on the payroll.
1774
+ * - Employee earnings summary report This report shows information similar
1775
+ * to the payroll summary report, but in a different layout. The report
1776
+ * has a row for each employee and a column for each payroll item.
1777
+ * - Payroll liability balances report This report lists the payroll
1778
+ * liabilities the QuickBooks company owes to various agencies, such as
1779
+ * the federal government, your state government, insurance plan
1780
+ * administrators, labor unions, etc. The report covers unpaid liabilities
1781
+ * incurred during the period of time shown in the From and To fields. If
1782
+ * the company paid a liability incurred within the date range of the
1783
+ * report, the report omits that liability, even if the payment occurred
1784
+ * after the ending date of the report.
1785
+ *
1786
+ * Payroll Summary Reports can be generated if your application is accessing
1787
+ * a company file that is currently signed up for a subscription to a
1788
+ * payroll service. (If your application is not signed up, it will receive
1789
+ * an error when it attempts to generate a report in this category.)
1790
+ *
1791
+ * The restrictions noted above about payroll reports requiring the use of
1792
+ * the Intuit Payroll service do not apply to the QuickBooks sample
1793
+ * companies. You can still test out these reports on the sample companies
1794
+ * without subscribing to the payroll service. For all other companies,
1795
+ * however, the company must be subscribed.
1796
+ *
1797
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PayrollSummaryReportQuery
1798
+ */
1799
+ payrollSummary: (integrationConnectionId: string, params: QbdTypes.PayrollSummaryReportQueryRq) => Promise<NonNullable<QbdTypes.PayrollSummaryReportQueryRs["ReportRet"]>>;
1800
+ /**
1801
+ * Returns information from any of five QuickBooks payroll reports:
1802
+ * - Employee state taxes detail report
1803
+ * - Payroll item detail report (lists the payroll transactions on which
1804
+ * each payroll item appears)
1805
+ * - Payroll detail review report (provides detailed information about how
1806
+ * QuickBooks calculates tax amounts on employee paychecks and in
1807
+ * year-to-date transactions)
1808
+ * - Payroll transaction detail report (shows the line-item detail that
1809
+ * appears on each payroll transaction)
1810
+ * - Payroll transactions by payee report (lists payroll transactions,
1811
+ * grouping them by payee)
1812
+ *
1813
+ * Payroll Summary Reports can be generated if your application is accessing
1814
+ * a company file that is currently signed up for a subscription to a
1815
+ * payroll service. (If your application is not signed up, it will receive
1816
+ * an error when it attempts to generate a report in this category.)
1817
+ *
1818
+ * The restrictions noted above about payroll reports requiring the use of
1819
+ * the Intuit Payroll service do not apply to the QuickBooks sample
1820
+ * companies. You can still test out these reports on the sample companies
1821
+ * without subscribing to the payroll service. For all other companies,
1822
+ * however, the company must be subscribed.
1823
+ *
1824
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PayrollDetailReportQuery
1825
+ */
1826
+ payrollDetail: (integrationConnectionId: string, params: QbdTypes.PayrollDetailReportQueryRq) => Promise<NonNullable<QbdTypes.PayrollDetailReportQueryRs["ReportRet"]>>;
1827
+ /**
1828
+ * The Time Reports category includes summary and detail reports related by
1829
+ * time. Summarized columns can be customized in these reports.
1830
+ *
1831
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeReportQuery
1832
+ */
1833
+ time: (integrationConnectionId: string, params: QbdTypes.TimeReportQueryRq) => Promise<NonNullable<QbdTypes.TimeReportQueryRs["ReportRet"]>>;
1834
+ };
1521
1835
  salesReceipt: {
1522
1836
  /**
1523
1837
  * Adds a sales receipt to QuickBooks.
@@ -1639,6 +1953,47 @@ export default class QbdIntegration extends BaseIntegration {
1639
1953
  */
1640
1954
  query: (integrationConnectionId: string, params: QbdTypes.TimeTrackingQueryRq) => Promise<NonNullable<QbdTypes.TimeTrackingQueryRs["TimeTrackingRet"]>>;
1641
1955
  };
1956
+ transfer: {
1957
+ /**
1958
+ * Adds a transfer transaction.
1959
+ *
1960
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferAdd
1961
+ */
1962
+ add: (integrationConnectionId: string, params: QbdTypes.TransferAddRq["TransferAdd"]) => Promise<NonNullable<QbdTypes.TransferAddRs["TransferRet"]>>;
1963
+ /**
1964
+ * Modifies a transfer transaction.
1965
+ *
1966
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferMod
1967
+ */
1968
+ mod: (integrationConnectionId: string, params: QbdTypes.TransferModRq["TransferMod"]) => Promise<NonNullable<QbdTypes.TransferModRs["TransferRet"]>>;
1969
+ /**
1970
+ * Queries for the specified transfer or set of transfers.
1971
+ *
1972
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferQuery
1973
+ */
1974
+ query: (integrationConnectionId: string, params: QbdTypes.TransferQueryRq) => Promise<NonNullable<QbdTypes.TransferQueryRs["TransferRet"]>>;
1975
+ };
1976
+ transferInventory: {
1977
+ /**
1978
+ * Adds a transfer inventory transaction.
1979
+ *
1980
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferInventoryAdd
1981
+ */
1982
+ add: (integrationConnectionId: string, params: QbdTypes.TransferInventoryAddRq["TransferInventoryAdd"]) => Promise<NonNullable<QbdTypes.TransferInventoryAddRs["TransferInventoryRet"]>>;
1983
+ /**
1984
+ * Modifies a transfer inventory transaction.
1985
+ *
1986
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferInventoryMod
1987
+ */
1988
+ mod: (integrationConnectionId: string, params: QbdTypes.TransferInventoryModRq["TransferInventoryMod"]) => Promise<NonNullable<QbdTypes.TransferInventoryModRs["TransferInventoryRet"]>>;
1989
+ /**
1990
+ * Queries for the specified transfer inventory transaction or set of
1991
+ * transfer inventory transactions.
1992
+ *
1993
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TransferInventoryQuery
1994
+ */
1995
+ query: (integrationConnectionId: string, params: QbdTypes.TransferInventoryQueryRq) => Promise<NonNullable<QbdTypes.TransferInventoryQueryRs["TransferInventoryRet"]>>;
1996
+ };
1642
1997
  vendor: {
1643
1998
  /**
1644
1999
  * Adds a vendor.