notion quickbooks integration

How I Connected Notion to QuickBooks for an Architecture Studio, and Killed the Double Data Entry Problem

Running an architecture studio means juggling two worlds that don’t talk to each other. The creative side lives in Notion: projects, clients, tasks, timelines. The money side lives in QuickBooks: invoices, payments, customers, tax. And every time a new project starts, you’re entering the same client twice. Every time you invoice, you’re copying numbers across two systems. Every time a payment comes in, you’re updating the status in both places.

That’s exactly where this client was when they reached out. They had a beautiful Notion workspace running their studio, and a clean QuickBooks account handling the books. What they didn’t have was a way to connect them, and the gap between the two was eating hours of the week.

What Was Broken

Every new client meant creating the record in Notion first, then manually rebuilding it in QuickBooks with the name, email, phone, and address. Every invoice generated in Notion had to be recreated in QuickBooks by hand, which is exactly the kind of repetitive work that leads to typos and missed invoices.

The client had already tried to fix this with Zapier and hit a wall. The customer name wouldn’t match cleanly between systems, so the automations kept failing or creating duplicates. By the time they came to me, they were ready to scrap the whole thing and accept that Notion and QuickBooks would just never talk.

The Build

I rebuilt the entire sync on Make.com instead of Zapier. Here’s why that mattered and what I actually built.

Make over Zapier for this job. Zapier is great for simple one-to-one triggers, but this project needed conditional logic: if a customer exists in QuickBooks, use that ID; if not, create them first, then create the invoice. Make handles that branching natively with routers, which is why the whole thing works reliably now. Zapier was forcing workarounds that kept breaking.

Customer creation with full data passthrough. The first version of the automation created customers in QuickBooks but left them empty — just a name, no email, no address, no phone. That’s useless for actually sending invoices. I rebuilt the mapping to pull every field from the Notion client database, and split the address into the separate components QuickBooks expects (street, city, state, zip). One Notion record in, one complete QuickBooks customer out.

Invoice sync with smart customer matching. The core scenario watches the Notion invoice database and does something important before creating the invoice. It searches QuickBooks for the matching customer first. If the customer already exists, it grabs that existing record and links the invoice to it. If the customer doesn’t exist yet, it creates them in QuickBooks on the fly, then uses the new ID for the invoice. Either way, you never end up with duplicates, and you never have to manually pre-create customers before invoicing them.

Status sync back to Notion. Once the invoice is created in QuickBooks, the automation updates the Notion record’s status from “Not Sent” to “Open” so the dashboard reflects reality. Small detail, huge quality-of-life improvement. The client never has to remember to update statuses manually again.

Project-level financial rollups. On the Notion side, I restructured the project dashboard so each project automatically calculates total invoiced, total paid, and outstanding balance by rolling up from the linked invoice database. The client used to track this in a manual “Fees Tracker” column. That column is gone now. The numbers update themselves as invoices move through QuickBooks and status flows back.

The Result

The Make scenario has been running on schedule for over seven months, firing through roughly 4 operations per sync with almost zero failed runs. Client onboarding went from “create in Notion, switch tabs, recreate in QuickBooks” to a single entry in Notion. Invoicing became a one-click action instead of a five-minute data transfer. The project dashboard shows real financial status at a glance instead of needing reconciliation.

Most importantly, the client stopped doing the work twice. For a solo operator running a studio, getting even 30 minutes a day back is significant. This automation gives them closer to an hour.

What I Learned

The real insight on this project was that a Notion-to-accounting sync isn’t really about connecting two apps. It’s about deciding which system owns which field. Once we agreed that Notion owns client creation and invoice generation, and QuickBooks owns payment tracking and official records, the automation design became obvious. Most of these integrations fail not because the tools can’t talk, but because both systems are fighting to be the source of truth. Pick one per field, and the rest writes itself.

Book a free Notion strategy call

A quick call to understand your business and what you want to build. We’ll talk through your goals, current pain points, and map out the Notion workspace that fixes them.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top