---
title: Configure Sync Integrity Validation (optional)
description: Accord Sync can be scheduled to validate the integrity of synced records using Change Data Capture (CDC) with the QBO API. This will provide an extra layer of reliability in the event webhooks are not fired by QuickBooks Online. This…
url: "https://accordsync.com/docs/configure-sync-integrity-validation/"
updated: "2023-02-22"
category: Configure and Setup Accord Sync
---

# Configure Sync Integrity Validation (optional)

Accord Sync can be scheduled to validate the integrity of synced records using Change Data Capture (CDC) with the QBO API. This will provide an extra layer of reliability in the event webhooks are not fired by QuickBooks Online. This feature creates/updates the Status on Accord Record Statuses with either: QBO Record Created, Newer Record Available, or QBO Record Deleted if the record is out of sync.

**CRITICAL**
The order that data is validated leveraging scheduled jobs is critical. If related records don’t exist in Salesforce, the integration of the related information will fail. For example, before Invoices can be sent to Salesforce the Account must be created if using a lookup or master-detail relationship. So, a job for Customers must be scheduled before a job for Invoices is created.

This feature uses the Change Data Capture (CDC) operation provided by the QBO API and is only capable of returning 1,000 of the most recent changes based on the date/time provided. To prevent any issues, schedule the sync integrity validation to run more frequently if your QuickBooks instance experiences more than 1,000 changes per day for example.

**Schedule Sync Integrity Validation**

1. Navigate to the **Accord Admin** tab in Accord Sync app. Click on the Sync Integrity tab.
2. Enter a name for the Scheduled Job. It must be unique for each combination of QuickBooks object(s) to avoid errors of duplicate job names.
3. Select one of the preconfigured **Types** to set up the frequency of the job.
4. Select the **QuickBooks Company** that the sync will be scheduled for.
5. Check the **QuickBooks Objects** that will be validated for changes from QuickBooks Online.

   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-1-1024x259.png)
6. Define the scheduled times that the job should automatically run to validate the integrity of the selected objects between QuickBooks and Salesforce.

   **Once**
   This will run the sync only one time.

   *Start*: The date and time at which the job will run
   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-2-1024x381.png)
   *This scheduled job will run one time on March 22, 2022 at 1:00 PM.*

   **Recurring**
   This has a few preconfigured frequencies at which syncs can run such as hourly, daily, and weekly to quickly schedule a job.

   *Frequency*: Determines how often the job will run
   *Run Every (Hourly):*The amount of hour(s) that need to pass before running the sync again. (Select 1 for every hour)
   *Minute (Hourly)*: The minute of the hour when the sync will run.
   *Run (Daily)*: Option to run job every day or every weekday.
   *Run Every (Weekly)*: The day(s) of the week that the job should run.
   *At (Daily)*: The time at which the job will run.

   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-3-1024x403.png)
   *This scheduled job runs every day at the top of every hour.*
7. Click **Schedule.**

**View Scheduled Jobs**

1. Navigate to the **Accord Admin** tab in Accord Sync app. Click on the Sync Integrity tab.
2. Click on **Currently Scheduled Jobs**.

A modal should appear with a list of all the scheduled jobs from Accord. The name will include details like the name of the job the user entered, the QuickBooks objects that will be validated, and the QuickBooks Company Id.

![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-4-1024x257.png)

**Configure Flow to Handle Updates to the Accord Record Status**

1. Navigate to Setup.
2. Go to Home > Process Automation > Flows in Setup.
3. Click **New Flow.**
4. Configure the Start of the flow:
   - Select the **Accord Record Status** object.
   - Trigger the flow when **A record is created or updated**.
   - Set the following entry conditions which should all be met (AND):
     - Field: `appclipse__QB_ID__c`
       Operator: `Is Null`
       Value: `False`
     - Field: `appclipse__Status__c`
       Operator: `Is Null`
       Value: `False`
     - Field: `appclipse__Type__c`
       Operator: `Is Null`
       Value: `False`
   - Run the flow for updated records **every time a record is updated and meets the condition requirements.**
   - Optimize the flow for **Actions and Related Records**.
     ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-5.png)

     ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-6-1024x668.png)
5. Configure **Decision** component.
   Label: `Check Status`
   API Name: `Check_Status`

   **Outcomes:**
   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-7-1024x375.png)

   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-8-1024x382.png)

   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-9-1024x382.png)
6. Add a **Formula** variable:

   API Name: `QB_ID`
   Description: `QuickBooks Id`
   Data Type: `Text`
   Formula: `RIGHT( {!$Record.appclipse__QB_ID__c}, LEN({!$Record.appclipse__QB_ID__c}) - FIND( "-", {!$Record.appclipse__QB_ID__c}) - 1- len( {!$Record.appclipse__Type__c}) )`
7. Add a **Create Records** component to the **QBO Record Created**outcome:
   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-10-980x1024.png)
8. Add a **Create Records** component to the **QBO Record Updated**outcome:
   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-11-985x1024.png)
9. Add a **Create Records** component to the **QBO Record Deleted**outcome:
   ![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-12-984x1024.png)
10. Do not add any action under the Default Outcome path.
11. Save the flow.
12. Activate the flow.

![](https://accordsync.com/wp-content/uploads/2022/05/Accord-Configure-Sync-Integrity-Validation-13-1024x601.png)

**Running the Job Manually (Developers ONLY)**

**String** companyId: `The Id of the QuickBooks company`
**List<String>** objects: `A list of the QuickBooks entities`
**Datetime** since: `The date/time used to check for changes made since then`

`runSyncIntegrityValidation(String companyID, List<String> objects, Datetime since)`

**Example** - *This will validate changes made to Customers made in the last 100 days*
`appclipse.AccordGlobalAPI.runSyncIntegrityValidation('4620816365213778520', new List<String>{'Customer'}, ( DateTime.newInstance((Date.today() - 100), Time.newInstance(0,0,0,0))));`
