QuickBooks exporter design - snssystem

Indysoft to Quickbooks exporter tool

SNSsystem team completed an exporter tool to export data from Indysoft to Quick Books. Here is the flow of tool:

  • Exporter reads the data from IndySoft MSSQL DataBase
  • Allow user to select relevant options, like region etc
  • Exporter tool export the data based on selection to Quick Book By using SOAP API
  • Exporter tool update invoice number in Indysoft MSSQL Database
OverView :

indysoft-database-quickbooks

Description :

We use a xml file to save database connection string and other info related to exporter in this xml file name is “IndySoft_QB_X_Webconfig.xml” which exist in c: drive of local system. user can make changes in this file directly.

indysoft-webconfig-xml

Exporter reads the data from IndySoft MSSQL DataBase :

For getting data in exporter we need to first select period from date and to date. then select Complete check box it mean show only those work order in which have status “Complete” then select Region (profit centre) checkboxes [SD] for TECHMASTER SAN DIEGO,[SJ] for TECHMASTER SAN JOSE and [FL] for TECHMASTER FLORIDA. then click on Get Order as see in following screen.

indysoftx

When we click on Get Order button the first get Customer list from Work_Order table based on passing date. after that we passed customer list then got order list.after that based on Customer list and Order list we have got complete information of Work Order Without line Item and assign in to IndySoftShipper class object. after that get Work Order based on Order list from database and assign into IndySoftOrder Class Object. and after that based on date on fetch data from WORK_ORDER, WORK_ORDER_DETAIL, WORK_OEDER_CHARGES, EVENTS, GAGES and SCHEDGI tables using Join and assign in to IndySoftOrderItem Class Object. as shown in following screen.

indysoft-invoice-exporter

Description Relationship Map of Classes in Exporter

exporter-relationship-map

Allow user to select relevant options :

We have added many features in Exporter as following.

Partially Complete :

Some time all Line items of any Work Order Not completed then we can use this features.

indysoft-work-order

Sequence Number :

Some time User want to change Invoice Number Sequence then we have added this feature. with this feature user can change Invoice Number sequence. we have added editable text box.

indysoft-sequence

Blanket PO :

With the help of this feature user can see PO Balance of Blanket PO Orders.

indysoft-balance

Status Filter :

We can filter Work Order Status Wise. Like Invoice, Complete and Incomplete.

indysoft-status

Exporter tool export the data based on selection to Quick Books 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 Quick Books Pro 2011 developed by Intuit Inc. for the Windows Operating System. The latest known version of Interop.qbxmlrp2lib.dll is 1.0.0.0, which was produced for Windows.

