Domain Synchronisation
An introduction:
The domain sync cron job is responsible for ensuring the Next Due Date, Expiry Date and Status are up to date on all Pending Transfer and Active status domains where a valid registrar module is set on the domain itself.
How it works:
The domain sync cron job works by using the domain synchronization functions built into each registrar module (if the module supports Domain Sync Script in the documentation for the module) to check 50 domains per run from the oldest to newest in your WHMCS installation. Pending Transfer and Active domains are handled separately, so it can do 50 of each during each run.
Active domains will have their Expiry Date corrected to match the registrar if different. If the dates already match it will report "In Sync". Pending Transfer domains will usually report an error until the transfer process is complete at which point the status will automatically be changed to Active, the Domain Transfer Completed email template sent and the Expiry Date obtained from the registrar. When used with the eNom module, the script can also send the Domain Transfer Failed email template if the transfer process fails.
For example: if you are using eNom and have 150 Active Domains and 20 in Pending Transfer status, the script will check the 20 Pending Transfer status domains as needed during each run, along with 50 of the Active status domains, starting over once it reaches the newest domain.
Depending on the configuration under Setup > General Settings > Domains tab, the domain sync cron job will adjust at least the Expiry Date and Status, with the possibility of the status if "Sync Next Due Date" is configured. Once the domain sync cron job has completed, an e-mail will be set to any admins whose administrator role has "Cron Notifications" enabled. If "Domain Sync Notify Only" is enabled, no changes will be made and the e-mail will simply list the changes that would have been made.
Setting it up:
To set up the domain sync cron job, please configure the following setting under Setup > General Settings > Domains tab first:
Sync Next Due Date - Choose whether to sync the Next Due Date to the Expiry Date, and how many days in advance of it (if desired) Domain Sync Notify Only - If enabled, the domain sync script won't make any changes - it will only notify admins of the changes it would have made. Useful for debugging.
Once that is done, you need to set up the domain sync cron job. Instructions for this can be found in our crons documentation at https://docs.whmcs.com/Crons#Domain_Sync_Cron
Common Errors:
Sync not supported by module: This indicates that the registrar module set on the domain in question does not support the domain sync functionality and no changes will be made to it as a result. This is most common with third party/custom modules and will need to be fixed by the developer to resolve this.
Curl error - could not connect to host: This is most commonly caused by not whitelisting the server's IP at your domain registrar (for example: eNom or ResellerClub) for API access. You will need to contact them and provide the IP from Help > License Information in your admin area for whitelisting to resolve this.