In this article, we will learn how to add a tax agency in Quickbooks online from .NET MVC web application using SDK.

Before using any Quickbooks online API we need access token, if you don’t know how to get access token then you can find it here.

DisplayName elements are required for creating a tax agency, we will use only the DisplayName element for creating a tax agency. DisplayName should be unique and not exist on Quickbooks.

Let’s create a tax agency.

  • First, we have to create a ServiceContext with Auth tokens and realmId.
  • For that, we need access token and realmId
  • Then, we have to create a tax agency object and assign data into an object, the following are some required data information that we have to give.
    1. DisplayName: we have to give a unique display name of the tax agency.
  • After that, We have to create a DataService object by passing a ServiceContext object as a parameter.
  • Add tax agency object in DataService.Add() for adding a tax agency.
  • If a tax agency created successfully, it will return the newly-created tax agency object, from this object you can store details like tax agency Id in the database if you want to.
  • The code is as below.
public ActionResult CreateTaxAgency()
{
  try
  {
    OAuth2RequestValidator oauthValidator = new OAuth2RequestValidator(Access_token);

    // Create a ServiceContext with Auth tokens and realmId
    ServiceContext serviceContext = new ServiceContext(RealmId, IntuitServicesType.QBO, oauthValidator);
    serviceContext.IppConfiguration.MinorVersion.Qbo = "23";
    serviceContext.IppConfiguration.BaseUrl.Qbo = QboBaseUrl;

    TaxAgency ObjTaxAgency = new TaxAgency();

    ObjTaxAgency.DisplayName = "VisionTaxAgency";

    DataService dataService = new DataService(serviceContext);

    TaxAgency TaxAgencyAdd = dataService.Add(ObjTaxAgency);
    if (TaxAgencyAdd != null && !string.IsNullOrEmpty(TaxAgencyAdd.Id))
    {
        //you can write Database code here
        ViewBag.IsSuccess = true;
    }
    return View();
  }
  catch (IdsException ex)
  {
    ViewBag.IsSuccess = false;
    if (ex.InnerException != null && !string.IsNullOrEmpty(ex.InnerException.Message))
    {
        ViewBag.Message = ex.InnerException.Message;
    }
    else if (!string.IsNullOrEmpty(ex.Message))
    {
        ViewBag.Message = ex.Message;
    }
    else
    {
        ViewBag.Message = "Something went wrong,IdsException occurs";
    }
    return View();
  }
  catch (Exception ex)
  {
    ViewBag.IsSuccess = false;
    if (ex.InnerException != null && !string.IsNullOrEmpty(ex.InnerException.Message))
    {
        ViewBag.Message = ex.InnerException.Message;
    }
    else if (!string.IsNullOrEmpty(ex.Message))
    {
        ViewBag.Message = ex.Message;
    }
    else
    {
        ViewBag.Message = "Something went wrong,Exception occurs";
    }
    return View();
  }
}
  • View code is as below
@{
    ViewBag.Title = "CreateTaxAgency";
}

<h2>Create Tax Agency</h2>


@if (ViewBag.IsSuccess != null && ViewBag.IsSuccess == true)
{
    <div class="row">
        <label class="label label-success"> Tax Agency Created Successfully </label>
    </div>
}
else if (ViewBag.IsSuccess != null && ViewBag.IsSuccess == false)
{
    <div class="row">
        <label class="label label-danger">@ViewBag.Message</label>
    </div>
}
  • The above code will add a tax agency in Quickbooks Online.
  • So this way we can add a tax agency in Quickbooks Online.