Ready to get started?

Download a free trial of the QuickBooks Data Provider to get started:

 Download Now

Learn more:

QuickBooks Icon QuickBooks ADO.NET Provider

Complete read-write access to QuickBooks enables developers to search (Customers, Transactions, Invoices, Sales Receipts, etc.), update items, edit customers, and more, from any .NET application.

DataBind QuickBooks Data to the DevExpress Data Grid



Use the CData ADO.NET Provider for QuickBooks with the DevExpress Windows Forms and Web controls to provide QuickBooks data to a chart.

The ADO.NET Provider for QuickBooks by CData incorporates conventional ADO.NET data access components compatible with third-party controls. You can adhere to the standard ADO.NET data binding procedures to establish two-way access to real-time data through UI controls. This article will demonstrate the utilization of CData components for data binding with DevExpress UI Controls (Windows Forms and Web controls), specifically binding to a chart that visualizes live data.

When you are connecting to a local QuickBooks instance, you do not need to set any connection properties.

Requests are made to QuickBooks through the Remote Connector. The Remote Connector runs on the same machine as QuickBooks and accepts connections through a lightweight, embedded Web server. The server supports SSL/TLS, enabling users to connect securely from remote machines.

The first time you connect, you will need to authorize the Remote Connector with QuickBooks. See the "Getting Started" chapter of the help documentation for a guide.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with QuickBooks data. The QuickBooksDataAdapter binds to the Series property of the chart control. The Diagram property of the control defines the x- and y-axes as the column names.

using (QuickBooksConnection connection = new QuickBooksConnection( "URL=http://remotehost:8166;User=admin;Password=admin123;")) { QuickBooksDataAdapter dataAdapter = new QuickBooksDataAdapter( "SELECT Name, CustomerBalance FROM Customers", connection); DataTable table = new DataTable(); dataAdapter.Fill(table); DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series(); chartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "CustomerBalance" }); series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative; series.ArgumentDataMember = "Name"; series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical; chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }

Web Controls

The code below shows how to populate a DevExpress Web control with QuickBooks data. The QuickBooksDataAdapter binds to the Series property of the chart; the Diagram property defines the x- and y-axes as the column names.

using DevExpress.XtraCharts; using (QuickBooksConnection connection = new QuickBooksConnection( "URL=http://remotehost:8166;User=admin;Password=admin123;")) { QuickBooksDataAdapter QuickBooksDataAdapter1 = new QuickBooksDataAdapter("SELECT Name, CustomerBalance FROM Customers", connection); DataTable table = new DataTable(); QuickBooksDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "CustomerBalance" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "Name"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }