Selling Domains in WHMCS: Registrar Modules, TLD Pricing and Sync

Connect a registrar to WHMCS, import TLD costs with Registrar TLD Sync, set your markup, configure renewals and nameservers, and never sell a domain at a loss.

Published
Reading time
3 min

Selling domains next to hosting is almost free money: the client wants both, the registrar does the work, and WHMCS handles the renewals. It is also the easiest place to lose money, because TLD prices change and a stale price list sells a domain for less than it costs you. This is the setup that keeps the numbers right.

Choose a registrar

WHMCS ships with modules for the reseller registrars: ResellerClub, eNom, OpenSRS, Namecheap, and many more through the marketplace. Pick one with a reseller API and a low deposit rather than the one with the cheapest .com; the cost difference is pennies and the API quality decides how many tickets you get.

Sign up for a reseller account, deposit funds, and collect the API credentials. Most registrars also require you to allow-list the IP address of your WHMCS server before the API answers.

Activate the module

Configuration → System Settings → Domain Registrars. Find the registrar, click Activate, enter the credentials, and test with a WHOIS lookup from Utilities → Domain Resolver or by searching a domain in your own store. If the search hangs, it is the IP allow-list or a firewall on outbound port 443 from your server.

Import prices with TLD Sync

Do not type prices in by hand. Utilities → Registrar TLD Sync pulls every TLD your registrar offers, with its cost for registration, transfer and renewal. The screen shows your cost, your current price and the margin, and lets you:

  • Import only the TLDs you want to sell. Twenty is plenty; nobody buys .accountants from a hosting company.
  • Apply a markup, either a percentage or a fixed amount, to all of them at once.
  • Set the registrar for each TLD, if you use more than one.

The result lands in Configuration → System Settings → Domain Pricing, where you can still adjust individual TLDs. Run the sync again every few months; registries raise prices, and the tool highlights TLDs where your price has fallen below cost.

Set the domain options

Still under Domain Pricing, each TLD has a settings column:

  • DNS Management, Email Forwarding, ID Protection: whether clients can buy these and for how much. ID protection is expected on gTLDs and usually free at the registry, so charging for it looks bad.
  • EPP code required: on for transfers of almost every TLD.
  • Auto-registration: on, so a paid domain order goes to the registrar without you clicking anything.

Under General Settings → Domains, set your default nameservers. These are what new domains are pointed at unless the client changes them; for a reseller on our platform that is your own branded ns1.yourbrand.com and ns2.yourbrand.com.

Renewals

Domains renew on their own only if two things are true: the renewal invoice is paid, and Automation Settings → Domain Renewal Days is set so the invoice goes out early enough. Sixty days before expiry, with reminders at thirty and seven, is a sane default. Registries add redemption fees after expiry, and a client who lets a domain lapse will blame you.

Also tick Domain Sync under Automation Settings. It asks the registrar for the real expiry and status of every domain nightly, so a domain renewed at the registrar directly, or transferred away, is reflected in WHMCS.

Transfers in

A transfer needs the EPP code from the old registrar and a domain that is unlocked and more than sixty days old. WHMCS collects the code at checkout and submits it; the registry then emails the current owner to approve. Tell clients this in the order confirmation, or they will open a ticket asking why the transfer is "stuck" five days later.

Watch these three numbers

Registrar balance. A reseller account with an empty balance fails every registration silently from the client's side; WHMCS logs it in Module Log. Set a low-balance alert at the registrar.

Renewal price versus cost. The TLD Sync margin column, checked quarterly.

Domains with no hosting. Clients who only hold a domain with you are the ones most likely to forget to renew. Make sure their contact email is real.

WHOIS and availability on your site

The same registrar module powers the domain search box on your storefront. If you also want a lookup tool on your marketing site, we run one on ours using public RDAP data: WHOIS lookup. It shows the registrar, dates and nameservers for any domain, and hands a free name straight to the cart.

#whmcs#domains#registrar#tld#pricing

Keep reading

More from WHMCS

All guides

WHMCS

How to Set Up Products, Pricing and Configurable Options in WHMCS

Create product groups and hosting products in WHMCS, set billing cycles and prices, add configurable options and addons, and build the order form clients see.

4 min read →

WHMCS

How to Upgrade to WHMCS 9 Safely (PHP 8.2, ionCube 13, Templates)

A pre-flight checklist for WHMCS 9: back up, move to PHP 8.2 or 8.3, update ionCube to 13, test templates and hooks, upgrade in order, and roll back if needed.

4 min read →

WHMCS

WHMCS Security Checklist: 12 Things to Do After Installing

Rename the admin directory, move writable folders out of the web root, lock configuration.php, restrict admin by IP and enable two-factor authentication.

3 min read →