QuickBooks Desktop APIs
Fully-typed request and responses for real-time, async API calls to every QuickBooks Desktop object type.
Accessing QuickBooks Desktop through Conductor
With Conductor, you can read, create, or update any QuickBooks Desktop object type. See QuickBooks Desktop’s official API Reference for a complete list of available APIs.
Every operation is available through a single, consistent interface vis conductor.qbd.*
.
For example:
const invoices = await conductor.qbd.invoice.query("end_usr_****", {
IncludeLineItems: true,
});
Supported object types
Conductor supports the following QuickBooks Desktop object types and operations:
Object | Read | Create | Update |
---|---|---|---|
Account | ✔ | ✔ | ✔ |
Bill | ✔ | ✔ | ✔ |
BillPaymentCheck | ✔ | ✔ | ✔ |
BillingRate | ✔ | ✔ | |
BudgetSummaryReport | ✔ | ||
BuildAssembly | ✔ | ✔ | ✔ |
Charge | ✔ | ✔ | ✔ |
Check | ✔ | ✔ | ✔ |
Class | ✔ | ✔ | ✔ |
Company | ✔ | ||
CreditCardCharge | ✔ | ✔ | ✔ |
CreditCardCredit | ✔ | ✔ | ✔ |
CreditMemo | ✔ | ✔ | ✔ |
Currency | ✔ | ✔ | ✔ |
CustomDetailReport | ✔ | ||
CustomSummaryReport | ✔ | ||
Customer | ✔ | ✔ | ✔ |
CustomerType | ✔ | ✔ | |
DateDrivenTerms | ✔ | ✔ | |
Deposit | ✔ | ✔ | ✔ |
Employee | ✔ | ✔ | ✔ |
Estimate | ✔ | ✔ | ✔ |
GeneralDetailReport | ✔ | ||
GeneralSummaryReport | ✔ | ||
InventoryAdjustment | ✔ | ✔ | ✔ |
InventorySite | ✔ | ✔ | ✔ |
Invoice | ✔ | ✔ | ✔ |
ItemDiscount | ✔ | ✔ | ✔ |
ItemFixedAsset | ✔ | ✔ | ✔ |
ItemGroup | ✔ | ✔ | ✔ |
ItemInventory | ✔ | ✔ | ✔ |
ItemInventoryAssembly | ✔ | ✔ | ✔ |
ItemNonInventory | ✔ | ✔ | ✔ |
ItemOtherCharge | ✔ | ✔ | ✔ |
ItemPayment | ✔ | ✔ | ✔ |
ItemReceipt | ✔ | ✔ | ✔ |
ItemSalesTax | ✔ | ✔ | ✔ |
ItemSalesTaxGroup | ✔ | ✔ | ✔ |
ItemService | ✔ | ✔ | ✔ |
ItemSubtotal | ✔ | ✔ | ✔ |
JobReport | ✔ | ||
JobType | ✔ | ✔ | |
JournalEntry | ✔ | ✔ | ✔ |
Lead | ✔ | ✔ | ✔ |
OtherName | ✔ | ✔ | ✔ |
PayrollDetailReport | ✔ | ||
PayrollSummaryReport | ✔ | ||
PriceLevel | ✔ | ✔ | ✔ |
PurchaseOrder | ✔ | ✔ | ✔ |
ReceivePayment | ✔ | ✔ | ✔ |
SalesOrder | ✔ | ✔ | ✔ |
SalesReceipt | ✔ | ✔ | ✔ |
SalesRep | ✔ | ✔ | ✔ |
SalesTaxCode | ✔ | ✔ | ✔ |
SalesTaxPaymentCheck | ✔ | ✔ | ✔ |
StandardTerms | ✔ | ✔ | |
TimeReport | ✔ | ||
TimeTracking | ✔ | ✔ | ✔ |
Transfer | ✔ | ✔ | ✔ |
TransferInventory | ✔ | ✔ | ✔ |
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",
};