conductor-node 9.3.0 → 9.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "conductor-node",
3
- "version": "9.3.0",
3
+ "version": "9.4.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",
@@ -80,7 +80,7 @@ function wrapError(error) {
80
80
  if (errorExtensions["code"] === "GRAPHQL_VALIDATION_FAILED") {
81
81
  return new error_1.ConductorInvalidRequestError({
82
82
  code: "CLIENT_OUTDATED",
83
- message: `Your version of "${package_json_1.default.name}" is not longer compatible with the Conductor server. Please run "yarn upgrade ${package_json_1.default.name} --latest" to update.`,
83
+ message: `Your version of "${package_json_1.default.name}" is no longer compatible with the Conductor server. Please run "yarn upgrade ${package_json_1.default.name} --latest" to update.`,
84
84
  httpStatusCode: response.status,
85
85
  });
86
86
  }
@@ -112,9 +112,6 @@ export default class QbdIntegration extends BaseIntegration {
112
112
  * - `BillableStatus`
113
113
  * - `OverrideItemAccountRef`
114
114
  *
115
- * (For more details about what it means for a field to be clearable or not
116
- * clearable, see the QB SDK Programmer’s Guide.)
117
- *
118
115
  * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillMod
119
116
  */
120
117
  mod: (integrationConnectionId: string, params: QbdTypes.BillModRq["BillMod"]) => Promise<NonNullable<QbdTypes.BillModRs["BillRet"]>>;
@@ -283,6 +280,35 @@ export default class QbdIntegration extends BaseIntegration {
283
280
  */
284
281
  query: (integrationConnectionId: string, params: QbdTypes.BillPaymentCheckQueryRq) => Promise<NonNullable<QbdTypes.BillPaymentCheckQueryRs["BillPaymentCheckRet"]>>;
285
282
  };
283
+ billingRate: {
284
+ /**
285
+ * Adds a billing rate to the billing rate level list.
286
+ *
287
+ * After a billing rate is created, it can be assigned to an employee or
288
+ * vendor (`VendorAdd`/`VendorMod`, `EmployeeAdd`/`EmployeeMod`) via the
289
+ * `BillingRateRef` element in the appropriate request. Then, once the
290
+ * billing rate is assigned to an employee or vendor, if you use that
291
+ * employee or vendor in a time transaction (`TimeTrackingAdd`), then the
292
+ * billing rate will override the rate specified by the service item used in
293
+ * the time transaction.
294
+ *
295
+ * Use `FixedBillingRate` to override all service items with a fixed rate.
296
+ * Use `BillingRatePerItem` to override a specific service item. If you want
297
+ * to specify more than one service item, you’ll need to use one
298
+ * `BillingRatePerItem` aggregate for each service item.
299
+ *
300
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillingRateAdd
301
+ */
302
+ add: (integrationConnectionId: string, params: QbdTypes.BillingRateAddRq["BillingRateAdd"]) => Promise<NonNullable<QbdTypes.BillingRateAddRs["BillingRateRet"]>>;
303
+ /**
304
+ * Returns all billing rates, or billing rates filtered by modified date, or
305
+ * filtered by billing rate name, or filtered by the service item referenced
306
+ * in the billing rate.
307
+ *
308
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/BillingRateQuery
309
+ */
310
+ query: (integrationConnectionId: string, params: QbdTypes.BillingRateQueryRq) => Promise<NonNullable<QbdTypes.BillingRateQueryRs["BillingRateRet"]>>;
311
+ };
286
312
  charge: {
287
313
  /**
288
314
  * Adds a customer charge. A `Charge` contains information about a statement
@@ -400,6 +426,101 @@ export default class QbdIntegration extends BaseIntegration {
400
426
  */
401
427
  query: (integrationConnectionId: string, params: QbdTypes.CompanyQueryRq) => Promise<NonNullable<QbdTypes.CompanyQueryRs["CompanyRet"]>>;
402
428
  };
429
+ creditCardCharge: {
430
+ /**
431
+ * A credit card charge is a general charge incurred when a QuickBooks user
432
+ * makes a purchase using a credit card. Credit card charges for purchases
433
+ * can be tracked as expenses (in expense accounts) or as items.
434
+ *
435
+ * The current balance on the credit card becomes part of the accounts
436
+ * payable balance. If a balance is carried on the credit card across time,
437
+ * finance or interest charges can be tracked in QuickBooks.
438
+ *
439
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardChargeAdd
440
+ */
441
+ add: (integrationConnectionId: string, params: QbdTypes.CreditCardChargeAddRq["CreditCardChargeAdd"]) => Promise<NonNullable<QbdTypes.CreditCardChargeAddRs["CreditCardChargeRet"]>>;
442
+ /**
443
+ * The Credit Card charge mod request allows you to modify an existing
444
+ * credit card charge transaction using the SDK. You can modify most of the
445
+ * fields that can be modified in the QuickBooks UI. That is, this request
446
+ * can be used to modify Purchased from, date, credit card and modify lines
447
+ * from the item table and the expense table.
448
+ *
449
+ * The following list describes what you can and cannot due with this
450
+ * request:
451
+ * - You can modify or clear the following fields: Ref Num and Memo
452
+ * - You can modify (not clear) transaction date
453
+ * - You can change the credit card account to support the scenario where
454
+ * the credit card transaction was created and posted to the wrong credit
455
+ * card account (impacts your accounting).
456
+ * - You can modify the Purchase from field (Payee Name) to change the Payee
457
+ * Name on the credit card transaction to a different name (employee, job,
458
+ * customer, vendor, other name). This field cannot be cleared since it is
459
+ * required by QB business logic
460
+ * - You cannot modify the amount due directly! (However the amount due will
461
+ * change when you modify the transaction lines.)
462
+ * - You cannot change a Charge to a Credit.
463
+ * - You cannot Void the charge. Use TxnVoid instead.
464
+ * - You can clear the entire expense table or the entire item table, but
465
+ * you cannot clear both tables at the same time.
466
+ *
467
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardChargeMod
468
+ */
469
+ mod: (integrationConnectionId: string, params: QbdTypes.CreditCardChargeModRq["CreditCardChargeMod"]) => Promise<NonNullable<QbdTypes.CreditCardChargeModRs["CreditCardChargeRet"]>>;
470
+ /**
471
+ * Queries for the specified credit card charge or charges.
472
+ *
473
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardChargeQuery
474
+ */
475
+ query: (integrationConnectionId: string, params: QbdTypes.CreditCardChargeQueryRq) => Promise<NonNullable<QbdTypes.CreditCardChargeQueryRs["CreditCardChargeRet"]>>;
476
+ };
477
+ creditCardCredit: {
478
+ /**
479
+ * If a QuickBooks user returns merchandise and receives credit, the credit
480
+ * is entered in QuickBooks and assigned to the appropriate expense account.
481
+ * Typically, the assigned expense account reflects the same account,
482
+ * customer, and class that were assigned when the merchandise was first
483
+ * purchased. (The original purchase would be described by a
484
+ * `CreditCardCharge` message.)
485
+ *
486
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardCreditAdd
487
+ */
488
+ add: (integrationConnectionId: string, params: QbdTypes.CreditCardCreditAddRq["CreditCardCreditAdd"]) => Promise<NonNullable<QbdTypes.CreditCardCreditAddRs["CreditCardCreditRet"]>>;
489
+ /**
490
+ * The Credit Card credit mod request allows you to modify an existing
491
+ * credit card credit transaction using the SDK. You can modify most of the
492
+ * fields that can be modified in the QuickBooks UI. That is, this request
493
+ * can be used to modify Purchased from, date, credit card and modify lines
494
+ * from the item table and the expense table.
495
+ *
496
+ * The following list describes what you can and cannot due with this
497
+ * request:
498
+ * - You can modify or clear the following fields: Ref Num and Memo
499
+ * - You can modify (not clear) transaction date
500
+ * - You can change the credit card account to support the scenario where
501
+ * the credit card transaction was created and posted to the wrong credit
502
+ * card account (impacts your accounting).
503
+ * - You can modify the Purchase from field (Payee Name) to change the Payee
504
+ * Name on the credit card transaction to a different name (employee, job,
505
+ * customer, vendor, other name). This field cannot be cleared since it is
506
+ * required by QB business logic
507
+ * - You cannot modify the amount due directly! (However the amount due will
508
+ * change when you modify the transaction lines.)
509
+ * - You cannot change a Credit to a Charge.
510
+ * - You cannot Void the credit. Use TxnVoid instead.
511
+ * - You can clear the entire expense table or the entire item table, but
512
+ * you cannot clear both tables at the same time.
513
+ *
514
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardCreditMod
515
+ */
516
+ mod: (integrationConnectionId: string, params: QbdTypes.CreditCardCreditModRq["CreditCardCreditMod"]) => Promise<NonNullable<QbdTypes.CreditCardCreditModRs["CreditCardCreditRet"]>>;
517
+ /**
518
+ * Queries for the specified credit or set of credits.
519
+ *
520
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CreditCardCreditQuery
521
+ */
522
+ query: (integrationConnectionId: string, params: QbdTypes.CreditCardCreditQueryRq) => Promise<NonNullable<QbdTypes.CreditCardCreditQueryRs["CreditCardCreditRet"]>>;
523
+ };
403
524
  customer: {
404
525
  /**
405
526
  * The customer list includes information about the QuickBooks user’s
@@ -444,6 +565,27 @@ export default class QbdIntegration extends BaseIntegration {
444
565
  */
445
566
  query: (integrationConnectionId: string, params: QbdTypes.CustomerQueryRq) => Promise<NonNullable<QbdTypes.CustomerQueryRs["CustomerRet"]>>;
446
567
  };
568
+ customerType: {
569
+ /**
570
+ * Customer types allow business owners to categorize customers in ways that
571
+ * are meaningful for their businesses. For example, a customer type might
572
+ * indicate which industry a customer represents, or which part of the
573
+ * country a customer is in.
574
+ *
575
+ * A `CustomerTypeRef` aggregate refers to one of the types on the
576
+ * CustomerType list. In a request, if a `CustomerTypeRef` aggregate
577
+ * includes both `FullName` and `ListID`, `FullName` will be ignored.
578
+ *
579
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomerTypeAdd
580
+ */
581
+ add: (integrationConnectionId: string, params: QbdTypes.CustomerTypeAddRq["CustomerTypeAdd"]) => Promise<NonNullable<QbdTypes.CustomerTypeAddRs["CustomerTypeRet"]>>;
582
+ /**
583
+ * Queries for the specified customer type or set of types.
584
+ *
585
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/CustomerTypeQuery
586
+ */
587
+ query: (integrationConnectionId: string, params: QbdTypes.CustomerTypeQueryRq) => Promise<NonNullable<QbdTypes.CustomerTypeQueryRs["CustomerTypeRet"]>>;
588
+ };
447
589
  deposit: {
448
590
  /**
449
591
  * After you receive payments from customers (see `ReceivePayment`), you can
@@ -534,6 +676,60 @@ export default class QbdIntegration extends BaseIntegration {
534
676
  */
535
677
  query: (integrationConnectionId: string, params: QbdTypes.EstimateQueryRq) => Promise<NonNullable<QbdTypes.EstimateQueryRs["EstimateRet"]>>;
536
678
  };
679
+ inventoryAdjustment: {
680
+ /**
681
+ * Adds an inventory adjustment.
682
+ *
683
+ * If the following conditions aren’t met, you will receive an error if you
684
+ * try to add an inventory adjustment through the SDK:
685
+ * - The QuickBooks company file must be open in single-user mode, unless
686
+ * you are using QuickBooks Enterprise edition, which allows multi-user
687
+ * mode for this request. (This is also true in the user interface: you
688
+ * cannot adjust the inventory while the company file is open in
689
+ * multi-user mode, again except for Enterprise.)
690
+ * - The inventory adjustment form must be closed in the QuickBooks user
691
+ * interface.
692
+ *
693
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventoryAdjustmentAdd
694
+ */
695
+ add: (integrationConnectionId: string, params: QbdTypes.InventoryAdjustmentAddRq["InventoryAdjustmentAdd"]) => Promise<NonNullable<QbdTypes.InventoryAdjustmentAddRs["InventoryAdjustmentRet"]>>;
696
+ /**
697
+ * Modifies an inventory adjustment.
698
+ *
699
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventoryAdjustmentMod
700
+ */
701
+ mod: (integrationConnectionId: string, params: QbdTypes.InventoryAdjustmentModRq["InventoryAdjustmentMod"]) => Promise<NonNullable<QbdTypes.InventoryAdjustmentModRs["InventoryAdjustmentRet"]>>;
702
+ /**
703
+ * Queries for the specified inventory adjustment or set of inventory
704
+ * adjustments.
705
+ *
706
+ * You cannot query an inventory adjustment while the inventory adjustment
707
+ * form is open in the QuickBooks user interface.
708
+ *
709
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventoryAdjustmentQuery
710
+ */
711
+ query: (integrationConnectionId: string, params: QbdTypes.InventoryAdjustmentQueryRq) => Promise<NonNullable<QbdTypes.InventoryAdjustmentQueryRs["InventoryAdjustmentRet"]>>;
712
+ };
713
+ inventorySite: {
714
+ /**
715
+ * Adds an inventory site.
716
+ *
717
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventorySiteAdd
718
+ */
719
+ add: (integrationConnectionId: string, params: QbdTypes.InventorySiteAddRq["InventorySiteAdd"]) => Promise<NonNullable<QbdTypes.InventorySiteAddRs["InventorySiteRet"]>>;
720
+ /**
721
+ * Modifies an inventory site.
722
+ *
723
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventorySiteMod
724
+ */
725
+ mod: (integrationConnectionId: string, params: QbdTypes.InventorySiteModRq["InventorySiteMod"]) => Promise<NonNullable<QbdTypes.InventorySiteModRs["InventorySiteRet"]>>;
726
+ /**
727
+ * Queries for the specified inventory site or set of inventory sites.
728
+ *
729
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InventorySiteQuery
730
+ */
731
+ query: (integrationConnectionId: string, params: QbdTypes.InventorySiteQueryRq) => Promise<NonNullable<QbdTypes.InventorySiteQueryRs["InventorySiteRet"]>>;
732
+ };
537
733
  invoice: {
538
734
  /**
539
735
  * Adds an invoice.
@@ -628,8 +824,9 @@ export default class QbdIntegration extends BaseIntegration {
628
824
  */
629
825
  add: (integrationConnectionId: string, params: QbdTypes.ItemDiscountAddRq["ItemDiscountAdd"]) => Promise<NonNullable<QbdTypes.ItemDiscountAddRs["ItemDiscountRet"]>>;
630
826
  /**
631
- * Modifies a discount item. Starting with qbXML spec 7.0, you can modify
632
- * the account ref, using the AccountRef aggregate and the
827
+ * Modifies a discount item.
828
+ *
829
+ * You can modify the account ref, using the `AccountRef` aggregate and the
633
830
  * `ApplyAccountRefToExistingTxns` boolean. You need to use the
634
831
  * `ApplyAccountRefToExistingTxns` boolean because the QuickBooks UI
635
832
  * displays a prompt asking whether the change should apply to existing
@@ -1310,6 +1507,76 @@ export default class QbdIntegration extends BaseIntegration {
1310
1507
  */
1311
1508
  query: (integrationConnectionId: string, params: QbdTypes.PurchaseOrderQueryRq) => Promise<NonNullable<QbdTypes.PurchaseOrderQueryRs["PurchaseOrderRet"]>>;
1312
1509
  };
1510
+ salesReceipt: {
1511
+ /**
1512
+ * Adds a sales receipt to QuickBooks.
1513
+ *
1514
+ * Notice that access to sensitive data permissions are not required to use
1515
+ * this request. However, if the application does not have access to
1516
+ * sensitive data permission, then the response returned will not contain
1517
+ * certain sensitive data. For example, even if credit card data is supplied
1518
+ * in the `SalesReceiptAdd` request via the `CreditCardTxnInfo` aggregate,
1519
+ * the response will not contain the corresponding aggregate.
1520
+ *
1521
+ * Sales receipts are used to record point-of-sale payments. Sales receipts
1522
+ * include payments by cash, check, or credit card. Note: If full payment is
1523
+ * not received at the time of the sale, do not use a sales receipt.
1524
+ * Instead, use an invoice transaction and record the partial payment using
1525
+ * a payment item.
1526
+ *
1527
+ * IMPORTANT: In a `SalesReceiptAdd` or `ReceivePaymentAdd` request that
1528
+ * contains credit card transaction data supplied from QBMS transaction
1529
+ * responses, you must specify the payment method (using the
1530
+ * `PaymentMethodRef` aggregate).
1531
+ *
1532
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesReceiptAdd
1533
+ */
1534
+ add: (integrationConnectionId: string, params: QbdTypes.SalesReceiptAddRq["SalesReceiptAdd"]) => Promise<NonNullable<QbdTypes.SalesReceiptAddRs["SalesReceiptRet"]>>;
1535
+ /**
1536
+ * Modifies an existing Sales receipt.
1537
+ *
1538
+ * IMPORTANT: In a `SalesReceiptMod` request that contains credit card
1539
+ * transaction data supplied from QBMS transaction responses, you cannot
1540
+ * change the total amount recorded in the sale.
1541
+ *
1542
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesReceiptMod
1543
+ */
1544
+ mod: (integrationConnectionId: string, params: QbdTypes.SalesReceiptModRq["SalesReceiptMod"]) => Promise<NonNullable<QbdTypes.SalesReceiptModRs["SalesReceiptRet"]>>;
1545
+ /**
1546
+ * Queries for the specified sales receipt or set of receipts.
1547
+ *
1548
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesReceiptQuery
1549
+ */
1550
+ query: (integrationConnectionId: string, params: QbdTypes.SalesReceiptQueryRq) => Promise<NonNullable<QbdTypes.SalesReceiptQueryRs["SalesReceiptRet"]>>;
1551
+ };
1552
+ salesRep: {
1553
+ /**
1554
+ * Adds a sales rep.
1555
+ *
1556
+ * The sales representative must be on the Employee, Vendor, or Other Names
1557
+ * list within QuickBooks. Sales representative’s names and initials appear
1558
+ * on the Rep drop-down list on QuickBooks sales forms.
1559
+ *
1560
+ * A `SalesRepRef` refers to a person on the `SalesRep` list. In a request,
1561
+ * if a `SalesRepRef` aggregate includes both `FullName` and `ListID`,
1562
+ * `FullName` will be ignored.
1563
+ *
1564
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesRepAdd
1565
+ */
1566
+ add: (integrationConnectionId: string, params: QbdTypes.SalesRepAddRq["SalesRepAdd"]) => Promise<NonNullable<QbdTypes.SalesRepAddRs["SalesRepRet"]>>;
1567
+ /**
1568
+ * Modifies a sales rep record.
1569
+ *
1570
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesRepMod
1571
+ */
1572
+ mod: (integrationConnectionId: string, params: QbdTypes.SalesRepModRq["SalesRepMod"]) => Promise<NonNullable<QbdTypes.SalesRepModRs["SalesRepRet"]>>;
1573
+ /**
1574
+ * Queries for the specified sales rep or set of reps.
1575
+ *
1576
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/SalesRepQuery
1577
+ */
1578
+ query: (integrationConnectionId: string, params: QbdTypes.SalesRepQueryRq) => Promise<NonNullable<QbdTypes.SalesRepQueryRs["SalesRepRet"]>>;
1579
+ };
1313
1580
  timeTracking: {
1314
1581
  /**
1315
1582
  * The time-tracking transactions that are returned in this query include