conductor-node 8.0.3 → 8.2.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.
@@ -287,6 +287,40 @@ class QbdIntegration extends BaseIntegration_1.default {
287
287
  */
288
288
  query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { BillPaymentCheckQueryRq: params }, "BillPaymentCheckQueryRs", "BillPaymentCheckRet"),
289
289
  };
290
+ charge = {
291
+ /**
292
+ * Adds a customer charge. A `Charge` contains information about a statement
293
+ * charge. (A `CreditCardCharge` object, on the other hand, refers to a
294
+ * credit card charge incurred by the QuickBooks user.)
295
+ *
296
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ChargeAdd
297
+ */
298
+ add: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ChargeAddRq: { ChargeAdd: params } }, "ChargeAddRs", "ChargeRet"),
299
+ /**
300
+ * Modifies the specified charge.
301
+ *
302
+ * Some fields in a `ChargeMod` request cannot be cleared. If any of the
303
+ * following fields is included in a charge modify request, it must contain
304
+ * a value:
305
+ * - `CustomerRef`
306
+ * - `TxnDate`
307
+ * - `ItemRef`
308
+ * - `Quantity`
309
+ * - `Rate`
310
+ * - `Amount`
311
+ * - `ARAccountRef`
312
+ * - `OverrideItemAccountRef`
313
+ *
314
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ChargeMod
315
+ */
316
+ mod: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ChargeModRq: { ChargeMod: params } }, "ChargeModRs", "ChargeRet"),
317
+ /**
318
+ * Returns information about statement charges.
319
+ *
320
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ChargeQuery
321
+ */
322
+ query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ChargeQueryRq: params }, "ChargeQueryRs", "ChargeRet"),
323
+ };
290
324
  check = {
291
325
  /**
292
326
  * The amount of a check is the total of the amounts assigned to expense
@@ -458,6 +492,211 @@ class QbdIntegration extends BaseIntegration_1.default {
458
492
  */
459
493
  query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { EmployeeQueryRq: params }, "EmployeeQueryRs", "EmployeeRet"),
460
494
  };
