Skip to main content
n8n Flow

Payments → QuickBooks Sync

Turns a membership-payments export into a QuickBooks-ready file — deduping against prior syncs, enriching Stripe charges with their fees and payouts, and booking each row.

A work in progress
We've published these resources in the hope they're useful — you're welcome to copy or use anything you find on this site. We're still working through each record to optimise it for completeness and accuracy, so some entries are fuller than others for now.

The full workflow as it runs in n8n. Drag to pan, zoom with the controls, and hover any step for what it does.

Drag to pan · zoom with the controls · hover a step for detail.

  1. On form submission (trigger): Someone uploads the Naylor payments export to start the sync. → Get Prior Synced.
  2. Get Prior Synced (action): Looks up everything already synced before. → Aggregate Priors.
  3. Aggregate Priors (action): Summarises prior syncs to catch duplicates. → Extract CSV Rows.
  4. Extract CSV Rows (action): Reads the rows out of the uploaded file. → Filter Invalid Rows.
  5. Filter Invalid Rows (logic): Drops rows that aren't valid payments. → Build Dedup Key.
  6. Build Dedup Key (action): Builds a unique key for each payment. → Check Already Synced.
  7. Check Already Synced (action): Skips payments already booked. → Has Merchant ID?.
  8. Has Merchant ID? (logic): Branches on whether the payment came through Stripe. → Stripe: Get Charge + Fees. → Set Offline Sentinels.
  9. Stripe: Get Charge + Fees (action): Pulls the Stripe charge and its processing fees. → Stripe: Lookup Payout.
  10. Set Offline Sentinels (action): Marks non-Stripe (offline) payments. → Merge Stripe and Offline.
  11. Stripe: Lookup Payout (action): Finds which payout the charge settled in. → Extract Stripe Fields.
  12. Extract Stripe Fields (action): Keeps the Stripe fields we need. → Filter Pending Payouts.
  13. Filter Pending Payouts (logic): Holds back payments not yet paid out. → Merge Stripe and Offline.
  14. Merge Stripe and Offline (logic): Recombines the Stripe and offline payments. → Compute Sequence Suffix.
  15. Compute Sequence Suffix (action): Numbers entries so each stays unique. → Record Synced.
  16. Record Synced (action): Marks these payments as synced. → Map QBO Fields.
  17. Map QBO Fields (action): Maps each payment to QuickBooks fields. → Explode to Fee Rows.
  18. Explode to Fee Rows (action): Splits out separate rows for processing fees. → Convert to CSV File.
  19. Convert to CSV File (action): Builds the QuickBooks import file. → Return CSV to User.
  20. Return CSV to User (output): Hands the finished file back to download.

More connectors on the way

This flow was built for one association's Naylor-to-QuickBooks reconciliation. The same pattern — dedupe, enrich, map, hand back a clean import — applies to most membership and fundraising platforms. We're building connectors for these next:

  • Keela
  • DonorPerfect
  • FundraiseUp
  • Swoogo

And we'll wire up other membership, CRM, and payment systems as engagements call for them.

Ready to build technology that works for your mission?

Tell us where your organisation is and what's slowing your team down. We respond personally.

FAQ — Knowledge Base

Browse frequently asked questions about Knowledge Base

Request an Invitation to the MMP

Mission Multiplier cohorts form on a rolling basis. Request an invitation and we'll reach out when a cohort that fits you is coming together. No payment until you're invited and confirm your spot.