NOTE: Turn off all Scheduled flows before starting Utility flows!!!
UTILITY FLOW DEFINITION
There are 2 types of Utility flow:
1. Bulk Load flows (with DR or DRS at the end of the flow name)
DR = Date Range or DRS = Date Range & Size (Check radio button “Scheduled”)- for Bulk Load by a period (Date Range) and batch size (S).
2. Single transaction flow (with N or NF at the end of the flow name)
N = Name/Number (Check radio button “Single Run”) – for one-time particular transaction sync or testing (Account/Opportunity/Product/Quote… etc.)
To use a Utility flow, you will need to:
1. Log in into your Interweave Integration Manager.
2. Run one of Utility Transaction Flows (located in the lowest, second section of the screenshot below).
Please refer to this video for details: (Need a new one here)……
HOW TO RUN BULK LOAD FLOWS
Bulk load flows are marked with a suffix DR or DRS at the end of flow’s name.
Below are some flow examples for SF to QB direction:
1. For Customers: SFAcct2QBCustDRS
2. For Items: SFProd2QBItemDR
3. For Invoices: SFAcctOpp2QBInvoicesDR
4. For Sales Orders: SFOpp2QBSODR
5. For Sales Receipts: SFOpp2QBSRDR
6. For Vendors: SFAcct2QBVendorDR
7. For Purchase Orders: SFOpp2QBPODR
Below are some bulk load flow examples for QB to SF direction:
1. For Customers: QBCust2SFAcctDRS
2. For Items: QBItem2SFProdDRS
3. For Invoices: QBInvoices2SFAcctOppDRS
4. For Sales Orders: QBSO2SFAcctOppDRS
5. For Sales Receipts: QBSR2SFAcctOppDRS
6. For Vendors: QBVend2SFAcctDRS
7. For Purchase Orders: QBPR2SFAcctOppDRS
TO RUN UTILITY FLOWS, YOU WILL NEED TO
1. Login to your Interweave Integration Flows Manager:
Go to http://www.interweave.biz/ and click on Customer Login link
2. Stop any started scheduled flow(s) (the flows will turn white when stopped)
3. Click on the flow you want to do a bulk load with. The flow’s Property table will open below
4. Fill in 3 fields for RDS flow or 2 fields for DR flow in the utility flow’s Property table and submit
a) BatchSize
b) EndDateTime
c) StartDateTime
5. Set Counter of the flow (second column from the right) to 0 (if it is not equaling 0)
6. Check Start checkbox (second column from the left) and auto-refresh checkbox (right top corner of the page – it will refresh manager’s page every 5 seconds)
7. Click Submit button to run the flow
8. Monitor flow results in a log (the log is accessible by clicking on highlighted number/number (e.g., 0/0) in Runs column for this flow)
9. Restart scheduled flow(s) if needed after the bulk load is completed
10. Logout from Integration Manager
Please refer to this video for details: (new one here….)
How to fill in Property Values
- Click on the Flow’s name
- Fill in parameters
- Click Submit button (the button below the Properties table only!)
All DRS flows have 3 parameters:
BATCH SIZE
Recommended values for QB to SF direction:
1. For Customers and Vendors: QBCust2SFAcctDRS = 75 if customer’s contacts also are loaded; 100 otherwise
2. For Items: QBItem2SFProdDRS = 25
3. For Invoices: QBInvoices2SFAcctOppDRS = 150 (line items)
4. For Sales Order: QBSO2SFAcctOppDRS = 1-3
For SF to QB direction batch size is controlled by SF. It is recommended to use 100 for any flow.
For SFProd2QBItemDR flow:
Batch Size = empty to run flow by LastModified Date (to synchronize mass updates in SF)
Batch Size = number to run flow by Created Date (to synchronize mass creates in SF)
INTERVAL
StartDateTime, EndDateTime – interval that is supposed to be loaded.
24-hour clocks should be used.
Common Formats:
1. SF to QB direction Date/Time format (UTC): 2022-01-30T00:00:00.0Z(YYYY-MM-DDTHH:MM:SS.0Z)
2. QB to SF direction Date/Time format: 2022-01-30 00:00:00 (YYYY-MM-DD HH:MM:SS), or C2022-01-30 00:00:00 (CYYYY-MM-DD HH:MM:SS) – for Invoice Only!
3. For “QuickBooks Online” QB to SF direction Date format: 2022-01-30 (YYYY-MM-DD)
Format Usage:
1. For history data bulk load: YYYY-MM-DD !!!
a) For Customers and Items as a Created Date
b) For Invoices, Bills, Credit Memo as a Transaction Date
2. For history data bulk load or a catch up with current missing data:
a) YYYY-MM-DD HH:MM:SS – Last Modified Date/Time for all types. Exclusively used to bulk load: Vendors, Sales Orders, Sales Receipts, Purchase Orders from QB to SF only.
b) CYYYY-MM-DD HH:MM:SS – Time Created for Invoice and Sales Order = Add letter C ONLY in StartDate/Time, EndDate/Time must be without letter C!
3. Star (*) – for an unlimited period (QB to SF only!). Must be used in Start and End DateTime (Does not supported for Transactions – Invoices, Sales Receipts, Sales Orders etc. and Vendors!)
INTERVAL NOTE FOR INVOICE FLOW ONLY
a. If you put to StartDate and/or EndDate just a date (YYYY-MM-DD) – SF Opportunity’s CloseDate is used
b. If you put to StartDate and/or EndDate a timestamp (YYYY-MM-DDTHH:MM:SS.MZ) and BatchSize is empty – SF Opportunity’s LastModifiedDate is used
c. If you put to StartDate and/or EndDate timestamp (YYYY-MM-DDTHH:MM:SS.MZ) and BatchSize is not empty – SF Opportunity’s CreatedDate is used
How to Bulk Load Multiple Sales Orders and Invoices using their Numbers:
Invoices:
Direction: from QB to SF
Flow Type = DRS (DR can be for Invoices)
BatchSize = 0
Scheduled = On
Direction: from SF QB
Flow Type = N flow (e.g., SFOpp2QBInvN)
Scheduled = On
Sales Orders:
QBSO2SFAcctOppDRS – Put pipe separated values into StartDateTime field using the format:
243;123;893;345;
Invoices:
QBInvoices2SFAcctOppDRS – Put pipe separated values into StartDateTime field using the format: 174|179|190|
Credit Memo: No
EXAMPLES
EndDateTime=YYYY-MM-DD (or YYYY-MM-DD HH:MM:SS) – to load all records set something in the future (e.g., 2022-01-01 00:00:00) or exact date and time for specific period (e.g., 2012-10-01 00:00:00)
StartDateTime=YYYY-MM-DD (or YYYY-MM-DD HH:MM:SS) – to load all records set something in the past (e.g., 2000-01-01 00:00:00) or exact date and time for specific period (e.g., 2012-01-21 00:00:00)
When each of those flows is started first time – Counter (second column from the right) MUST be equal to 0.
How to Bulk Load SF Accounts with Special Characters:
Use SFAcct2QBCustN flow and replace Account name with special char (like this name “Locklear & Associates”) with @SF ID #
If you want to stop bulk load – just remember all 3 parameters and Counter to resume later.
It is recommended to run bulk loads after hours or on the weekend.
GENERAL NOTES
1. SF to QB and QB to SF direction flows for any type of bulk load require to set Permitted sync Operation to Create Only in Profile (temporary change)
2. SF to QB direction flows require to set Permitted sync Operation for opposite direction to None in Profile (temporal change)
3. QB to SF direction flows do not require to set Permitted sync Operation for opposite direction to None (no change in Profile)
4. Before flow is started, it is beneficial to have the auto-refresh checkbox checked – this will refresh the manager’s page every 5 seconds so you can monitor the progress of the flow. The Counter column will show you the number of already finished runs – every run is equal to a number of transaction defined by BatchSize. It will stop when there are no more records to process.
5. Every new bulk load requires Counter (second column from the right) to be reset to 0.
6. The Counter shows how many batches of size “batch size” are loaded.
7. If you want to stop a particular load and then start from the same place – you need just to restore the Counter to the value you have stopped the load with.
8. Remember that utility flows parameters are lost after logging out.
9. If you bulk loading QB Customers/SF Accounts with Contacts then BatchSize cannot be more than 4 otherwise you will get a LIMIT_EXCEEDED error:
“Query executed; Result= sf:LIMIT_EXCEEDEDLIMIT_EXCEEDED: Cannot have more than 10 chunks in a single operation. Please rearrange the data to reduce chunking.LIMIT_EXCEEDED Cannot have more than 10 chunks in a single operation. Please rearrange the data to reduce chunking.”
10. If you are restarting any SF to QB DR/DRS flow – you must clear Return String! (Return String is a Property on top of the batch size in the lower frame. It is not there when you first time is configuring flow (setting up Batch Size, Start Date and End Date). It appears after first run and contains SF Query Locator. If you need to restart DRS flow – you must clear it or log out and log in.
We keep their request locator from SF, but they (SF) have a mechanism that expires the session after some timeout period. Using the old query locator is causing “Query Locator” error. This error is rare. In any case, we will also put a locking mechanism in the infinite run of the flow after such error.