conductor-node 9.1.3 → 9.2.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 +1 -1
- package/dist/src/Client.js +1 -1
- package/dist/src/graphql/__generated__/operationTypes.d.ts +5 -5
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +0 -14
- package/dist/src/integrations/qbd/QbdIntegration.d.ts +493 -41
- package/dist/src/integrations/qbd/QbdIntegration.js +493 -41
- package/dist/src/integrations/qbd/qbdTypes.d.ts +1984 -375
- package/package.json +1 -1
|
@@ -601,6 +601,132 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
601
601
|
*/
|
|
602
602
|
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { InvoiceQueryRq: params }, "InvoiceQueryRs", "InvoiceRet"),
|
|
603
603
|
};
|
|
604
|
+
itemDiscount = {
|
|
605
|
+
/**
|
|
606
|
+
* Adds a discount item. A discount item is a percentage or a fixed amount
|
|
607
|
+
* that will be subtracted from a total or subtotal. Items should be
|
|
608
|
+
* subtotaled (using an `ItemSubtotal` item) before a discount item is
|
|
609
|
+
* applied to them, because a discount only acts on the line that is
|
|
610
|
+
* directly above it. A discount item is different from a discount for early
|
|
611
|
+
* payment, which is represented as part of a `StandardTerms` object or
|
|
612
|
+
* DateDrivenTerms object. Note: When you specify an `ItemDiscount` item in
|
|
613
|
+
* any transaction (by using an `ItemRef`), do not specify a `Quantity` in
|
|
614
|
+
* the transaction. If you do, you will receive an error.
|
|
615
|
+
*
|
|
616
|
+
* Be Sharp WhenUsing Flat Discounts: Flat rate discounts are treated VERY
|
|
617
|
+
* differently vs. percentage discounts. A percentage discount only applies
|
|
618
|
+
* to the line right above it, so all of the tax implications for discounts
|
|
619
|
+
* apply ONLY to that line (Note that the story gets more complicated here
|
|
620
|
+
* for group items, subtotal lines, etc). A flat rate discount applies to
|
|
621
|
+
* EVERY line that is recorded above the discount. Thus, the $10.00 off you
|
|
622
|
+
* see is applied equally to the $100.00 Nontaxable target and the $100.00
|
|
623
|
+
* Taxable target. Thus, the sales tax for the 10.00 discount totals up to
|
|
624
|
+
* -$5.00. Therefore, for the desired behavior, the user must fill out the
|
|
625
|
+
* invoice like this: Item $100.00 Non Item $100.00 Tax Discount $20.00 Tax
|
|
626
|
+
* In this scenario, the $20.00 discount is properly distributed to be half
|
|
627
|
+
* taxed and half not taxed, so the taxable amount for the discount line is
|
|
628
|
+
* only -$10.00. The moral of the story: Non-Taxable Discounts are VERY
|
|
629
|
+
* dangerous. You should almost never use them unless discounts in your
|
|
630
|
+
* state are never applied to sales tax.
|
|
631
|
+
*
|
|
632
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemDiscountAdd
|
|
633
|
+
*/
|
|
634
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemDiscountAddRq: { ItemDiscountAdd: params } }, "ItemDiscountAddRs", "ItemDiscountRet"),
|
|
635
|
+
/**
|
|
636
|
+
* Modifies a discount item. Starting with qbXML spec 7.0, you can modify
|
|
637
|
+
* the account ref, using the AccountRef aggregate and the
|
|
638
|
+
* `ApplyAccountRefToExistingTxns` boolean. You need to use the
|
|
639
|
+
* `ApplyAccountRefToExistingTxns` boolean because the QuickBooks UI
|
|
640
|
+
* displays a prompt asking whether the change should apply to existing
|
|
641
|
+
* transactions or not. Specifying True for the boolean basically dismisses
|
|
642
|
+
* this with a “Yes” answer, allowing your changes to be made and changes
|
|
643
|
+
* any existing transactions that use the item with that `AccountRef`.
|
|
644
|
+
* Specifying “False” means that the mod will not take affect if there are
|
|
645
|
+
* existing transactions. Setting this to “True” should be used with caution
|
|
646
|
+
* and normally only after some user has indicated that they want those
|
|
647
|
+
* changes made to all those existing transactions! If any affected
|
|
648
|
+
* transactions are protected by a closing date and password, the
|
|
649
|
+
* `AccountRef` changes will not be made and so the Mod request will return
|
|
650
|
+
* an error without making the requested Mod.
|
|
651
|
+
*
|
|
652
|
+
* Be Sharp When Using Flat Discounts: Flat rate discounts are treated VERY
|
|
653
|
+
* differently vs. percentage discounts. A percentage discount only applies
|
|
654
|
+
* to the line right above it, so all of the tax implications for discounts
|
|
655
|
+
* apply ONLY to that line (Note that the story gets more complicated here
|
|
656
|
+
* for group items, subtotal lines, etc). A flat rate discount applies to
|
|
657
|
+
* EVERY line that is recorded above the discount. Thus, the $10.00 off you
|
|
658
|
+
* see is applied equally to the $100.00 Nontaxable target and the $100.00
|
|
659
|
+
* Taxable target. Thus, the sales tax for the 10.00 discount totals up to
|
|
660
|
+
* -$5.00. Therefore, for the desired behavior, the user must fill out the
|
|
661
|
+
* invoice like this: Item $100.00 Non Item $100.00 Tax Discount $20.00 Tax
|
|
662
|
+
* In this scenario, the $20.00 discount is properly distributed to be half
|
|
663
|
+
* taxed and half not taxed, so the taxable amount for the discount line is
|
|
664
|
+
* only -$10.00. The moral of the story: Non-Taxable Discounts are VERY
|
|
665
|
+
* dangerous. You should almost never use them unless discounts in your
|
|
666
|
+
* state are never applied to sales tax.
|
|
667
|
+
*
|
|
668
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemDiscountMod
|
|
669
|
+
*/
|
|
670
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemDiscountModRq: { ItemDiscountMod: params } }, "ItemDiscountModRs", "ItemDiscountRet"),
|
|
671
|
+
/**
|
|
672
|
+
* Queries for the specified discount item or set of items.
|
|
673
|
+
*
|
|
674
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemDiscountQuery
|
|
675
|
+
*/
|
|
676
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemDiscountQueryRq: params }, "ItemDiscountQueryRs", "ItemDiscountRet"),
|
|
677
|
+
};
|
|
678
|
+
itemFixedAsset = {
|
|
679
|
+
/**
|
|
680
|
+
* Adds a fixed-asset item. Fixed-asset items represent assets that will
|
|
681
|
+
* benefit a business for longer than one year. The purchase price of these
|
|
682
|
+
* fixed assets is typically expensed over a period of years, rather than in
|
|
683
|
+
* the year the purchase was made.
|
|
684
|
+
*
|
|
685
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemFixedAssetAdd
|
|
686
|
+
*/
|
|
687
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemFixedAssetAddRq: { ItemFixedAssetAdd: params } }, "ItemFixedAssetAddRs", "ItemFixedAssetRet"),
|
|
688
|
+
/**
|
|
689
|
+
* Modifies a fixed asset item. Fixed-asset items represent assets that will
|
|
690
|
+
* benefit a business for longer than one year. The purchase price of these
|
|
691
|
+
* fixed assets is typically expensed over a period of years, rather than in
|
|
692
|
+
* the year the purchase was made.
|
|
693
|
+
*
|
|
694
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemFixedAssetMod
|
|
695
|
+
*/
|
|
696
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemFixedAssetModRq: { ItemFixedAssetMod: params } }, "ItemFixedAssetModRs", "ItemFixedAssetRet"),
|
|
697
|
+
/**
|
|
698
|
+
* Queries for the specified fixed-asset item or set of fixed asset items.
|
|
699
|
+
*
|
|
700
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemFixedAssetQuery
|
|
701
|
+
*/
|
|
702
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemFixedAssetQueryRq: params }, "ItemFixedAssetQueryRs", "ItemFixedAssetRet"),
|
|
703
|
+
};
|
|
704
|
+
itemGroup = {
|
|
705
|
+
/**
|
|
706
|
+
* Adds an item group. `ItemGroup` objects represent items that are grouped
|
|
707
|
+
* together for fast entry, and an `ItemGroupRef` aggregate refers to one of
|
|
708
|
+
* these item groups. In a request, if an `ItemGroupRef` aggregate includes
|
|
709
|
+
* both `FullName` and `ListID`, `FullName` will be ignored. You can use an
|
|
710
|
+
* `ItemGroupQuery` request to get information about all the item groups
|
|
711
|
+
* that are set up in the QuickBooks file.
|
|
712
|
+
*
|
|
713
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemGroupAdd
|
|
714
|
+
*/
|
|
715
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemGroupAddRq: { ItemGroupAdd: params } }, "ItemGroupAddRs", "ItemGroupRet"),
|
|
716
|
+
/**
|
|
717
|
+
* Modifies an item group.
|
|
718
|
+
*
|
|
719
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemGroupMod
|
|
720
|
+
*/
|
|
721
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemGroupModRq: { ItemGroupMod: params } }, "ItemGroupModRs", "ItemGroupRet"),
|
|
722
|
+
/**
|
|
723
|
+
* An `ItemGroupQuery` request will return information about all the item
|
|
724
|
+
* groups that are set up in the QuickBooks file.
|
|
725
|
+
*
|
|
726
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/itemgroupquery
|
|
727
|
+
*/
|
|
728
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemGroupQueryRq: params }, "ItemGroupQueryRs", "ItemGroupRet"),
|
|
729
|
+
};
|
|
604
730
|
itemInventory = {
|
|
605
731
|
/**
|
|
606
732
|
* Adds an inventory item. An inventory item is any merchandise or part that
|
|
@@ -648,6 +774,46 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
648
774
|
*/
|
|
649
775
|
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemInventoryQueryRq: params }, "ItemInventoryQueryRs", "ItemInventoryRet"),
|
|
650
776
|
};
|
|
777
|
+
itemInventoryAssembly = {
|
|
778
|
+
/**
|
|
779
|
+
* Adds an inventory assembly item, which is an item that is assembled or
|
|
780
|
+
* manufactured from other inventory items. The items and/or assemblies that
|
|
781
|
+
* make up the assembly are called components.
|
|
782
|
+
*
|
|
783
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAssemblyAdd
|
|
784
|
+
*/
|
|
785
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemInventoryAssemblyAddRq: { ItemInventoryAssemblyAdd: params } }, "ItemInventoryAssemblyAddRs", "ItemInventoryAssemblyRet"),
|
|
786
|
+
/**
|
|
787
|
+
* Modifies an inventory assembly item. If you are adding components to the
|
|
788
|
+
* assembly, remember that the component items and/or assemblies that make
|
|
789
|
+
* up the assembly are limited in number.
|
|
790
|
+
*
|
|
791
|
+
* You can modify the income account ref, using the `IncomeAccountRef`
|
|
792
|
+
* aggregate and the `ApplyIncomeAccountRefToExistingTxns` boolean. You need
|
|
793
|
+
* to use the `ApplyIncomeAccountRefToExistingTxns` boolean because the
|
|
794
|
+
* QuickBooks UI displays a prompt asking whether the change should apply to
|
|
795
|
+
* existing transactions or not. Specifying `True` for the boolean basically
|
|
796
|
+
* dismisses this with a “Yes” answer, allowing your changes to be made and
|
|
797
|
+
* changes any existing transactions that use the item with that AccountRef.
|
|
798
|
+
* Specifying “False” means that the mod will not take affect if there are
|
|
799
|
+
* existing transactions. Setting this to “True” should be used with caution
|
|
800
|
+
* and normally only after some user has indicated that they want those
|
|
801
|
+
* changes made to all those existing transactions! If any affected
|
|
802
|
+
* transactions are protected by a closing date and password, the
|
|
803
|
+
* `IncomeAccountRef` changes will not be made and so the Mod request will
|
|
804
|
+
* return an error without making the requested Mod.
|
|
805
|
+
*
|
|
806
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAssemblyMod
|
|
807
|
+
*/
|
|
808
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemInventoryAssemblyModRq: { ItemInventoryAssemblyMod: params } }, "ItemInventoryAssemblyModRs", "ItemInventoryAssemblyRet"),
|
|
809
|
+
/**
|
|
810
|
+
* Queries for the specified inventory assembly item or set of assembly
|
|
811
|
+
* items.
|
|
812
|
+
*
|
|
813
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemInventoryAssemblyQuery
|
|
814
|
+
*/
|
|
815
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemInventoryAssemblyQueryRq: params }, "ItemInventoryAssemblyQueryRs", "ItemInventoryAssemblyRet"),
|
|
816
|
+
};
|
|
651
817
|
itemNonInventory = {
|
|
652
818
|
/**
|
|
653
819
|
* Adds a non-inventory item, which is any material or part that a business
|
|
@@ -698,6 +864,216 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
698
864
|
*/
|
|
699
865
|
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemNonInventoryQueryRq: params }, "ItemNonInventoryQueryRs", "ItemNonInventoryRet"),
|
|
700
866
|
};
|
|
867
|
+
itemOtherCharge = {
|
|
868
|
+
/**
|
|
869
|
+
* Adds an other charge item, which are miscellaneous charges that do not
|
|
870
|
+
* fall into the categories of service, labor, materials, or parts. Examples
|
|
871
|
+
* include delivery charges, setup fees, and service charges.
|
|
872
|
+
*
|
|
873
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemOtherChargeAdd
|
|
874
|
+
*/
|
|
875
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemOtherChargeAddRq: { ItemOtherChargeAdd: params } }, "ItemOtherChargeAddRs", "ItemOtherChargeRet"),
|
|
876
|
+
/**
|
|
877
|
+
* Modifies an other charge item.
|
|
878
|
+
*
|
|
879
|
+
* About `SalesOrPurchaseMod` versus `SalesAndPurchaseMod` in an
|
|
880
|
+
* `ItemOtherChargeMod` request: You cannot change the reimbursable status
|
|
881
|
+
* of an other-charge item through the SDK. For example, if an other-charge
|
|
882
|
+
* item is marked as non-reimbursable in QuickBooks, you cannot send a
|
|
883
|
+
* modify request that includes a `SalesAndPurchaseMod` aggregate.
|
|
884
|
+
* Similarly, if you send an `ItemOtherChargeAdd` request that includes a
|
|
885
|
+
* SalesOrPurchase aggregate, you cannot later modify that item using a
|
|
886
|
+
* `SalesAndPurchaseMod` aggregate.
|
|
887
|
+
*
|
|
888
|
+
* You can modify the various account references using the appropriate
|
|
889
|
+
* account reference aggregate and the matching Apply Account
|
|
890
|
+
* `RefToExistingTxns` boolean. You need to use the boolean when you change
|
|
891
|
+
* an account ref because the QuickBooks UI displays a prompt asking whether
|
|
892
|
+
* the change should apply to existing transactions or not. Specifying
|
|
893
|
+
* `True` for the boolean basically dismisses this with a “Yes” answer,
|
|
894
|
+
* allowing your changes to be made and changes any existing transactions
|
|
895
|
+
* that use the item with that AccountRef. Specifying “False” means that the
|
|
896
|
+
* mod will not take affect if there are existing transactions. Setting this
|
|
897
|
+
* to “True” should be used with caution and normally only after some user
|
|
898
|
+
* has indicated that they want those changes made to all those existing
|
|
899
|
+
* transactions! If any affected transactions are protected by a closing
|
|
900
|
+
* date and password, the AccountRef changes will not be made and so the Mod
|
|
901
|
+
* request will return an error without making the requested Mod.
|
|
902
|
+
*
|
|
903
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemOtherChargeMod
|
|
904
|
+
*/
|
|
905
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemOtherChargeModRq: { ItemOtherChargeMod: params } }, "ItemOtherChargeModRs", "ItemOtherChargeRet"),
|
|
906
|
+
/**
|
|
907
|
+
* Queries for the specified other charge item or set of items.
|
|
908
|
+
*
|
|
909
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemOtherChargeQuery
|
|
910
|
+
*/
|
|
911
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemOtherChargeQueryRq: params }, "ItemOtherChargeQueryRs", "ItemOtherChargeRet"),
|
|
912
|
+
};
|
|
913
|
+
itemPayment = {
|
|
914
|
+
/**
|
|
915
|
+
* Adds an item payment or set of payments. You can use this request to
|
|
916
|
+
* create a payment for a customer or vendor.
|
|
917
|
+
*
|
|
918
|
+
* For an `ItemPaymentAdd` request, you can “set” the “Group with
|
|
919
|
+
* undeposited funds” radio button in QuickBooks either by not specifying
|
|
920
|
+
* `DepositToAccountRef` at all, or by specifying the special
|
|
921
|
+
* UndepositedFunds account for the `DepositToAccountRef`.
|
|
922
|
+
*
|
|
923
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemPaymentAdd
|
|
924
|
+
*/
|
|
925
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemPaymentAddRq: { ItemPaymentAdd: params } }, "ItemPaymentAddRs", "ItemPaymentRet"),
|
|
926
|
+
/**
|
|
927
|
+
* Modifies an item payment.
|
|
928
|
+
*
|
|
929
|
+
* For an `ItemPaymentMod` request, you can “set” the “Group with
|
|
930
|
+
* undeposited funds” radio button in QuickBooks by either attempting to
|
|
931
|
+
* clear the DepositToAccountRef, or by specifying the account whose
|
|
932
|
+
* `SpecialAccountType` is `UndepositedFunds` for the `DepositToAccountRef`.
|
|
933
|
+
*
|
|
934
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemPaymentMod
|
|
935
|
+
*/
|
|
936
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemPaymentModRq: { ItemPaymentMod: params } }, "ItemPaymentModRs", "ItemPaymentRet"),
|
|
937
|
+
/**
|
|
938
|
+
* Queries for the specified item payment or set of payments.
|
|
939
|
+
*
|
|
940
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemPaymentQuery
|
|
941
|
+
*/
|
|
942
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemPaymentQueryRq: params }, "ItemPaymentQueryRs", "ItemPaymentRet"),
|
|
943
|
+
};
|
|
944
|
+
itemReceipt = {
|
|
945
|
+
/**
|
|
946
|
+
* Adds an item receipt transaction, which is a transaction entered in
|
|
947
|
+
* QuickBooks when a shipment is received from a vendor. If you use
|
|
948
|
+
* `PurchaseOrders` to order from the vendor, you can link the item receipt
|
|
949
|
+
* to purchase order to receive the items against the purchase orders to
|
|
950
|
+
* automatically update (and eventually close) the purchase orders. This
|
|
951
|
+
* linking also saves you having to re-create line items as they are pulled
|
|
952
|
+
* in automatically from the purchase order. You can do this linking only in
|
|
953
|
+
* the item receipt add, not in the mod.
|
|
954
|
+
*
|
|
955
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemReceiptAdd
|
|
956
|
+
*/
|
|
957
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemReceiptAddRq: { ItemReceiptAdd: params } }, "ItemReceiptAddRs", "ItemReceiptRet"),
|
|
958
|
+
/**
|
|
959
|
+
* Modifies an existing item receipt.
|
|
960
|
+
*
|
|
961
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemReceiptMod
|
|
962
|
+
*/
|
|
963
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemReceiptModRq: { ItemReceiptMod: params } }, "ItemReceiptModRs", "ItemReceiptRet"),
|
|
964
|
+
/**
|
|
965
|
+
* An item receipt transaction is entered in QuickBooks when a shipment is
|
|
966
|
+
* received from a vendor.
|
|
967
|
+
*
|
|
968
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemReceiptQuery
|
|
969
|
+
*/
|
|
970
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemReceiptQueryRq: params }, "ItemReceiptQueryRs", "ItemReceiptRet"),
|
|
971
|
+
};
|
|
972
|
+
itemSalesTax = {
|
|
973
|
+
/**
|
|
974
|
+
* Adds a sales-tax item, which is an item used to calculate a single sales
|
|
975
|
+
* tax that is collected at a specified rate and paid to a single agency.
|
|
976
|
+
* (Compare with the `ItemSalesTaxGroupAdd` message.)
|
|
977
|
+
*
|
|
978
|
+
* An `ItemSalesTaxRef` aggregate refers to an item on this list. In a
|
|
979
|
+
* request, if an `ItemSalesTaxRef` aggregate includes both `FullName` and
|
|
980
|
+
* `ListID`, `FullName` will be ignored. Taxes can be reflected in
|
|
981
|
+
* transaction line items.
|
|
982
|
+
*
|
|
983
|
+
* The following information refers to invoices specifically, but it also
|
|
984
|
+
* applies to sales receipts. Generally it's best to assign a tax item or
|
|
985
|
+
* tax group item to an invoice and allow QuickBooks to apply the same tax
|
|
986
|
+
* to all taxable items on the invoice. However in some situations multiple
|
|
987
|
+
* tax combinations are required, so this method doesn’t work. In this case
|
|
988
|
+
* one must use techniques to apply the taxes in the invoice itself as line
|
|
989
|
+
* items. Using lines to apply taxes isn’t always straight forward. When
|
|
990
|
+
* applying taxes as line items, only single tax items can be used, tax
|
|
991
|
+
* groups can only be used for the entire invoice. If you have multiple
|
|
992
|
+
* taxes which apply to all taxable items, and one or more other taxes that
|
|
993
|
+
* only apply to some of the items on an invoice its better to use a tax
|
|
994
|
+
* group which applies to the entire invoice for the taxes which applies to
|
|
995
|
+
* all taxable items and then apply the other taxes in the invoice itself.
|
|
996
|
+
* One applies a tax or tax group to an entire invoice by using the
|
|
997
|
+
* `ItemSalesTaxRef` aggregate. One can use subtotals to apply a single tax
|
|
998
|
+
* line to multiple items in an invoice, but the tax is only applied
|
|
999
|
+
* automatically for the first tax line after the subtotal line. Any other
|
|
1000
|
+
* tax lines which need to be applied to the subtotal line must supply their
|
|
1001
|
+
* own amount. If you don’t supply an amount the amount comes out as zero
|
|
1002
|
+
* and the tax line is useless. When one does supply an amount, the amount
|
|
1003
|
+
* of tax on the subtotal also shows up in the rate column for that tax
|
|
1004
|
+
* line. There isn’t any way for the rate to show up as anything other than
|
|
1005
|
+
* the amount of the tax. If you have a complicated tax situation where no
|
|
1006
|
+
* single tax applies to all taxable items on the invoice, you must choose a
|
|
1007
|
+
* zero percent tax to apply for the entire invoice. It is recommended to
|
|
1008
|
+
* name such a tax item “Tax Calculated On Invoice” so that it’s clear that
|
|
1009
|
+
* the tax is not being applied by QuickBooks on the entire invoice.
|
|
1010
|
+
*
|
|
1011
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxAdd
|
|
1012
|
+
*/
|
|
1013
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSalesTaxAddRq: { ItemSalesTaxAdd: params } }, "ItemSalesTaxAddRs", "ItemSalesTaxRet"),
|
|
1014
|
+
/**
|
|
1015
|
+
* Modifies an existing sales-tax item.
|
|
1016
|
+
*
|
|
1017
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxMod
|
|
1018
|
+
*/
|
|
1019
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSalesTaxModRq: { ItemSalesTaxMod: params } }, "ItemSalesTaxModRs", "ItemSalesTaxRet"),
|
|
1020
|
+
/**
|
|
1021
|
+
* Queries for the specified sales-tax item or set of items.
|
|
1022
|
+
*/
|
|
1023
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSalesTaxQueryRq: params }, "ItemSalesTaxQueryRs", "ItemSalesTaxRet"),
|
|
1024
|
+
};
|
|
1025
|
+
itemSalesTaxGroup = {
|
|
1026
|
+
/**
|
|
1027
|
+
* Adds a sales-tax group item, which is an item used for calculating two or
|
|
1028
|
+
* more sales taxes grouped together and applied to the same sale. For
|
|
1029
|
+
* example, local and state taxes could be tracked separately but applied to
|
|
1030
|
+
* a sale as one tax. (Compare with the `ItemSalesTaxAdd` message.)
|
|
1031
|
+
*
|
|
1032
|
+
* Taxes can be reflected in transaction line items The following
|
|
1033
|
+
* information refers to invoices specifically, but it also applies to sales
|
|
1034
|
+
* receipts. Generally its best to assign a tax item or tax group item to an
|
|
1035
|
+
* invoice and allow QuickBooks to apply the same tax to all taxable items
|
|
1036
|
+
* on the invoice. However in some situations multiple tax combinations are
|
|
1037
|
+
* required, so this method doesn’t work. In this case one must use
|
|
1038
|
+
* techniques to apply the taxes in the invoice itself as line items. Using
|
|
1039
|
+
* lines to apply taxes isn’t always straight forward. When applying taxes
|
|
1040
|
+
* as line items, only single tax items can be used, tax groups can only be
|
|
1041
|
+
* used for the entire invoice. If you have multiple taxes which apply to
|
|
1042
|
+
* all taxable items, and one or more other taxes that only apply to some of
|
|
1043
|
+
* the items on an invoice its better to use a tax group which applies to
|
|
1044
|
+
* the entire invoice for the taxes which applies to all taxable items and
|
|
1045
|
+
* then apply the other taxes in the invoice itself. One applies a tax or
|
|
1046
|
+
* tax group to an entire invoice by using the `ItemSalesTaxRef` aggregate.
|
|
1047
|
+
* One can use subtotals to apply a single tax line to multiple items in an
|
|
1048
|
+
* invoice, but the tax is only applied automatically for the first tax line
|
|
1049
|
+
* after the subtotal line. Any other tax lines which need to be applied to
|
|
1050
|
+
* the subtotal line must supply their own amount. If you don’t supply an
|
|
1051
|
+
* amount the amount comes out as zero and the tax line is useless. When one
|
|
1052
|
+
* does supply an amount, the amount of tax on the subtotal also shows up in
|
|
1053
|
+
* the rate column for that tax line. There isn’t any way for the rate to
|
|
1054
|
+
* show up as anything other than the amount of the tax. If you have a
|
|
1055
|
+
* complicated tax situation where no single tax applies to all taxable
|
|
1056
|
+
* items on the invoice, you must choose a zero percent tax to apply for the
|
|
1057
|
+
* entire invoice. It is recommended to name such a tax item “Tax Calculated
|
|
1058
|
+
* On Invoice” so that it’s clear that the tax is not being applied by
|
|
1059
|
+
* QuickBooks on the entire invoice.
|
|
1060
|
+
*
|
|
1061
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxGroupAdd
|
|
1062
|
+
*/
|
|
1063
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSalesTaxGroupAddRq: { ItemSalesTaxGroupAdd: params } }, "ItemSalesTaxGroupAddRs", "ItemSalesTaxGroupRet"),
|
|
1064
|
+
/**
|
|
1065
|
+
* Modifies an existing sales-tax group item.
|
|
1066
|
+
*
|
|
1067
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxGroupMod
|
|
1068
|
+
*/
|
|
1069
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSalesTaxGroupModRq: { ItemSalesTaxGroupMod: params } }, "ItemSalesTaxGroupModRs", "ItemSalesTaxGroupRet"),
|
|
1070
|
+
/**
|
|
1071
|
+
* Queries for the specified sales-tax group item or set of group items.
|
|
1072
|
+
*
|
|
1073
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSalesTaxGroupQuery
|
|
1074
|
+
*/
|
|
1075
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSalesTaxGroupQueryRq: params }, "ItemSalesTaxGroupQueryRs", "ItemSalesTaxGroupRet"),
|
|
1076
|
+
};
|
|
701
1077
|
itemService = {
|
|
702
1078
|
/**
|
|
703
1079
|
* Adds a service item, which is an item that refers to services that a
|
|
@@ -753,6 +1129,48 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
753
1129
|
*/
|
|
754
1130
|
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemServiceQueryRq: params }, "ItemServiceQueryRs", "ItemServiceRet"),
|
|
755
1131
|
};
|
|
1132
|
+
itemSubtotal = {
|
|
1133
|
+
/**
|
|
1134
|
+
* Adds a subtotal item. On a sales form, a subtotal item will add up the
|
|
1135
|
+
* amounts of the item lines above it, up to the previous subtotal. Items
|
|
1136
|
+
* must be subtotaled before a discount is applied (using `ItemDiscount`),
|
|
1137
|
+
* because a discount applies only to the line that is directly above it.
|
|
1138
|
+
*
|
|
1139
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSubtotalAdd
|
|
1140
|
+
*/
|
|
1141
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSubtotalAddRq: { ItemSubtotalAdd: params } }, "ItemSubtotalAddRs", "ItemSubtotalRet"),
|
|
1142
|
+
/**
|
|
1143
|
+
* Modifies an existing subtotal item.
|
|
1144
|
+
*
|
|
1145
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSubtotalMod
|
|
1146
|
+
*/
|
|
1147
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSubtotalModRq: { ItemSubtotalMod: params } }, "ItemSubtotalModRs", "ItemSubtotalRet"),
|
|
1148
|
+
/**
|
|
1149
|
+
* Queries for the specified subtotal item or set of items.
|
|
1150
|
+
*
|
|
1151
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/ItemSubtotalQuery
|
|
1152
|
+
*/
|
|
1153
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { ItemSubtotalQueryRq: params }, "ItemSubtotalQueryRs", "ItemSubtotalRet"),
|
|
1154
|
+
};
|
|
1155
|
+
jobType = {
|
|
1156
|
+
/**
|
|
1157
|
+
* Adds a job type. A job type can be used to separate jobs into any
|
|
1158
|
+
* categories that are meaningful to the business.
|
|
1159
|
+
*
|
|
1160
|
+
* A `JobTypeRef` aggregate refers to a job type on the `JobType` list. In a
|
|
1161
|
+
* request, if a `JobTypeRef` aggregate includes both `FullName` and
|
|
1162
|
+
* `ListID`, `FullName` will be ignored.
|
|
1163
|
+
*
|
|
1164
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobTypeAdd
|
|
1165
|
+
*/
|
|
1166
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { JobTypeAddRq: { JobTypeAdd: params } }, "JobTypeAddRs", "JobTypeRet"),
|
|
1167
|
+
/**
|
|
1168
|
+
* Queries for the specified job type or set of job types.
|
|
1169
|
+
*
|
|
1170
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/JobTypeQuery
|
|
1171
|
+
*/
|
|
1172
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { JobTypeQueryRq: params }, "JobTypeQueryRs", "JobTypeRet"),
|
|
1173
|
+
};
|
|
756
1174
|
journalEntry = {
|
|
757
1175
|
/**
|
|
758
1176
|
* The debit and credit lines can be intermingled. A credit line can legally
|
|
@@ -822,56 +1240,39 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
822
1240
|
*/
|
|
823
1241
|
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { JournalEntryQueryRq: params }, "JournalEntryQueryRs", "JournalEntryRet"),
|
|
824
1242
|
};
|
|
825
|
-
|
|
1243
|
+
priceLevel = {
|
|
826
1244
|
/**
|
|
827
|
-
*
|
|
828
|
-
*
|
|
829
|
-
*
|
|
830
|
-
*
|
|
831
|
-
*
|
|
832
|
-
*
|
|
833
|
-
*
|
|
834
|
-
*
|
|
1245
|
+
* Adds a price level. You can use price levels to specify custom pricing
|
|
1246
|
+
* for specific customers.
|
|
1247
|
+
*
|
|
1248
|
+
* Once you create a price level for a customer, QuickBooks will
|
|
1249
|
+
* automatically use the custom price in new invoices, sales receipts, sales
|
|
1250
|
+
* orders or credit memos for that customer. You can override this automatic
|
|
1251
|
+
* feature, however, when you create the invoices, sales receipts, etc.) The
|
|
1252
|
+
* user can now specify a price level on line items in the following
|
|
1253
|
+
* supported sales transactions: invoices, sales receipts, credit memos, and
|
|
1254
|
+
* sales orders. Notice that the response data for the affected sales
|
|
1255
|
+
* transaction does not list the price level that was used. The response
|
|
1256
|
+
* simply lists the Rate for the item, which was set using the price level.
|
|
1257
|
+
* The `CurrencyRef` should only be used with “per item” price levels.
|
|
1258
|
+
*
|
|
1259
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PriceLevelAdd
|
|
835
1260
|
*/
|
|
836
|
-
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, {
|
|
1261
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { PriceLevelAddRq: { PriceLevelAdd: params } }, "PriceLevelAddRs", "PriceLevelRet"),
|
|
837
1262
|
/**
|
|
838
|
-
* Modifies a
|
|
1263
|
+
* Modifies a price level.
|
|
839
1264
|
*
|
|
840
|
-
*
|
|
841
|
-
* Applications using qbXML spec levels less than 6.0 aren’t able to Modify
|
|
842
|
-
* a time tracking transaction. However, those applications can achieve the
|
|
843
|
-
* results of a modify operation by deleting the time tracking transaction
|
|
844
|
-
* (using `TxnDelRq`) and then re-adding it with the desired values. You can
|
|
845
|
-
* do this only if no other downstream transactions have used that
|
|
846
|
-
* particular time tracking transaction. (Otherwise, the `TxnDel` request
|
|
847
|
-
* will fail.) This differs slightly from the UI, which allows these
|
|
848
|
-
* transactions to be edited directly. However, even in the UI, modifying a
|
|
849
|
-
* time tracking transaction does not result in changes to any downstream
|
|
850
|
-
* transactions that use it. There is no link between an invoice and the
|
|
851
|
-
* time entries. However when you do the invoicing from QuickBooks,
|
|
852
|
-
* QuickBooks does mark the time entries as “billed.” If you don’t record
|
|
853
|
-
* the time entries as billed properly, then you get into a user workflow
|
|
854
|
-
* issue where every time the user creates an invoice for a customer, QB
|
|
855
|
-
* pops up a dialog asking if they want to bill the un-billed time (which
|
|
856
|
-
* you already billed from your app). That’s why beginning with QB2007 and
|
|
857
|
-
* qbXML spec 6.0 we added support for the “BillableStatus” field *and* add
|
|
858
|
-
* `TimeTrackingMod` so that you can mark the time as billed when you create
|
|
859
|
-
* an invoice for it.
|
|
1265
|
+
* The `CurrencyRef` should only be used with “per item” price levels.
|
|
860
1266
|
*
|
|
861
|
-
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/
|
|
1267
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PriceLevelMod
|
|
862
1268
|
*/
|
|
863
|
-
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, {
|
|
1269
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { PriceLevelModRq: { PriceLevelMod: params } }, "PriceLevelModRs", "PriceLevelRet"),
|
|
864
1270
|
/**
|
|
865
|
-
*
|
|
866
|
-
* time tracking information that was entered into QuickBooks manually or
|
|
867
|
-
* gathered using the QuickBooks “Timer” or “Stopwatch.” Note that the
|
|
868
|
-
* QuickBooks Timer application can run on its own without QuickBooks, but
|
|
869
|
-
* the QuickBooks SDK cannot access the Timer data directly. The Timer data
|
|
870
|
-
* must be imported into QuickBooks before it is accessible via the SDK.)
|
|
1271
|
+
* Queries for the specified price level or set of price levels.
|
|
871
1272
|
*
|
|
872
|
-
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/
|
|
1273
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/PriceLevelQuery
|
|
873
1274
|
*/
|
|
874
|
-
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, {
|
|
1275
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { PriceLevelQueryRq: params }, "PriceLevelQueryRs", "PriceLevelRet"),
|
|
875
1276
|
};
|
|
876
1277
|
purchaseOrder = {
|
|
877
1278
|
/**
|
|
@@ -914,6 +1315,57 @@ class QbdIntegration extends BaseIntegration_1.default {
|
|
|
914
1315
|
*/
|
|
915
1316
|
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { PurchaseOrderQueryRq: params }, "PurchaseOrderQueryRs", "PurchaseOrderRet"),
|
|
916
1317
|
};
|
|
1318
|
+
timeTracking = {
|
|
1319
|
+
/**
|
|
1320
|
+
* The time-tracking transactions that are returned in this query include
|
|
1321
|
+
* time tracking information that was entered into QuickBooks manually or
|
|
1322
|
+
* gathered using the QuickBooks “Timer” or “Stopwatch.” Note that the
|
|
1323
|
+
* QuickBooks Timer application can run on its own without QuickBooks, but
|
|
1324
|
+
* the QuickBooks SDK cannot access the Timer data directly. The Timer data
|
|
1325
|
+
* must be imported into QuickBooks before it is accessible via the SDK.)
|
|
1326
|
+
*
|
|
1327
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeTrackingQuery
|
|
1328
|
+
*/
|
|
1329
|
+
add: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { TimeTrackingAddRq: { TimeTrackingAdd: params } }, "TimeTrackingAddRs", "TimeTrackingRet"),
|
|
1330
|
+
/**
|
|
1331
|
+
* Modifies a time tracking transaction.
|
|
1332
|
+
*
|
|
1333
|
+
* This allows you to modify time entry and mark time entered as billed.
|
|
1334
|
+
* Applications using qbXML spec levels less than 6.0 aren’t able to Modify
|
|
1335
|
+
* a time tracking transaction. However, those applications can achieve the
|
|
1336
|
+
* results of a modify operation by deleting the time tracking transaction
|
|
1337
|
+
* (using `TxnDelRq`) and then re-adding it with the desired values. You can
|
|
1338
|
+
* do this only if no other downstream transactions have used that
|
|
1339
|
+
* particular time tracking transaction. (Otherwise, the `TxnDel` request
|
|
1340
|
+
* will fail.) This differs slightly from the UI, which allows these
|
|
1341
|
+
* transactions to be edited directly. However, even in the UI, modifying a
|
|
1342
|
+
* time tracking transaction does not result in changes to any downstream
|
|
1343
|
+
* transactions that use it. There is no link between an invoice and the
|
|
1344
|
+
* time entries. However when you do the invoicing from QuickBooks,
|
|
1345
|
+
* QuickBooks does mark the time entries as “billed.” If you don’t record
|
|
1346
|
+
* the time entries as billed properly, then you get into a user workflow
|
|
1347
|
+
* issue where every time the user creates an invoice for a customer, QB
|
|
1348
|
+
* pops up a dialog asking if they want to bill the un-billed time (which
|
|
1349
|
+
* you already billed from your app). That’s why beginning with QB2007 and
|
|
1350
|
+
* qbXML spec 6.0 we added support for the “BillableStatus” field *and* add
|
|
1351
|
+
* `TimeTrackingMod` so that you can mark the time as billed when you create
|
|
1352
|
+
* an invoice for it.
|
|
1353
|
+
*
|
|
1354
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeTrackingMod
|
|
1355
|
+
*/
|
|
1356
|
+
mod: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { TimeTrackingModRq: { TimeTrackingMod: params } }, "TimeTrackingModRs", "TimeTrackingRet"),
|
|
1357
|
+
/**
|
|
1358
|
+
* The time-tracking transactions that are returned in this query include
|
|
1359
|
+
* time tracking information that was entered into QuickBooks manually or
|
|
1360
|
+
* gathered using the QuickBooks “Timer” or “Stopwatch.” Note that the
|
|
1361
|
+
* QuickBooks Timer application can run on its own without QuickBooks, but
|
|
1362
|
+
* the QuickBooks SDK cannot access the Timer data directly. The Timer data
|
|
1363
|
+
* must be imported into QuickBooks before it is accessible via the SDK.)
|
|
1364
|
+
*
|
|
1365
|
+
* https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/TimeTrackingQuery
|
|
1366
|
+
*/
|
|
1367
|
+
query: async (integrationConnectionId, params) => this.sendRequestWrapper(integrationConnectionId, { TimeTrackingQueryRq: params }, "TimeTrackingQueryRs", "TimeTrackingRet"),
|
|
1368
|
+
};
|
|
917
1369
|
vendor = {
|
|
918
1370
|
/**
|
|
919
1371
|
* Adds a vendor.
|