495
+ estimate = {
496
+ /**
497
+ * Adds an estimate. A QuickBooks estimate is a description of a sale that
498
+ * the QuickBooks user proposes to make to a current or prospective
499
+ * customer. An estimate might also be called a “bid” or a “proposal.” In
500
+ * QuickBooks, estimates and invoices use similar fields, and an estimate
501
+ * can be converted into an invoice after the customer accepts the estimate.
502
+ *
503
+ * An estimate is a non-posting transaction, so it does not affect a
504
+ * company’s balance sheet or income statement.
505
+ *
506
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EstimateAdd
507
+ */
508
+ add: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { EstimateAddRq: { EstimateAdd: params } }, "EstimateAddRs", "EstimateRet"),
509
+ /**
510
+ * Modifies the specified estimate.
511
+ *
512
+ * Some fields in an `EstimateMod` request cannot be cleared. If any of the
513
+ * following fields is included in an estimate modify request, it must
514
+ * contain a value:
515
+ * - `CustomerRef`
516
+ * - `TemplateRef`
517
+ * - `TxnDate`
518
+ * - `IsActive`
519
+ * - `CreateChangeOrder`
520
+ * - `DueDate`
521
+ * - `ItemSalesTaxRef`
522
+ *
523
+ * Within `EstimateLineMod` or `EstimateLineGroupMod`:
524
+ * - `ItemRef`
525
+ * - `Quantity`
526
+ * - `Rate`
527
+ * - `Amount`>
528
+ * - `SalesTaxCodeRef`
529
+ * - `Markup`
530
+ *
531
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EstimateMod
532
+ */
533
+ mod: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { EstimateModRq: { EstimateMod: params } }, "EstimateModRs", "EstimateRet"),
534
+ /**
535
+ * Queries for the specified estimate or set of estimates.
536
+ *
537
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/EstimateQuery
538
+ */
539
+ query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { EstimateQueryRq: params }, "EstimateQueryRs", "EstimateRet"),
540
+ };
541
+ invoice = {
542
+ /**
543
+ * Adds an invoice.
544
+ *
545
+ * An invoice records the amount owed by a customer who purchased goods or
546
+ * services but did not pay in full at the time of the sale. If full payment
547
+ * is received at the time of the sale, it is recorded as a sales receipt,
548
+ * not an invoice.
549
+ *
550
+ * In QuickBooks, invoices and estimates use similar fields, and an estimate
551
+ * can be converted into an invoice after the customer accepts the estimate.
552
+ * However, in the SDK, there is currently no ability to create an invoice
553
+ * directly from an estimate (you cannot link an invoice to an estimate).
554
+ *
555
+ * If you Add an invoice that has an inventory item on it, QB will
556
+ * automatically calculate COGS and post it to the COGS account. (The
557
+ * inventory item will need to be setup to post to the COGS account and must
558
+ * have a unit cost in it.) However, notice that such an InvoiceAdd has
559
+ * sales prices, not cost, so the Add is not impacting the cost of the item.
560
+ * The cost of the item is only affected by purchases (bills and item
561
+ * receipts) sales and inventory adjustments.
562
+ *
563
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InvoiceAdd
564
+ */
565
+ add: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { InvoiceAddRq: { InvoiceAdd: params } }, "InvoiceAddRs", "InvoiceRet"),
566
+ /**
567
+ * Modifies an existing invoice. If you are modifying existing line items,
568
+ * supply an `InvoiceLineMod` and `TxnLineID` for each line you want to
569
+ * modify. If you want to add a new line, supply an `InvoiceLineMod` with
570
+ * its `TxnLineID` value set to -1.
571
+ *
572
+ * Some fields in an `InvoiceMod` request cannot be cleared. If any of the
573
+ * following fields is included in an invoice modify request, it must
574
+ * contain a value:
575
+ * - `CustomerRef`
576
+ * - `ARAccountRef`
577
+ * - `TemplateRef`
578
+ * - `TxnDate`
579
+ * - `IsPending`
580
+ * - `DueDate`
581
+ * - `ItemSalesTaxRef`
582
+ * - `ShipDate`
583
+ * - `IsToBePrinted`
584
+ *
585
+ * Within `InvoiceLineMod` or `InvoiceLineGroupMod`:
586
+ * - `ItemRef`
587
+ * - `Quantity`
588
+ * - `Rate`
589
+ * - `Amount`
590
+ * - `SalesTaxCodeRef`
591
+ * - `OverrideItemAccountRef`
592
+ *
593
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InvoiceMod
594
+ */
595
+ mod: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { InvoiceModRq: { InvoiceMod: params } }, "InvoiceModRs", "InvoiceRet"),
596
+ /**
597
+ * Returns invoice data.
598
+ *
599
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/InvoiceQuery
600
+ */
601
+ query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { InvoiceQueryRq: params }, "InvoiceQueryRs", "InvoiceRet"),
602
+ };
603
+ itemInventory = {
604
+ /**
605
+ * Adds an inventory item. An inventory item is any merchandise or part that
606
+ * a business purchases, tracks as inventory, and then resells. In
607
+ * QuickBooks, information about an inventory item is grouped into three
608
+ * categories:
609
+ * 1. Purchase Information includes `PurchaseDesc`, `PurchaseCost`,
610
+ * `COGSAccountRef`, and `PrefVendorRef`.
611
+ * 2. Sales Information includes `SalesDesc`, `SalesPrice`, and
612
+ * `SalesTaxCodeRef`.
613
+ * 3. Inventory Information includes `AssetAccountRef`, `ReorderPoint`,
614
+ * `QuantityOnHand`, `TotalValue`, and `InventoryDate`.
615
+ *
616
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAdd
617
+ */
618
+ add: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ItemInventoryAddRq: { ItemInventoryAdd: params } }, "ItemInventoryAddRs", "ItemInventoryRet"),
619
+ /**
620
+ * Modifies an inventory item.
621
+ *
622
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryMod
623
+ */
624
+ mod: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ItemInventoryModRq: { ItemInventoryMod: params } }, "ItemInventoryModRs", "ItemInventoryRet"),
625
+ /**
626
+ * Queries for the specified inventory item or set of items.
627
+ *
628
+ * Notice that certain modifications to the item can be caused by other
629
+ * transactions, such as `ItemReceipts` where the item’s on hand quantity is
630
+ * increased. Modifications through these transactions do not result in
631
+ * changing the `TimeModified` stamp (only the `Mod` operation will do
632
+ * that), but those changes will be detected when you use the
633
+ * `FromModifiedDate`/`ToModifiedDate` filters in your query. Notice that
634
+ * you cannot get an inventory asset value from QuickBooks using this query.
635
+ * Instead, you need to use the General Summary Report query (which
636
+ * currently doesn’t include Assembly Items). Suppose you needed a way to
637
+ * search for the amount on hand of items that have had their amount changed
638
+ * since a certain date. Again, you would not use this query, but a
639
+ * `GeneralDetailReportQuery` that has its `GeneralDetailReportType` set to
640
+ * “InventoryValuationDetail”. This will tell you which items changed by how
641
+ * much. Also, suppose you wanted the on-hand quantity from QB as of a
642
+ * specific date. You would use a General Summary Report of the type
643
+ * Inventory Valuation Summary. (Again, this report doesn’t include
644
+ * Inventory Assemblies.)
645
+ *
646
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryQuery
647
+ */
648
+ query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ItemInventoryQueryRq: params }, "ItemInventoryQueryRs", "ItemInventoryRet"),
649
+ };
650
+ itemNonInventory = {
651
+ /**
652
+ * Adds a non-inventory item, which is any material or part that a business
653
+ * buys but does not keep on hand as inventory. There are two types of
654
+ * non-inventory items:
655
+ * 1. Materials or parts that are part of the business’s overhead (for
656
+ * example, office supplies
657
+ * 2. Materials or parts that the business buys to finish a specific job and
658
+ * then charges back to the customer.
659
+ *
660
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemNonInventoryAdd
661
+ */
662
+ add: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ItemNonInventoryAddRq: { ItemNonInventoryAdd: params } }, "ItemNonInventoryAddRs", "ItemNonInventoryRet"),
663
+ /**
664
+ * Modifies a non inventory item.
665
+ *
666
+ * About `SalesOrPurchaseMod` versus `SalesAndPurchaseMod` in an
667
+ * `ItemNonInventoryMod` request: You cannot change the reimbursable status
668
+ * of a non-inventory item through the SDK. For example, if a non-inventory
669
+ * item is marked as non-reimbursable in QuickBooks, you cannot send a
670
+ * modify request that includes a `SalesAndPurchaseMod` aggregate.
671
+ * Similarly, if you send an `ItemNonInventoryAdd` request that includes a
672
+ * `SalesOrPurchase` aggregate, you cannot later modify that item using a
673
+ * `SalesAndPurchaseMod` aggregate.
674
+ *
675
+ * You can modify the various account references using the appropriate
676
+ * account reference aggregate and the matching Apply Account
677
+ * `RefToExistingTxns` boolean. You need to use the boolean when you change
678
+ * an account ref because the QuickBooks UI displays a prompt asking whether
679
+ * the change should apply to existing transactions or not. Specifying True
680
+ * for the boolean basically dismisses this with a “Yes” answer, allowing
681
+ * your changes to be made and changes any existing transactions that use
682
+ * the item with that `AccountRef`. Specifying “False” means that the mod will
683
+ * not take affect if there are existing transactions. Setting this to
684
+ * “True” should be used with caution and normally only after some user has
685
+ * indicated that they want those changes made to all those existing
686
+ * transactions! If any affected transactions are protected by a closing
687
+ * date and password, the `AccountRef` changes will not be made and so the Mod
688
+ * request will return an error without making the requested Mod.
689
+ *
690
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemNonInventoryMod
691
+ */
692
+ mod: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ItemNonInventoryModRq: { ItemNonInventoryMod: params } }, "ItemNonInventoryModRs", "ItemNonInventoryRet"),
693
+ /**
694
+ * Queries for the specified non-inventory item or set of items.
695
+ *
696
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemNonInventoryQuery
697
+ */
698
+ query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { ItemNonInventoryQueryRq: params }, "ItemNonInventoryQueryRs", "ItemNonInventoryRet"),
699
+ };
461
700
  itemService = {
462
701
  /**
463
702
  * Adds a service item, which is an item that refers to services that a
@@ -633,6 +872,47 @@ class QbdIntegration extends BaseIntegration_1.default {
633
872
  */
634
873
  query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { TimeTrackingQueryRq: params }, "TimeTrackingQueryRs", "TimeTrackingRet"),
