What is Conductor?
Conductor is a TypeScript-first Node.js API for QuickBooks Desktop (sometimes called QuickBooks Enterprise). In just a few lines, get real-time access to fetch, create, or update any QuickBooks Desktop object type and receive a fully-typed response. Check out the documentation to get started.
We also offer a REST API.
Conductor, the company, is building a data integration platform for vertical SaaS companies, starting with QuickBooks Desktop. Our team has spent over a decade building companies, scaling vast software systems, and obsessing over quality.
Documentation
- Get Started
- Quickstart
- QuickBooks Desktop APIs
- API Reference
- Error Handling
Requirements
- A Conductor API key pair: one secret key, one publishable key. Please complete this form to join the beta.
- Node.js v16 or later.
Installation
npm install conductor-node
yarn add conductor-node
Usage
The full API documentation is available here along with many code examples. The code below is a quickstart example.
import Conductor from "conductor-node";
const conductor = new Conductor("{{YOUR_SECRET_KEY}}");
async function main() {
const endUser = await conductor.endUsers.create({
sourceId: "{{UNIQUE_ID_FROM_YOUR_DB}}",
email: "{{END_USER_EMAIL}}",
name: "{{END_USER_NAME}}",
});
console.log("Save this EndUser ID to auth future requests:", endUser.id);
const authSession = await conductor.authSessions.create({
publishableKey: "{{YOUR_PUBLISHABLE_KEY}}",
endUserId: endUser.id,
});
console.log("Complete the QuickBooks Desktop auth:", authSession.authFlowUrl);
const qbdCustomers = await conductor.qbd.customers.query(endUser.id);
console.log("QuickBooks Desktop customers:", qbdCustomers);
}
main();
More Documentation
Please see our full documentation site for more docs, guides, and code examples.