QBSync · Microsoft SQL Server
Sync QuickBooks Desktop into Microsoft SQL Server
Put your QuickBooks data next to the rest of your Windows stack. QBSync creates the tables, fills them on the first run and keeps them current on a schedule — ready for Power BI, SSRS, Excel or your own T-SQL.
Built for SQL Server shops
Connect
- SQL Server 2012 or later
- Windows authentication or SQL login
- Local, network or hosted instances
Schema
- qb_* tables with header and line tables
- Primary and foreign keys between them
- A linked-transactions table for payments
Keep current
- Incremental syncs by modified date
- Every few minutes or daily
- Each run inside a transaction
Invoice lines by item, this year
SELECT l.item_fullname,
SUM(l.quantity) AS qty,
SUM(l.amount) AS revenue
FROM qb_invoice_line l
JOIN qb_invoice i ON i.txnid = l.txnid
WHERE i.txndate >= DATEFROMPARTS(YEAR(GETDATE()), 1, 1)
GROUP BY l.item_fullname
ORDER BY revenue DESC;Setup takes a few minutes
- 01
Install QBSync
On the Windows computer where QuickBooks Desktop is installed.
- 02
Choose SQL Server
Enter the server and database, pick Windows or SQL authentication and test the connection.
- 03
Pick your records
Tick the record types you want and set a sync start date.
- 04
Schedule it
Choose an interval or a daily time, and approve QuickBooks' one-time permission prompt.
FAQ
Frequently asked questions
Does QBSync create the tables for me?
Yes. It creates the schema in the database you point it at, so you only need a database and a login with permission to create tables.
Can I use Azure SQL or a hosted SQL Server?
Any SQL Server instance the Windows computer can reach will work. Test the connection in setup before the first run.
Will reports slow down QuickBooks?
No. Your reports query SQL Server, not QuickBooks. QuickBooks is only read during a sync, and incremental syncs keep those reads small.
More about QBSync
See QBSync with your own data
A Windows utility that copies QuickBooks Desktop lists and transactions — every line item included — into Microsoft SQL Server or MySQL, and keeps them current with incremental, scheduled syncs.
