How to Connect n8n to QuickBooks: Automate Accounting and Invoicing (2025)
Accounting is full of repetitive, error-prone data entry — exactly the work automation was made for. QuickBooks Online exposes a full API, and connecting it to n8n lets you create invoices from form submissions, sync new customers from your CRM, and reconcile payments without touching a spreadsheet.
This guide walks through the QuickBooks OAuth2 setup, creating your first invoice, and building a payment-to-books pipeline.
What you can automate with QuickBooks + n8n
- Auto-invoicing — a closed deal in your CRM or a new order triggers an invoice in QuickBooks instantly.
- Customer sync — new contacts flow from HubSpot, Pipedrive, or a form into QuickBooks as customers.
- Expense capture — receipts photographed on Telegram get parsed and logged as expenses.
- Financial reporting — pull P&L and invoice data on a schedule and post a digest to your team.
Step 1 — Create an Intuit developer app
QuickBooks API access runs through the Intuit developer platform:
- Sign in at developer.intuit.com and create a new app for QuickBooks Online Accounting.
- In the Keys & OAuth section, grab your Client ID and Client Secret (use Development keys while testing).
- Add the redirect URI:
https://YOUR-N8N/rest/oauth2-credential/callback.
Note whether you're targeting the sandbox or a production company file — the API base URLs differ.
Step 2 — Configure the QuickBooks credential in n8n
Open Credentials → New → QuickBooks Online OAuth2 API. Paste the Client ID and Secret, choose the correct environment (sandbox vs production), then click Connect my account. Authorize the company file in the Intuit popup. n8n captures the realm ID and refresh token and renews access automatically.
🚀 Stop keying invoices in by hand
This workflow uses GPT-4o Vision to read any invoice or receipt and push structured data straight into your sheets and accounting stack — the extraction step from Step 4, prebuilt.
Get the Invoice & NF-e Processor template →
Step 3 — Create your first invoice
Add a QuickBooks Online node, resource Invoice, operation Create. Reference the customer by ID, add line items with amounts and item references, and set the due date. Execute, and the invoice appears in QuickBooks — ready to send. To email it automatically, chain the Send operation right after.
If you're creating a customer on the fly, run a Customer → Create step first and pass the returned ID into the invoice.
Step 4 — Build a payment-to-books pipeline
Wire up the full loop: a Stripe or PayPal payment webhook → look up or create the customer in QuickBooks → create and send the invoice → mark it paid → post a confirmation to Slack. Everything your bookkeeper used to key in by hand now happens in seconds, with a clean audit trail.
For inbound documents, add an AI extraction step so photographed invoices and receipts become structured QuickBooks entries automatically.
Troubleshooting
- Token expired — QuickBooks refresh tokens rotate every 100 days; reconnect the credential if a workflow suddenly 401s.
- Wrong environment — sandbox credentials can't touch production data and vice versa.
- Validation errors — QuickBooks requires valid customer and item references; create them before referencing.
- Duplicate invoices — add a dedupe check keyed on your order ID before creating.
Closing the books automatically
The QuickBooks OAuth2 setup is the only fiddly part; once connected, invoicing and customer sync are simple node operations. Automate the highest-volume task first — usually invoice creation from closed deals — then extend into expense capture and scheduled financial reporting.
Watch the 100-day refresh-token expiry and add dedupe guards, and your accounting automations will run reliably in the background.
Ready to automate? Get this n8n template on Gumroad
Get the Invoice & NF-e Processor — GPT-4o Vision extracts every invoice into structured data for your sheets and accounting tools.