Connect to QuickBooks Online Data from Blazor Apps



Build ASP.NET Core Blazor C# apps that integrate with real-time QuickBooks Online data using standard SQL.

Blazor is a framework for developing modern, client-side web UIs using .NET technology. Instead of coding in JavaScript, developers can use the familiar C# language and .NET libraries to build app UIs.

The CData ADO.NET Provider for QuickBooks Online can be used with standard ADO.NET interfaces, such as LINQ and Entity Framework, to interact with live QuickBooks Online data. Since Blazor supports .NET Core, developers can use CData ADO.NET Providers in Blazor apps. In this article, we will guide you to build a simple Blazor app that talks to QuickBooks Online using standard SQL queries.

About QuickBooks Online Data Integration

CData provides the easiest way to access and integrate live data from QuickBooks Online. Customers use CData connectivity to:

  • Realize high-performance data reads thanks to push-down query optimization for complex operations like filters and aggregations.
  • Read, write, update, and delete QuickBooks Online data.
  • Run reports, download attachments, and send or void invoices directly from code using SQL stored procedures.
  • Connect securely using OAuth and modern cryptography, including TLS 1.2, SHA-256, and ECC.

Many users access live QuickBooks Online data from preferred analytics tools like Power BI and Excel, directly from databases with federated access, and use CData solutions to easily integrate QuickBooks Online data with automated workflows for business-to-business communications.

For more information on how customers are solving problems with CData's QuickBooks Online solutions, refer to our blog: https://www.cdata.com/blog/360-view-of-your-customers.


Getting Started


Install the CData ADO.NET Provider for QuickBooks Online

CData ADO.NET Providers allow users to access QuickBooks Online just like they would access SQL Server, using simple SQL queries.

Install the QuickBooks Online ADO.NET Data Provider from the CData website or from NuGet. Search NuGet for "QuickBooks Online ADO.NET Data Provider."

Create a QuickBooks Online-Connected Blazor App

Start by creating a Blazor project that references the CData ADO.NET Provider for QuickBooks Online

  1. Create a Blazor project on Visual Studio.
  2. From the Solution Explorer, right click Dependencies, then click Add Project Reference.
  3. In the Reference Manager, click the Browse button, and choose the .dll file of the installed ADO.NET Provider (e.g. System.Data.CData.QuickBooksOnline.dll, typically located at C:\Program Files\CData\CData ADO.NET Provider for QuickBooks Online\lib etstandard2.0).

SELECT QuickBooks Online Data from the Blazor App

  1. Open the Index.razor file from the Project page.
  2. In a QuickBooksOnlineConnection object, set the connection string:

    QuickBooks Online uses the OAuth authentication standard. OAuth requires the authenticating user to log in through the browser. To authenticate using OAuth, you can use the embedded OAuthClientId, OAuthClientSecret, and CallbackURL or you can obtain your own by registering an app with Intuit. Additionally, if you want to connect to sandbox data, set UseSandbox to true.

    See the Getting Started chapter of the help documentation for a guide to using OAuth.

    For example:

  3. The code below creates a simple Blazor app for displaying QuickBooks Online data, using standard SQL to query QuickBooks Online just like SQL Server.

          @page "/"
          @using System.Data;
          @using System.Data.CData.QuickBooksOnline;
          
          <h1>Hello, world!</h1>
          
          Welcome to your Data app.
          
          <div class="row">
              <div class="col-12">
          
                  @using (QuickBooksOnlineConnection connection = new QuickBooksOnlineConnection(
                    ""))
                  {
                      var sql = "SELECT DisplayName, Balance FROM Customers";
                      var results = new DataTable();
          
                      QuickBooksOnlineDataAdapter dataAdapter = new QuickBooksOnlineDataAdapter(sql, connection);
                      dataAdapter.Fill(results);
          
                      <table class="table table-bordered">
                          <thead class="thead-light">
                              <tr>
                                  @foreach (DataColumn item in results.Rows[0].Table.Columns)
                                  {
                                      <th scope="col">@item.ColumnName</th>
                                  }
                              </tr>
                          </thead>
                          <tbody>
                              @foreach (DataRow row in results.Rows)
                              {
                                  <tr>
                                      @foreach (var column in row.ItemArray)
                                      {
                                          <td>@column.ToString()</td>
                                      }
                                  </tr>
                              }
                          </tbody>
                      </table>
                  }
              </div>
          </div>
        
  4. Rebuild and run the project. The ADO.NET Provider renders QuickBooks Online data as an HTML table in the Blazor app.

    At this point, you have a QuickBooks Online-connected Blazor app, capable of working with live QuickBooks Online data just like you would work with a SQL Server instance. Download a free, 30-day trial and start working with live QuickBooks Online data in your Blazor apps today.

Ready to get started?

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

 Download Now

Learn more:

QuickBooks Online Icon QuickBooks Online ADO.NET Provider

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