To understand the process, I will do a simple one line estimate example.
FIRST TO CREATE THE ESTIMATE The following SQL statement will create a new estimate:
INSERT INTO "EstimateLine" ("CustomerRefListID", "RefNumber", "EstimateLineItemRefListID", "EstimateLineDesc", "EstimateLineRate", "EstimateLineAmount", "EstimateLineSalesTaxCodeRefListID", "FQSaveToCache") VALUES ('470001-1071525403', '201', '250000-933272656', 'Building permit No 201', 100.00000, 100.00, '20000-999022286', 0)
which results in the following estimate in the QuickBooks 2006 Premier USA Edition - Sample Rock Castle Construction company file:
NEXT, TO CREATE A SALES ORDER FROM A ESTIMATE When we're ready to create the Sales Order we can read the EstimateLine table and insert it into the SalesOrderLine table like this:
INSERT INTO "SalesOrderLine" ("CustomerRefListID", "RefNumber", "Memo", "SalesOrderLineItemRefListID", "SalesOrderLineDesc", "SalesOrderLineRate", "SalesOrderLineAmount", "SalesOrderLineSalesTaxCodeRefListID", "FQSaveToCache") Select "CustomerRefListID", "RefNumber", {fn CONCAT('Estimate ', "RefNumber")} as "Memo","EstimateLineItemRefListID", "EstimateLineDesc", "EstimateLineRate", "EstimateLineAmount", "EstimateLineSalesTaxCodeRefListID", "FQSaveToCache" from EstimateLine where "RefNumber"='201' and "EstimateLineSeqNo"=1
Note: This is one complete SQL statement, for multiple estimate lines you would set FQSaveToCache to 1 instead (using: 1 as "FQSaveToCache") and loop the EstimateLineSeqNos until the last one setting FQSaveToCache to 0.
The Estimate now appears as a Sales Order in QuickBooks with "Estimate 201" in the memo field the same way QuickBooks creates a Sales Order from a Estimate.
See: How do I create Estimates? for more on multiple lines. |