Bruin Academy

Guide

Build an AI Finance Agent for QuickBooks

Connect Claude Code, Codex, or Cursor to QuickBooks Online. Load your books into BigQuery or a local DuckDB file with the open-source Bruin template, model P&L, MRR, AR, and runway, add a context layer, and give the agent approved write access through Intuit's QuickBooks MCP server.

What

Build a custom AI finance and accounting analyst on top of QuickBooks Online that answers questions from your own modelled data, builds reports and dashboards on request, and makes approved changes in QuickBooks. You will end up with:

  • quickbooks_raw - customers, vendors, accounts, invoices, payments, purchases, and bills loaded by ingestr
  • quickbooks_stage - typed tables with invoice lines, payment-to-invoice links, all spend in one table, and an editable chart of accounts mapping
  • quickbooks_reports - P&L, MRR movements, monthly KPIs, AR aging, collections, vendor spend, an expense review queue, and cash runway
  • A context layer - asset metadata, the template's agent guide, and your company's rules in AGENTS.md
  • An agent with QuickBooks actions - Claude Code, Codex, or Cursor with the Bruin MCP for data and Intuit's QuickBooks MCP for approved writes
  • A five-tab dashboard served locally with Dashboards as Code

How

You pick where the data lives in Step 1:

  • BigQuery - the template's native target. Best when the finance data should sit next to product, CRM, or billing data, or when a team will use it.
  • Local DuckDB - one file on your laptop, no cloud account. Best for a founder or bookkeeper who wants the whole setup on one machine.

The pipeline steps are the same on both paths. The agent reads from the report tables, not the live API, so it works from your definitions of MRR, burn, and runway and does not hit QuickBooks rate limits. It writes through the QuickBooks MCP, one approved change at a time, and the next pipeline run confirms each change.

The QuickBooks template with reports, the dashboard, and the agent guide is in the Bruin repository. The current CLI release ships an older, ingestion-only version, so this guide copies the template from GitHub instead of running bruin init.

Note

Bruin, ingestr, DAC, and the QuickBooks MCP server are open source and run locally. You pay for your QuickBooks plan, BigQuery usage on the warehouse path, and your coding agent's model usage.

Before you start

  • A QuickBooks Online company on a paid plan (QuickBooks Free does not support third-party integrations), or an Intuit sandbox company to start
  • An Intuit Developer account
  • For the warehouse path: a Google Cloud project with BigQuery enabled. For the local path: nothing extra, DuckDB is a file on your machine
  • A local coding agent: Claude Code, Codex, or Cursor
  • Git and Node.js installed

Frequently asked questions

  • How do I connect an AI agent to QuickBooks?
    Use two connections. For reads, load QuickBooks Online into BigQuery or DuckDB with the open-source Bruin QuickBooks template and let the agent query the modelled report tables with `bruin query`. For writes, run Intuit's open-source QuickBooks Online MCP server locally and add it to Claude Code, Codex, or Cursor as an MCP server. A skill file tells the agent to propose every change and wait for approval before it calls a create, update, or delete tool.
  • Is there an official QuickBooks MCP server?
    Yes. Intuit publishes an open-source QuickBooks Online MCP server at github.com/intuit/quickbooks-online-mcp-server. It runs locally over stdio, authenticates with your own Intuit developer app, and exposes get, search, create, update, and delete tools for customers, vendors, invoices, bills, purchases, journal entries, payments, accounts, and more, plus financial reports. Environment flags can disable the create, update, and delete tools entirely.
  • Can Claude or Codex update transactions in QuickBooks?
    Yes, through the QuickBooks MCP server. This tutorial uses it to recategorize uncategorized expenses: the agent reads the expense review queue from the warehouse, proposes an account for each line with a confidence level, and after you approve, updates each purchase or bill in QuickBooks. The next pipeline run reloads the edited records so you can confirm the change landed.
  • Why load QuickBooks into a warehouse instead of letting the agent call the API directly?
    The API returns current records, not a model of your business. The warehouse holds history, your account mapping, metric definitions such as MRR and net burn, reconciliation checks, and joins to other data. It also keeps a read-heavy agent off the QuickBooks API, which Intuit rate-limits per company.
  • Can I run the QuickBooks AI agent locally without a data warehouse?
    Yes. The local path stores everything in a DuckDB file on your machine. The QuickBooks template targets BigQuery, so Step 1 includes a prompt that ports the project to DuckDB with your coding agent, and the template's unit tests and checks confirm the port before you load real data.
  • Do I need QuickBooks Advanced for custom reports and AI features?
    Not for this setup. QuickBooks gates the custom report builder, customizable KPI dashboards, and several of its own AI features in higher plans. This tutorial builds custom reports, dashboards, and an AI analyst on top of your own copy of the data, so they do not depend on your QuickBooks plan. You still need a paid plan, because QuickBooks Free does not support third-party integrations.
  • Is it safe to let an AI agent write to QuickBooks?
    Treat it like giving a new bookkeeper access. Start in an Intuit sandbox company, use a separate Intuit app for the agent, register only the tool types a workflow needs, require approval for every change, block closed periods, and log each change. QuickBooks keeps its own audit log of what each app changed.
  • How long does this tutorial take?
    About 40 minutes of active work across seven steps, not counting the first QuickBooks backfill. A sandbox company loads in a few minutes.

Get help & contribute

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.

The signup form is hosted by Brevo. Allow marketing cookies to load it.