Backend Dev — QBO/HubSpot/Monday/FedEx/Zoom Data Warehouse on Google Cloud (BigQuery + Cloud Run)
Worldwide
Project overview We're a small events company (Virtual With Us) looking to centralize data from five business systems into a single Google BigQuery warehouse, with dashboards built in Looker Studio. We need a backend service that connects to each system's API, pulls historical and ongoing data, and syncs it into BigQuery on a schedule. This is a phased project. Phase 1 is QuickBooks Online (QBO) only — full financial reporting (P&L, AR, cash flow, balance sheet, customer revenue). Phases 2–4 (FedEx, HubSpot, Monday.com, Zoom) follow once Phase 1 is live, with the same developer if it's a good fit. A complete written brief is ready — architecture, schema, sync strategy, and a step-by-step setup guide. You will not be starting from a blank page. Phase 1 scope (what we're hiring for now) Build a Node.js backend on Google Cloud Run (we already use Google Cloud for BigQuery — please don't propose Railway, Render, or Heroku) Handle QuickBooks Online OAuth 2.0, including token refresh Pull 3–5 years of historical QBO data (invoices, payments, customers, credit memos, purchases, bills, P&L, cash flow, balance sheet) into BigQuery — built as a resumable, chunked job (not a single blocking request) Set up a nightly delta sync plus a weekly safety-net re-pull, using BigQuery MERGE/UPSERT so edited historical records (we frequently revise prior-month entries) update correctly instead of duplicating Build a webhook listener endpoint as a stub for a future real-time alerting phase (signature validation and logging only — no business logic yet) Deploy with Cloud Scheduler for the sync jobs and Secret Manager for all credentials Required skills Node.js / Express — solid backend fundamentals, comfortable with async job processing Google Cloud Platform — specifically Cloud Run, Cloud Scheduler, Secret Manager, and IAM/service accounts Google BigQuery — schema design, MERGE/UPSERT patterns, partitioned/snapshot tables OAuth 2.0 — implementing an authorization code flow from scratch, not just using a pre-built login button REST API integration — comfortable reading third-party API docs and handling pagination, rate limits, and webhooks Strongly preferred Direct experience with the QuickBooks Online API (or Intuit's node-quickbooks SDK) Experience with financial or accounting data — understanding of invoices, AR aging, P&L structure Past projects involving multi-source data syncing or ETL into a data warehouse Nice to have (relevant for later phases, not required now) Experience with the FedEx Track API, HubSpot CRM API, Monday.com API, or Zoom API Experience designing rule-based status engines (e.g. red/yellow/green logic) in SQL Deliverables Working Cloud Run service with all endpoints in the brief (OAuth, sync, manual trigger, health check, webhook stub) All historical QBO data loaded into BigQuery and validated against QBO reports (AR total must reconcile within $1) Nightly, weekly, and monthly sync schedules running and verified Private GitHub repo with README, client added as owner 30-minute handoff call What we provide A complete written developer brief: architecture diagrams, full BigQuery schema, exact SQL for syncs and joins, sync scheduling logic, and a step-by-step environment setup guide All QBO credentials and Google Cloud project access, set up and ready before work begins Clear written acceptance criteria for every deliverable — no ambiguity about what "done" looks like Project details Our rough estimate: 10–14 hours for Phase 1, based on the scope above — but this is our estimate, not a ceiling. We'd rather you review the brief and tell us your own number than anchor to ours. Budget: $500–700 fixed price for Phase 1, open to discussion if your estimate and approach justify it Type: Fixed-price preferred, hourly considered for the right candidate Timeline: Flexible, but ideally completed within 1–2 weeks of start Future work: Phases 2–4 (FedEx, HubSpot, Monday, Zoom) are planned as follow-on engagements, roughly 20–26 additional hours combined by our estimate, for the same developer if Phase 1 goes well To apply, please include A short note confirming you've read this posting (not a copy-paste generic pitch) Any past experience with the QuickBooks Online API specifically Whether you've deployed services to Google Cloud Run before Your own estimate for Phase 1 hours, after reviewing the scope — tell us if you think 10–14 hours is realistic, and explain your reasoning if it's not. We're more interested in a thoughtful number than a number that matches ours.
$500.00
Fixed-price- IntermediateExperience Level
- Remote Job
- Ongoing projectProject Type
Skills and Expertise
Activity on this job
- Proposals:5 to 10
- Last viewed by client:2 days ago
- Interviewing:1
- Invites sent:3
- Unanswered invites:1
About the client
- United StatesWest Orange5:14 AM
- $131K total spent14 hires, 5 active
- 8,335 hours
- Small company (2-9 people)
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by