In this blog, I explain how to add employee, get employee and update employee using the QuickBooks API v3 in c#.

An Employee object represents a person working for the company.

SAMPLE OBJECT

{
  "Employee": {
    "SyncToken": "0", 
    "domain": "QBO", 
    "DisplayName": "Bill Miller", 
    "PrimaryPhone": {
      "FreeFormNumber": "234-525-1234"
    }, 
    "PrintOnCheckName": "Bill Miller", 
    "FamilyName": "Miller", 
    "Active": true, 
    "SSN": "XXX-XX-XXXX", 
    "PrimaryAddr": {
      "CountrySubDivisionCode": "CA", 
      "City": "Middlefield", 
      "PostalCode": "93242", 
      "Id": "116", 
      "Line1": "45 N. Elm Street"
    }, 
    "sparse": false, 
    "BillableTime": false, 
    "GivenName": "Bill", 
    "Id": "71", 
    "MetaData": {
      "CreateTime": "2015-07-24T09:34:35-07:00", 
      "LastUpdatedTime": "2015-07-24T09:34:35-07:00"
    }
  }, 
  "time": "2015-07-24T09:35:54.805-07:00"
}

 

Add Employee

Request Body

The minimum elements to create an employee are listed here.

{
  "GivenName": "Bhavdip", 
   "PrimaryAddr": {
    "CountrySubDivisionCode": "CA", 
    "City": "Middlefield", 
    "PostalCode": "93242", 
    "Id": "50", 
    "Line1": "45 N. Elm Street"
  }, 
  "PrimaryPhone": {
    "FreeFormNumber": "408-525-1234"
  }, 
  "FamilyName": "Talaviya"
}

Now I add the employee using the C# code.

Employee _employee = new Employee();
employee.GivenName = "Bhavdip";
employee.FamilyName = "Talaviya";


TelephoneNumber _Mobile = new TelephoneNumber();
Mobile.FreeFormNumber = "408-525-1234";
employee.Mobile = _Mobile;


PhysicalAddress PrimaryAddr= new PhysicalAddress();
PrimaryAddr.CountrySubDivisionCode = "CA";
PrimaryAddr.PostalCode = "94030";
PrimaryAddr.Country = "U.S.A";
PrimaryAddr.Line1 = "29834 Mustang Ave.";
PrimaryAddr.City = "Millbrae";
employee.PrimaryAddr= PrimaryAddr;
employee.Active = true;
Employee_employeeAdded = dataService.Add(employee);

you get the added employee response in the  _employeeAdded so you can see or update to your DB.

Get Employee

Query

Select * From employee

you can also make the query as you like below :

get employee by LastUpdatedTime: select * from employee where Metadata.LastUpdatedTime > ‘2015-03-01’

get employee by ID: Select * From employee where Id = ‘1’

You need Realmid and AccessTocken for the get any data from the QuickBooks.

Now I get the all employee using the C# code.

var realmid="add here your realm id";
var AccessTocken="add here your AccessTocken";

QueryService<Employee> QueryService = new QueryService<Employee>(GetContext(realmid, AccessTocken));
List<Employee> _getEmployee = QueryService.ExecuteIdsQuery("Select * From Employee").ToList();

you get the employee response in the _getEmployee variable so you can store this data into your DB.

Update Employee

In update employee, you need Quickbooks inserted Id and also SyncToken which get when the employee added.

ATTRIBUTES

  • Id

    Datatype: string
    Unique identifier for this object. Sort order is ASC by default.
  • SyncToken

    Datatype: string
    The version number of the object. It is used to lock an object for use by one app at a time. As soon as an application modifies an object, its SyncToken is incremented. Attempts to modify an object specifying older SyncToken fails. Only the latest version of the object is maintained by QuickBooks Online.

Now I update the employee using the C# code, here I update the only family name for the employee.

Employee emp = new Employee();
 emp.FamilyName  = "patel";

  
 emp.Id = "1"; 
 emp.SyncToken = "1";
 Employee _employeeUpdated = dataService.Update(emp);

 

you get the updated employee response in the _employeeUpdated so you can see or update to your DB.

you can not delete the employee in QuickBooks online, you can update this employee as In-active like below:
emp.Active = false;

so In this blog, I explained add employee, update employee and also get an employee.