REST API for QuickBooks Desktop
If your backend does not use Node.js, you can use the REST API to interface with QuickBooks Desktop directly.
If your backend is not in Node.js, you can use the REST API that powers our Node.js library to send requests to QuickBooks Desktop. To do so, we strongly recommend following the guide below to set up Node.js and TypeScript locally to test Conductor, and enable verbose logging to see the REST API request format, which you can then copy and paste to your backend. This approach enables you to easily determine the APIs and parameters you need by leveraging the client library’s type-safety, autocomplete, and inline docs.
Skip to Step 10 below to see the REST API request format.
We are actively working on a complete rewrite of our REST API for QuickBooks Desktop that is much more powerful and much simpler. Available in Q1 2025.
In the meantime, use the approach documented below, which will be backward-compatible and easily adaptable to the new REST API when it is released.
Check out this Python example for creating an invoice in QuickBooks Desktop using Conductor’s REST API.
Build your REST API requests with Node.js locally and Conductor
This guide will show you how to easily generate the REST API request format for QuickBooks Desktop using Node.js and Conductor in your local environment. You can then replicate the REST API request format in your backend.
Install Node.js locally if you do not have it already
If you are on a Mac:
Create a new directory
Initialize a new Node.js project
Install TypeScript and Conductor's Node.js library
Create a new TypeScript file
Follow our quickstart guide if you haven't yet
If you haven’t already, follow our quickstart guide to create an EndUser with an authorized connection to a QuickBooks Desktop instance.
Add the following code to your `index.ts` file
Run the code
Review the output
You will see the complete REST API request format in the output. For example:
Replicate the REST API request format in your backend
For example, with curl
: