- Introduction
-
Getting Started
- Creating an Account in Hevo
- Subscribing to Hevo via AWS Marketplace
- Subscribing to Hevo via Snowflake Marketplace
- Connection Options
- Familiarizing with the UI
- Creating your First Pipeline
- Data Loss Prevention and Recovery
- Upgrading Pipeline from Standard to Edge
-
Data Ingestion
- Types of Data Synchronization
- Ingestion Modes and Query Modes for Database Sources
- Ingestion and Loading Frequency
- Data Ingestion Statuses
- Deferred Data Ingestion
- Handling of Primary Keys
- Handling of Updates
- Handling of Deletes
- Hevo-generated Metadata
- Best Practices to Avoid Reaching Source API Rate Limits
-
Edge
- Data Ingestion
- Core Concepts
-
Pipelines
- Familiarizing with the Pipelines UI
- Creating an Edge Pipeline
- Working with Edge Pipelines
- Pipeline Job History
- Pipeline Overview
- Needs Attention
- Object and Schema Management
- Activity Log
-
Sources
- Connect AI
- PostgreSQL
- Oracle
- MySQL
- SQL Server
- Troubleshooting Database Sources
- CockroachDB
- MongoDB
- SharePoint
- Salesforce Bulk API V2
- Ordergroove
- BambooHR
- Stripe
- NetSuite SuiteAnalytics
- Shopify
- Slack
- ClickUp
- Monday.com
- Pipedrive
- Workable
- Fathom
- HubSpot
- Salesforce Marketing Cloud
- Google Analytics 4
- Google Ads
- Facebook Ads
- Microsoft Ads
- LinkedIn Ads
- Xero
- Instagram Business
- Amazon Selling Partner
- TikTok Ads
- StackAdapt
- Amazon Ads
- Pinterest Organic
- Zendesk Support
- Snapchat Ads
- TikTok Organic
- Google Search Console
- Klaviyo v2
- Braintree Payments
- Facebook Pages
- Tempo
- PayPal
- Auth0
- Pinterest Ads
- Apple Search Ads
- Permit.io
- Amplitude Analytics
- Customer.io
- Paddle
- Jira Cloud
- Fullstory
- GitHub
- WorkOS
- ActiveCampaign
- Campaign Monitor
- Infobip
- Mailgun Send
- Metaplane
- Notion
- Recharge
- sevdesk
- Statuspage
- Teamwork.com
- Workday RaaS
- Yotpo
- TikTok Shop Partner Center
- Linear
- Microsoft Dynamics 365 Business Central
- Checkout.com
- Pylon
- Microsoft Teams
- Rollbar
- Toggl Track
- QuickBooks Online
- Livestorm
- Naming Conventions for Source Data Entities
- Destinations
- Transformations
- Alerts
- Activate
- Custom Connectors
-
Data Loading
- Loading Data in a Database Destination
- Loading Data to a Data Warehouse
- Optimizing Data Loading for a Destination Warehouse
- Deduplicating Data in a Data Warehouse Destination
- Manually Triggering the Loading of Events
- Scheduling Data Load for a Destination
- Loading Events in Batches
- Data Loading Statuses
- Data Spike Alerts
- Name Sanitization
- Table and Column Name Compression
- Parsing Nested JSON Fields in Events
-
Pipelines
- Data Flow in a Pipeline
- Familiarizing with the Pipelines UI
- Working with Pipelines
- Managing Objects in Pipelines
- Pipeline Jobs
-
Transformations
-
Python Code-Based Transformations
- Supported Python Modules and Functions
-
Transformation Methods in the Event Class
- Create an Event
- Retrieve the Event Name
- Rename an Event
- Retrieve the Properties of an Event
- Modify the Properties for an Event
- Fetch the Primary Keys of an Event
- Modify the Primary Keys of an Event
- Fetch the Data Type of a Field
- Check if the Field is a String
- Check if the Field is a Number
- Check if the Field is Boolean
- Check if the Field is a Date
- Check if the Field is a Time Value
- Check if the Field is a Timestamp
-
TimeUtils
- Convert Date String to Required Format
- Convert Date to Required Format
- Convert Datetime String to Required Format
- Convert Epoch Time to a Date
- Convert Epoch Time to a Datetime
- Convert Epoch to Required Format
- Convert Epoch to a Time
- Get Time Difference
- Parse Date String to Date
- Parse Date String to Datetime Format
- Parse Date String to Time
- Utils
- Examples of Python Code-based Transformations
-
Drag and Drop Transformations
- Special Keywords
-
Transformation Blocks and Properties
- Add a Field
- Change Datetime Field Values
- Change Field Values
- Drop Events
- Drop Fields
- Find & Replace
- Flatten JSON
- Format Date to String
- Format Number to String
- Hash Fields
- If-Else
- Mask Fields
- Modify Text Casing
- Parse Date from String
- Parse JSON from String
- Parse Number from String
- Rename Events
- Rename Fields
- Round-off Decimal Fields
- Split Fields
- Examples of Drag and Drop Transformations
- Effect of Transformations on the Destination Table Structure
- Transformation Reference
- Transformation FAQs
-
Python Code-Based Transformations
-
Schema Mapper
- Using Schema Mapper
- Mapping Statuses
- Auto Mapping Event Types
- Manually Mapping Event Types
- Modifying Schema Mapping for Event Types
- Schema Mapper Actions
- Fixing Unmapped Fields
- Resolving Incompatible Schema Mappings
- Resizing String Columns in the Destination
- Changing the Data Type of a Destination Table Column
- Schema Mapper Compatibility Table
- Limits on the Number of Destination Columns
- File Log
- Troubleshooting Failed Events in a Pipeline
- Mismatch in Events Count in Source and Destination
- Audit Tables
- Activity Log
-
Pipeline FAQs
- Can multiple Sources connect to one Destination?
- What happens if I re-create a deleted Pipeline?
- Why is there a delay in my Pipeline?
- Can I change the Destination post-Pipeline creation?
- Why is my billable Events high with Delta Timestamp mode?
- Can I drop multiple Destination tables in a Pipeline at once?
- How does Run Now affect scheduled ingestion frequency?
- Will pausing some objects increase the ingestion speed?
- Can I see the historical load progress?
- Why is my Historical Load Progress still at 0%?
- Why is historical data not getting ingested?
- How do I set a field as a primary key?
- How do I ensure that records are loaded only once?
- Why can't I see my Pipelines after logging in?
- Events Usage
-
Sources
- Free Sources
-
Databases and File Systems
- Data Warehouses
-
Databases
- Connecting to a Local Database
- Amazon DocumentDB
- Amazon DynamoDB
- Elasticsearch
-
MongoDB
- Generic MongoDB
- MongoDB Atlas
- Support for Multiple Data Types for the _id Field
- Example - Merge Collections Feature
-
Troubleshooting MongoDB
-
Errors During Pipeline Creation
- Error 1001 - Incorrect credentials
- Error 1005 - Connection timeout
- Error 1006 - Invalid database hostname
- Error 1007 - SSH connection failed
- Error 1008 - Database unreachable
- Error 1011 - Insufficient access
- Error 1028 - Primary/Master host needed for OpLog
- Error 1029 - Version not supported for Change Streams
- SSL 1009 - SSL Connection Failure
- Troubleshooting MongoDB Change Streams Connection
- Troubleshooting MongoDB OpLog Connection
-
Errors During Pipeline Creation
- SQL Server
-
MySQL
- Amazon Aurora MySQL
- Amazon RDS MySQL
- Azure MySQL
- Generic MySQL
- Google Cloud MySQL
- MariaDB MySQL
-
Troubleshooting MySQL
-
Errors During Pipeline Creation
- Error 1003 - Connection to host failed
- Error 1006 - Connection to host failed
- Error 1007 - SSH connection failed
- Error 1011 - Access denied
- Error 1012 - Replication access denied
- Error 1017 - Connection to host failed
- Error 1026 - Failed to connect to database
- Error 1027 - Unsupported BinLog format
- Failed to determine binlog filename/position
- Schema 'xyz' is not tracked via bin logs
- Errors Post-Pipeline Creation
-
Errors During Pipeline Creation
- MySQL FAQs
- Oracle
-
PostgreSQL
- Amazon Aurora PostgreSQL
- Amazon RDS PostgreSQL
- Azure PostgreSQL
- Generic PostgreSQL
- Google Cloud PostgreSQL
- Heroku PostgreSQL
- Upgrading Pipelines with PostgreSQL Sources to Use the pgoutput Plugin
-
Troubleshooting PostgreSQL
-
Errors during Pipeline creation
- Error 1003 - Authentication failure
- Error 1006 - Connection settings errors
- Error 1011 - Access role issue for logical replication
- Error 1012 - Access role issue for logical replication
- Error 1014 - Database does not exist
- Error 1017 - Connection settings errors
- Error 1023 - No pg_hba.conf entry
- Error 1024 - Number of requested standby connections
- Errors Post-Pipeline Creation
-
Errors during Pipeline creation
-
PostgreSQL FAQs
- Can I track updates to existing records in PostgreSQL?
- How can I migrate a Pipeline created with one PostgreSQL Source variant to another variant?
- How can I prevent data loss when migrating or upgrading my PostgreSQL database?
- Why do FLOAT4 and FLOAT8 values in PostgreSQL show additional decimal places when loaded to BigQuery?
- Why is data not being ingested from PostgreSQL Source objects?
- Troubleshooting Database Sources
- Database Source FAQs
- File Storage
- Engineering Analytics
- Finance & Accounting Analytics
-
Marketing Analytics
- ActiveCampaign
- AdRoll
- Amazon Ads
- Apple Search Ads
- AppsFlyer
- CleverTap
- Criteo
- Drip
- Facebook Ads
- Facebook Page Insights
- Firebase Analytics
- Freshsales
- Google Ads
- Google Analytics 4
- Google Analytics 360
- Google Play Console
- Google Search Console
- HubSpot
- Instagram Business
- Klaviyo v2
- Lemlist
- LinkedIn Ads
- Mailchimp
- Mailshake
- Marketo
- Microsoft Ads
- Onfleet
- Outbrain
- Pardot
- Pinterest Ads
- Pipedrive
- Recharge
- Segment
- SendGrid Webhook
- SendGrid
- Salesforce Marketing Cloud
- Snapchat Ads
- SurveyMonkey
- Taboola
- TikTok Ads
- Twitter Ads
- Typeform
- YouTube Analytics
- Product Analytics
- Sales & Support Analytics
- Source FAQs
-
Destinations
- Familiarizing with the Destinations UI
- Cloud Storage-Based
- Databases
-
Data Warehouses
- Amazon Redshift
- Amazon Redshift Serverless
- Azure Synapse Analytics
- Databricks
-
Google BigQuery
- Clustering in BigQuery
- Partitioning in BigQuery
- Structure of Data in the Google BigQuery Data Warehouse
- Loading Data to a Google BigQuery Data Warehouse
- Near Real-time Data Loading using Streaming
- Modifying BigQuery Destinations to Use Service Account Authentication
- Troubleshooting Google BigQuery
- Google BigQuery FAQs
- Hevo Managed Google BigQuery
- Snowflake
- Troubleshooting Data Warehouse Destinations
-
Destination FAQs
- Can I change the primary key in my Destination table?
- Can I change the Destination table name after creating the Pipeline?
- How can I change or delete the Destination table prefix?
- Why does my Destination have deleted Source records?
- How do I filter deleted Events from the Destination?
- Does a data load regenerate deleted Hevo metadata columns?
- How do I filter out specific fields before loading data?
- Transform
- Alerts
- Account Management
- Activate
- Glossary
-
Releases-
2026 Releases
- Release 2.53 (August 24 – September 21, 2026)
- Release 2.52 (July 27 – August 24, 2026)
- Release 2.51 (Jun 29 – July 27 , 2026)
- Release 2.50 (Jun 01–29, 2026)
- Release 2.49 (May 04-Jun 01, 2026)
- Release 2.48 (Apr 06-May 04, 2026)
- Release 2.47 (Mar 09-Apr 06, 2026)
- Release 2.46 (Feb 09-Mar 09, 2026)
- Release 2.45 (Jan 12-Feb 09, 2026)
-
2025 Releases
- Release 2.44 (Dec 01, 2025-Jan 12, 2026)
- Release 2.43 (Nov 03-Dec 01, 2025)
- Release 2.42 (Oct 06-Nov 03, 2025)
- Release 2.41 (Sep 08-Oct 06, 2025)
- Release 2.40 (Aug 11-Sep 08, 2025)
- Release 2.39 (Jul 07-Aug 11, 2025)
- Release 2.38 (Jun 09-Jul 07, 2025)
- Release 2.37 (May 12-Jun 09, 2025)
- Release 2.36 (Apr 14-May 12, 2025)
- Release 2.35 (Mar 17-Apr 14, 2025)
- Release 2.34 (Feb 17-Mar 17, 2025)
- Release 2.33 (Jan 20-Feb 17, 2025)
-
2024 Releases
- Release 2.32 (Dec 16 2024-Jan 20, 2025)
- Release 2.31 (Nov 18-Dec 16, 2024)
- Release 2.30 (Oct 21-Nov 18, 2024)
- Release 2.29 (Sep 30-Oct 22, 2024)
- Release 2.28 (Sep 02-30, 2024)
- Release 2.27 (Aug 05-Sep 02, 2024)
- Release 2.26 (Jul 08-Aug 05, 2024)
- Release 2.25 (Jun 10-Jul 08, 2024)
- Release 2.24 (May 06-Jun 10, 2024)
- Release 2.23 (Apr 08-May 06, 2024)
- Release 2.22 (Mar 11-Apr 08, 2024)
- Release 2.21 (Feb 12-Mar 11, 2024)
- Release 2.20 (Jan 15-Feb 12, 2024)
-
2023 Releases
- Release 2.19 (Dec 04, 2023-Jan 15, 2024)
- Release Version 2.18
- Release Version 2.17
- Release Version 2.16 (with breaking changes)
- Release Version 2.15 (with breaking changes)
- Release Version 2.14
- Release Version 2.13
- Release Version 2.12
- Release Version 2.11
- Release Version 2.10
- Release Version 2.09
- Release Version 2.08
- Release Version 2.07
- Release Version 2.06
-
2022 Releases
- Release Version 2.05
- Release Version 2.04
- Release Version 2.03
- Release Version 2.02
- Release Version 2.01
- Release Version 2.00
- Release Version 1.99
- Release Version 1.98
- Release Version 1.97
- Release Version 1.96
- Release Version 1.95
- Release Version 1.93 & 1.94
- Release Version 1.92
- Release Version 1.91
- Release Version 1.90
- Release Version 1.89
- Release Version 1.88
- Release Version 1.87
- Release Version 1.86
- Release Version 1.84 & 1.85
- Release Version 1.83
- Release Version 1.82
- Release Version 1.81
- Release Version 1.80 (Jan-24-2022)
- Release Version 1.79 (Jan-03-2022)
-
2021 Releases
- Release Version 1.78 (Dec-20-2021)
- Release Version 1.77 (Dec-06-2021)
- Release Version 1.76 (Nov-22-2021)
- Release Version 1.75 (Nov-09-2021)
- Release Version 1.74 (Oct-25-2021)
- Release Version 1.73 (Oct-04-2021)
- Release Version 1.72 (Sep-20-2021)
- Release Version 1.71 (Sep-09-2021)
- Release Version 1.70 (Aug-23-2021)
- Release Version 1.69 (Aug-09-2021)
- Release Version 1.68 (Jul-26-2021)
- Release Version 1.67 (Jul-12-2021)
- Release Version 1.66 (Jun-28-2021)
- Release Version 1.65 (Jun-14-2021)
- Release Version 1.64 (Jun-01-2021)
- Release Version 1.63 (May-19-2021)
- Release Version 1.62 (May-05-2021)
- Release Version 1.61 (Apr-20-2021)
- Release Version 1.60 (Apr-06-2021)
- Release Version 1.59 (Mar-23-2021)
- Release Version 1.58 (Mar-09-2021)
- Release Version 1.57 (Feb-22-2021)
- Release Version 1.56 (Feb-09-2021)
- Release Version 1.55 (Jan-25-2021)
- Release Version 1.54 (Jan-12-2021)
-
2020 Releases
- Release Version 1.53 (Dec-22-2020)
- Release Version 1.52 (Dec-03-2020)
- Release Version 1.51 (Nov-10-2020)
- Release Version 1.50 (Oct-19-2020)
- Release Version 1.49 (Sep-28-2020)
- Release Version 1.48 (Sep-01-2020)
- Release Version 1.47 (Aug-06-2020)
- Release Version 1.46 (Jul-21-2020)
- Release Version 1.45 (Jul-02-2020)
- Release Version 1.44 (Jun-11-2020)
- Release Version 1.43 (May-15-2020)
- Release Version 1.42 (Apr-30-2020)
- Release Version 1.41 (Apr-2020)
- Release Version 1.40 (Mar-2020)
- Release Version 1.39 (Feb-2020)
- Release Version 1.38 (Jan-2020)
-
2026 Releases
- Early Access New
QuickBooks Online (Edge)
QuickBooks Online is a cloud-based accounting application from Intuit. Small and mid-sized businesses use it to manage invoices, bills, payments, expenses, inventory, and taxes, and to prepare their financial reports.
Hevo uses the QuickBooks Online Accounting API to replicate data from your QuickBooks Online company to the Destination of your choice. Hevo connects to your company using OAuth 2.0 through an app that you create in your Intuit Developer account. To ingest data, you must provide Hevo with the client ID and client secret of this app, and then authorize Hevo to read the data of your company.
Supported Features
| Feature Name | Supported |
|---|---|
| Capture deletes | Yes (for some objects) |
| History mode | No |
| Custom data (user-configured tables & fields) | Yes (custom fields of sales forms and purchase orders) |
| Data blocking (skip objects and fields) | Yes |
| Resync (objects and Pipelines) | Yes (Pipelines only) |
| API configurable | Yes |
Prerequisites
-
An active QuickBooks Online company from which data is to be ingested. Hevo does not support sandbox companies.
-
The Primary admin or Company admin role in the QuickBooks Online company to authorize Hevo to access its data.
-
An Intuit Developer account to create an app and obtain its production client ID and client secret.
Create an Intuit Developer App
Hevo connects to your QuickBooks Online company through an app that you create in your Intuit Developer account. The app must have the Accounting scope (com.intuit.quickbooks.accounting), and Hevo’s redirect URI must be added to it. Hevo uses the production keys of the app, as it reads data only from QuickBooks Online companies and not from sandbox companies.
Perform the following steps to create an app and obtain its client ID and client secret:
-
Log in to your Intuit Developer account.
-
Create an app for QuickBooks Online with the com.intuit.quickbooks.accounting scope. Read Create an app.
-
In the app, complete the production settings that Intuit requires, such as the app details and the compliance questionnaire, to obtain the production keys. Read Get your app’s production keys.
-
In the app, click Settings, click the Redirect URIs tab, and then click Production. Click Add URI, enter https://westeros.hevodata.com/edge/oauth/callback, and then click Save. This URI is the same for all Hevo regions.

-
Click Keys and credentials, and then click Production. Turn on Show credentials, and then copy the Client ID and Client secret. Save them securely like any other password.

If you delete the app or reset its client secret in your Intuit Developer account, Hevo cannot connect to your company, and the Pipeline fails. To resume data ingestion, modify the Source configuration with the new credentials, and authorize Hevo again.
Configure QuickBooks Online as a Source in your Pipeline
Perform the following steps to configure your QuickBooks Online Source:
-
Click Pipelines in the Navigation Bar.
-
Click + Create Pipeline in the Pipelines List View.
-
On the Select Source Type page, select QuickBooks Online.
-
On the Select Destination Type page, select the type of Destination you want to use.
-
In the Configure Source screen, specify the following:

-
Source Name: A unique name for your Source, not exceeding 255 characters. For example, QuickBooks Online Source.
-
In the Connect to QuickBooks Online section, specify the following:
-
Client ID: The client ID of the app that you created in your Intuit Developer account.
-
Client Secret: The client secret of the app.
-
-
-
Click Authorize, and then do the following in the window that opens:
-
Log in to your QuickBooks Online account as a user with the Primary admin or Company admin role.
-
If you have access to more than one company, select the company whose data you want to replicate.
-
Click Connect to allow Hevo to access the data of the company.
Once the authorization is successful, you are redirected to the Configure Source screen.
-
-
Click Test & Continue to test the connection to your QuickBooks Online Source. Hevo checks the connection by reading the profile of the authorized company. Once the test is successful, you can proceed to set up your Destination.
Data Replication
Hevo replicates data for all the objects selected on the Configure Objects page during Pipeline creation. By default, all supported objects and their available fields are selected. However, you can modify this selection while creating or editing the Pipeline.
Hevo ingests the following types of data from your Source objects:
-
Historical Data: The first run of the Pipeline ingests all the data of the selected objects. For the Exchange Rate object, Hevo ingests the exchange rates of every day since January 1, 1990.
-
Incremental Data: Once the historical load is complete, Hevo ingests the records that were created or updated since the previous run, as per the sync frequency. Hevo also re-ingests the records updated in the five minutes before the previous run started, so that no changes are missed. For the following objects, Hevo ingests the data differently:
-
Company Info and Currency: Hevo ingests the entire data in each run.
-
Exchange Rate: Hevo ingests the exchange rates from three days before the previous run.
-
Child objects, such as Invoice Line: Hevo ingests the child records of each parent record that is ingested, and replaces the existing child records of that parent in the Destination.
-
You cannot resync individual objects of this Source. To ingest the data again, resync the Pipeline.
QuickBooks Online limits the number of API requests that an app can make for a company to 500 requests per minute. If this limit is reached, or if QuickBooks Online returns a temporary server error, Hevo waits and retries the request. If all the retries fail, the Pipeline run stops, and Hevo resumes the ingestion from the same point in the next run. Read API call limits.
You can create a Pipeline with this Source using either the Merge or the Append load mode.
Schema and Primary Keys
Hevo uses the following schema to upload the records in the Destination. For a detailed view of the objects, fields, and relationships, click the ERD.
Data Model
The following is the list of tables (objects) that are created at the Destination when you run the Pipeline:
| Object | Description |
|---|---|
| Account | Contains the accounts in the chart of accounts of your company, such as bank, income, expense, and liability accounts. |
| Address | Contains the addresses used in your company, such as the billing and shipping addresses of customers, vendors, employees, and transactions, and the addresses of your company. |
| Bill | Contains the bills received from vendors for goods or services. It includes the following child objects: - Bill Line - Bill Linked Txn - Bill Tax Line Detail |
| Bill Line | Contains the lines of each bill, such as the item or account, amount, and quantity. |
| Bill Linked Txn | Contains the transactions linked to each bill, such as the bill payments made against it. |
| Bill Tax Line Detail | Contains the tax lines of each bill. |
| Bill Payment | Contains the payments made against the bills received from vendors. It includes the following child objects: - Bill Payment Line - Bill Payment Line Linked Txn |
| Bill Payment Line | Contains the lines of each bill payment, with the amount and the bill or other transaction that it pays. |
| Bill Payment Line Linked Txn | Contains all the transactions linked to each line of a bill payment. |
| Budget | Contains the budgets of your company, with their period and type. It includes a child object, Budget Detail. |
| Budget Detail | Contains the planned amounts of each budget, by account, customer, class, or department, and date. |
| Class | Contains the classes used to categorize the transactions of your company, such as by product line or business segment. |
| Company Info | Contains the profile of your company, such as its name, addresses, contact details, and fiscal year settings. |
| Credit Card Payment Txn | Contains the payments made from a bank account to pay a credit card balance. |
| Credit Memo | Contains the credit memos issued to customers for refunds or adjustments. It includes the following child objects: - Credit Memo Line - Credit Memo Tax Line Detail |
| Credit Memo Line | Contains the lines of each credit memo. |
| Credit Memo Tax Line Detail | Contains the tax lines of each credit memo. |
| Currency | Contains the home currency of your company and, if multicurrency is turned on, the other currencies that it uses. |
| Customer | Contains the customers of your company, including inactive customers. |
| Customer Type | Contains the types used to group the customers of your company. |
| Department | Contains the locations used to track the transactions of your company, such as stores or regions. QuickBooks Online calls them locations in its UI. |
| Deposit | Contains the deposits made to the bank accounts of your company. It includes the following child objects: - Deposit Line - Deposit Tax Line Detail |
| Deposit Line | Contains the lines of each deposit, such as the payments or other amounts deposited. |
| Deposit Tax Line Detail | Contains the tax lines of each deposit. |
| Employee | Contains the employees of your company, including inactive employees. |
| Estimate | Contains the estimates, or quotes, sent to customers. It includes the following child objects: - Estimate Line - Estimate Linked Txn - Estimate Tax Line |
| Estimate Line | Contains the lines of each estimate. |
| Estimate Linked Txn | Contains the transactions linked to each estimate, such as the invoices created from it. |
| Estimate Tax Line | Contains the tax lines of each estimate. |
| Exchange Rate | Contains the daily exchange rates between the currencies, since January 1, 1990. |
| Invoice | Contains the invoices sent to customers for goods or services. It includes the following child objects: - Invoice Line - Invoice Linked Txn - Invoice Tax Line |
| Invoice Line | Contains the lines of each invoice, such as the item, quantity, and amount. |
| Invoice Linked Txn | Contains the transactions linked to each invoice, such as the payments received against it. |
| Invoice Tax Line | Contains the tax lines of each invoice. |
| Item | Contains the products and services that your company buys or sells, including inactive items. It includes the following child objects: - Bundle - Bundle Item |
| Bundle | Contains the bundles, which are groups of products and services sold together. Bundles are not included in the Item object. |
| Bundle Item | Contains the items in each bundle, with their quantity. |
| Journal Entry | Contains the journal entries recorded in your company. It includes the following child objects: - Journal Entry Line - Journal Entry Tax Line |
| Journal Entry Line | Contains the debit and credit lines of each journal entry. |
| Journal Entry Tax Line | Contains the tax lines of each journal entry. |
| Payment | Contains the payments received from customers. It includes a child object, Payment Line. |
| Payment Line | Contains the lines of each payment, with the amount and the invoice or other transaction that it pays. |
| Payment Method | Contains the payment methods used in your company, such as cash, check, or credit card. |
| Purchase | Contains the expenses of your company, such as checks, cash purchases, and credit card charges. It includes the following child objects: - Purchase Line - Purchase Tax Line |
| Purchase Line | Contains the lines of each purchase. |
| Purchase Tax Line | Contains the tax lines of each purchase. |
| Purchase Order | Contains the purchase orders sent to vendors. It includes the following child objects: - Purchase Order Line - Purchase Order Linked Txn - Purchase Order Tax Line |
| Purchase Order Line | Contains the lines of each purchase order. |
| Purchase Order Linked Txn | Contains the transactions linked to each purchase order, such as the bills created from it. |
| Purchase Order Tax Line | Contains the tax lines of each purchase order. |
| Recurring Transaction | Contains the templates of the transactions that your company creates on a schedule, such as recurring invoices. |
| Refund Receipt | Contains the refunds given to customers. It includes the following child objects: - Refund Receipt Line - Refund Receipt Tax Line |
| Refund Receipt Line | Contains the lines of each refund receipt. |
| Refund Receipt Tax Line | Contains the tax lines of each refund receipt. |
| Sales Receipt | Contains the sales for which payment is received at the time of the sale. It includes the following child objects: - Sales Receipt Line - Sales Receipt Tax Line |
| Sales Receipt Line | Contains the lines of each sales receipt. |
| Sales Receipt Tax Line | Contains the tax lines of each sales receipt. |
| Tax Agency | Contains the agencies to which your company pays the taxes that it collects. |
| Tax Code | Contains the tax codes that determine how tax is applied to transactions. It includes a child object, Tax Rate Detail. |
| Tax Rate Detail | Contains the sales and purchase tax rates of each tax code. |
| Tax Rate | Contains the tax rates used to calculate the tax on transactions, with their tax agency. |
| Term | Contains the payment terms used in sales and purchases, such as the number of days within which payment is due. |
| Time Activity | Contains the time recorded by employees and vendors, with the customer and service it is recorded for. |
| Transfer | Contains the transfers of money between the accounts of your company. |
| Vendor | Contains the vendors from which your company buys goods or services, including inactive vendors. |
| Vendor Credit | Contains the credits received from vendors, such as for returned goods. It includes a child object, Vendor Credit Line. |
| Vendor Credit Line | Contains the lines of each vendor credit. |
The Credit Memo, Estimate, Invoice, Purchase Order, Refund Receipt, and Sales Receipt objects also contain the custom fields of these forms that are named in QuickBooks Online and have the text type. Hevo creates a column custom_<field name> for each of these fields.
Additional Information
Read the detailed Hevo documentation for the following related topics:
Handling of Deletes
Hevo marks a record as deleted by setting the value of the metadata column __hevo__marked_deleted to True. The record remains in the Destination with all its data. Hevo captures deletes as follows:
-
Transactions: For the Bill, Bill Payment, Credit Card Payment Txn, Credit Memo, Deposit, Estimate, Invoice, Journal Entry, Payment, Purchase, Purchase Order, Refund Receipt, Sales Receipt, Time Activity, Transfer, and Vendor Credit objects, Hevo reads the records deleted in QuickBooks Online from its change history, and marks them as deleted. QuickBooks Online keeps this history only for 30 days. If the Pipeline does not run for more than 29 days, the records deleted in this period are not marked as deleted.
-
Lists: QuickBooks Online does not delete records such as accounts, customers, vendors, employees, and items, but makes them inactive. Hevo ingests the inactive records, and the value of their
activefield is false. -
Other objects: Hevo does not mark the records of the Address, Company Info, Currency, Exchange Rate, and Recurring Transaction objects as deleted.
-
Child objects: When Hevo ingests a parent record, it replaces the existing child records of the parent in the Destination. Child records removed from the parent record are marked as deleted. If the parent record is deleted, its child records are not marked as deleted.
Source Considerations
-
Hevo ingests data from one QuickBooks Online company in a Pipeline. To ingest data from more than one company, create a Pipeline for each company.
-
When you re-authorize Hevo for an existing Source, select the same QuickBooks Online company. To ingest data from a different company, create a new Pipeline with a new Source.
-
Hevo keeps its access to your QuickBooks Online company active in each Pipeline run. If the Pipeline does not run for more than 100 days, for example, because it is paused, the authorization expires. In this case, modify the Source configuration and authorize Hevo again.
-
Some objects, such as Budget, Class, Department, and Purchase Order, are available only in some QuickBooks Online plans, or when the related feature, such as class or location tracking, is turned on for your company. If your company cannot access such an object, the ingestion of the object may fail with an error that asks you to re-authorize the Source. Re-authorizing does not resolve this error. Instead, deselect the object. The other objects continue to be ingested.
-
The first run of the Pipeline ingests the exchange rates of every day since January 1, 1990, which can be more than a million records. If you do not need exchange rates, deselect the Exchange Rate object.
-
Hevo reads up to 1,000 records in each API call. QuickBooks Online counts the API calls by Intuit app, so all the Pipelines that use the same Intuit app share its limits. Your Intuit app may also have a monthly limit on API calls, as per its partner program tier.
-
The currency_id fields in the transaction objects contain the currency code, such as USD.
Revision History
Refer to the following table for the list of key updates made to this page:
| Date | Release | Description of Change |
|---|---|---|
| Oct-28-2026 | NA | New document. |