QuickBooks Reference
Build on QuickBooks without limits. Sync all your QuickBooks data to your Postgres database in real-time. Query your Accounts, Customers, Invoices, and Payments with SQL or your ORM. Get all API events in a hosted Kafka cluster. And insert
, update
, or delete
QuickBooks records in both QuickBooks and your database simultaneously.
Supported objects
Collection Name | Read | Write |
---|---|---|
Account | ✅ | ✅ |
AccountListDetail | ✅ | |
APAgingDetail | ✅ | |
APAgingSummary | ✅ | |
ARAgingDetail | ✅ | |
ARAgingSummary | ✅ | |
Attachable | ✅ | ✅ |
BalanceSheet | ✅ | |
Batch | ✅ | ✅ |
Bill | ✅ | ✅ |
BillPayment | ✅ | ✅ |
Budget | ✅ | ✅ |
CashFlow | ✅ | |
ChangeDataCapture | ✅ | |
Class | ✅ | ✅ |
CompanyCurrency | ✅ | |
CompanyInfo | ✅ | |
CreditMemo | ✅ | ✅ |
CreditCardPayment | ✅ | ✅ |
Customer | ✅ | ✅ |
CustomerBalance | ✅ | |
CustomerBalanceDetail | ✅ | |
CustomerIncome | ✅ | |
FECReport | ✅ | |
CustomerType | ✅ | ✅ |
Department | ✅ | ✅ |
Deposit | ✅ | ✅ |
Employee | ✅ | ✅ |
Entitlements | ✅ | |
Estimate | ✅ | ✅ |
Exchangerate | ✅ | |
GeneralLedger | ✅ | |
GeneralLedgerFR | ✅ | |
InventoryValuationSummary | ✅ | |
Invoice | ✅ | ✅ |
Item | ✅ | ✅ |
JournalCode | ✅ | |
JournalEntry | ✅ | ✅ |
JournalReport | ✅ | |
JournalReportFR | ✅ | |
Payment | ✅ | ✅ |
PaymentMethod | ✅ | ✅ |
Preferences | ✅ | ✅ |
ProfitAndLoss | ✅ | |
ProfitAndLossDetail | ✅ | |
Purchase | ✅ | ✅ |
PurchaseOrder | ✅ | ✅ |
RecurringTransaction | ✅ | ✅ |
RefundReceipt | ✅ | ✅ |
ReimburseCharge | ✅ | ✅ |
SalesByClassSummary | ✅ | |
SalesByCustomer | ✅ | |
SalesByDepartment | ✅ | |
SalesByProduct | ✅ | |
SalesReceipt | ✅ | ✅ |
TaxClassification | ✅ | |
TaxCode | ✅ | |
TaxPayment | ✅ | |
TaxRate | ✅ | |
TaxService | ✅ | |
TaxSummary | ✅ | |
TaxAgency | ✅ | |
Term | ✅ | ✅ |
TimeActivity | ✅ | ✅ |
TransactionList | ✅ | |
TransactionListByVendor | ✅ | |
TransactionListByCustomer | ✅ | |
TransactionListWithSplits | ✅ | |
Transfer | ✅ | ✅ |
TrialBalance | ✅ | |
Vendor | ✅ | ✅ |
VendorBalance | ✅ | |
VendorBalanceDetail | ✅ | |
VendorCredit | ✅ | ✅ |
VendorExpenses | ✅ | ✅ |
For a detailed exploration of these entities and the data model, please refer to the QuickBooks API Explorer.
Setup & installation
Sequin uses OAuth to connect with your QuickBooks account.
Connecting to QuickBooks
Steps:
- In the Sequin console, click Add sync and select QuickBooks.
- Click Add new credential then Connect to QuickBooks.
- This will bring you to QuickBooks. If you are not already logged in, you will be prompted to log in.
- You will be asked to authorize Sequin to access your QuickBooks data. Click Connect.
- You will be redirected back to the Sequin console once installation is complete.
After QuickBooks and Sequin are connected, you can follow the steps to configure your Sync.
The syncing process
We first backfill your database with all your QuickBooks data. Backfilling typically completes in a few minutes. For larger QuickBook accounts this can take longer - if you have an account with millions of objects this may take up to an hour. We’ll email you when your backfill is complete and Sequin has loaded all your data into your database.
After the initial backfill, we’ll rely on QuickBooks webhooks to monitor changes. Webhooks allow Sequin to instantly capture changes to your QuickBooks data. We backstop webhooks with an occasional polling process to ensure we don’t miss any events. This means changes on QuickBooks should propagate to your database in just a few seconds.
Learn more about our syncing process.
Read and write QuickBooks data using SQL
After synchronization, access your QuickBooks data using SQL through Sequin’s Postgres Proxy.
Here’s how QuickBooks data may appear in your database:
Sequin uses the internal _sync_cdc
table to maintain your sync.
Querying Customers
Example of querying the customer
table:
Which returns a row like:
Updating an Invoice
To update a customer’s display_name:
Sequin reflects this change in QuickBooks and your database immediately.
If a write to QuickBooks through Sequin fails, Sequin returns the error as a Postgres error and rolls back the transaction. For example, if you try to update an invoice that doesn’t exist, Sequin returns the following error:
Next steps
Your QuickBooks tables are now available as fully readable and writeable tables in your database. You can query for all your data using SQL, and mutate data thanks to Sequin’s Postgres Proxy. To build on this foundation, here are some next steps:
- Setup your ORM to work with your synced tables.
- Edit the QuickBooks objects and properties you’re syncing at any time.
- Create views on your QuickBooks data to tailor your schema to your needs.
- Invite your team to your Sequin account and start building!
If you need assistance setting up your sync, just send us a note. We’re around and eager to help.