Data Synchronization: General Information

After the connection between MYOB Acumatica and the Shopify store has been established and the initial configuration performed, you can start synchronizing data between the two systems.

Learning Objectives

In this chapter, you will learn how data synchronization works and how to synchronize data manually.

Stages of the Synchronization Process

The process of the synchronization of data between MYOB Acumatica and the e-commerce store consists of the following stages:

Preparation of Out-of-Sync Data for Synchronization

During the preparation of data for synchronization, the system receives the data that needs to be synchronized between MYOB Acumatica and the e-commerce system and puts it in the processing queue. The following mechanisms can be used for obtaining data:

  • Data preparation process: The data preparation process pulls the data to be synchronized from MYOB Acumatica and the e-commerce system through API calls and puts it in the processing queue. You determine which data should be included in the synchronization by selecting one of the following modes:
    • Full: All records that have been created or modified during the specified date range are prepared, regardless of whether they have been processed previously or not. If no range is specified, all records are prepared.
    • Incremental: Only the records that have been modified since the date of the last successful data preparation are prepared.
    • Incremental by Date: Only records that have been modified during the specified date range and that have not yet been processed are prepared.

    The pulled data is then filtered according to the filtering criteria defined on the Entities (BC202000) form and saved in the processing queue as synchronization records with the Prepared status, which indicates that these synchronization records have not yet been processed. The synchronization records are then processed as described in the Processing of Out-of-Sync Data.

    The data preparation process can be started in the following ways:

  • Push notifications: If real-time synchronization is enabled for an entity on the Entities (BC202000) form, whenever a record is changed in the source system, the e-commerce connector is immediately notified about the change, and the corresponding synchronization record is created or updated in the processing queue.

    This synchronization record is saved with the Prepared status and remains in the processing queue until it is processed.

The following diagram shows the process of preparing data for synchronization.

Figure 1. Preparing data for synchronization


Processing of Out-of-Sync Data

During the data processing stage, the system processes the synchronization records in the processing queue according to the synchronization settings defined for the corresponding entity on the Entities (BC202000) form or on the Entity Settings tab of the Shopify Stores (BC201010) form, and the synchronized data is saved in MYOB Acumatica, in the Shopify store, or in both systems.

During the processing of out-of-sync data, the system performs the following operations for each synchronization record:

  1. Pulling the record details from MYOB Acumatica and the external e-commerce system.
  2. Determining the direction of the synchronization—that is, if data should be imported to MYOB Acumatica, exported to the external system, or synchronized in both directions.

    The synchronization direction is displayed for each entity in the Summary area of the Entities (BC202000) form.

  3. Determining if any other records should be synchronized as a prerequisite for the synchronization of the current record, and attempting to synchronize the prerequisite records.
  4. Applying the standard field mapping for the entity.

    The default field mapping for each entity is detailed in Retail Edition Entity Reference.

  5. Applying the field mapping configured for the entity on the Entities form.
  6. Saving the synchronized data in the destination system or systems.
  7. Changing the status of the synchronization record to Processed.

The processing of out-of-sync data can be started as follows:

In the following diagram, you can see the flow of the processing of data prepared for synchronization.

Figure 2. Processing prepared data


Preparation of Deleted Records

If a previously processed entity record is deleted in MYOB Acumatica, in the external system, or in both systems, its synchronization record is assigned the Deleted status on the Sync History (BC301000) form. When the entity is prepared, the synchronization record is assigned the Prepared status in the following cases:

  • If the entity record was deleted in the primary system or in both systems and then was restored in the primary system
  • If the entity record was deleted only in the secondary system and then was modified in the primary system

During the entity preparation, synchronization records that were never processed and were manually assigned the Deleted status on the Sync History form, are assigned the Prepared status regardless of the changes to the entity records in either of the systems.