SNS system team completed an exporter tool to export data from firebase to quickbook. Here is the flow of tool:
- Utility reads the data from firebase database.
- Utility export the data to quickbooks every 24 hour.
- Utility update quickbook generated sales order number in firebase database.
We use a xml file to save firebase database url and quickbook company file. this xml file name is “Firebase_QB_Webconfig.xml” which exist in my documents of local system. user can make changes in this file directly.
Utility reads the data from firebase database:
When utility run then read all those orders from firebase database which does not have QBNo field. It means these orders have not exported in quickbooks.
RelationShip Map of Classes in Exporter
Sequence Number When utility export order in quickbooks then order numbers get generated by quickbooks. We can pass any sequence number series.
Exporter tool export the data based on selection to Quick Book By using SOAP API:
We have use Interop.QBXMLRP2Lib .dll for
Interop.QBXMLRP2Lib .dll: Interop.qbxmlrp2lib.dll is a type of DLL file associated with QuickBooks Pro 2011 developed by Intuit Inc. for the Windows Operating System. The latest known version of Interop.qbxmlrp2lib.dll is 22.214.171.124, which was produced for Windows. All communication between QuickBooks and SDK applications follow the same basic pattern. The application first establishes communication with QuickBooks, this involves both connection-related method calls AND human interaction (getting the company owner’s authorization). The application then sends a request set containing one or more requests. QuickBooks processes the requests and sends back a response set containing one or more responses.
This is a pretty high level view of things, but it is general enough to serve for the various supported ways to access QuickBooks. Once you get down to particular types of access, such as desktop applications accessing local QuickBooks, you’ll learn about request processor DLL running in the QuickBooks process to handle incoming requests and send out outgoing requests.
Exporter tool update invoice number in Indysoft MSSQL Database: When we click on export button then Copy Order and Order Item Detail class Object into Invoice and InvoiceItem Class Object. after that check Customer Exist in Quickbooks or Not. If exists then get some important information about Customer from quickbooks. if Customer does not exists in QB then Create Customer for Quickbooks via xml request. after check/create customer information send xml request to generate invoice into quickBooks. here is xml format for sending Export Invoice.
In this xml send next generated sales order number and after sales order export successfully into Quickbooks, this sales order Number updated in firebase Database.