conductor-node
TypeScript icon, indicating that this package has built-in type declarations

11.6.1 • Public • Published
Conductor logo

QuickBooks Desktop API for Node.js, TypeScript, and REST

Quickstart   •   Website   •   Docs   •   Examples   •   Twitter

NPM download count Package version Code coverage License

What is Conductor?

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.

QuickBooks Desktop autocomplete

What is this repo?

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.

Requirements

  1. A Conductor API key pair: one secret key, one publishable key. Please sign up to join the beta.
  2. Node.js v16 or later.

Documentation

  1. Get Started
  2. Quickstart
  3. Node.js / TypeScript API
  4. REST API
  5. API Reference
  6. Error Handling

Installation

npm install conductor-node
# or
yarn add conductor-node

Usage

The full API documentation is available here along with many code examples. The following 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 invoices from this EndUser's QuickBooks Desktop.
  const qbdInvoices = await conductor.qbd.customer.query(endUser.id, {
    MaxReturned: 10,
  });
  console.log("QuickBooks Desktop invoices:", qbdInvoices);
}

main();

More documentation

Please see our full documentation site for more docs, guides, and code examples.

Package Sidebar

Install

npm i conductor-node

Weekly Downloads

3,687

Version

11.6.1

License

MIT

Unpacked Size

2.41 MB

Total Files

42

Last publish

Collaborators

  • dannynemer