Weekly ETL Pipeline: QuickBooks Financial Data to Google BigQuery
This template sets up a weekly ETL (Extract, Transform, Load) pipeline that pulls financial data from QuickBooks Online into Google BigQuery. It not only transfers data, but also cleans, classifies, and enriches each transaction using your own business logic.
Who It's For
Data Analysts & BI Developers**
Need structured financial data in a warehouse to build dashboards (e.g., Looker Studio, Tableau) and run complex queries.
Financial Analysts & Accountants**
Want to run custom SQL queries beyond QuickBooks’ native capabilities.
Business Owners**
Need a permanent, historical archive of transactions for reporting and tracking.
What the Workflow Does
- Extract
Fetches transactions from the previous week every Monday from your QuickBooks Online account. - Transform
Applies custom business logic: Cleans up text fields
Generates stable transaction IDs
Classifies transactions (income, expense, internal transfer) - Format
Prepares the cleaned data as a bulk-insert-ready SQL statement. - Load
Inserts the structured and enriched data into a Google BigQuery table.
Setup Guide
- Prepare BigQuery Create a dataset (e.g., quickbooks) and table (e.g., transactions) The table schema must match the SQL query in the "Load Data to BigQuery" node
- Add Credentials Add QuickBooks Online and Google BigQuery credentials to your n8n instance
- Configure Business Logic Open the Clean & Classify Transactions node Update the JavaScript arrays: internalTransferAccounts expenseCategories incomeCategories Ensure these match your QuickBooks Chart of Accounts exactly
- Configure BigQuery Node Open the Load Data to BigQuery node Select the correct Google Cloud project Ensure the SQL query references the correct dataset and table
- Activate the Workflow
Save and activate it
The workflow will now run weekly
Requirements
A running n8n instance (Cloud or Self-Hosted)
A QuickBooks Online account
A Google Cloud Platform project with BigQuery enabled
A BigQuery table with a matching schema
Customization Options
Change Schedule**: Modify the schedule node to run daily, monthly, or at a different time
Adjust Date Range**: Change the date macro in the Get Last Week's Transactions node
Refine Classification Rules**: Add custom logic in the Clean & Classify Transactions node to handle specific edge cases
Related Templates
Automate Customer Support & Calendar Bookings with OpenAI GPT and Google Calendar
Website AI Agent with Calendar Integration Categories: AI Agents, Website Integration, Calendar Automation This workfl...
Automate Sales Pipeline: BuiltWith Technology Data to Trello Lead Cards with Google Sheets
Automated workflow that transforms BuiltWith technology data into actionable sales leads in Trello, creating a visual ...
Send a notification to Slack when a new high-quality lead is added to Hubspot
Use Case When tracking your contacts and leads in Hubspot CRM, every new contact might be a potential customer. To guara...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments