Skip to content
Data warehouse / Business productivity · Two-way sync platform

BigQuery and Campfire integration — two-way sync

Keep supported BigQuery and Campfire records aligned with two-way sync. Give each team access to current data while controlling which system can update each field.

  • Field mappings and sync direction under your control
  • Inspect and resolve record errors in one dashboard
Two-way sync for supported objects
stacksync.com

Built for teams where self-serve, reliability and scale matter

Case study
Migrated from MuleSoft
Case study
Migrated from Celigo
Migrated from Heroku Connect
Migrated from Matillion
Case study
Migrated from Fivetran
Case study
Migrated from Celigo

Example workflow

Customer invoice reporting workflow

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

Starting eventA change involving the proposed customer invoice table in BigQuery or Campfire Invoice needs a defined result in the other system.

  1. Start with the proposed customer invoice table in BigQuery and Campfire Invoice. Use the record-matching and field-ownership rules from your mapping worksheet.

  2. Resolve the customer or supplier, account codes, tax, currency, and accounting period before posting.

  3. Test a normal update and one failed or repeated update in the supported direction. Keep both record IDs with the test results.

What to verifyTest a posted invoice, a partial payment, tax rounding, and a closed accounting period. Compare financial totals within the same entity and currency.

Review records and field ownership

Mapping essentials

Records and field ownership

Match records by stable IDs and assign an owner for each field. The record notes identify the coverage to check.

Download the mapping worksheet

CSV · No email required

Example record relationships between BigQuery and Campfire
BigQuery recordCampfire recordRecord matchingField ownership
Proposed customer invoice tableProposed table; choose its name and schema.Reporting datasetInvoiceDocumented record: Incremental: ; historical: ; delete detection:Retain the invoice ID, issuer/legal entity, and original order reference; invoice numbers alone may overlap.The financial system owns posting and accounting treatment. A posted invoice may need a credit or adjustment process instead of an overwrite.
Proposed supplier bill tableProposed table; choose its name and schema.Reporting datasetBillDocumented record: Incremental: ; historical: ; delete detection: Every 24hRetain the supplier-bill ID, supplier, legal entity, and document reference; distinguish it from a customer invoice.Accounts payable owns approval and posting; a supplier bill is not an accounts-receivable invoice.
Proposed supplier or vendor tableProposed table; choose its name and schema.Reporting datasetVendorDocumented record: Incremental: ; historical: ; delete detection:Use the supplier ID within its business entity; a supplier name may occur in several subsidiaries.Assign responsibility for approved supplier details; restrict changes to payment instructions to the business approval process.

Use writable fields from the connected accounts. Read values from read-only fields without writing changes back to them, and define deletion handling separately.

Why teams connect BigQuery and Campfire

Put your BigQuery and Campfire data to work

Start with the work your team needs to complete: keep records up to date, make operational data available for reporting, or move data to a new system. Choose one BigQuery and Campfire workflow to test, define what success looks like, and decide who handles failed updates.

  • Join Campfire Invoices to marketing and product data already in BigQuery Projects for margin analysis.

  • Reconcile Bank Transactions against Invoices with SQL in BigQuery instead of manual exports.

  • Build board reporting on partitioned Tables that stay current with Campfire records.

What records can you sync?

Start with the records your workflow needs. Check each system’s read and write requirements before mapping fields.

BigQuery

Read and write support varies by record

Record types covered in the setup guide

Record typesCoverage and requirements
  • Tables
See connector requirements. Confirm field permissions and sync direction.

Read the BigQuery connector guide

Campfire

Read and write support varies by record

Record types covered in the setup guide

Record typesCoverage and requirements
  • Invoice
  • Debit Memo
  • Credit Memo
  • Bank Account
  • Bank Transaction
  • Journal Entry
  • Intercompany Journal Entry
  • Chart of Accounts
  • Chart Transaction
  • Fixed Asset
  • Fixed Asset Class
  • Budget
  • Transaction Match
  • Vendor
  • Tag
  • Cost Allocation
  • Custom Field
  • File
  • Contract
  • Contract Customer
  • Product
  • Product Bundle
  • Revenue Transaction
  • Customer Currency
  • Reconciliation Report
  • Webhook
Incremental: ✅; historical: ✅; delete detection: ✅. Confirm field permissions and sync direction.
  • Bill
  • Fixed Asset Automation Rule
  • Vendor Custom Field
  • Department
  • Entity
  • Tag Group
Incremental: ✅; historical: ✅; delete detection: ✅ Every 24h. Confirm field permissions and sync direction.
  • Fixed Asset Automation Match
  • Vendor Summary
Incremental: ✅; historical: ✅; delete detection: N/A (cannot be deleted). Confirm field permissions and sync direction.

Read the Campfire connector guide

Connection essentials

Review how each system connects, detects changes, and permits access to your records.

View setup requirements and limits
Connection requirementBigQueryCampfire
Integration interfaceGoogleSQL via the BigQuery REST API, client libraries, JDBC/ODBC drivers, and the Storage Read/Write APIsHTTP endpoints for bot integrations on a self-hosted instance
AuthenticationDedicated Google Cloud service account and JSON keyAPI key
Change detectionThe setup provisions notification services using Eventarc and Cloud Run in the customer Google Cloud project.Historical backfill and incremental change tracking are documented.
Read accessAvailable for supported recordsAvailable for supported records
Write accessAvailable for supported recordsAvailable for supported records

Enterprise controls

Security and control for your integrations

Explore security controls

Compliance and data transfers

As a data company, we understand the importance of keeping your data secure. Stacksync is built with security best practices to keep your data safe at every layer, and is DPF-certified for US, EU, UK and CH data transfers.

  • SOC 2 Type II
  • ISO 27001
  • HIPAA BAA
  • GDPR
  • CCPA
  • DPF US-EU-UK-CH

SSO & SCIM

Let your users access Stacksync from your centralized user management systems. Works with Okta, Azure, Google SSO and more.

Alerts

Immediately get alerted about record syncing issues over email, Slack, PagerDuty and WhatsApp. Resolve issues from a centralized dashboard with retry and revert options.

Secure connection options

Record-level recovery

Inspect sync errors and use retry and revert controls to resolve failed updates.

Read the recovery guide

Implementation

Technical reference

Review setup, record relationships, testing, and recovery for your implementation.

Authentication, permissions and API limits

Connection requirements and limits

BigQuery
Integration interface
GoogleSQL via the BigQuery REST API, client libraries, JDBC/ODBC drivers, and the Storage Read/Write APIs
Authentication
Dedicated Google Cloud service account and JSON key; enable the APIs and grant the roles in the authorization guide.
Change detection
The setup provisions notification services using Eventarc and Cloud Run in the customer Google Cloud project.
Read access
Available for supported records
Write access
Available for supported records
Setup requirements
  • Enable BigQuery, Cloud Run, Cloud Resource Manager, and Eventarc APIs in the target project.
  • Create a dedicated service account with the roles in the authorization guide and supply its credentials through Stacksync.
Limitations to check
  • Only tables are supported in the saved guide; ordinary and materialized views are excluded.
  • Google Cloud quotas and the selected write method affect capacity; validate the current project limits before a large backfill.
Technical documentation

Documentation reviewed 2026-09-15. Check the linked guides for current account and record requirements.

BigQuery setup guide
Campfire
Integration interface
HTTP endpoints for bot integrations on a self-hosted instance
Authentication
API key — create an API user with a Super User Role in Campfire (Settings -> API Keys), generate an API Key secret, and provide it in the Stacksync connection setup
Change detection
Historical backfill and incremental change tracking are documented. Delete detection varies by object.
Read access
Available for supported records
Write access
Available for supported records
Setup requirements
  • Create an API user with a Super User role in Campfire Settings > API Keys and generate its secret.
  • Review the supported-object table for incremental sync and deletion behavior before selecting entities.
Limitations to check
  • Incremental sync and delete detection vary by object; some deletions are checked only every 24 hours.
Technical documentation

Documentation reviewed 2026-09-15. Check the linked guides for current account and record requirements.

Campfire setup guide

Prepare BigQuery and Campfire access

Set up both accounts before testing the mapping. Use test records where available, and identify the account administrator who can approve access and help resolve setup errors.

BigQuery setup checklist
  • Enable BigQuery, Cloud Run, Cloud Resource Manager, and Eventarc APIs in the target project.
  • Create a dedicated service account with the roles in the authorization guide and supply its credentials through Stacksync.

Setup guides: Authorize BigQuery

Campfire setup checklist
  • Create an API user with a Super User role in Campfire Settings > API Keys and generate its secret.
  • Review the supported-object table for incremental sync and deletion behavior before selecting entities.

Setup guides: Authorize Campfire Connection

Prepare to go live

Record the fields each system can update, the first-load cutoff, both record IDs, the expected update delay, and who handles errors. Complete the tests before production before expanding to more records.

Use the BigQuery and Campfire planning worksheet to capture these decisions. Record the access owner in the worksheet and enter credentials only in the connection setup.

See Stacksync in action · Review current pricing

Record identity and field ownership

Keep each record tied to its source ID. Use the references below to choose field owners and preserve relationships between records.

Download the mapping worksheet · CSV, no email required

Reporting dataset

Proposed customer invoice table in BigQuery (choose its name) / Invoice

Plan a customer invoice dataset while preserving its source meaning.

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

BigQuery
Your database schema
Campfire
Documented record · Incremental: ✅; historical: ✅; delete detection: ✅
Record identity
Retain the invoice ID, issuer/legal entity, and original order reference; invoice numbers alone may overlap.
Field ownership
The financial system owns posting and accounting treatment. A posted invoice may need a credit or adjustment process instead of an overwrite.

Fields to include

  • Source invoice ID
  • Customer or supplier reference
  • Line totals
  • Currency
  • Posting/payment status
Record dependencies
Resolve the customer or supplier, account codes, tax, currency, and accounting period before posting.
Validation
Test a posted invoice, a partial payment, tax rounding, and a closed accounting period. Compare financial totals within the same entity and currency.
Recovery
Determine whether a transaction posted before retrying. Follow the approved adjustment process for posted records.

References: Campfire: Invoice documentation

Reporting dataset

Proposed supplier bill table in BigQuery (choose its name) / Bill

Plan a supplier bill dataset while preserving its source meaning.

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

BigQuery
Your database schema
Campfire
Documented record · Incremental: ✅; historical: ✅; delete detection: ✅ Every 24h
Record identity
Retain the supplier-bill ID, supplier, legal entity, and document reference; distinguish it from a customer invoice.
Field ownership
Accounts payable owns approval and posting; a supplier bill is not an accounts-receivable invoice.

Fields to include

  • Source bill ID
  • Supplier reference
  • Entity
  • Line amounts and currency
  • Approval/posting state
Record dependencies
Resolve supplier, expense/account codes, entity, currency, and accounting period before bill lines.
Validation
Test a duplicate supplier document number in another entity, a partially paid bill, and a closed period.
Recovery
Verify whether the bill was approved or posted before retrying; use the approved adjustment process for posted bills.

References: Campfire: Bill documentation

Reporting dataset

Proposed supplier or vendor table in BigQuery (choose its name) / Vendor

Plan a supplier or vendor dataset while preserving its source meaning.

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

BigQuery
Your database schema
Campfire
Documented record · Incremental: ✅; historical: ✅; delete detection: ✅
Record identity
Use the supplier ID within its business entity; a supplier name may occur in several subsidiaries.
Field ownership
Assign responsibility for approved supplier details; restrict changes to payment instructions to the business approval process.

Fields to include

  • Source supplier ID
  • Legal name
  • Entity reference
  • Payment terms
  • Active status
Record dependencies
Resolve business-unit and payment-term references before purchasing transactions.
Validation
Test a supplier shared across subsidiaries and an inactive supplier referenced by an open bill.
Recovery
Review rejected supplier changes before retrying dependent bills; do not reactivate a supplier merely to make a write pass.

References: Campfire: Vendor documentation

Reporting dataset

Proposed journal or ledger entry table in BigQuery (choose its name) / Journal Entry

Plan a journal or ledger entry dataset while preserving its source meaning.

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

BigQuery
Your database schema
Campfire
Documented record · Incremental: ✅; historical: ✅; delete detection: ✅
Record identity
Retain journal ID and line IDs within the legal entity and accounting period.
Field ownership
The ledger owns posting approval and period controls; an integration should not treat a posted journal as an ordinary editable row.

Fields to include

  • Source journal ID
  • Account references
  • Debit/credit amounts
  • Entity
  • Accounting period
Record dependencies
Resolve chart-of-account, currency, entity, and dimension references before lines.
Validation
Verify balanced debits and credits, dimension requirements, and rejection for a closed period.
Recovery
Reconcile posting status and use the finance-approved reversal or adjustment process instead of replaying a posted entry.

References: Campfire: Journal Entry documentation

Reporting dataset

Proposed product or catalog item table in BigQuery (choose its name) / Product

Plan a product or catalog item dataset while preserving its source meaning.

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

BigQuery
Your database schema
Campfire
Documented record · Incremental: ✅; historical: ✅; delete detection: ✅
Record identity
Distinguish the product ID, variant ID, SKU, and price-list entry; they are not interchangeable keys.
Field ownership
Assign ownership for catalog content, price, and stock separately.

Fields to include

  • Source product ID
  • SKU or variant reference
  • Description
  • Unit of measure
  • Price-list reference
Record dependencies
Resolve units, variants, categories, and applicable price lists before order lines.
Validation
Test two variants of one product, a changed SKU, and a price that applies to only one market or currency.
Recovery
Repair the variant or price-list reference before retrying affected order lines; preserve existing transaction prices.

References: Campfire: Product documentation

Reporting dataset

Proposed credit note or credit memo table in BigQuery (choose its name) / Credit Memo

Plan a credit note or credit memo dataset while preserving its source meaning.

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

BigQuery
Your database schema
Campfire
Documented record · Incremental: ✅; historical: ✅; delete detection: ✅
Record identity
Keep a distinct credit-document ID and its relationship to the original invoice or bill; it is not the original invoice itself.
Field ownership
Finance owns the reason, approval, and accounting treatment of the credit.

Fields to include

  • Source credit-document ID
  • Original document reference
  • Customer/supplier reference
  • Credit amount and currency
  • Posting state
Record dependencies
Resolve the original invoice/bill, customer or supplier, legal entity, and account references.
Validation
Test a partial credit, several credits against one invoice, and a credit without a valid original-document relationship.
Recovery
Look up existing credits and posting state before retrying to prevent duplicated adjustments.

References: Campfire: Credit Memo documentation

Compare integration approaches

Use BigQuery Proposed customer invoice table in BigQuery (choose its name) and Campfire Invoice for the first pilot. Verify its identity and permitted direction, then add dependent records only when the acceptance checks pass.

Stacksync managed sync

Best fit
Two-way sync for supported objects. Choose the records, writable fields, and permissions for your workflow.
Operating responsibility
Fits ongoing record synchronization when the required operations are supported. Add workflow steps for approvals or business actions that go beyond copying fields.
Before you choose
Check record matching: Retain the invoice ID, issuer/legal entity, and original order reference; invoice numbers alone may overlap. Verify field coverage, deletion handling, and how changes are detected.

Native vendor integration

Best fit
A vendor-built integration may fit if it supports your BigQuery and Campfire record types.
Operating responsibility
Can reduce setup for a supported workflow. You may need another method for records or business steps it does not cover.
Before you choose
First check whether either vendor offers this integration. If available, verify Proposed customer invoice table in BigQuery (choose its name) / Invoice, update direction, account tier, and related-record handling.

Custom API or workflow

