If you are a .NET developer and you’ve got an assignment to integrate Quick Books with a .NET C# application then I guess there is something iniquitous you did in the past which goddess Fortuna didn’t like at all and now she is up to your retribution. The situation gets worse since there is not much help on web. So for those folks who consider themselves as “R n’ D champions” and got this assignment; you guys are in big trouble. Experience of integration of C# application with Quick Books was very challenging to me; and now here I am presenting in front of you what I achieved from spending nights after nights, head scratching and wall banging efforts.
Introduction & Architecture:
So let’s start by understanding what are the prerequisites of this project are:
· Quick Books, obviously, make sure it’s installed with multi-user license.
· Quick Books SDK, available here (http://developer.intuit.com/) search for Download the QBSDK 7.0 or latest.
Now let’s quickly go through the design of my small application which will talk to Quick Books. Basically the purpose of this application is to show you how a .NET application can request and retrieve some information e.g. list of vendors from QB. Likewise, if .NET application wants to insert some data e.g. a vendor again; how it can be done. Following is the design architecture of the application we are about to build:
Let me just quickly explain the above architecture and then we can move forward towards coding on this design. Presentation layer consists of a win form designed and developed in C#. Through this form we will perform our CURD (Create, Update, Read and Delete) operations. This form instantiates business objects Vendor, which is present in the Vendor.cs file. Common.cs contains some other helper business objects and classes used in application. Right besides Business Layer, we have Data Access Layer which includes RequestBroker.cs. This class does most of the data transactions with QuickBooks. Finally, quick book’s company file is the data layer. After quickly going through the simple design architecture let’s see how things work here. Foremost, let’s take a quick look at our vendor class which is a business object for Vendor DB/QB entity.
Business Layer:
[Serializable]
public class Vendor
{
private string name;
private string companyName;
private string contactName;
private string phoneNumber;
private string faxNumber;
private bool isActive;
private string type;
public string Name
{
get { return this.name; }
set { this.name = value; }
}
public string Type
{
get { return this.type; }
set { this.type = value; }
}
public string CompanyName
{
get { return this.companyName; }
set { this.companyName = value; }
}
public string ContactName
{
get { return this.contactName; }
set { this.contactName = value; }
}
public string PhoneNumber
{
get { return this.phoneNumber; }
set { this.phoneNumber = value; }
}
public string FaxNumber
{
get { return this.faxNumber; }
set { this.faxNumber = value; }
}
public bool IsActive
{
get { return this.isActive; }
set { this.isActive = value; }
}
public Vendor()
{
this.name = this.companyName = this.contactName =
this.phoneNumber = this.faxNumber = string.Empty;
this.isActive = true;
this.type = “Service”; // Lets set some default vendor type
}
public Vendor(string name) : this()
{
this.name = name;
}
#region Fill Request Methods
public void FillViewRequest(IVendorRet vendorReturn, bool completeInformation)
{
if (vendorReturn.Name != null)
this.name = vendorReturn.Name.GetValue();
if (completeInformation)
{
if (vendorReturn.CompanyName != null)
this.companyName = vendorReturn.CompanyName.GetValue();
if (vendorReturn.Phone != null)
this.phoneNumber = vendorReturn.Phone.GetValue();
if (vendorReturn.Fax != null)
this.faxNumber = vendorReturn.Fax.GetValue();
if (vendorReturn.Contact != null)
this.contactName = vendorReturn.Contact.GetValue();
if (vendorReturn.IsActive != null)
this.isActive = vendorReturn.IsActive.GetValue();
if (vendorReturn.VendorTypeRef != null && vendorReturn.VendorTypeRef.FullName != null)
this.type = vendorReturn.VendorTypeRef.FullName.GetValue();
}
}
public void FillViewRequest(IVendorRet vendorReturn)
{
this.FillViewRequest(vendorReturn, true);
}
public void FillAddTypeRequest(ref IVendorTypeAdd vendorTypeAddRequest)
{
vendorTypeAddRequest.Name.SetValue(this.type.ToString());
vendorTypeAddRequest.IsActive.SetValue(true);
}
public void FillAddRequest(ref IVendorAdd request)
{
if (this.name.Length > 0)
{
request.Name.SetValue(this.name);
request.NameOnCheck.SetValue(this.name);
}
if (this.companyName.Length > 0)
{
request.CompanyName.SetValue(this.companyName);
request.NameOnCheck.SetValue(this.companyName);
}
if (this.phoneNumber.Length > 0)
request.Phone.SetValue(this.phoneNumber);
if (this.faxNumber.Length > 0)
request.Fax.SetValue(this.faxNumber);
if (this.contactName.Length > 0)
request.Contact.SetValue(this.contactName);
request.IsActive.SetValue(this.isActive);
request.VendorTypeRef.FullName.SetValue(this.type);
}
#endregion
}
Vendor class has some basic private data members and their corresponding public properties like name, phone, fax etc, one default constructor and an overloaded constructor with name parameter. For now, don’t worry about the coding done in Fill Request Methods region; I’m going to explain this region in short. Now let’s jump to Common.cs and see what are other common classes that I’ve made and how do they work.
In Common.cs, first we have two enums:
public enum QBOperationResult
{
Failed = 0,
Succeeded,
Warning,
}
QBOperationResult will tell us the result of any operation we’ll do with QB, e.g. if we send a request for getting the list of all the vendors in the QB file, either the request will be granted successfully or granted with some warning or completely denied. To fetch the correct response from QB, this enum will used. Next is:
public enum QBSortDirection
{
Ascending = 0,
Descending = 1,
}
Let’s suppose we get the list of 100 vendors from QB file, now what column we want to sort this list on and in what direction? QBSortDirection enum will be used in sorting the list in ascending or descending order. Next comes:
[Serializable]
public class QBOperationStatus
{
private string inputParamsXML;
private QBOperationResult status;
private string msg;
private string methodName;
private int spErrorID;
private string spName;
private string spErrorText;
private XmlDocument xmlDoc;
public string InputParamsXML
{
get { return inputParamsXML; }
set { inputParamsXML = value; }
}
public QBOperationResult OperationResult
{
get { return status; }
set { status = value; }
}
public string Message
{
get { return msg; }
set { msg = value; }
}
public int SPErrorID
{
get { return spErrorID; }
set { spErrorID = value; }
}
public string MethodName
{
get { return methodName; }
set { methodName = value; }
}
public string SPName
{
get { return spName; }
set { spName = value; }
}
public string SPErrorMessage
{
get { return spErrorText; }
set { spErrorText = value; }
}
public XmlDocument XmlDoc
{
get { return this.xmlDoc; }
}
public QBOperationStatus()
{
this.spErrorText = this.spName =
this.methodName = this.msg = string.Empty;
this.status = QBOperationResult.Failed;
this.xmlDoc = new XmlDocument();
}
public QBOperationStatus(QBOperationResult operationResult) :
this()
{
this.status = operationResult;
}
}
Most of the features, data members and public properties of this class are unused at this point but kept of later version in which I’ll show how to migrate data to and from QB and SQL Server database via stored procedures; so most of the sp*** data members will be used at that time. Fundamental purpose of this class is to compose QBOperationResult enum and get the status of any QB transaction. Next is the turn for:
[Serializable]
public class ComboBoxItem
{
private string _text;
private int _value;
public string Text
{
get { return this._text; }
set { this._text = value; }
}
public int Value
{
get { return this._value; }
set { this._value = value; }
}
public ComboBoxItem(string text, int value)
{
_text = text;
_value = value;
}
public override string ToString()
{
return _text;
}
}
This simple class is used to instantiate combo box items and then to access their Text and Value properties. Last in this file is:
[Serializable]
public class QBList<Entity> : CollectionBase
{
public Entity this[int index]
{
get { return (Entity)List[index]; }
set { List[index] = value; }
}
public int Add(Entity value)
{
return (List.Add(value));
}
public int IndexOf(Entity value)
{
return (List.IndexOf(value));
}
public void Insert(int index, Entity value)
{
List.Insert(index, value);
}
public void Remove(Entity value)
{
List.Remove(value);
}
public bool Contains(Entity value)
{
return (List.Contains(value));
}
public QBList<Entity> Clone()
{
QBList<Entity> list =
(QBList<Entity>)this.MemberwiseClone();
return list;
}
public Entity GetEntity(string keyName, object keyValue)
{
if (keyName.Length == 0)
return default(Entity);
Hashtable htFromList = GetHashTable(keyName);
if (htFromList.Count > 0)
return (Entity)htFromList[keyValue];
return default(Entity);
}
public Hashtable GetHashTable(string keyColumnName)
{
Hashtable htFromList = new Hashtable();
if (keyColumnName.Length != 0)
{
foreach (Entity entity in this.List)
{
PropertyInfo propertyInfo = typeof(Entity).GetProperty(keyColumnName);
if (null != propertyInfo)
{
Object propertyValue = propertyInfo.GetValue(entity, null);
if (null != propertyValue && !htFromList.ContainsKey(propertyValue))
htFromList.Add(propertyValue, entity);
}
}
}
return htFromList;
}
}
Instead of using Arrays or DataTables, I decided to make my own class, similar to Generic List class, derived from CollectionBase to use enriched methods of the parent class, plus my own customized functionality which suits current projects needs. Now before if move to the brain of the application i.e. RequestBroker.cs, I would prefer to explain how UI is working in this application. In that, first comes view vendor list screen:
Presentation Layer:
In this form I simply got a complete list of vendors present in the QB company file. Let’s take a look at the code responsible for that, you’ll be surprised to see the size of the code:
- The application name you add should be 100% same as the application name you give in your C# program.
- Select Ok and then close the QuickBooks.
- Open it again and then go to File menu and select Switch to Multi-user Mode.
- Now your company file is ready for external application access.
- Don’t close QB and try to test you application. QuickBooks will display a certificate dialog box when your application will first time attempt to access the company file. Select Allow in this dialog box, this will register your application’s name in QB for future access.
Note: Due to different version of Quickbooks, some programmers can’t see an “Add Application” button in above mentioned dialogue box. If you can’t see such a button, try skipping this step and move forward. Try running your .NET application while QB is still running, if connection is successful, QB will display a certificate for admin to approve. Approve that certificate and this will add your application in this list too.
So that’s pretty much it is. I hope code snippets and their line-by-line explanations and screenshots will help some programmer to find some solution to his/her assignment. If it does then please don’t forget to give me your feedback on this article.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Configuration;
namespace prjQuickBookIntegration
{
public partial class frmViewVendorList : Form
{
public frmViewVendorList()
{
InitializeComponent();
}
// Line numbers are marked for understanding the code and not the part of actual code
private void frmViewVendorList_Load(object sender, EventArgs e)
{
01 if (ConfigurationSettings.AppSettings[“QBFilePath”].Length > 0)
{
02 RequestBroker broker =
new RequestBroker(ConfigurationSettings.AppSettings[“QBFilePath”]);
03 QBOperationStatus opStatus = new QBOperationStatus();
04 this.grdVendors.DataSource = new QBList<Vendor>();
05 QBList<Vendor> qblVendor = broker.GetVendorList(ref opStatus, true);
06 this.grdVendors.DataSource = qblVendor;
07 if (opStatus.OperationResult == QBOperationResult.Succeeded)
08 this.txtResults.Text = qblVendor.Count.ToString() +
” records retrieved successfully.”;
09 else
10 this.txtResults.Text =
“Vendors could not be retrieved successfully.\r\n” +
opStatus.Message;
}
}
}
}
This is one of the advantages of having a multi-tiered logic of your application that most of the complex part of the application is divided and scattered among different tiers and code looks a lot simple. The first line (line 01) of frmViewVendorList_Load method is checking if app.config entry for the company file path is given or not. App.config entry looks something like this:
<add key=“QBFilePath“ value=“D:\shared\Wisdom.QBW“/>
After config entry is found, I’m instantiating the RequestBroker class by calling the constructor which takes file path as parameter (line 02). Third line (line 03), instantiates our QBOperationStatus class so that it can be used in the QB operation about to be performed next. After that (Line 04), I’m assigning an empty QBList of type Vendor to my grid control to erase all the previous data, if any, present in the grid. In design time I added columns in grdVendors; these columns point to different properties of the vendor class, see screenshot below:
Line 05, the heart of this method; calls the RequestBroker’s GetVendorList method and assigns the result to the QBList type list declared locally in this method. Line 06, sets the data source property of the grid to show the result set on the screen. Line 07 and onward are just the finishing touch of the method, checking the operation status, whether the operation was performed successfully or not. If the operation was, fortuitously, successfully performed then you’ll see the message in the text box below, with the number of vendors returned. In other case, however, you’ll get a message of failed operation along with its reason.
Data Access Layer:
I think now is the right time to see our RequestBroker class party-by-part. Request Broker class composes a struct called QBVersion. This structure is made basically for keeping the name of the country where the Quick book is installed, major and minor versions of the Quick book. The structure looks something like:
public struct QBVersion
{
public string country;
public short majorVersion;
public short minorVersion;
}
At the top of the RequestBroker.cs import some namespaces as follows:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Interop.QBFC7;
To use Interop.QBFC7 you need to add references of two interop libraries and your references folder should look like this:
That’s how RequestBroker class starts:
public class RequestBroker
{
public static QBVersion QBVersion;
public static string CompanyFilePath;
public static string ApplicationName;
private QBSessionManager sessionManager;
private StringBuilder requestBrokerLog = new StringBuilder();
private string logFilePath;
public string LogFilePath
{
get { return this.logFilePath; }
set { this.logFilePath = value; }
}
I’ve kept QBVersion, CompanyFilePath and ApplicationName as static because an application can access only one QuickBook file at a time thus all the instances of this class can easily share the information about Quick book and the company file. CompanyFilePath is the actual physical path of the quick book file through which data will be sent and received back and forth to the our application. ApplicationName is name of our application. The exact same name will be registered at QuickBook telling that our [application name] application needs to share some data with it and it should grant whenever there is a request to view or insert data from this application. SessionManager is the class which will open and close the sessions between our application and QuickBooks. For each transaction we need to create and then close such sessions. RequestBrokerLog and logFilePath are the variables used to log all the activities and transactions and their results done by our application with QB. Following are three overloaded constructors used:
/// <summary>
/// Default constructor sets the country, version and application name fields of the class
/// </summary>
public RequestBroker()
{
RequestBroker.QBVersion.country = “US”;
RequestBroker.QBVersion.majorVersion = 6;
RequestBroker.QBVersion.minorVersion = 0;
sessionManager = new QBSessionManager();
CompanyFilePath = @”D:\shared\Wisdom.QBW”; // Default path to company file
ApplicationName = “WITQBInterface”; // Default application name
}
public RequestBroker(string filePath)
: this()
{
CompanyFilePath = filePath.Length > 0 ? filePath.Trim() : string.Empty;
}
public RequestBroker(string country, short majorVersion, short minorVersion, string filePath, string applicationName)
{
if (country.Length > 0) RequestBroker.QBVersion.country = country;
if (majorVersion > 0) RequestBroker.QBVersion.majorVersion = majorVersion;
if (minorVersion > 0) RequestBroker.QBVersion.minorVersion = minorVersion;
sessionManager = new QBSessionManager();
if (filePath.Length > 0 && File.Exists(filePath)) CompanyFilePath = filePath;
if (filePath.Length > 0 && File.Exists(filePath)) this.logFilePath = filePath.Substring(0, filePath.LastIndexOf(“\\”) + 1) + “QBInterface.log”;
if (applicationName.Length > 0) ApplicationName = applicationName;
}
As you might have noticed our Vendor form uses only the second constructor which further calls the default constructor; the third constructor has been written for future use. More or less, all the constructors are performing the same task i.e. initializing and instantiating the data members of the class. Now comes the heart of this class; the method that actually gets data from Quick books.
/// <summary>
/// This method gets all the active vendors from QB matching given criteria
/// </summary>
/// <returns></returns>
// Line numbers are marked for understanding the code and not the part of actual code
public QBList<Vendor> GetVendorList(ref QBOperationStatus opStatus, bool completeInformation)
{
01 QBList<Vendor> qblVendor = new QBList<Vendor>();
try
{
02 opStatus = BeginSession();
03 if (opStatus.OperationResult == QBOperationResult.Succeeded)
{
04 IMsgSetRequest messageSet = CreateRequestMsgSet();
05 IVendorQuery vendorQuery = messageSet.AppendVendorQueryRq();
06 vendorQuery.ORVendorListQuery.VendorListFilter.ActiveStatus.SetValue(ENActiveStatus.asActiveOnly);
07 IMsgSetResponse responseSet = this.GetResponse(messageSet);
08 this.sessionManager.CloseConnection();
09 opStatus = GetResponseStatus(responseSet);
10 IResponse response;
11 ENResponseType responseType;
12 if (responseSet == null || responseSet.ResponseList == null)
opStatus.Message += “\r\n” + “responseSet is null.”;
else
{
13 for (int i = 0; i < responseSet.ResponseList.Count; i++)
{
14 response = responseSet.ResponseList.GetAt(i);
if (response == null || response.Detail == null)
continue;
15 if (response.Type == null)
opStatus.Message += “\r\n” + “responseType is null.”;
else
{
16 responseType = (ENResponseType)response.Type.GetValue();
17 if (responseType == ENResponseType.rtVendorQueryRs)
{
if (response.Detail == null)
opStatus.Message += “\r\n” + “response Detail is null.”;
else
{
18 IVendorRetList vendorList = (IVendorRetList)response.Detail;
19 for (int vendorIndex = 0; vendorIndex < vendorList.Count; vendorIndex++)
{
20 IVendorRet vendor = (IVendorRet)vendorList.GetAt(vendorIndex);
if (vendor != null)
{
21 Vendor iVendor = new Vendor();
22 iVendor.FillViewRequest(vendor, completeInformation);
23 qblVendor.Add(iVendor);
opStatus.Message += “\r\n” + “Vendor retrieved successfully.” + iVendor.Name;
}
}
}
}
}
}
}
}
}
catch (Exception ex)
{
opStatus.Message += “\r\n\r\n” + ex.Message;
}
finally
{
24 this.sessionManager.EndSession();
}
25 return qblVendor;
}
Now let’s quickly skim through this method line by line. Line 01 simply creates a QBList of vendors. Line 02 starts a session with QB. Method BeginSession() returns the result of session open attempt; if the session is successfully opened it will return our OperationStatus as successful; line 03 checks the same. Line 04 instantiates a message request object, this class is imported from namespace QBFC7. This object tells QB what kind of operation is about to be performed in this session. After message request object has been successfully instantiated, we’ll use this object to create a vendor query object with line 05. Line 06 sets the filter of the vendor query we just created. Currently I’m setting a very simple filter i.e. all the active vendors will be retrieved. Line 07 calls QB to actually get the list of vendors. responseSet object now contains all the vendor list. Line 08 closes the connection after the response has been received successfully. Line 09 gets the response status. Lines 10 and 11 are basically just references of IResponse and ResponseType and will be explained in short. Line 12 checks whether we received anything from QB in response to our query or not. If nothing was returned then we’ll simply display “responseSet is null.” Otherwise we’ll proceed to else block. In line 13 we’ll loop through each and every item in responseList object. Each item of responseList is a Vendor object, all we need to do is convert QB’s vendor object into our business vendor object. In line 14 we are getting the ith item of the list and seeing if it is null or not; if it’s null then just skip the rest of the part of the loop and iterate to next item. Line 15 is checking if the responseType has been set properly, if yes then in Line 16 I’m getting the response type, which according to my calculations should be VendorType. Line 17 is again checking whether the response type is correctly set or not. Too defensive programming, isn’t it? Trust me, its worth when you are dealing with QB. In line 18 I finally get the list of the vendors in IVendorRetList object. Now I’m ready to loop through this list and see how many vendors I’ve got. That’s what I’m doing on line 19. Interop QBFC7, is enriched with classes that can work for any kind of .NET programmer’s needs. For example IVendorRetList is for keeping the returned list of vendors from QB and to keep one vendor object at a time we have IVendorRet object. In line 20 I’m getting one vendor object from the list and in next line I’m checking if it’s not null then I’m good to get that interop library object into my business object. If I get a solid IVendorRet object in line 20 then in line 21 I instantiate my business object and in line 22 I call business object’s FillViewRequest (will be explained later) method to get all the information from IVendorRet object to my Vendor business object. In line 23, after I have the vendor object fully populated I can add it in my custom list object. After setting “successful message”, I’m closing the session in finally block in line 24 and line 25 returns the successfully created vendor list to form to be displayed in grid.
As I promised that I’ll explain FillViewRequest of vendor object so let’s see line-by-line how this method is working. Vendor class is populated with two overloaded FillViewRequest methods.
public void FillViewRequest(IVendorRet vendorReturn)
{
this.FillViewRequest(vendorReturn, true);
}
This method simply calls its big brother with a hard coded true parameter. And the big brother is as follows:
public void FillViewRequest(IVendorRet vendorReturn, bool completeInformation)
{
01 if (vendorReturn.Name != null)
02 this.name = vendorReturn.Name.GetValue();
03 if (completeInformation)
{
04 if (vendorReturn.CompanyName != null)
05 this.companyName = vendorReturn.CompanyName.GetValue();
if (vendorReturn.Phone != null)
this.phoneNumber = vendorReturn.Phone.GetValue();
if (vendorReturn.Fax != null)
this.faxNumber = vendorReturn.Fax.GetValue();
if (vendorReturn.Contact != null)
this.contactName = vendorReturn.Contact.GetValue();
if (vendorReturn.IsActive != null)
this.isActive = vendorReturn.IsActive.GetValue();
if (vendorReturn.VendorTypeRef != null && vendorReturn.VendorTypeRef.FullName != null)
this.type = vendorReturn.VendorTypeRef.FullName.GetValue();
}
}
The purpose of this method is to take IVendorRet object as a parameter and then convert and return it into our business object. For this purpose at line 01 I’m checking if Name property is not null (defensive programming, as usual), if not then I’m get its value in line 02. Line 03 is checking if complete information was requested then perform the similar procedure as we did in line 01 and 02 to get the values of all other properties. Line 04 and 05 is another example of doing the same.
We are pretty much done with understanding how this application works; the only thing that is left in this is how to add a new vendor in QB through our application and that I plan to explain in very near future. Now is the time I dwell upon the issues that you might face while setting up QB company file for giving rights to an external application to make CURD (Create, Update, Read and Delete) transactions to it. So before you download the code and start testing the application, there are a couple of settings in QB you need to make. For an external application to be successfully able to make CURD transactions these are the steps you need to follow:
-
Open company file in QB.
-
Go to File menu and select Switch to Single-user Mode as follows
-
Next thing you need to do is open Preferences dialog box by selecting View menu and then preferences.
-
In preferences dialog box select Integrated Applications.
-
In this dialog box select Company Preferences tab.
-
Uncheck both the checkboxes and Add an application name as follows
- The application name you add should be 100% same as the application name you give in your C# program.
- Select Ok and then close the QuickBooks.
- Open it again and then go to File menu and select Switch to Multi-user Mode.
- Now your company file is ready for external application access.
- Don’t close QB and try to test you application. QuickBooks will display a certificate dialog box when your application will first time attempt to access the company file. Select Allow in this dialog box, this will register your application’s name in QB for future access.
Note: Due to difference between versions of Quickbooks, some programmers don’t see an “Add Application” button in above mentioned dialogue box. If you can’t see such a button, try skipping that step and move forward to next steps. Try running your .NET application while QB is still running, if connection is successful, QB will display a certificate for admin to approve. Approve that certificate and this will add your application in the list of Approved Applications in your Quickbooks.
So that’s pretty much it is. I hope code snippets and their line-by-line explanations and screenshots will help some programmer to find some solution to his/her assignment. If it does then please don’t forget to give me your feedback on this article.
P.S. After reading this article if you are interested in knowing more about QuickBooks integration, and if you are interested in seeing how to add data in QuickBooks through .NET application, click here.
Its a very good article about .NET and Quick Books integration. Its difficult to find good articles on this topic and this one answers most of the basic questions for novice to professional users.
Thanks
Comment by Usman Ahmed — September 9, 2008 @ 9:19 pm
Hi, this is a great article. I am trying to accomplish a similar thing in
my environment. Can you please forward that zip file of this application
to my email. I would really appreciate for your help on this.
Thank you,
Vijay Nandivada
Comment by Vijay — August 4, 2009 @ 9:45 pm
Hi SIr,
I am also integrate quick books to desktop application. I have a problem , how can i connect to quick books file for retrieve data of quick books. Please provide me complete code of above code on my email id :- amitkumar51287@gmail.com
Comment by Amit Kumar — March 28, 2012 @ 2:04 pm
Amit, can you give me your hotmail or yahoo email address? i tried sending you the code on gmail but for some reason it’s failing.
Comment by Mukarram Mukhtar — March 30, 2012 @ 1:55 pm
Hi,
Can you please send me source file to my email address prabupep@gmail.com
Comment by prabupep — July 28, 2012 @ 9:50 am
Hi,This is nice article
please send complete sample application with zipped folder.
my mail id:mallareddy.amireddy@gmail.com
thanks,
Mallareddy
Comment by MallaReddy — June 11, 2013 @ 6:39 am
That was awesome. In-depth, easy to follow and to the point. Really appreciate that. Many thanks.
Comment by Shujaat — September 12, 2008 @ 10:45 am
this article was very helpful to me. thank you very much for writing such an easy and comprehensive article. saved a lot of my time.
Comment by khurram — September 12, 2008 @ 10:47 am
nice article, where is source code? i have QB with single user license; can i still connect my QB file to my windows .NET application?
Comment by Boris — September 15, 2008 @ 5:40 pm
Thanks for your comments everybody.
@ Boris: Yes you can connect your .NET application with single user licensed QB. But then the company file can be accessed by either your application or Quickbooks at a time. Consider your .qbw file as a database and by license only one user (Quickbooks or .NET application) at a time can access it. I hope that answers your question.
Comment by Mukarram Mukhtar — September 21, 2008 @ 10:36 am
Sir can u please give me its project becouse i tried lots of time to run as u metion but its generate error. if u give me project files so its might be
easy for me to undersatnd and use it.
thnx
zeeshan
Comment by Zeeshan — October 31, 2008 @ 4:36 am
i m using dotnet Framwork 2.0 and visual studio 2005 so have get lots of error when i build the project plz explain me as soon as u can . i want to create a application which get the date from sqlserver 2005 and using .net transfer in quickbooks and fatch data from quickbooks and transfer in seqlserver 2005 using .net . daily this process will be accure if u know any thing realted it plz help me i will be thnnx ful to u
plz provide me ur using email addres so it is easy for me to comunicate with u tnx
Zeeshan
Comment by Zeeshan — October 31, 2008 @ 5:23 am
i tried to open it but it does not run its generate the errror i m using visual studio 2005
Comment by zeeshan — October 31, 2008 @ 11:57 am
AOa
Mukarram
plx tell me how to cmunicate with quick book to .net
i want to sent vender and item data from .net framwork is 2.0 to Quickbook professional 2008. and also get the infromation from quickbooks and send to .net visual studio 2005 so please tell me which step i wil follow i asw ur inetgration code but it is not runiing it genrate error at session manager.
sessionManager = {Interop.QBFC7.QBSessionManagerClass}
QBXMLVersionsForSession = ‘((Interop.QBFC7.QBSessionManagerClass)(broker.sessionManager)).QBXMLVersionsForSession’ threw an exception of type ‘System.Runtime.InteropServices.COMException’
Error Mesasge is:
base {System.SystemException} = {”BeginSession method has not been called or it did not succeed.”}
ErrorCode = -2147220468
I have confustion at this position plz telll me what i will do
i m using sqlserver 2005 and visual studio 2005 .netframwork 2.0
i have install quickbooks 2008 professional .
i have ad referance files are
Interop.QBFC7
Interop.QBXMLRP2
this dll file was not avalible in 2.0 framwork so it did not add : System.Linq;
i m waiting ur response tnx
Comment by zeeshan — November 3, 2008 @ 5:25 am
A very good article.Just browsed it and soon I am going to dissect it.
I am a so called R n’ D champions!!
Hoping to use QB Online edition.
Let me know if you have any inputs.
Thanks a bunch
Comment by koms — November 4, 2008 @ 8:01 pm
Thanks Koms & Zeeshan.
@ Zeeshan
I have sent you an e-mail with attached zip file, it includes the .NET project which integrates with Quick Books. There are two win forms in this project; one simply displays list of vendors (form shown in the article above) and the other inserts a new vendor in QB. This is a 100% working application. Please read the code and try to understand what is going on in it and how you can modify to get it working for you. As I said in the article, this integration would be very challenging for developers; and there can be one of 100s of reasons that are failing your integration. For me it is not possible to answer questions of every individual on the web. I hope you would understand that.
@ Koms
You are most welcome to dissect it 🙂
Please let me know if you have any problems during this dissection; I’ll forward you the same zip as well.
Enjoy good programming, programmers…
Comment by Mukarram Mukhtar — November 4, 2008 @ 8:24 pm
Hi, this is a great article. I am trying to accomplish a similar thing in
my environment. Can you please forward that zip file of this application
to my email. I would really appreciate for your help on this.
Comment by jitin — February 19, 2010 @ 9:17 am
Mukarram,
Can u pls send me the zip files. (patil_komal@yahoo.com)Thanks
I was planning to use visual studio 2008(framework 3.5). What version did u use??
Comment by komal — November 4, 2008 @ 9:22 pm
Hi,
Can u pls send me the project zip files. (johariqbal@gmail.com)
Thanks
Comment by Johar — July 22, 2009 @ 10:06 am
Mukarram,
Can you please send me the zip files as well? (andrew@andrewhamilton.com)
I tried to build up the project from the code you provided but I must be missing something.
Thanks,
Andrew
Comment by mouserblitz — November 18, 2008 @ 4:59 am
Hi,
Can you Please send me the Project as a Zip file.
Email: talwindersinghbajwa@gmail.com
Thanks in Advance
Comment by Talwinder — July 28, 2010 @ 9:29 am
Hi,
Do you know how to connect to QB with .NET using web connector? I had tried to use QBFC and QBXML, i can get what i wish but i don;t really know how to connect to QB using web connector. Please advice.
Thank you.
Regards,
YB
Comment by yb — December 1, 2008 @ 6:09 am
@ Komal & Andrew: Project files have been sent to you; please let me know if you have any questions and don’t forget to give your feedback here in the comments section of the article.
@ YB: No idea about web connector. My project was, connecting QB with .NET over the LAN and after it was done I couldn’t get much chance to further explore it.
Comment by Mukarram Mukhtar — December 7, 2008 @ 3:00 pm
Please send me the code at the given Email address and Also told me that Can we export data from SQL Sever to Quick Books.Reply as soon as poosible.
Regards
Bilal
Comment by Bilal Jalil — December 15, 2008 @ 8:35 am
hey Mukarram,
Great Stuff, can you please send me the project files as well?
Thanks n regards,
Arshad Jamal
Comment by Arshad Jamal — December 16, 2008 @ 9:43 am
ey Mukarram plz tell me how we integrate sqlsever with quickBook.i want to transfer sql server database date into quickbooks.plz guide me.
(Send me Code or link to My Email Address) Javaidnazaim@hotmail.com
Comment by javaid — December 22, 2008 @ 3:38 pm
@ Bilal & Arshad: I’ve tried to send you the source code a couple of times but every time I send you the e-mail I get e-mail failure notice. Either type in your correct e-mail or give me an hotmail id.
@ Javaid: Project files have been sent to you; please let me know if you have any questions and don’t forget to give your feedback here in the comments section of the article.
Comment by Mukarram Mukhtar — December 23, 2008 @ 2:26 am
Hey Mukarram,
Thanks for trying to send email.
here is my hotmail id — aj_saifi@hotmail.com
regards,
arshad jamal
Comment by Arshad Jamal — January 12, 2009 @ 10:40 am
Hey I loved this article… in it you mentioned
“Most of the features, data members and public properties of this class are unused at this point but kept of later version in which I’ll show how to migrate data to and from QB and SQL Server database via stored procedures; so most of the sp*** data members will be used at that time.”
This is exactly what I am attempting and I was wondering if you have completed this article and/if you happen to have a working code example for it…
Thanks so much for taking the time for all of this… it has cleared A LOT up!!!
Sincerely
Ernie
Comment by Ernie — January 15, 2009 @ 3:52 am
I just read some of the responses… would you mind also sending me the zip file… I would greatly appreciate it
Thanks again
Ernie
Comment by Ernie — January 15, 2009 @ 6:26 am
Hi Mukarram,
Can you send me the code files at aaftab@svam.com. Aso please let me know the version of .net required as i read in your comments that .net 2005 is creating problems.
Thanks,
Aaftab
Comment by Aaftab — January 22, 2009 @ 3:09 pm
Hi,
Great article. I think, nobody has given complete article on this so far. Thanks a lot.
Could you please send me the project files?
Thanks in advance.
Ravikumar
pvsravikumar@yahoo.com
Comment by Ravikumar — February 2, 2009 @ 9:43 am
Hi
Can you send me the code files at cherukumalla@gmail.com
Comment by Srinivas Ch — February 2, 2009 @ 9:44 am
Why not attach the source files to this page? Thanks for sharing your solution, if possible please add me to the email list.
Comment by praet — February 12, 2009 @ 5:43 pm
@Praet: Dude I tried a couple of times to find a way of attaching a zip or rar file, containing project files, with this article but to no avail. If you know how to do it, please let me know. In the meantime, enjoy the code I sent you…
Comment by Mukarram Mukhtar — February 15, 2009 @ 5:47 am
Hello webmaster
I would like to share with you a link to your site
write me here preonrelt@mail.ru
Comment by Alexwebmaster — March 3, 2009 @ 11:55 am
Hi Mukaram,
I need to query the bills in QB using billQuery. I got the TxnID and EditSequence of the bill. How i should pass the value TxnID and EditSequence in BillQuery to get the bill?
Comment by RP — March 4, 2009 @ 1:12 pm
This is a great article. I have encountered many issues trying to navigate the same things. Do you have any more articles on this topic? Can I please get a copy of this project? My email is jbeerman7@hotmail.com. Thanks!
Comment by Jason — March 5, 2009 @ 7:50 pm
I would also appreciate it if you would send me the zip file. From reading the other comments I suppose I should also ask what version of .NET and Visual Studio you are using to create your app. Looking forward to the continuation of your posting. Are you still planning the addition?
Thanks very much for your efforts!
Comment by Curt — March 8, 2009 @ 3:34 am
@ RP: I have abso-bloomo-lutely No clue on this dude. Do you think this project’s source files would give you any help? I can send you a zip file (for free, really!) 🙂
@ Jason & Curt: I’ve sent you the zip file. Feel free to give me you feedback here (nobody ever does!)
@ RP, Jason, Curt: Fellas, I couldn’t get much chance to work in this field after I completed that project. And frankly, I didn’t enjoy much working with this integration. QB people ought to give some more programmer friendly APIs. So far I don’t plan to write more on this topic. A nice article on .NET authentication, however, is coming up soon; in case you are interested, stay tuned 😉
Comment by Mukarram Mukhtar — March 10, 2009 @ 2:44 am
Hi Mukaram,
awesome article. i’ve to integrate .NET with Quick Book. if you send me this project source then dat will be great help. ma mail address: samirmahmood_666@yahoo.com
thanx
Comment by LAMB OF GOD — April 2, 2009 @ 12:15 pm
Hello Mukaram,
I am actually working on a C# app. to integrate quickbooks with mysql database. I got the connection working between C# and mysql already but cannot figure out how to integrate C# with quickbooks. I have all the pre-requisites and wanted to ask you if you could send me the zip files as well via email. Thank you and awesome work.
Comment by Luluboy — April 7, 2009 @ 9:25 pm
Hi,
Great Article. I would like to appreciate your affort in writing this article. Great work. Can you please sent me the project code/files.
Thanks in Advance..
Comment by Baburam — April 17, 2009 @ 1:13 pm
Hello sir, I have studying MCA final year and doing project year. So, lots of doubt in my mind. Please clear my doubts and also give some way of working routes. My application contains customer, product and invoice then how to connect with QuickBooks. Please give one by one step and integrate the data’s finally creating an invoice. Please suggest me my questions.
Comment by Lakshmi — April 30, 2009 @ 9:42 am
Sir, I would appreciate if you send the code to me. Thanks in advance.
Comment by Dmitriy — May 3, 2009 @ 3:13 am
This is a great Article!
I have been looking for directions on how to integrate our in house application and this seems to be a great start
WOuld it be too much trouble to ask you to send me a copy of the test appliction you mentioned so I can work out a number of issues I am having?
Comment by Bill Gerold — May 7, 2009 @ 2:03 pm
Hi
can you please provide me the sourcecode for invoking the Quickbooks UI using .net2.0
Thanks
Chandra
Comment by chandrasekhar — May 12, 2009 @ 12:49 pm
For all my dear readers, following is an interesting correspondence with one of my readers. It has been sorted in descending order, last e-mail on top. I hope you’ll enjoy it:
________________________________________
Dude!!! Are you gonna do anything by yourself or you want me to spoon feed you on each step? 😀
________________________________________
Dear Mukarram,
You wanted feedback on your article. It is really helpful and friendly.
I have one little doubt though.
04 this.grdVendors.DataSource = new QBList();
05 QBList qblVendor = broker.GetVendorList(ref opStatus, true);
06 this.grdVendors.DataSource = qblVendor;
… After that (Line 04), I’m assigning an empty QBList of type Vendor to my grid control to erase all the previous data, if any, present in the grid…
Are you sure we need that? It seems that reassigning data source on line 06 clears all previous data. When I commented out the 04 line, and pressed the Get List button several times, the number of records in the grid didn’t change.
Can you suggest any materials on how to write checks using QuickBooks from my application (if it is possible at all), and how to update QB data file according to a SQL Server database?
I really appreciate your generous help.
Sincerely,
Dmitriy
________________________________________
Yes, that worked! Thank you so much!
Dmitriy
________________________________________
Can’t you see an “Add Application” button anywhere around this dialog box? As long as I remember there was a button which would let you add an application in this list but it will be hidden if your QB settings are different than as explained in the article. Since I don’t have a QB license any more, I can’t open a QB and look for this button for you. I would suggest, double-check that you’ve followed all the steps as explained in the article. After that, if you still can’t see such a button, try skipping this step and move forward. Try running your .NET application while QB is still running, if connection is successful, QB will display a certificate for admin to approve. Approve that certificate and this will add your application in this list too.
Hopefully that would help, let me know.
Regards,
Mukarram
________________________________________
Thank you very much!
You wrote:
“Uncheck both the checkboxes and Add an application name as follows”.
But the problem is that I don’t know how to add the application name. The empty list of such names seems to be disabled. Could you please tell me anything about that?
Thanks.
Dmitriy
________________________________________
Hi Dmitriy,
I’ve never seen this error before and therefore absolutely no idea about it. My guess would be, it’s related to access permissions in Quickbooks; and since surprisingly error message is also quite explanatory and programmer friendly, did you try giving your .NET application access rights on your QB file? Please see the last part of my article where I explain how to give these access rights. The part which starts from:
“Now is the time I dwell upon the issues that you might face while setting up QB company file for giving rights to an external application …”
Unfortunately I don’t have QB license any more; and menu options and dialoge boxes explained in the article might slightly differ from yours depending upon the QB version you are using. So on that part you are on your own 🙂
Hope that would help.
Happy programming!
Mukarram
________________________________________
Dear Mukarram,
Maybe you could answer one question.
After I ran your application, I received the following exception:
Connection opened successfully.
This application is unable to log into this QuickBooks company data file automatically. The QuickBooks administrator must grant permission for an automatic login through the Integrated Application preferences. If such permission was already granted, the administrator must revoke permission, save preferences, then grant the permission again.
Could you tell how I can solve this problem?
Thank you very much,
Sincerely,
Dmitriy
________________________________________
Hello Folks,
Attached herewith is the zip file that you requested, it includes the .NET project which integrates with Quick Books. There are two win forms in this project; one simply displays list of vendors (form shown in the article) and the other inserts a new vendor in QB. This is a 100% working application. I hope you’ll be able understand what is going on in it and see how you can customize it for yourself. I’ll wait for your feedback.
Thanks,
Mukarram
p.s. Sorry for the late reply baburam
Comment by Mukarram Mukhtar — May 15, 2009 @ 9:41 pm
Dear Mukarram
I was glad to see someone creating a clear and sharp knowledge solution.
I would like you contact me at my email. I would like to get your assistance on Quickbook integration.
Thanks in advance
Ran
Comment by Ran — May 28, 2009 @ 8:29 pm
Ran,
You can ask your question here; if you need the source code, please let me know.
Thanks
Comment by Mukarram Mukhtar — June 1, 2009 @ 7:48 pm
Hi can you pls send me the source code.. thank you..
mayil
Comment by Mayil — March 1, 2012 @ 6:37 am
Mayil, I’m unable to send you the e-mail. I keep on getting MAILER-DAEMON’s failure notice. Are you sure you’re typing in your e-mail address correctly?
Comment by Mukarram Mukhtar — March 1, 2012 @ 5:17 pm
Hi Mukarram Mukhtar,
Thanks for your reply.
I received your reply which says about the Failure notice in my mail inbox. Then I dont know the reason why you are not able to send me the source code…
Again, My mail ID is : mailtomayil@gmail.com
I am using Interop.QBFC11 assembly. The code: “opStatus = BeginSession();” not accepting. Can u tel me which class uses BeginSession() method. This method from the above assembly is void method.
BeginSession(string qbFile, ENOpenMode openMode)
But ur code says it should return some status like: opStatus = BeginSession();
pls resend me full the source code.
Thanks
Mayil
Comment by Mayil — March 2, 2012 @ 6:41 am
Can you give me your yahoo or hotmail e-mail id? Maybe that will work.
Comment by Mukarram Mukhtar — March 3, 2012 @ 1:47 am
My yahoo id mailtomayil@yahoo.co.in
Comment by mayil — March 3, 2012 @ 5:37 pm
Dear Mukarram,
Thank you for the informative article. I found it very useful. Can you please let me know when do you plan to publish the code that shows how to migrate data to and from QB and SQL Server database via stored procedures?
Thank you,
Charmen
Comment by Charmen — June 2, 2009 @ 3:03 pm
Charmen,
The project of data migration to and from QB and SQL Server is on top of my TODO list; however, I can’t give you an exact date at this point. What you can do is, subscriber to RSS feed of my home page; this way you’ll get an update whenever I’ll post that article.
Thanks
Comment by Mukarram Mukhtar — June 2, 2009 @ 4:16 pm
Hi Mukaram,
Great article. I also have to integrate .NET with Quick Books. I would greatly appreciate it if you could send the source as well.
Regards,
David
Comment by David Cohen — June 8, 2009 @ 8:53 pm
Great article. I also have to integrate .NET with Quick Books. I would greatly appreciate it if you could send the source as well.
mallesh.varri@gmail.com
Comment by Mallesh — June 24, 2009 @ 7:27 am
Mallesh, the e-mail id you provided is not valid. I tried sending you the source code but got a postmaster failure message.
Comment by Mukarram Mukhtar — June 24, 2009 @ 1:57 pm
Hi Mukhtar,
Iam glad you replied,Thanks a lot.Sorry for giving u the trouble.Here are my mailId’s
mallesh.varri@gmail.com
mallesh.varri@hotmail.com
malleshv@convene-tech.com
Plz try sending to these mail Id’s
Once again thanks a lot.
Comment by Mallesh — June 25, 2009 @ 5:19 am
Hi Mukarram. Nice article with deialed information. Can you send me the zip file at bcamca_deepak@yahoo.co.in. I want to build on the project.
Thanks and Regards
Deepak
Comment by Deepak — June 25, 2009 @ 11:29 am
Hi,
Can u pls send me the project zip files. (johariqbal@gmail.com)
Thanks
Comment by Johar — July 22, 2009 @ 10:25 am
Hi,
Can you please send me the source code.
thanks in advance
KHAN
Comment by Khan — July 22, 2009 @ 11:01 am
Hi Mukarram,
I need the source code for the my assignment, please share me the code.
thanking you
Scott
Comment by Scott — July 22, 2009 @ 11:56 am
Johar, Khan & Scott,
I tried sending you the source code but I received a postmaster failure message. My Hotmail account creates problems sometimes while sending e-mails to Gmail Ids; try giving me your Hotmail or Yahoo Ids.
-Mukarram
Comment by Mukarram Mukhtar — July 22, 2009 @ 12:15 pm
AOA,
try on this hotmailID
thanks
Khan
Comment by Scott — July 22, 2009 @ 12:26 pm
Oh so Johar, Khan and Scott, all 3 of them are actually one person? :-O
Man, you didn’t have to request for the source code by using different names 🙂 The source code is free for everyone; I would send you the code even if you tell me your name is Laaloo Parshad 😀
Comment by Mukarram Mukhtar — July 22, 2009 @ 1:19 pm
AOA,
Please send on this email:(johar.khan@hotmail.com)
thanks
Comment by Johar — July 22, 2009 @ 12:48 pm
Code is on its way Johar; please check your e-mail in a few minutes. If you don’t see my e-mail in next, let’s say 30 minutes, please let me know.
Comment by Mukarram Mukhtar — July 22, 2009 @ 1:21 pm
Thanks for sending me the code.
I am getting this error while running your application
Retrieving the COM class factory for component with CLSID {FC3C4882-C13E-46E7-96F1-CEE3133207B7} failed due to the following error: 80040154.
Please guide me
Comment by Johar — July 24, 2009 @ 4:36 am
Johar,
The source code I sent you was for reference and help. Albeit the application I sent you is a 100% working application, but if it is failing on your machine then please put some of your own effort to resolve it. It is really very difficult for me to trouble shoot everyones’ projects across the globe. I hope you would understand this.
Thanks,
Mukarram
Comment by Mukarram Mukhtar — July 24, 2009 @ 2:39 pm
Hi Mukarram,
I have to integrate my application with quickbook and im in trouble!!
It would be great help if you send me the source code.
Thanks
Samir Mahmood
Comment by Samir Mahmood — July 28, 2009 @ 8:49 am
Hi Mukarram,
my add: samirmahmood_666@yahoo.com
Thanks
Samir Mahmood
Comment by Samir Mahmood — July 28, 2009 @ 8:53 am
Hi Mukarram,
Nice and rare article on QuickBooks integration. The explanation of topic is also in a neat manner.
I have just started working with QuickBooks. Found this article while googling for tutorials on it, somehow landed on your page and couldn’t leave this page without giving a feedback. Really great job.
By the way, can you please send the code files to me too?
My id is pranav(dot)net(at)live(dot)in
Keep Going…
All the very best!
Best Regards,
Pranav Ainavolu
Comment by Pranav — July 31, 2009 @ 8:08 am
Thanks Mukarram for the explanation
Could you please send me the complete code to my email j4v4jive@yahoo.com
Thanks in advance
Comment by John — August 3, 2009 @ 8:19 pm
hi,
this is very good article. I am trying to accomplish the same.
Can you please forward me that code .zip file to my email address
which would be a very great help for me.
Thank you,
Vijay
Comment by Vijay — August 4, 2009 @ 10:00 pm
Vijay,
For some bizarre reason I’m unable to send e-mail from my hotmail id to google addresses. Give me your hotmail or yahoo id so that I can send you the zip file.
Thanks,
Mukarram
Comment by Mukarram Mukhtar — August 5, 2009 @ 12:10 am
hello,
can u mail the source code of the above to the id shanaj.ml@gmail.com . Its not working for me. Please.
thanks
Comment by Shan — August 10, 2009 @ 11:22 am
hai,
can u mail me the source code . My yahoo id is shanaj_ml2000@yahoo.com
Thanks
Comment by Shan — August 10, 2009 @ 1:23 pm
Hello Everybody,
I can’t send e-mails to gmail address so IF YOU NEED THE SOURCE CODE, GIVE ME YOUR HOTMAIL OR YAHOO ID.
Thanks…
Comment by Mukarram Mukhtar — August 10, 2009 @ 5:55 pm
i guess you have your .net application and QB on the same machine, so this code works perfectly well for you.
i need to do it remotely. how do i achieve that. the QBW file that i wish to access is sitting on 1 server and my .net application is on another server.
Also i understand if you switch the account to multi – user, QB can be used simultaneously by my .net application and the person who is trying to insert some information in QB. Correct ?
Any help would be appreciated.
Thanks,
Soniya.
Comment by soniya — October 8, 2009 @ 8:12 pm
Both of your assumptions are accurate. I’ve connected my .NET application with a QBW file not only when QBW file was on the same machine but also over LAN and VPN. So as long as there are no network access problems or no folder access rights issues, you should be able to connect remotely. Regarding multi-user, yes, .NET application and any other users can access QBW file simultaneously in multi-user mode. First let QBW file allow the application to access it, as explained in the last section of my blog. Once QBW file recognizes .NET application as an authorized application, then the application is just like any other user accessing the QBW file. I hope that answers your question.
Comment by Mukarram Mukhtar — October 9, 2009 @ 1:57 pm
Have you worked on fetching the sales order query.
I am unable to find some fields in it.
Can you please help me understand the IDN OSR !!
Please email me back at soniyaw@yahoo.com
Thanks,
Soniya.
Comment by soniya — October 14, 2009 @ 9:34 pm
This is wonderful! Can you send the source to this account: jaredh@redmondinc.com
Comment by Jared — October 15, 2009 @ 2:50 am
@ Jared: Source code sent!
@ Soniya: Sorry buddy, I’ve absolutely no idea of IDN OSR…
Comment by Mukarram Mukhtar — October 15, 2009 @ 3:21 pm
Hi Mukarram Sir,
I think you have done an excellent job.I wonder how much dedication you put for this post.I am sure all developers will take it as a complete reference.Great job!!!!!!
Please send me the zipped project file as I am getting some error when i attempt to implement the same.
Can I use QB trial version for a test?.If QB trial is available,please give the link to download it.
Thanks a lot and best regards,
Binto Thomas
Comment by Binto — October 30, 2009 @ 8:04 am
meet.binto@gmail.com is a wrong e-mail address, I’m receiving e-mail failure notice.
Comment by Mukarram Mukhtar — October 30, 2009 @ 2:14 pm
I appreciate your effort for my request.
you can mail me to meet.binto@gmail.com or meet.binto@yahoo.com.
meet.binto@gmail.com is actually valid and I have been using since 5 years.
Thanks & Regards
Binto Thomas
Comment by Binto — November 3, 2009 @ 4:42 am
Thanks a lot for the effort taken for me.Actually meet.binto@gmail.com is valid since 5 years.You can mail me to meet.binto@gmail.com or meet.binto@yahoo.com
Thanks & Regards,
Binto Thomas
Comment by Binto — November 3, 2009 @ 4:49 am
The source code is great!
It is important to tune QBVersion in the RequestVendor.cs file in order to achieve connectivity. I’m using a later version of Quick Books, for example, so I needed to set my attributes to:
RequestEmployee.QBVersion.country = “US”;
RequestEmployee.QBVersion.majorVersion = 8;
RequestEmployee.QBVersion.minorVersion = 0;
Sir, do you have examples of using stored procedures to talk to a database? I would like very much to see how something like spName works, for example. Or if anyone knows about an informative website?
Thank you, again, for your hard work and wonderful examples!
Comment by Jared — November 3, 2009 @ 6:09 am
@ Binto: It seems your yahoo e-mail id worked. Let me know if you still didn’t get it.
@ Jared: Right now I don’t know about any web link which does the task you mentioned. I’ll keep on looking and will let you know if I find anything good.
Comment by Mukarram Mukhtar — November 3, 2009 @ 2:38 pm
Mukarram:Thank you very much for your response around at
such a lightening speed.I expect you will help me,if I require any assistance in building up the project.Once again thanks a lot.
Comment by Binto — November 4, 2009 @ 4:21 am
Dear Mukarram Mukhtar,
ur source is so great!
If possible, I wanna get ur source code.
thanks,
SuMay
Comment by SuMay — November 4, 2009 @ 8:11 am
Dear Mukarram,
Great Stuff, can you please send me the project files as well?
My id
shwe713@gmail.com
shwetadhake@rediffmail.com
Comment by shweta — November 4, 2009 @ 11:36 am
Your code is quite good can u mail me the code for the same My id is rameez7585@yahoo.co.in
Thanks
Comment by Rameez — December 9, 2009 @ 10:33 am
Your code is quite good can u mail me the code for the same My id is binkoshy2@gmail.com.
Thanks
Comment by Binu — December 22, 2009 @ 6:57 am
binkoshy2@gmail.com is an invalid e-mail address, I’m getting ‘mail delivery failed’ notice.
Comment by Mukarram Mukhtar — December 22, 2009 @ 4:46 pm
Dear Mukarram, I also have to integrate QB with C#.net in my web app. So, can u pls send me the source code? It’ll be much help
Comment by Istiaq Ahmed — January 13, 2010 @ 9:18 am
oh i forgot to mention my email @: prantor_23@yahoo.com
Comment by Istiaq Ahmed — January 13, 2010 @ 9:20 am
Hi Mukarram,
I have found your article very helpful, but am having trouble getting a working example.
Would it be possible to email me the zip files for the solution to my email address above?
Comment by Joel — January 18, 2010 @ 10:31 pm
this is very good article and your effort is appreciable. I am trying to accomplish the same.
Can you please forward me that code .zip file to my email address
Comment by Thanu K — January 27, 2010 @ 3:55 am
sorry i forgot to mention my email thanukk@yahoo.com
Comment by Thanu K — January 27, 2010 @ 3:57 am
Great article!
Can you forward source code to my email bavna14@yahoo.com
Comment by bavna — January 31, 2010 @ 2:49 pm
very Interesting and .. helpful .. thank you for your great work
Comment by Ganesh — February 1, 2010 @ 6:15 am
Hello Everybody,
I sincerely thank you all for your appreciation and positive feedbacks. Like always, please do not hesitate asking me for any kind of help related to my articles. Regarding making source code automatically downloadable, as much as myself want to make this possible, unfortunately, I’m unable to find any way in wordpress domain to achieve it. Please continue asking for source code that I can forward to your e-mail addresses.
Again, thank you all for your comments and all who thanked me for writing these articles, you are always most welcome 🙂
Best regards,
Mukarram
Comment by Mukarram Mukhtar — February 1, 2010 @ 2:16 pm
thanks for your work. it is very help! could you send me the project files to danewbie@yahoo.com
Comment by Dan Ewbie — August 3, 2010 @ 11:33 pm
good work! It is very helpful. Could you send project files to danewbie@yahoo.com?
Comment by Dan Ewbie — August 4, 2010 @ 2:23 am
Can you please forward source code to my email gknaravi@gmail.com
thanks in advance 🙂
Comment by Ganesh — February 2, 2010 @ 9:33 am
Oopss! gknaravi@gmail.com is a wrong e-mail id; every time I try to send you the source code, I get failure notice.
Comment by Mukarram Mukhtar — February 2, 2010 @ 2:53 pm
Dear Mukarram,
Nice article..
Can u email the project files to ‘jazeel123@hotmail.com’ or jazeelkm@yahoo.co.in‘
Thanks
Jaz
Comment by Jazeel — March 16, 2010 @ 8:47 am
Hello Mukarram,
Could you please email both quickbooks projects if possable to p_cusickATyahooDOTcom
Also I only have Quickbook simple Start 10 for testing would that work or will I need to download a demo version?
Thank
PQSIK
Comment by PQSIK — March 16, 2010 @ 8:38 pm
Dear Mukarram,
Nice Article
Could you email the project files to ‘srinu.gandla@gmail.com’
Thanks
srinivas
Comment by Srinu — March 17, 2010 @ 7:03 am
Srinu, I tried sending you the email but got ‘Email Failure’ notice because SMTP server couldn’t find your id.
Comment by Mukarram Mukhtar — March 18, 2010 @ 7:11 pm
it has problem with connection and also beginsession() function does not work..its defination does,nt given
Comment by sadia — April 9, 2010 @ 9:37 am
kindly send me source code at this id.ssarwar16@yahoo.com
Comment by sadia — April 9, 2010 @ 10:35 am
kindly send me the souce code at chuchabrown@yahoo.com.
Thanks,
Comment by chucha — April 11, 2010 @ 3:47 pm
it’s great posting, this is all I need.
kindly send me the source code at this email id transcore_e@hotmail.com.
thanks in advance.
Comment by Transcore — May 3, 2010 @ 4:30 am
Hi Mukarram,
Would you please send me your code?
My email: trendepru@yahoo.com
Thanks,
Dung Nguyen
Comment by Dung Nguyen — July 5, 2010 @ 8:03 am
Hi Can you please send me the code, I am in much needed ra@mtccrm.com or rakesh.raipur@gmail.com
I liked the way you have explained the things.
Its relly cool yar
Comment by rakesh agarwal — July 24, 2010 @ 10:51 am
HI Can you send me code on the following mail id
khajamohiddins@hotmail.com
Regards
Khaja
Comment by Khaja — July 26, 2010 @ 11:35 am
Hi,
Can you Please send me the Project.
Thanks in Advance
Comment by Talwinder — July 28, 2010 @ 9:31 am
talwindersinghbajw@gmail.com
Comment by Talwinder — July 28, 2010 @ 9:37 am
The e-mail id you gave is wrong, Talwinder. I’m getting mail sending failure message.
Comment by Mukarram Mukhtar — July 28, 2010 @ 2:09 pm
I would also like a copy of the project. Thanks
Comment by Bob Mercier — July 31, 2010 @ 8:35 pm
Hi,
Could you please send me the code base for this?
Thanks,
Santosh.
Comment by santosh — August 16, 2010 @ 4:13 pm
Hi ,
Could you send me code at santosh_rec@yahoo.com
Comment by santosh — August 16, 2010 @ 4:14 pm
Hi there, could you forward me the code as well to erikhome@hotmail.com ? Thanks for posting this!! 🙂
Comment by erik — August 26, 2010 @ 1:18 am
I like your article, it’s great…
could you email me the code? My email is edgardoalexiscorrea@hotmail.com
thanks for everything 😀
Comment by Edgardo — August 26, 2010 @ 8:37 pm
Great Article for QuickBook Integration. Can you send me the source code for this article?
My e-mail ID is pinky_1863@yahoo.co.in
Comment by Pinky Patel — August 27, 2010 @ 2:35 pm
Can you please send me the source code.
Comment by Ajit Sanghera — September 17, 2010 @ 7:59 am
Send me the source code on ajit@esoftech.com or sangheraajit@yahoo.com
Comment by Ajit Sanghera — October 11, 2010 @ 6:37 am
Can you please send me the source code
Comment by Ajit Sanghera — December 3, 2010 @ 11:31 am
Can you please send me then source code @ g.k.venkata@hotmail.com
Thanks a lot.
Comment by venkata — September 28, 2010 @ 6:08 pm
Ajit & Venkata,
I tried to send e-mails to both of you but I got an “e-mail failure” message that the e-mail addresses you gave are invalid. Too bad you guys can’t even type your e-mails correct.
Thanks,
Mukarram
Comment by Mukarram Mukhtar — September 29, 2010 @ 1:48 pm
I’ve been recently tasked to pull data from quickbooks and provide projections via excelspreads.
any chance you can forward the code?
it would be a big help!
Comment by Joe — October 8, 2010 @ 5:16 pm
Great article. It’s the first one I see with quickbooks and .net application.
Can you send me this example please. It would be very appreciate.
sstgelais@pcp-canada.com
Comment by Tommy — October 8, 2010 @ 3:57 pm
thank you very much for the source code of this project. It will be very usefull.
Comment by Tommy — October 12, 2010 @ 2:51 pm
you are very welcome, happy programming! 🙂
Comment by Mukarram Mukhtar — October 12, 2010 @ 6:17 pm
I like your artical.I have also integrate .Net application with quickBooks.Can you provide me source code on anant.radadia@gmail.com.It would be very appreciate.
Comment by anant — October 21, 2010 @ 8:03 pm
very Nice article
Can you provide me source code on debajyoti2005in@gmail.com.It would be very appreciate.
Comment by Debajyoti — November 8, 2010 @ 11:28 am
hello Mukarram,
this really a nice article but i have some problem regarding to this .i’ am very new to the quickbook .my problem is that i want to integrate quick book with .net from my system.the quickbook resides on server.so how can i do this? pls guide me if you can.
thanks.
Comment by Neha — December 15, 2010 @ 4:46 am
will you please mail your code me on neoneha.mathur@gmail.com
i want to see that if it help me out in understanding this quickbook integration with .net.
Comment by Neha — December 15, 2010 @ 8:17 am
Please send me the source code for this example on vasanvas@mail.ru.
I write a program to work with data collection terminals with one hand and a QuickBooks files on the other hand.
I’m using Framework 3.5, VB.Net and VisualStudio 2008.
Thanks for advance…
Comment by Andrey — January 8, 2011 @ 11:50 am
that’s great Mr.
if u can send me the source code for this application as i need to integrate my web application with multi quick book’s clients to insert invoices in their quick book
Comment by Mahmoud — February 15, 2011 @ 3:57 pm
Mukarram,
would greatly appreciate if you could send me the source code of your sample application.
Thanks in Advance
Ali
Comment by Ali — February 17, 2011 @ 7:41 am
would greatly appreciate if you could send me the source code of your sample application.
Comment by Mitesh — May 17, 2011 @ 6:00 am
Could you please send the source? I’m still having problems. Thanks!
Comment by Luis — May 30, 2011 @ 7:29 pm
hi please send me the source code..
Comment by sundar — June 8, 2011 @ 10:22 am
33.I have been following both your tutorials on connecting to quickbooks. Please can you send me the source code. Here is my email address thindo@yahoo.com
Comment by thindo — June 13, 2011 @ 4:11 am
hello
can u send me the source code
my email id is ashu.sajwan@gmail.com
and yahoo id is ashu_cool490@yahoo.co.in
Ashish sajwan
Comment by ashish sajwan — June 21, 2011 @ 6:53 am
already sent it to you, do you want me to send it again?
Comment by Mukarram Mukhtar — June 21, 2011 @ 2:05 pm
Hi Great articles please can u send me the Source Code
Comment by Faraz — July 4, 2011 @ 11:48 am
Can I also get the source code zip file. Appreciate your time and effort.
Thanks!
Muthu Annamalai
Comment by Muthu Annamalai — July 5, 2011 @ 1:37 am
can you please send code for article. very nice. my email is edsmith.21@gmail.com
Comment by ed — July 7, 2011 @ 8:07 pm
Nice Article
I just want to know that is it web application or window application which you integrated with quickbook?
thanks and regards,
Dipti Chalke
Comment by Dipti Chalke — July 16, 2011 @ 12:59 pm
windows application.
Comment by Mukarram Mukhtar — July 18, 2011 @ 4:36 pm
Hi, nice article, is it possible to obtain a zipped copy of your source code?
my email: romea80@gmail.com
many thanks!
Comment by akyatbahay — August 8, 2011 @ 3:29 pm
Hi,
Can u please send the code to smk.mercy@gmail.com
Comment by Mercy — August 10, 2011 @ 8:11 am
hi
Comment by kunni — August 10, 2011 @ 8:29 am
Hi,
Can u send the source code to smk.mercy@gmail.com
Thanks,
Mercy
Comment by kunni — August 10, 2011 @ 8:39 am
Could you send source code to : sarith_mic@yahoo.com,
Thank u very much
Comment by sarith — August 13, 2011 @ 8:48 am
I’m using Framework 3.5, VB.Net and VisualStudio 2008. Could you send source code to toh.sarith@gmail.com
Comment by Sarith — August 13, 2011 @ 8:50 am
Great article! Would you please send the source code to leslievp74@yahoo.com? Thanks.
Comment by Leslie Van Parys — August 20, 2011 @ 9:39 pm
can you please send me the source code to raghavendraprasadb@hotmail.com
Thanks in advance,
Raghu
Comment by raghu — August 22, 2011 @ 9:10 am
I have created the connection with QB and able to access the invoice in the QB. When i try to debug in .net i got erro like
“This application is not allowed to log into this QuickBooks company data file automatically. The QuickBooks administrator can grant permission for an automatic login through the Integrated Application preferences.”
But i can access the invoice withour running debug. Can you please help me
Comment by Anandakumar — August 22, 2011 @ 9:57 am
Hi Guys,
I have integrated the quickbook with C# application. Any one need help please contact me at anandakumar.hc@payoda.com
Comment by Anandakumar — August 23, 2011 @ 4:22 am
Dear Mukarram,
Nice article.
Can you please forward source code to my email reda_mechtri@msn.com
thanks in advance
Comment by Reda — August 25, 2011 @ 6:23 pm
Can you mail me source code. Because in vendor class IVendorRet show assembly reference not found
Comment by manish — September 8, 2011 @ 3:19 pm
Manish, no please, no thank you, no praise of the article? Why don’t you ask one more time, and I’ll be more than happy to forward you the code, if it meets my nicely-asked criteria 😉
Comment by Mukarram Mukhtar — September 8, 2011 @ 3:30 pm
sir i am a beginner..
my boss is given me a task to integrated quickbook app withi C# .net application.
I don’t know how to prepare quickbook but i had good knowledge of C#..
Can you give me a demo with screenshot that how to run the simple application…
Pls. sir help me its
Thanks…
Comment by Rohit Kesharwani — September 9, 2011 @ 11:47 am
So you think the screenshots and the demo in the above article are not good enough?
Comment by Mukarram Mukhtar — September 9, 2011 @ 2:03 pm
I have sdk Quickbook10.0 but i do not have a quick book software…. give me a link from where i can download and use it successfully.
thanks.
Comment by Rohit Kesharwani — September 9, 2011 @ 11:50 am
You can download Free Trial version Quickbooks from the following link. But in order to get a professional version you’ll have to buy it. Probably your boss needs to spend some $$$ on that.
http://search2.quickbooks.com/quickbooks/t5_t4.html?priorityCode=4902000000&pn_override=SearchRC_landing_gen&site=&adgroup=General_QuickBooks&ad_id=5324392328&sc=BNR-000-COR-quickbooks_Exact&raw_keyword=QuickBooks&cid=ppc_google_QB-Intuit-Core-Brand_quickbooks_exact
Comment by Mukarram Mukhtar — September 9, 2011 @ 2:04 pm
This blog is wonderful. There is generally all the correct information and facts at the guidelines of my fingers. Thank you and maintain up the excellent work!
Comment by Danyell Lautz — September 11, 2011 @ 11:40 pm
Thanks for your appreciation Danyell 🙂
Comment by Mukarram Mukhtar — September 12, 2011 @ 1:44 pm
Hi Mukarram,
Can you, please, sind me .zip file with your demo application? Thank you. I appreciate your help
Comment by Vlad — September 12, 2011 @ 5:06 pm
I also, think this is great article…I am using VS 2010 and would be very appreciative if you would provide me with demo app that you are describing here….
-Vlad
Comment by Vlad — September 12, 2011 @ 5:18 pm
Hi,
Great work and great article. I would like to appreciate your effort in writing this article. Can you please sent me the project code/files.
Thanks in Advance..
Comment by Baburam — September 21, 2011 @ 11:59 am
Great work….!!!
Please send me source on my mail id –
ankur.kalavadia at billcall.net
adkalavadia at gmail.com
Thanks in advance…..Keep it up.
Comment by Ankur Kalavadia — October 8, 2011 @ 5:45 am
great article. this will give clear idea about the quickbook integration.
Please send me the source on my mail id.
mohankmr86@yahoo.com.
thanks in advance.
Comment by Mohan — October 15, 2011 @ 5:03 am
Hi, I have similar requirement as above mentioned. Can you please send the source code to me.
My email ID is rajendra84prasad@gmail.com
Thanks
Comment by Rajendra — October 27, 2011 @ 9:36 am
Hi, I have similar requirement as above mentioned. Can you please send the source code to me.
My email ID is jdp221@comcast.net
I have been killing my self trying to find info on the web. This is a great article. Great job!
Thank you in advance for sending.
Comment by Jay Patel — November 3, 2011 @ 11:29 pm
I would also like the code file if possible, nguyenjg AT gmail.com
Thanks.. great article
Comment by jgnguyen — November 22, 2011 @ 11:48 am
Can you please send the source code to me.
My email ID is nishaverma.acs@gmail.com
Comment by nisha — December 22, 2011 @ 6:15 am
Nisha and Jgnguyen, I tried to send you the source file but I got Failure Notice on your e-mail addresses. Type your e-mail ids carefully, can you?
Comment by Mukarram Mukhtar — December 22, 2011 @ 8:08 pm
that is the correct email nguyenjg is the email address with (gmail.com) domain
thanks again.
Comment by jgnguyen — December 22, 2011 @ 8:23 pm
how to get to know invoices is paid or not programmatic using c#
Can u please provide code for this. and sample program.
Comment by ummer — December 24, 2011 @ 12:14 am
Very good article Mukarram Mukhtar. From the last three days i am trying to connect to QB. This article is very heplfull to me. Sharing your knowlwdge is very good Mukarram Mukhtar. you done a very good job and helping the people like me. can u please send me the source code so that i can able to implement this task very easily. My email id: bhanuprakash1207@gmail.com
Thanks in advance Mukarram Mukhtar.
Comment by bhanu prakash — December 24, 2011 @ 7:16 am
Very good work. Can you please send me the source code. My email ID: bprakash1207@gmail.com
Thanks in advance.
Comment by prakash — December 25, 2011 @ 8:10 am
Very good article. Can you please send me the source code. Email: trustfully11@gmail.com
Thanks…
Comment by David R — January 8, 2012 @ 3:26 pm
Can you please share the source code. My email id rajendra84prasad@gmail.com
Thaks,
Rajendra.
Comment by Rajendra — January 10, 2012 @ 9:24 am
Good article with layered structure.can u please send me the source code to my mailid:srikanthreddy.gandluri@gmail.com
Comment by Srikanth — January 11, 2012 @ 9:00 am
David and Srikanth, I’m getting E-mail Sending Failure notice when I try to send you guys the source code.
Comment by Mukarram Mukhtar — January 11, 2012 @ 6:29 pm
Good article, This is what I was looking for. Can you please send me the source code. My mail id is kpsamad@gmail.com.
Thanks in advance.
Comment by Abdul Samad — January 24, 2012 @ 1:43 pm
Very helpful article. Can I have a copy of your source code? My email add is marithe.2386@gmail.com
Thank you so much! 🙂
Comment by Marie — February 17, 2012 @ 3:05 pm
Hi, I am trying to integrate QuickBooks to .NET application(Windows). Your article is much helpful. Can u send whole source code to my mail id.
Comment by Mayil — February 28, 2012 @ 11:59 am
Awesome man! You have done a great job yar! Your efforts of sharing knowledge should be definitely appreciated 🙂
Please share me the source code to my mail ID jay (at) proteam (dot) in
Comment by Jayasankar.N — February 28, 2012 @ 5:14 pm
Jay, I’m unable to send you the e-mail. I keep on getting MAILER-DAEMON’s failure notice. Are you sure you’re typing in your e-mail address correctly?
Comment by Mukarram Mukhtar — March 1, 2012 @ 5:17 pm
Hello,
I am a beginner and I need your source file. Can you please provide me at pranav.rajyaguru@gmail.com.
Thanks in advanced…
Pranav
Comment by Pranav Rajyaguru — April 2, 2012 @ 3:38 pm
Just the perfect thing which I was looking for. Great work ! .
Please share the source code with me at disha07@live.com.
Thanks in advance ! 🙂
Comment by Disha — April 23, 2012 @ 4:53 pm
Good article with layered structure.can u please send me the source code to my mailid: srikanthfanz@gmail.com
Comment by Srikanth — April 30, 2012 @ 9:39 am
I am getting error for CreateRequestMsgSet , GetResponse , GetResponseStatus in RequestBroker.cs class. Error says that “doesn’t contain definition” I have included all references and assembly files as said in above tutorial but these three errors are stopping to move on. if anyone know about the solution please send me at alihassan@greypole.com . Thanks in Advance.
Comment by Ali Hassan — May 7, 2012 @ 7:33 am
Good article with layered structure.can u please send me the source code to my mailid: pet_a_007@yahoo.com
Comment by Crux Cracker — May 9, 2012 @ 9:59 am
Hi Mukarram, This is very nice article, i am new to quickbooks and don’t having idea about it. I want to integrate quickbooks and interact with asp.net application. Can you please provide me any sample app code..
Comment by Priyanka — May 11, 2012 @ 10:45 am
Hi…Thanks for posting such a nice article. Can you please send me the code file as well at vivekpro26@gmail.com…Thanks in advance…
Comment by Vivek — June 25, 2012 @ 7:15 am
Hi Mukarram, nice detailed article can you provide me with your source code. I look forward to integrating it with QB. Thanks in advance @ rt.trevino@gmail.com
Comment by Ricardo — July 3, 2012 @ 4:10 am
Very nice article. Can you please forward that zip file of this application
to my email. I would really appreciate.
temp@dmhone.com
Thanks
Comment by Mike — July 3, 2012 @ 8:24 pm
Hi, This looks perfect can you provide me with the source code at rt.trevino@gmail.com.. Thanks
Comment by RT — July 5, 2012 @ 12:45 am
Hi Mukarram, nice detailed article can you provide me with your source code. I look forward to integrating it with QB. Thanks in advance @ v_alex91@yahoo.com
Comment by Alex — July 30, 2012 @ 12:33 pm
Hi Mukarram, Great article you have here. I have been researching on how to integrate QB to our .NET apps and this seems to answer it. Can you send me the project file. Your response is greatly appreciated.
Comment by Roger Kelly — August 1, 2012 @ 9:59 pm
Hi Mukarram, I appreciate your great work on this. Please send me a copy of your source code at rogerny10@yahoo.com. Thanks in advance.
Comment by Roger — August 3, 2012 @ 5:44 pm
Hi Mukarram, Great article you have here, just what I am looking for. Kindly send me the source code to my email at rogerny10@yahoo.com, please.
Comment by Roger kelly — August 6, 2012 @ 2:45 pm
Hi Mukarram, Please send me a copy of your source code at cool_dude7289@yahoo.com
. Thanks in advance.
Comment by mark — August 11, 2012 @ 6:37 am
Hi Mukarram, this is a very informative article.Can you send me a copy the source code to
stevekaiy@gmail.com
steve@kaiynetconsulting.com
thanx.
Comment by Steve Kagiri — August 15, 2012 @ 10:04 am
I haveto integrate my c# asp.net application with quickbooks.can we pull data from web application data and display in quickbooks?
Comment by RA — August 31, 2012 @ 2:50 am
Hi, This is a great article. Can you please send me a copy of the source code to craju11@gmail.com
Comment by chandra — September 18, 2012 @ 10:30 pm
Assalamoalikum, Can you send me that code at mather2002@hotmail.com
Comment by Ather Abbas — September 21, 2012 @ 6:34 pm
Cannot Create QBXMlRP2 COM component.
How to resolve this error?
Comment by dev — November 1, 2012 @ 10:59 am
Hi Mukkaram,
Thank you for that information. Would you please send source code to: suemcneel@comcas.net
Comment by Susette — November 2, 2012 @ 4:49 am
Sorry I misspelled my email on the previous post.
Comment by Susette — November 2, 2012 @ 4:50 am
Excellent Article!!! Can you please send me article to my email address
Comment by Gurbetteyim — November 25, 2012 @ 5:16 am
Sorry I meant source code please/
Comment by Gurbetteyim — November 25, 2012 @ 5:16 am
Very nicely written article… Please can you send the source code to hoseki210@gmail.com
Comment by Sunder — December 3, 2012 @ 5:19 pm
Hi..thank u for this excellent article. i’ve been banging my head to the computer for it.
Can u please send the zip file for this project to ramna.kumar@gmail.com
Thanks in Advance!
Comment by Ramana — December 4, 2012 @ 6:46 am
very nice post …I want to integrate quick books in windows application using c sharp …please can you send the source code to suresh@ Wesgrow.com
thanks in advance
Comment by Suresh Kutty — December 4, 2012 @ 5:26 pm
Excellent. Very nicely written. Very nicely structured. Not only the 3 tier architecture is great but the way you have structured the classes is wonderful. You have paid great attention to every detail. I have learned so much by reading it today. i am very very thankful. An article like this helps us earn our daily bread. I glanced through the article. I am writing in detail after spending few hours reading the article today. I will be be grateful if you can send us the code – This and part 2. Thanks for everything. My mail id is hoseki210@gmail.com
Comment by Sunder — December 4, 2012 @ 7:18 pm
Excellent coding.. we learnt a lot here .. please give us the source code.my mail id sureshemanip@gmail.com
Comment by suresh — December 5, 2012 @ 4:09 pm
I am a beginner and I need your source file. Can you please provide me at rajibmitra0009@gmail.com.
Thanks in advanced…
Rajib
Comment by Rajib Mitra — December 28, 2012 @ 11:26 am
After several days of research, this is the best example that I have found. I am trying to connect with Quickbook using VS2008 and SQLServer. I am using a web page application that extracts data from SQLServer and wish to update Quickbooks. I am using VB. Could you provide your source code via email? Thanks in advance
Roger
Comment by Roger — February 23, 2013 @ 6:11 pm
nice article.
Can you please send the zip file for this project at shehzadzafarch@gmail.com
Comment by Muhammad Shehzad — February 27, 2013 @ 4:11 pm
Hi, nice article, can you please send your code details at girish85@hotmail.com
Comment by girish — March 2, 2013 @ 7:48 pm
great work man!!! Thanks…. can you please send the project in zip file @ saimshaukat@yahoo.com
Regards
Saim Shaukat
Comment by Saim Shaukat — March 5, 2013 @ 10:59 am
Can you please send it to mohsinraza4539@gmail.com too. Thanks in advance.
Mohsin
Thanks, Mohsin Raza
On Tue, Mar 12, 2013 at 12:03 AM, Mukarram Mukhtar wrote:
> ** > Saim Shaukat commented: “great work man!!! Thanks…. can you please > send the project in zip file @ saimshaukat@yahoo.com Regards Saim Shaukat” >
Comment by Mohsin Raza — March 12, 2013 @ 6:54 am
Can you please send it to mohsinraza4539@gmail.com too. Thanks in advance.
Mohsin
Comment by Mohsin Raza — March 12, 2013 @ 6:55 am
Hi,
Can you please send me the source code to my email,divyanmenon@hotmail.com
Comment by Divya — March 15, 2013 @ 9:53 am
can you email the project? to alberto.estrada1@gmail.com
Comment by alby — March 16, 2013 @ 6:24 am
Hi, Can I have the project? I’m starting a new project and will need to add record and retrieve. I have to complete in 1 month and am new.
Comment by aestrada101 — March 17, 2013 @ 5:43 am
Hello – I really appreciate the QuickBooks/.Net tutorial. It’s actually much more readable than Intuit’s documentation. May I please have a copy of the project? My email address is terryj@turnkeynet.com
Thanks, Terry
Comment by Terry — March 19, 2013 @ 10:13 pm
Great tutorial. Could you email me a zip of the solution file too. my email is papa43boys@yahoo.com
Comment by Ben — March 23, 2013 @ 9:35 pm
I’m obviously late to this party, but I really appreciate your article and information and would very much like to receive a copy of the code. My email address is crosjn!yahoo.com.
Comment by Jeff — April 15, 2013 @ 4:38 pm
Nice Article. Can you send me a copy of the zip file of this application my email is markoliva19@gmail.com .
Thanks man..
Comment by Mark — April 24, 2013 @ 8:48 am
Nice one and appreciate you. can you send a copy of zip file to me, my email is bollamadhusudhanreddy@gmail.com.
Thank you very much Terry…
Comment by madhu — May 10, 2013 @ 6:02 am
Hi,
Can you please send me the source code to my email, karvendhan@gmail.com
Comment by Karvendhan — May 17, 2013 @ 8:03 am
How can I remove the Company preferences Integrated Application programatically using C# / QMXML / QBFC?
Comment by Meena — May 20, 2013 @ 2:53 pm
Can anyone help me? Its very urgent.
I want to remove the Integrated Application from Company preferences programatically with SDK / C# / QBXML / QBFC
Comment by Meena — July 31, 2013 @ 2:24 pm
how can I remove integrated application from company preferences through c# sdk
Comment by Meena — September 16, 2014 @ 1:17 pm
tanx man. really helped from jumping off a cliff. thout i was alone with this C# quickbooks integration thing. tanx a million. pls drop off any more stuff about C# and quickbooks integration at my mail box: chini7000@gmail.com
Comment by novichini — May 31, 2013 @ 4:32 pm
Hi can you please send me the copy of zip file of the application to my emailid: priyanka.rao@pchase.co.uk You did a great job..
Comment by Priyanka — June 18, 2013 @ 11:28 am
Hi This articles is very helpful.. But am getting pblms..
Can you send me a copy of the source code..
email: azameckburally@gmail.com
Nice Job.
Comment by Azam — July 10, 2013 @ 6:41 am
Hi , thanks for you article.
I am in this big trouble 🙂 can you please send me your code for this?!
Is that possible to make connection to quickbooks database remotely?
Thanks,
poupak
Comment by poupak — June 18, 2013 @ 9:39 pm
Can anybody know that how can I connect multiple QBW file one by one. Like Open one file send some data from integrated application then close this connection and connect to another QBW file. Please help me. Its urgent.
Comment by Meena Trivedi — October 14, 2013 @ 1:27 pm