Option 1: Circular Import/Export Cycle

One common cycle pattern is to do a round-trip in a single direction:

  1. Export the new activity from ACME.
  2. Import that file into your CRM.
  3. Export other updates/changes from your CRM.
  4. Finish by importing that file into ACME.

This works well if you have low volume of changes from either system, and don't plan to run an Import/Export Cycle on a daily or high frequency basis. The benefits of this pattern is that it is fairly quick and straightforward, and it scales well to a longer cadence. However, there are some risks to also consider. 

With this pattern, there is a period of time between the first step of exporting from ACME, and the last step of importing data back into ACME. The longer the period this is, the greater the opportunity for data issues. If a membership gets an update in ACME during this period and that membership already part of the data set that is about to be imported, that import will not include the new change and will write over the record, effectively erasing that data. 

It's common for this Import/Export cycle to be started at the beginning of the day, and do the final export from CRM and import to ACME hours later, or even at the end of that day. Depending on your internal processes for where edits are getting made, the frequency you are doing import/exports, and your tolerance for risk, you may be comfortable with this risk. This risk is reduced (but not eliminated) if this window is fairly short, and if there is a low average transaction volume during that window.

Option 2: Parallel Import/Export Cycle

Another cycle pattern to consider is to:

  1. Export updated and changed data from your CRM. Hold this file and set aside until step 3.
  2. Export new activity from ACME. Hold this file and set aside until step 4.
  3. Import your CRM file from step 1 into ACME.
  4. Import your ACME file into your CRM.

This pattern lends itself well to high transaction volumes and frequent import/export cycles. The benefit of this pattern is that it minimizes the chance to lose an update made in ACME. Because both exports are completed and then both imports are completed, if an update from the CRM is loaded into ACME and overwrites a transaction, that data has already been exported previously and will come back in on the next import to ACME. There will be a slight delay before that correct data makes it back in, but the data has been preserved and it will be repaired on the next cycle.

The window of time between the export out of ACME in step 2 and the import of CRM data into ACME in step 3 is likely a few minutes at most. While it is still possible to have a member update their membership in that window, it's much less likely since those actions happen back to back and very little time elapses in between.