Best fit
Consider when BigQuery and Campfire need a transformation, approval, or action outside a direct record sync.
Operating responsibility
Provides control over business steps; the team owns credentials, version changes, error queues, and reconciliation.
Before you choose
Verify endpoint permissions, pagination, quotas, duplicate detection, and failure recovery. Separate reading history from actions that send messages, grant access, or post transactions.

File or scheduled snapshot

Best fit
Consider for a one-time BigQuery / Campfire migration or a reporting need with an explicit freshness window.
Operating responsibility
Can simplify a bounded transfer; later changes and deletion history require another extraction or a separately designed incremental process.
Before you choose
Record the extraction cutoff, source IDs, encoding, date/number formats, and reconciliation totals.

Workflow scenarios and expected results

Customer invoice reporting workflow

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

Starting event: A change to the selected Proposed customer invoice table in BigQuery (choose its name) or Invoice record needs a defined result in the other system.

  1. Start with BigQuery Proposed customer invoice table in BigQuery (choose its name) and Campfire Invoice. Use the record-matching and field-ownership rules from your mapping worksheet.
  2. Resolve the customer or supplier, account codes, tax, currency, and accounting period before posting.
  3. Test a normal update and one failed or repeated update in the supported direction. Keep both record IDs with the test results.

Expected result: Test a posted invoice, a partial payment, tax rounding, and a closed accounting period. Compare financial totals within the same entity and currency.

If it fails: Determine whether a transaction posted before retrying. Follow the approved adjustment process for posted records.

Supplier bill reporting workflow

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

Starting event: A change to the selected Proposed supplier bill table in BigQuery (choose its name) or Bill record needs a defined result in the other system.

  1. Start with BigQuery Proposed supplier bill table in BigQuery (choose its name) and Campfire Bill. Use the record-matching and field-ownership rules from your mapping worksheet.
  2. Resolve supplier, expense/account codes, entity, currency, and accounting period before bill lines.
  3. Test a normal update and one failed or repeated update in the supported direction. Keep both record IDs with the test results.

Expected result: Test a duplicate supplier document number in another entity, a partially paid bill, and a closed period.

If it fails: Verify whether the bill was approved or posted before retrying; use the approved adjustment process for posted bills.

Supplier or vendor reporting workflow

Object-specific availability and field permissions determine this mapping. Use the restrictions shown for each record type.

Starting event: A change to the selected Proposed supplier or vendor table in BigQuery (choose its name) or Vendor record needs a defined result in the other system.

  1. Start with BigQuery Proposed supplier or vendor table in BigQuery (choose its name) and Campfire Vendor. Use the record-matching and field-ownership rules from your mapping worksheet.
  2. Resolve business-unit and payment-term references before purchasing transactions.
  3. Test a normal update and one failed or repeated update in the supported direction. Keep both record IDs with the test results.

Expected result: Test a supplier shared across subsidiaries and an inactive supplier referenced by an open bill.

If it fails: Review rejected supplier changes before retrying dependent bills; do not reactivate a supplier merely to make a write pass.

Reconcile Campfire business records with BigQuery

Validate the selected objects and operations even where connector-level direction is documented.

Starting event: A finance-owned record in Campfire needs operational visibility through a selected destination dataset.

  1. Select Bill or Invoice with the correct legal entity, period, and currency.
  2. Define a reporting relationship in BigQuery; do not equate customer records, ledger accounts, and posted transactions.
  3. Decide whether the process only reports a financial state or requests an approved accounting action, and maintain a separate transaction ID for each action.

Expected result: Totals reconcile within the same entity/currency/window; a repeated handoff creates no duplicate financial transaction.

If it fails: Verify posting and settlement state before retrying. Use the approved adjustment path for already-posted transactions.

Initial load and acceptance testing

Keep both record IDs with the expected and actual result. Reconcile the same filters and time window in each system.

Proposed customer invoice table in BigQuery (choose its name) / Invoice

Test case

Test a posted invoice, a partial payment, tax rounding, and a closed accounting period. Compare financial totals within the same entity and currency.

Expected result