All communication between Quick Books and SDK applications follow the same basic pattern. The application first establishes communication with Quick Books (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. Quick Books processes the requests and sends back a response set containing one or more responses.

indy-request-response

This is a pretty high level view of things, but it is general enough to serve for the various supported ways to access Quick Books. Once you get down to particular types of access, such as desktop applications accessing local Quick Books, you’ll learn about request processor DLL running in the Quick Books process to handle incoming requests and send out outgoing requests.

indy-request-response

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 Quick Books or Not if exist then get some important information about Customer from Quick Books else if Customer not exist in QB then Create Customer for Quick Books via xml request. after check/create customer information send xml request to generate invoice into Quick Books. here is xml format for sending Export Invoice.

<?xml version="1.0"?><?qbxml version="13.0"?>
<QBXML>
	<QBXMLMsgsRq onError="stopOnError">
       		<InvoiceAddRq requestID="40">
           		<InvoiceAdd>
		               <CustomerRef><FullName>Spaulding</FullName></CustomerRef>
		               <ARAccountRef><FullName>12000</FullName></ARAccountRef>
		               <TxnDate>2015-10-13</TxnDate>
		               <RefNumber>SD07003</RefNumber>
		              <BillAddress>
			               <Addr1>Spaulding Surplus</Addr1>
			               <Addr2>12829 Landale St</Addr2>
			               <City>Studio City</City>
			               <State>CA</State>
			               <PostalCode>91604</PostalCode>
	                      </BillAddress>	
		              <ShipAddress>
			               <Addr1>12829 LANDALE ST</Addr1>
				       <City>STUDIO CITY</City>
			               <State>CA</State>
			               <PostalCode>91604</PostalCode>
			               <Country>UNITED STATES</Country>
		              </ShipAddress>
		              <PONumber>213</PONumber>
		              <TermsRef>
			               <FullName>Net 30</FullName>
		              </TermsRef>
	                      <DueDate>2015-11-12</DueDate>
			           <ItemSalesTaxRef>
			               <FullName>Non-taxable</FullName>
			           </ItemSalesTaxRef>
		           <Memo>Ref# SPAULDING SURPLUS</Memo>
		           <CustomerSalesTaxCodeRef>
			               <FullName>Non</FullName>
		           </CustomerSalesTaxCodeRef> 
	                  <InvoiceLineAdd>
	                  <ItemRef><FullName>CalibrationSD</FullName></ItemRef>
                          <GLAccountRef></GLAccountRef>
	                  <Desc></Desc>
                          <Quantity>1</Quantity>
                          <Rate>125.00</Rate>
                          </InvoiceLineAdd>
	          </InvoiceAdd>
</InvoiceAddRq>
</QBXMLMsgsRq>
</QBXML>

in this xml send next generated Invoice number and after export successfully Invoice into Quick Books this Invoice Number update in to IndySoft Database WORK_ORDER.WO_CUSTOM2 field and also iin to WORK_ORDER_CHARGES.CUSTOM2 field.

IndySoft Introduction :

IndySoft we believe the purchase of a calibration or tooling asset management system is one of the most important decisions you can make in relation to your quality program needs. We understand that these are your operations and the right software package is going to be the one that can compliment and augment your process, not unflinchingly dictate how you have to run your business. At IndySoft we take the time to understand your business needs and challenges, then pull from our extensive experience to offer just the right mix of products and services to meet your long-term goals. We look forward to hearing from you, learning about your business, and showing you all the great things you can accomplish by working with us. Let's build something great together.

Quick Books Introduction :

Quick Books from Intuit is the #1 best-selling small business accounting software in US.1 It's the brand more businesses use for their bookkeeping needs. Quick Books is easy to use and organizes your finances and bookkeeping all in one place. Bookkeeping software and services come in many different flavors, providing a range of capabilities and features. Think of Quick Books as the easy to use bookkeeping software that turns even business novices into bookkeeping services professionals. No need to dread issuing invoices, or reconciling the books. Quick Books puts you back into control of your business. And no need to fear tax time either. Quick Books helps you keep your business in order, so everything will be right where you need it.

IndySoftX Introduction :

indysoft-database-quickbooks

  1. (QB login points 1 to 3)
  1. Should be before logined to QB

indysoft-login

  1. After login, should display Home page, as below screenshot

indysoft-customers

  1. Clicked on “Customers” button

indysoft-information

B. IndySoftX login and check any particular WO(Points 4 to 6)

  1. Clicked on IndySoftX from start menu and after it should be open window and select from date & todate, as below screenshot.]

indysoft-orders

  1. Clicked on Get Records as below screenshot.

indysoft-records

  1. After we select any WO for the check to QB ID it is exist or not in the QB?, as below screenshot.

quickbook-id

Popup With "Hinge" Close Effect

Find this effect from RokCandy = [popup-hinge]

Mailing Address

{mosmap width='100%'|height='250'|lat='-6.194486'|lon='106.823072'|zoom='16'|mapType='Normal'|showMaptype='0'|tooltip='DWO'|marker='2'|align='right'}
  • Grand Indonesia Mall - MH. Thamrin Street No. 1 - Jakarta - Indonesia
  • Mon – Fri, 8am – 5pm

Main Numbers

  • +(65) 812 864 111 2
  • +(65) 217 008 2
  • +(65) 210 444 3

3D Flip Vertical

Find this effect from RokCandy = [popup-3d-flip-vertical]

Zoom

Find this effect from RokCandy = [popup-zoom-in]

Newspaper

Find this effect from RokCandy = [popup-newspaper]

Horizontal Move

Find this effect from RokCandy = [popup-move-horizontal]

Move From Top

Find this effect from RokCandy = [popup-move-from-top]

3D Unfold

Find this effect from RokCandy = [popup-3d-unfold]

Zoom Out

Find this effect from RokCandy = [popup-zoom-out]

Just Me

Find this effect from RokCandy = [popup-just-me]

Mailing Address

{mosmap width='100%'|height='250'|lat='-6.194486'|lon='106.823072'|zoom='16'|mapType='Normal'|showMaptype='0'|tooltip='DWO'|marker='2'|align='right'}
  • Grand Indonesia Mall - MH. Thamrin Street No. 1 - Jakarta - Indonesia
  • Mon – Fri, 8am – 5pm

Main Numbers

  • +(65) 812 864 111 2
  • +(65) 217 008 2
  • +(65) 210 444 3