635
874
  };
875
+ purchaseOrder = {
876
+ /**
877
+ * Adds a purchase order, which is an order submitted to a vendor. You can
878
+ * use ItemReceiptAdd to receive items against a purchase order as items
879
+ * arrive from the vendor. A purchase order is a non-posting transaction, so
880
+ * it does not affect a company’s balance sheet or income statement.
881
+ *
882
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PurchaseOrderQuery
883
+ */
884
+ add: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { PurchaseOrderAddRq: { PurchaseOrderAdd: params } }, "PurchaseOrderAddRs", "PurchaseOrderRet"),
885
+ /**
886
+ * Modifies a purchase order.
887
+ *
888
+ * Some fields in a `PurchaseOrderMod` request cannot be cleared. If any of
889
+ * the following fields is included in a purchase order modify request, it
890
+ * must contain a value:
891
+ * - `TemplateRef`
892
+ * - `TxnDate`
893
+ * - `DueDate`
894
+ * - `ExpectedDate`
895
+ * - `IsManuallyClosed`
896
+ * - `IsToBePrinted`
897
+ *
898
+ * Within `PurchaseOrderLineMod` or `PurchaseOrderLineGroupMod`:
899
+ * - `ItemRef`
900
+ * - `Quantity`
901
+ * - `Rate`
902
+ * - `Amount`
903
+ * - `IsManuallyClosed`
904
+ * - `OverrideItemAccountRef`
905
+ *
906
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PurchaseOrderMod
907
+ */
908
+ mod: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { PurchaseOrderModRq: { PurchaseOrderMod: params } }, "PurchaseOrderModRs", "PurchaseOrderRet"),
909
+ /**
910
+ * Queries for the specified purchase order or set of orders.
911
+ *
912
+ * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PurchaseOrderQuery
913
+ */
914
+ query: async (integrationConnectionId, params) => this.sendRequestBase(integrationConnectionId, { PurchaseOrderQueryRq: params }, "PurchaseOrderQueryRs", "PurchaseOrderRet"),
915
+ };
636
916
  vendor = {
637
917
  /**
638
918
  * Adds a vendor.
@@ -668,7 +948,7 @@ class QbdIntegration extends BaseIntegration_1.default {
668
948
  * https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop
669
949
  */
670
950
  async sendRequest(integrationConnectionId, requestObject) {
671
- return this.client.sendIntegrationRequest({
951
+ return this.sendIntegrationRequest({
672
952
  integrationConnectionId,
673
953
  requestObject,
674
954
  });