The expected customer invoice relationship is preserved with no duplicate action or unintended write.

Proposed supplier bill table in BigQuery (choose its name) / Bill

Test case

Test a duplicate supplier document number in another entity, a partially paid bill, and a closed period.

Expected result

The expected supplier bill relationship is preserved with no duplicate action or unintended write.

Proposed supplier or vendor table in BigQuery (choose its name) / Vendor

Test case

Test a supplier shared across subsidiaries and an inactive supplier referenced by an open bill.

Expected result

The expected supplier or vendor relationship is preserved with no duplicate action or unintended write.

Proposed journal or ledger entry table in BigQuery (choose its name) / Journal Entry

Test case

Verify balanced debits and credits, dimension requirements, and rejection for a closed period.

Expected result

The expected journal or ledger entry relationship is preserved with no duplicate action or unintended write.

Direction and permissions

Test case

Check that each connected account can read and write the chosen objects. Exercise both directions with a test record before enabling production changes.

Expected result

Only an approved, supported direction and permitted fields are written.

Freshness and reconciliation

Test case

Measure source and destination times for the selected records under normal load and a burst. Reconcile IDs and values using the same filters and cutoff.

Expected result

The process meets its agreed freshness target and reconciliation has no unexplained differences.

Failed updates, retries and recovery

Start with the failed record and the destination error, then inspect the source value, field requirements, and access.

Rejected or repeated customer invoice change

Investigate

Inspect BigQuery Proposed customer invoice table in BigQuery (choose its name) and Campfire Invoice, their IDs, and the destination error.

Next action

Determine whether a transaction posted before retrying. Follow the approved adjustment process for posted records.

Rejected or repeated supplier bill change

Investigate

Inspect BigQuery Proposed supplier bill table in BigQuery (choose its name) and Campfire Bill, their IDs, and the destination error.

Next action

Verify whether the bill was approved or posted before retrying; use the approved adjustment process for posted bills.

Rejected or repeated supplier or vendor change

Investigate

Inspect BigQuery Proposed supplier or vendor table in BigQuery (choose its name) and Campfire Vendor, their IDs, and the destination error.

Next action

Review rejected supplier changes before retrying dependent bills; do not reactivate a supplier merely to make a write pass.

A record type or update is unavailable

Investigate

Check the BigQuery and Campfire connector guides, account permissions, and any operations marked On Request.

Next action

Ask the integration team to confirm a supported way to handle that record. Verify whether it needs connector configuration or a separate workflow step.

Source and destination disagree after a retry

Investigate

Compare current source values, destination validation, identity mappings, and any side effects already completed.

Next action

Stacksync issue retry reads the current source state. Decide the intended state before retrying or reverting; reconcile downstream effects separately.

Read the Stacksync issues dashboard guide for retry and revert behavior.

Change detection and update delivery

How updates move between BigQuery and Campfire

See how each system detects changes and which updates the other system can receive. Each direction has its own permissions and record requirements.

BigQuery Campfire Timing depends on the connected systems

Detect changesThe setup provisions notification services using Eventarc and Cloud Run in the customer Google Cloud project.

Apply updatesSelected writable fields update in Campfire. Its permissions and validation rules still apply; rejected records can be inspected in the Issues dashboard.

Campfire BigQuery Timing depends on the connected systems

Detect changesHistorical backfill and incremental change tracking are documented. Delete detection varies by object.

Apply updatesSelected writable fields update in BigQuery. Its permissions and validation rules still apply; rejected records can be inspected in the Issues dashboard.

Update timing and record limits
  • Measure initial-load and ongoing-change latency separately. Source detection, selected objects, account limits, and destination validation determine the observed delay.
  • Google Cloud quotas and the selected write method affect capacity; validate the current project limits before a large backfill.
  • Incremental sync and delete detection vary by object; some deletions are checked only every 24 hours.
FAQ

BigQuery and Campfire integration FAQ

Next step

See your workflow in Stacksync

Walk through your BigQuery and Campfire records, field mappings, and requirements with an integration engineer.