QuickBooks Grid Integration

The QuickBooks Grid integration enables finance, accounting, and sales operations teams to view, search, inline-edit, and export financial records from QuickBooks Online (Invoices, Customers, Payments, and Bills) directly inside AppColab Grid.

QuickBooks Live Grid Preview


What’s Deployed

Component Name Purpose
Named Credential QuickBooks Connects to https://quickbooks.api.intuit.com via QuickBooks External Credential
External Credential QuickBooks OAuth 2.0 / Custom bearer token authentication
Apex Client QuickBooksClient.cls REST client supporting listInvoices, listCustomers, listPayments, createInvoice, updateInvoice, deleteInvoice
Apex Data Provider QuickBooksGridDataProvider.cls Implements appcg.GridDataProviderV1 and appcg.GridDataMutationProviderV1 with full CRUD
Permission Set Integration_Admin Grants access to QuickBooks → ApiKey external credential principal

One-Time Manual Setup

1. Obtain Your QuickBooks App Credentials

  1. Go to the Intuit Developer Portal and sign in.
  2. Under Dashboard, open your App (or create an App with the Accounting API).
  3. Under Keys & OAuth, copy your Client ID and Client Secret.
  4. Under OAuth 2.0 Playground, generate an Access Token and copy your Realm ID (Company ID).

QuickBooks Developer Portal


2. Configure Credentials in Salesforce Setup

2.1 Create the External Credential

  1. Go to Setup (gear icon ⚙️ → Setup).
  2. In the Quick Find box, enter Named Credentials and select Named Credentials.
  3. Click the External Credentials tab → click New:
    • Label: QuickBooks
    • Name: QuickBooks
    • Authentication Protocol: Custom
    • Click Save.
  4. In the Principals section, click New:
    • Parameter Name: ApiKey
    • Sequence: 1
    • Click Save.
  5. In the Custom Headers section, click New:
    • Name: Authorization
    • Value: Bearer YOUR_QUICKBOOKS_ACCESS_TOKEN (paste your OAuth access token from Step 1)
    • Sequence Number: 1
    • Click Save.

QuickBooks External Credential Setup

2.2 Create the Named Credential

  1. Click the Named Credentials tab (next to External Credentials) → click New:
    • Label: QuickBooks
    • Name: QuickBooks
    • URL: https://quickbooks.api.intuit.com (or sandbox: https://sandbox-quickbooks.api.intuit.com)
    • External Credential: Select QuickBooks
    • Generate Authorization Header: Leave Unchecked
    • Allow Formulas in HTTP Header: Checked
  2. Click Save.

QuickBooks Named Credential Setup


3. Assign Permission Set Access

  1. In Salesforce Setup, enter Permission Sets in Quick Find.
  2. Select Integration Admin (or Appcolab Grid Admin).
  3. Click External Credential Principal Access → click Edit.
  4. Add QuickBooks - ApiKey to Enabled External Credential Principals.
  5. Click Save and verify the permission set is assigned to your Salesforce users.

Creating a QuickBooks Grid Definition

  1. In Salesforce, open AppColab Grid app → Grid Definitions tab → click New Grid Definition.
  2. Fill in:
    • Grid Settings Name: QuickBooks_Invoices_Grid
    • Grid Label: QuickBooks Invoices
    • Is Active?: Checked
    • Data Provider Class: QuickBooksGridDataProvider
    • Data Provider Configuration:
      {
        "realmId": "123456789012345",
        "resource": "invoices"
      }
      

      Tip: Set "resource" to "customers", "payments", or "bills" to display different financial objects.

  3. Click Save & Next → proceed to Preview.
  4. Live invoices load with Invoice Number, Customer, Amount, Balance, Due Date, and Status!

QuickBooks Grid Definition


Supported Grid Features

Resource Supported Actions Columns
Invoices View, Search, Inline Edit, Create, Delete Invoice Number, Customer, Date, Due Date, Total Amount, Balance, Status
Customers View, Search, Inline Edit, Create Display Name, Company, Email, Phone, Balance, Active
Payments View, Search, Export Payment Ref, Customer, Total Amount, Unapplied Amount, Date
Bills View, Search, Filter Vendor, Bill Date, Due Date, Total Amount, Balance, Status

Troubleshooting

  • 401 Unauthorized: Token expired or invalid: Refresh your Intuit access token in your external credential.
  • 400 Bad Request: Invalid Company ID: Double check that the "realmId" property in your Data Provider Configuration JSON matches your Intuit Company ID.