Domains
Per-year TLD pricing, registrar modules, the domain page and its registrar commands, the life cycle from order to renewal, transfers and the WHOIS lookup.
AIOBilling sells domain names the way it sells hosting: a price list per extension, a domain checker in the store, an invoice, and a registrar module that does the work once the invoice is paid. If you do not have a registrar account you can still sell domains and register them by hand with the Manual Registration module. This chapter covers the pricing, the registrars, the admin page of one domain and the life of a domain from order to renewal. How a client searches and orders is in The store and the cart; the registrar plug-ins are in Registrars.
Turning domain sales on
In Setup → General Settings → Domains (see Settings):
| Setting | What it does |
|---|---|
| Enable Domains | Shows the domain checker and the domain pages in the store. |
| Automatic Registration | Registers the domain at the registrar as soon as its invoice is paid. Off: the domain waits as Pending (or Pending Transfer) for you. |
| Automatic Renewal | Renews the domain at the registrar when the renewal invoice is paid. |
| Create Renewal Invoices | Days before expiry that the renewal invoice is made (default 30). |
| Renewal Notice Days | Days before expiry that a notice goes out, comma separated (default 60,30,15,7,1). |
| DNS Management Price, ID Protection Price, Email Forwarding Price | Yearly price of each extra, in the default currency. They can also be set on the Domain Pricing page. |
| Registrar Lock by Default | New registrations are locked against transfer. |
| Domain Sync | The cron pulls expiry dates and statuses from the registrar. |
| Default Bulk Search Extensions | The extensions the bulk checker tries, for example .com,.net,.org. |
Domain pricing
Setup → Domain Pricing lists the extensions you sell. Each row has:
- Extension (
.com,.com.bd,.shop), - ticks for DNS, E-mail Fwd, ID Prot (the extras clients may add) and EPP (an EPP code is needed to transfer in),
- Auto Registration - the registrar module that handles this extension, or None (manual),
- Group (a label such as Popular), Grace (days / fee) and Redemption (days / fee), Featured (offered first in suggestions), Order,
- Open Pricing and a Delete tick (an extension that has domains cannot be deleted).
Type a new extension in the empty row at the bottom and press Save Changes; you land on its price page.
Open Pricing shows, for every currency you have, a table with one row per year from 1 to 10 and three columns: Register, Transfer, Renew. A price is for the whole period, not per year. An empty cell means that period is charged as years times the one-year price, and a currency with no table is converted from the default currency. Tick Fill empty years 2 to 10 from the 1 year price to multiply. Copy register prices to renew and transfer replaces the other two columns.
Two helpers on the main page: Import extensions takes one extension per line, optionally with the register, transfer and renew price for one year (.club,12.99,12.99,14.99), and fills years 1 to 10 in the default currency; Copy prices copies register prices to the ticked kinds for every extension. The Domain add-ons card holds the three extra prices and the lock default. Add currencies first (see Invoices and payments).
Registrars
Setup → Domain Registrars shows a card for every registrar module in the plugins/ folder: name, version, whether it is free or premium, its state and how many extensions use it.
| Button | What it does |
|---|---|
| Activate / Deactivate | Switches the module on or off. Deactivating sends its extensions back to manual registration. |
| Configure | Opens its settings (account, key, test mode). |
| Test Connection | Calls the registrar and shows its answer. |
| Use for all extensions | Makes it the automatic registrar of every extension. |
The shipped modules are Manual Registration, Namecheap, ResellerClub and GoDaddy. See Registrars.
The domain page
Domains have no menu item of their own. Open a client, choose the Domains tab, and click Manage. The full Domains list (search by domain, client or ID; filters for status, registrar and extension; columns Registrar, Registered, Expiry Date, Next Due, Recurring, Status) opens from the dashboard widget Domain Renewals Due This Month. The page holds:
Domain Details - Order #, Registration Type (Register or Transfer), Domain, Registrar, Registration Date, Registration Period (1 to 10 years), Expiry Date, Next Due Date, Next Invoice Date, EPP Code, Status, First Payment Amount, Recurring Amount, Payment Method, Subscription ID, Promotion Code, Managed Services (DNS Management, ID Protection, Email Forwarding), Renewal (Do not renew, Send renewal reminder notices), Admin Notes and five Nameserver boxes. Save Changes writes them to your database only; nothing is sent to the registrar.
Statuses: Pending, Pending Registration, Pending Transfer, Active, Grace, Redemption, Expired, Transferred Away, Cancelled, Fraud.
Registrar commands
The Registrar Commands card names the module in use (if none: choose a registrar above and save). Each button is one call to the registrar and shows its answer at the top of the page.
| Command | Effect |
|---|---|
| Register | Registers the domain now. |
| Transfer | Starts the transfer in, using the EPP code. |
| Renew (with a years box) | Renews for that many years and moves the expiry date. |
| Sync | Reads the expiry date and status from the registrar. |
| Get Nameservers | Reads the nameservers into the page. |
| Save Nameservers | Sends the five boxes to the registrar. |
| Get EPP Code | Fetches the transfer-out code. |
| Toggle Registrar Lock | Switches the lock on or off. |
| Request Delete | Asks the registrar to delete, or adds a note when the module cannot. |
A failed registration e-mails the administrators (Domain Registration Failed) and is written to the Activity Log; the Module Log has the registrar's own words. Delete this Domain removes only the record, not the domain at the registrar. You need the role Manage Clients Domains for all of this.
From order to renewal
- The client orders a domain in the cart. A Domain line (DomainRegister or DomainTransfer) goes on the invoice.
- When the invoice is paid, the domain is registered (or the transfer started) at the registrar, the client gets Domain Registration Confirmation or Domain Transfer Initiated, and the status becomes Active (or Pending Transfer). With no registrar module the domain is marked Active for a manual registration.
- Daily, the cron sends Domain Renewal Notice e-mails on the notice days, creates a renewal invoice (type DomainRenew) the set number of days before expiry, and, after a renewal invoice is paid, renews at the registrar. A failure e-mails the admins (Domain Renewal Failed).
- A domain past its expiry date goes to Grace if its extension has grace days, then Redemption if it has redemption days, then Expired; the client gets Domain Expired Notice.
- The cron Domain Sync pulls the real expiry and status, sets Transferred Away when the domain left, and, for a transfer in, sets Active and sends Domain Transfer Completed.
The renewal price is the Renew price for the period, plus the extras ticked on the domain. It is taxed only when Tax Domains is on in Tax Configuration. See Automation.
WHOIS lookup
Utilities → WHOIS Lookup: type a domain. You get Available, Registered, Could not tell, Invalid or Not sold here, whether its extension is in your price list, the one-year registration price (marked premium when the registrar says so) and the raw WHOIS text. The store's checker uses the registrar first and WHOIS second; a domain already in your system counts as taken.
Was this helpful?
Updated 2026-11-03