Working with Scheduled (Production) and Utility (Test & Bulk Load) Flows
InterWeave Integration Basics
InterWeave works based on “flows”, which are batch jobs importing a subset of data from one system to another.
Flows are running between customer’s CRM (e.g. Salesforce.com) or website and InterWeave community server on one side, and InterWeave community server and customer’s QuickBooks server on the other side.
InterWeave uses CRM user (e.g. Salesforce.com) with admin capabilities.
InterWeave uses dedicated QuickBooks user with admin capabilities, created specifically for integration. You must not login to QuickBooks using InterWeave user. It is not required and can even be harmful.
QuickBooks connectivity is fully customer’s responsibility if QuickBooks server located in-house.
The Setup of customer’s QuickBooks server
1. QuickBooks server’s user is logged on all the time you want integration to work. This Windows user is the user under which QuickBooks application and QODBC Driver (with QRemote server app) or PCS (with Apache Tomcat server and Integration server) have been installed.
2. QuickBooks application and QRemote server (remote connector or Tomcat server for PCS solution) must be started and running.
3. QuickBooks must be in a multi user mode.
4. QuickBooks company file has to be closed.
5. No pop up window is allowed in QuickBooks including company file log in window.
InterWeave Integration Flows
1. Use an InterWeave administrator user (integration user) credentials to log in the InterWeave Flows Manager – the main Login screen (two central fields for username (email) and password) on the ISP page.
2. You should see a table with a top partition containing a list of Scheduled flows and a bottom partition containing a list of Utility Flows currently available, with a few checkboxes and other fields in each row.
3. Scheduled flows (top table) are used for daily integration (production) and cannot be used simultaneously with Utility flows. User must stop scheduled flows before using utility flow. Only one utility flow can be used at a time!
4. Utility flows (bottom table) are used only for testing, binding, initial bulk load and catch up with missing data.
Utility flows are of three types:
(1) Binding flow (with Bind at the end of the flow’s name) is used for one time binding between two systems. Example: SFAcct2QBCustBind
(2) Bulk load flow (with DR or DRS letters at the end of the flow’s name) is used to bulk load data by period (Date Range) and batch size (S). Bulk load flows are designed to move big amount of data without integration server overload. Examples: QBCust2SFAcctDR/SFAcct2QBCustDR or QBInvoices2SFAcctOppDRS
(3) Single Run flows (with letters N or NF at the end of the flow’s name) is used for one time particular transaction sync or testing. Examples: QBCust2SFAcctNF/SFAcct2QBCustN or QBInvoices2SFAcctOppN
Note 1: Single utility flow does not support ampersands (&) and quotes (“) in the name.
Note 2: Interval is in milliseconds (1 second = 1000 milliseconds)
Working with Flows
1. To start a flow, check the checkbox “START” on the same row as the flow name, and then click the “Submit” button at the top or bottom of the table with flows.
2. The currently working active (State=RUNNING) flow is highlighted in Magenta. Active (State=STARTED) flow in a waiting mode is highlighted in Blue.
3. To keep checking the status of running flows, refresh the page or just click “Submit” when No (0) checkboxes are selected – that is equivalent to refreshing the page.
4. To stop a flow, check the checkbox “STOP” on the same row as the flow name, and then click the “Submit” button at the top or bottom of the table with flows.
5. Stopped flow became white in color (State=STOPPED). If flow became Yellow after stopping it, user have to wait until it finishes the current run and became white to use it again.
How to catch up with missing data
If you stopped a Scheduled Transaction Flow(s) or it stopped somehow else for a few days, you need to (1) make sure connection to QB company file is intact and (2) restart flows. To restart a Scheduled Flow, you do need to change the Query Starts field value to current date.
To restart flow that is behind for more than 1-2 days it requires to change the Query Starts field value to current date and restart it and use bulk load utility flow to catch up with missing data.
Restarting scheduled flows from the current date is needed to avoid integration server overload with back log of data that also CANNOT be transferred by scheduled flow.
You need to run particular DR (Date Range) or DRS (Date Range + batch Size) bulk load utility flow (with DR or DRS at the end of its name) to catch up with missing data. Bulk load flows are designed to move big amount of data without integration server overload. I have attached the instruction on how to run bulk load flow.
Please ALWAYS stop scheduled flows and change their Query Starts date to current date if it is older than 1-2 days and use DR/DRS bulk load flow to catch up with previous data. Run only ONE bulk load flow at a time.
Do not forget to restart scheduled flows after bulk loading is done!
How To Switch QuickBooks Company File into Single User Mode
The following steps must be done to switch QB file in to single user mode:
- Login in to your InterWeave Integration Manager (Flows Manager) using username and password you have (see #1 in InterWeave Integration Flows)
- Stop all Scheduled flows (see #2 in Working with Flows), and wait until they turn all white (State = Stopped) (see #5 in Working with Flows)
- Login to QB server and make sure QB file is not open by integration user interweaveQR (you can manually log this user out from the file if all flows are in Stopped State but the user did not log out automatically)
- Switch QB file onto single user mode, and perform required tasks
- Switch QB file back onto multi user mode
- Log in to the Flows Manager and restart scheduled flows (see #1 in Working with Flows)