Feature Requests
Share ideas, discuss and vote on requests from other users in community

Domain name transfer management request

Anonymous shared this idea 8 years ago


I know WHMCS has made strives not long ago to do an update to the way it

handles domain name transfers. From what I see, what was added was a

new option called "Pending transfer" , creating of tasks for domain name

transfers and lastly a cron that updates expy dates, renewal dates on

active domains.

However, I believe we are still 1/2 way there. There are few problems

that still loom when dealing with transfers that requires to much human


PROBLEM 1: Let's say the domain transfer finishes, WHMCS doesn't really

do anything else after it puts the domain in Pending transfer and after

it succeeds, we manually have to put it to active and change the expy


SOLUTION: What should be done is WHMCS should somehow check via cron all

Pending Transfers if they have succeed. If they have went through

fine, change status to Active, update expy dates and send a transfer

complete email to customer.

On the flip side, if the transfer fails, Create a new status that says

"Transfer Failed" and set a timer that after a domain is in pending

transfer longer than x days, goto Failed and send the client an email

saying the domain transfer failed.

I think this will help automate the transfer process to require less intervention.

Is this possible?

Best Answer


Thanks for your comments and votes. I'm pleased to advise this is possible with the domainsync.php script. If a domain transfer is successfully completed when the domainsync.php script runs, it will change the domain's status to Active automatically.

If the transfer fails, the eNom API returns enough information for us to be able to send the "Domain Transfer Failed" email template when the domainsync script runs. This will contain the reason for the transfer failure.

The status remains Pending Transfer at this time on the assumption that the client will want to try the transfer again. Should they decide not to go ahead with it, the status could be changed manually to Cancelled.

Comments (35)


you can read more here


Domain Sync EnabledAutomatically checks and updates the Status and Expiry Date of domains names against your domain registrar to ensure the date in WHMCS is always correct (registrar permitting). To use this feature tick the option and configure the following cron job on your server:

php -q /path/to/home/public_html/whmcspath/crons/domainsync.php

This can be configured as often as you like, however to avoid overloading your domain registrar we recommend running it every 4 hours. The sync script will check Active 50 and Pending Transfer domains at a time:

  • 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.


This is all nice if you host no more then 300 domains ((24:4=6x50=300 domains synced every 24 hours) .

If you host 6000 you better let it run every minute because your domain will show 'expired' and won't ever be synced after the cron.php runs!

How we have to solve this once we double the amount of registered domains is beyond me... :(


Running every 4 hours means you may have no more then 300 domains registered.

Not a likely scenario for a serious business.

We have 6000 domains registered and need to run it every minute and still thats not enough!

If a new transferred domain is not synced before the cron.php runs at night it will get the 'exipired' tag and will never be synced and expire because no new invoices will be generated etc..

We need to able to sync more domains at once.


This doesn't seem relevant to this topic. The topic is about transfers and all domain transfers are synced on every cron run of the domainsync.php script. It's only actual domain expiry syncs that are limited to 50 domains per cron run -- not the transfer status.