Get Started with Payroll API

About Intuit scopes

Scopes limit what data your app can read and update. Instead of getting broad permissions for everything, set granular permissions so your app only focuses on what’s necessary.

Here are the current scopes for the QuickBooks Payroll API:

Scope Description Sensitive Data?
qb.company.read Grants access to company information  
qb.company.taxidentifier.read Grants access to the tax identifier (EIN, CBN) for the company Yes
qb.employee.read Grants access to employee information  
qb.employee.taxidentifier.read Grants access to the tax identifier (SSN, SIN) for the employee Yes
qb.employee.birthdate.read Grants access to employee birth date  
qb.payroll.compensation.read Grants access to payroll compensation  
qb.payroll.benefits Grants access to payroll benefits  

Note

Note: Sensitive data requires additional legal agreement and manual onboarding with our support team.

Get the latest endpoint for the QuickBooks Payroll API

Endpoints are the locations on our server where apps send requests to call APIs.

Since the QuickBooks Payroll API is based on GraphQL, there’s only one endpoint. No matter which entities or fields you include in your queries, requests all go to the same endpoint.

For production apps: https://qb.api.intuit.com/graphql

Set up and test with Postman

You can start with the free version of Postman. This gives you basic features that cover most testing requirements. If you need more features, you can always upgrade later.

Postman lets you keep collections of sample GraphQL queries you can use over and over for testing. It also uses OAuth syntax and lets you use variables to update things such as access tokens.

Step 1: Set up your app in the Intuit Developer Portal

If you haven’t already, get a QuickBooks Online production test company for testing, create your app, and complete the requirements to get production credentials.

Step 2: Set up Postman for testing

Follow the steps here to set up Postman. Make sure to replace the scopes field with the scopes your app requires.

Step 3: Run a test query in Postman
  1. Select the (+) icon and then New Request.
  2. Name the request.
  3. Select the POST method from the dropdown.
  4. Select oAuth2.0 under the Authorization tab and enter details as described in the step above.
  5. Select GraphQL as the body.

Use this basic test query to get company data for your test company:

1
2
3
4
5
6
7
8
9
  query RequestEmployerInfo {
    payrollEmployerInfo {
      businessInfo {
        name {
          legalName
        }
      }
    }
  }

You’ll see access tokens in the OAuth 2.0 tab. Use these to test code and queries in Postman.

Step 4: Use our Postman collection

We’ve created a collection of requests specifically for the QuickBooks Payroll API. Download our collection here and use them for your development and testing purposes.