QuickBooks
The QuickBooks block connects your workflows to QuickBooks Online — create and send invoices, manage customers and vendors, record payments and expenses, and pull financial reports like Profit & Loss and Balance Sheet.
Accounting Automation: Turn workflow events (a paid order, a closed deal, a form submission) into real accounting records — invoices, payments, bills — without manual data entry.
Key Features
- Invoicing: Create, update, send, and void invoices, plus estimates and credit memos
- Contacts: Create and look up customers and list vendors
- Money In & Out: Record payments, expenses, bills, and purchase orders
- Reports: Pull Profit & Loss, Balance Sheet, and Aged Receivables on demand
- Items & Files: Manage items, read tax rates, and attach files to records
- Auto Token Refresh: Indite refreshes your access token automatically using the refresh token
Operations
Invoices & Sales
| Operation | Description |
|---|---|
| Create Invoice | Create an invoice for a customer with JSON line items and a due date |
| Get Invoice / Get Invoices | Fetch one invoice by ID, or list invoices |
| Update Invoice | Change an existing invoice |
| Send Invoice | Email an invoice (to a given address, or the customer's billing email) |
| Void Invoice | Void an invoice |
| Create Estimate | Create an estimate (quote) |
| Create Credit Memo | Issue a credit memo to a customer |
Customers & Vendors
| Operation | Description |
|---|---|
| Create Customer | Add a customer with name and email |
| Get Customer / Get Customers | Fetch one customer, or list customers |
| Get Vendors | List vendors |
Payments & Purchases
| Operation | Description |
|---|---|
| Create Payment | Record a payment from a customer |
| Get Payment | Fetch a payment by ID |
| Create Expense | Record an expense |
| Create Bill | Record a vendor bill |
| Create Purchase Order | Create a purchase order for a vendor |
Items, Accounts & Files
| Operation | Description |
|---|---|
| Get Accounts | List your chart of accounts |
| Get Items / Create Item | List items, or create one (Service, Inventory, or NonInventory) |
| Get Tax Rates | List tax rates |
| Attach File | Attach a file (by URL) to an Invoice, Customer, Bill, Estimate, and more |
Reports
| Operation | Description |
|---|---|
| Get Profit & Loss | P&L report for a date range |
| Get Balance Sheet | Balance sheet for a date range |
| Get Aged Receivables | Aged receivables report as of a given date |
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| Credentials | Select | Yes | Your saved QuickBooks connection |
| Action | Select | Yes | One of the 25 operations above |
| Customer / Invoice / Payment / Vendor ID | Text | Per operation | The target record's ID |
| Customer Name & Email | Text | For Create Customer | New customer details |
| Line Items | JSON | For invoices, estimates, POs | The line items as a JSON array |
| Amount / Due Date / Memo | Text | Per operation | Money fields — support {{variables}} |
| Start Date / End Date / Report Date | Text | For reports | Report period (YYYY-MM-DD) |
| File URL / File Name / Entity Type / Entity ID | Text | For Attach File | What to attach and where |
Connecting your QuickBooks account
- Create an app at developer.intuit.com (opens in a new tab) with the Accounting scope (
com.intuit.quickbooks.accounting). - From the app's Keys & credentials page, copy the Client ID and Client Secret.
- Use Intuit's OAuth 2.0 Playground (available in the developer portal) to authorize your company and generate an Access Token and Refresh Token. Note the Realm ID (your company ID) shown during authorization.
- In Indite, add the QuickBooks block, click Connect new, and fill in: Access Token, Refresh Token, Realm ID, Client ID, and Client Secret.
Access tokens expire quickly, but that's fine — Indite automatically refreshes them with your Refresh Token, Client ID, and Client Secret, and keeps the rotated refresh token for next time.
Output
The block returns the raw QuickBooks API response for the operation — for example the created Invoice object, a list of Customer records, or the report data. Reference fields in later blocks with {{<blockId>.<field>}}.
Example: invoice on payment
- Stripe Trigger — fires on
checkout.session.completed. - QuickBooks → Create Customer — using the buyer's name and email from the trigger.
- QuickBooks → Create Invoice — line items built from the order, due date 15 days out.
- QuickBooks → Send Invoice — email the invoice straight to
{{trigger.data.customer_email}}.