Conductor is a real-time, fully-typed API for QuickBooks Desktop (sometimes called QuickBooks Enterprise), available via TypeScript, Node.js, and REST. 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.
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.
This repository is a library for conveniently accessing Conductor's QuickBooks Desktop API from TypeScript or JavaScript. The library is a wrapper around the Conductor REST API, providing a fully-typed, easy-to-use interface for fetching, creating, and updating QuickBooks Desktop objects.
- A Conductor API key pair: one secret key, one publishable key. Please sign up to join the beta.
- Node.js v16 or later.
npm install conductor-node
# or
yarn add conductor-node
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() {
// 1. Create a new EndUser.
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);
// 2. Create an AuthSession to establish the QuickBooks Desktop connection.
const authSession = await conductor.authSessions.create({
publishableKey: "{{YOUR_PUBLISHABLE_KEY}}",
endUserId: endUser.id,
});
console.log("Complete the QuickBooks Desktop auth:", authSession.authFlowUrl);
// 3. Get a list of all Customers from QuickBooks Desktop for this EndUser.
const qbdCustomers = await conductor.qbd.customer.query(endUser.id);
console.log("QuickBooks Desktop customers:", qbdCustomers);
}
main();
Please see our full documentation site for more docs, guides, and code examples.