Node.js / TypeScript for QuickBooks Desktop
Execute real-time requests for any QuickBooks Desktop object type with fully-typed requests and responses.
Accessing QuickBooks Desktop through Conductor
With Conductor, you can read, create, or update any QuickBooks Desktop object type. Every operation is available through a single, consistent interface vis conductor.qbd.*
.
We recommend using Conductor’s amazing autocomplete to discover the available operations, parameters, and responses fields.
For example:
Supported object types
Conductor supports the following QuickBooks Desktop object types and operations. Alternatively, see QuickBooks Desktop’s official API Reference to explore the operations available for each object type.
Object | Read | Create | Update |
---|---|---|---|
Account | ✔ | ✔ | ✔ |
AgingReport | ✔ | ||
Bill | ✔ | ✔ | ✔ |
BillPaymentCheck | ✔ | ✔ | ✔ |
BillPaymentCreditCard | ✔ | ✔ | |
BillingRate | ✔ | ✔ | |
BudgetSummaryReport | ✔ | ||
BuildAssembly | ✔ | ✔ | ✔ |
Charge | ✔ | ✔ | ✔ |
Check | ✔ | ✔ | ✔ |
Class | ✔ | ✔ | ✔ |
Company | ✔ | ||
CreditCardCharge | ✔ | ✔ | ✔ |
CreditCardCredit | ✔ | ✔ | ✔ |
CreditMemo | ✔ | ✔ | ✔ |
Currency | ✔ | ✔ | ✔ |
CustomDetailReport | ✔ | ||
CustomSummaryReport | ✔ | ||
Customer | ✔ | ✔ | ✔ |
CustomerType | ✔ | ✔ | |
DataExt | ✔ | ✔ | |
DateDrivenTerms | ✔ | ✔ | |
Deposit | ✔ | ✔ | ✔ |
Employee | ✔ | ✔ | ✔ |
Estimate | ✔ | ✔ | ✔ |
GeneralDetailReport | ✔ | ||
GeneralSummaryReport | ✔ | ||
InventoryAdjustment | ✔ | ✔ | ✔ |
InventorySite | ✔ | ✔ | ✔ |
Invoice | ✔ | ✔ | ✔ |
ItemDiscount | ✔ | ✔ | ✔ |
ItemFixedAsset | ✔ | ✔ | ✔ |
ItemGroup | ✔ | ✔ | ✔ |
ItemInventory | ✔ | ✔ | ✔ |
ItemInventoryAssembly | ✔ | ✔ | ✔ |
ItemNonInventory | ✔ | ✔ | ✔ |
ItemOtherCharge | ✔ | ✔ | ✔ |
ItemPayment | ✔ | ✔ | ✔ |
ItemReceipt | ✔ | ✔ | ✔ |
ItemSalesTax | ✔ | ✔ | ✔ |
ItemSalesTaxGroup | ✔ | ✔ | ✔ |
ItemService | ✔ | ✔ | ✔ |
ItemSites | ✔ | ||
ItemSubtotal | ✔ | ✔ | ✔ |
JobReport | ✔ | ||
JobType | ✔ | ✔ | |
JournalEntry | ✔ | ✔ | ✔ |
Lead | ✔ | ✔ | ✔ |
ListDeleted | ✔ | ||
OtherName | ✔ | ✔ | ✔ |
PaymentMethod | ✔ | ✔ | |
PayrollDetailReport | ✔ | ||
PayrollItemWage | ✔ | ✔ | |
PayrollSummaryReport | ✔ | ||
PriceLevel | ✔ | ✔ | ✔ |
PurchaseOrder | ✔ | ✔ | ✔ |
ReceivePayment | ✔ | ✔ | ✔ |
SalesOrder | ✔ | ✔ | ✔ |
SalesReceipt | ✔ | ✔ | ✔ |
SalesRep | ✔ | ✔ | ✔ |
SalesTaxCode | ✔ | ✔ | ✔ |
SalesTaxPaymentCheck | ✔ | ✔ | ✔ |
StandardTerms | ✔ | ✔ | |
TimeReport | ✔ | ||
TimeTracking | ✔ | ✔ | ✔ |
Transaction | ✔ | ||
Transfer | ✔ | ✔ | ✔ |
TransferInventory | ✔ | ✔ | ✔ |
TxnDeleted | ✔ | ||
Vehicle | ✔ | ✔ | ✔ |
VehicleMileage | ✔ | ✔ | |
Vendor | ✔ | ✔ | ✔ |
VendorCredit | ✔ | ✔ | ✔ |
VendorType | ✔ | ✔ | |
WorkersCompCode | ✔ | ✔ | ✔ |
TypeScript for QuickBooks Desktop
In the Conductor Node.js library, every request parameter and response attribute is fully-typed with inline documentation and will autocomplete in your editor. This makes it easy to explore the API and write code that works the first time.
If you ever need to access the raw QuickBooks Desktop types, you can import them from conductor-node
like so:
import { QbdTypes } from "conductor-node";
const accountAddInput: QbdTypes.AccountAdd = {
Name: "Test Account",
AccountType: "Bank",
OpenBalance: "100",
};