Ready to get started?

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

 Download Now

Learn more:

MYOB AccountRight Icon MYOB AccountRight ADO.NET Provider

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

DataBind MYOB AccountRight Data to the DevExpress Data Grid



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

The ADO.NET Provider for MYOB AccountRight 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.

These properties are required when connecting to a company file (both for Cloud and On-Premise instances).

  • CompanyFileId: You can find this by starting MYOB, opening your data file, and selecting Help -> About MYOB
  • User: The username associated with your company file.
  • Password: The password associated with your company file.

Connecting to a Cloud Instance

To connect to a cloud instance of MYOB, you can use the embedded OAuth credentials or create an OAuth app with MYOB. This process is detailed in the Help documentation.

Connecting to an On-Premise instance:

When connecting to an on-premise instance, you will need to set the following connection property in addition to those above:

  • InitiateOauth: Set this to OFF.
  • Url: The Url of your MYOB instance.

Windows Forms Controls

The code below shows how to populate a DevExpress chart with MYOB AccountRight data. The MYOBDataAdapter 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 (MYOBConnection connection = new MYOBConnection( "OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; CompanyFileId=yourCompanyFileId; CallbackURL=http://localhost:33333; User=companyFileUser; Password=companyFilePassword; InitiateOAuth=GETANDREFRESH")) { MYOBDataAdapter dataAdapter = new MYOBDataAdapter( "SELECT Id, Name FROM Accounts WHERE Type = 'Bank'", 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[] { "Name" }); series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative; series.ArgumentDataMember = "Id"; 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 MYOB AccountRight data. The MYOBDataAdapter 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 (MYOBConnection connection = new MYOBConnection( "OAuthClientId=YourClientId; OAuthClientSecret=YourClientSecret; CompanyFileId=yourCompanyFileId; CallbackURL=http://localhost:33333; User=companyFileUser; Password=companyFilePassword; InitiateOAuth=GETANDREFRESH")) { MYOBDataAdapter MYOBDataAdapter1 = new MYOBDataAdapter("SELECT Id, Name FROM Accounts WHERE Type = 'Bank'", connection); DataTable table = new DataTable(); MYOBDataAdapter1.Fill(table); DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar); WebChartControl1.Series.Add(series); series.DataSource = table; series.ValueDataMembers.AddRange(new string[] { "Name" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ArgumentDataMember = "Id"; series.ValueScaleType = ScaleType.Numerical; ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true; }