# Domain Extensions and Pricing

https://docs.wisecp.com/uk/domain-extensions-and-pricing

Manage every extension you sell from one screen: its registrar, prices one by one or in bulk, add-on fees, and premium markups.

## Opening the Screen

Open **Products** in the main menu, then choose the domain extension list. The screen opens at `{admin}/products/domain`.

## What Is on the Screen

Three cards at the top summarize the settings that apply across every extension:

- **Bulk Settings**: turns automatic registrar price sync on or off and holds the profit margin percentage. It also shows the current grace and redemption periods.
- **Addons**: shows the current sale price for DNS Management, Forwarding, and WHOIS Privacy.
- **Premium Domains**: turns premium domain pricing on or off and lists the markup tiers.

Below the cards, the **Domain Extension List** table lists every extension with its registrar, feature toggles, status, and display order. Each row also has a **Pricing** button and a settings (gear) button for that extension's own grace and redemption periods.

## Fields

- ****Extension****: The extension without the leading dot, such as *com*. Required, and it must not already exist in the list.
- ****Extension Logo****: Optional image shown next to the extension name in the list and on the website.
- ****Feature Toggles****: Checkboxes for *DNS Management*, *Forwarding*, *WHOIS Privacy*, and *EPP Code*. Each one turns that feature on or off for the extension.
- ****Registrar****: The connected registrar module that registers and manages the extension, or *None*.
- ****Status****: Enable or disable the extension for sale. A disabled extension stays in the list but does not appear on the website.
- ****Display Order****: Lower numbers appear first in the extension list on the website.
- ****Name Servers****: Default name servers offered to clients, one per line. Set from Product Group Settings.

## Tasks

### Adding an Extension

Click **Add Extension**. Enter the extension name and optionally upload a logo. Set a starting price for registration, transfer, and renewal per currency. Choose the features and registrar, then click **Add Extension** again to save.

### Editing an Extension in the List

Change a feature checkbox, the registrar, the status, or the display order directly in its row. The control in each of these column headers applies one value to every row. The **Update Extensions** button turns on after any change; click it to save all changed rows.

### Enabling, Disabling, or Deleting in Bulk

Select rows with their checkboxes, then choose **Enable**, **Disable**, or **Delete** from the **Apply to Selected** list above the table. Confirm the action in the dialog that opens.

### Updating Prices in Bulk

1. Select the extensions, then choose **Update Prices** from the **Apply to Selected** list to open the dialog.
2. Pick a method under **How to Update** and enter the percentage or the amounts.
3. Under **Prices to Update** and **Currencies**, keep the price types and currencies you want to change.
4. Check the preview and click the update button, which shows the count (for example **Update 12 Prices**). The dialog closes and the list reloads.

- ****How to Update****: One of the four methods below. Adjust by Percentage is selected when the dialog opens.
- ****Adjust by Percentage****: Starts at 10 percent. It changes the current selling price; enter a negative value for a discount.
- ****Price from Cost****: The provider cost is converted to the price's currency and the margin is added on top. The margin starts with the **Profit Margin** from Bulk Settings. A price whose cost is unknown stays unchanged.
- ****Fixed Amount****: Enter a yearly amount per currency for registration, transfer, and renewal. Multi-year prices are multiplied by the number of years, and transfers get a one-year price only. A field you leave empty is not changed. If an extension has no price in a currency you fill in, a one-year price is created.
- ****Fill Multiyear Prices****: Fills the terms that have no price, up to the longest term the extension allows, from its shortest price. Registering for several years costs the first-year registration plus one yearly renewal for each extra year. Renewing for several years costs one yearly renewal per year. Transfers stay at one year. The preview shows the shortest price and the price of one filled term; hover it to see which term.
- ****Also recalculate terms that already have a price****: Under Fill Multiyear Prices; off by default. Turn it on to line up the longer terms with the current first-year price again, for example after the automatic update changes it.
- ****Registration****: Under Prices to Update; includes registration prices. Selected when the dialog opens.
- ****Transfer****: Under Prices to Update; includes transfer prices. Selected when the dialog opens.
- ****Renewal****: Under Prices to Update; includes renewal prices. Selected when the dialog opens.
- ****Currencies****: Hidden for Fixed Amount. All are selected when the dialog opens, and the change applies only to the selected ones. When filling multiyear prices, keep a currency selected if it has its own first-year price. Otherwise customers paying in it see the longer terms converted from another currency.
- ****Turn Off Automatic Pricing****: Shown for Adjust by Percentage and Fixed Amount, and on by default. It turns off **Auto Calculate Sale Prices** on the extensions that get new prices. Left on, those prices are recalculated from cost when the profit margin changes or the automatic update runs.

The preview is exactly what will be written: each extension and currency with the old and new price. The buttons above the list filter it by result:

- ****Below Cost****: Prices that will drop under the provider cost, shown in red. They are updated as well; hover the new price to see the cost.
- ****Unchanged****: Prices already at this amount or margin, or extensions whose longer terms all have a price. Nothing is written for them.
- ****Skipped****: Prices left as they are, shown as a dash. Hover it to see why: *Inactive price*, *Cost unknown*, *No price set*, an empty amount for a currency, *Transfers are priced for one year only*, or *No longer term allowed*.

Inactive and promotional prices are never changed. Each updated extension is recorded in [Activity Logs](https://docs.wisecp.com/en/action-logs) with its old and new prices. The same update is also available in the Admin API.

### Setting Registration, Transfer, and Renewal Prices

Click **Pricing** on an extension's row. On the **Regular Price** tab, enable the years and currencies you sell and enter a price for each. Switch to **Promotional Price** to set a temporary discounted price for the same years, then click **Save Changes**. While Auto-Update is on, the window also shows **Auto Calculate Sale Prices**. Turning it on puts the extension under automatic pricing: the daily price sync tracks its cost and your margin re-prices it.

### Turning Auto-Update On and Setting the Profit Margin

Turn on **Auto-Update** in the Bulk Settings card. It is the same switch as the daily **Domain Pricing Sync** task in [Automation](https://docs.wisecp.com/en/automation-overview). Costs come only from registrars whose [module settings](https://docs.wisecp.com/en/registrar-modules) have **Automatic Cost Updates** on. Set **Cost Currency** there to your reseller price currency. **Profit Margin** can be edited only while Auto-Update is on. Enter a new percentage and click the checkmark button (**Save Margin**) beside it; auto-priced extensions are re-priced at once.

### Setting Grace and Redemption Periods

Click **Edit** next to Grace & Redemption in the Bulk Settings card to change the default periods and fees for every extension. To set different periods for a single extension, use the gear button on its row instead. Enter the duration in days and the fee per currency for each period, then click **Save Changes**.

### Configuring Premium Domain Pricing

Turn on **Enable Premium Domain Pricing** in the Premium Domains card, then click **Edit Tiers**. Add a price threshold and a markup percentage for each tier, then click **Save Changes**. A premium domain's quote uses the rate of the first tier its registry cost fits under.

### Setting Addon Prices

Click **Pricing** next to DNS Management, Forwarding, or WHOIS Privacy in the Addons card. Enable the currencies you sell the add-on in and enter a yearly fee for each, then click **Save Changes**.

### Editing the Domain Page Settings

Click **Product Group Settings** at the top of the page to edit how the domain page looks on the website. Set the page title, description, and slogan. Choose the extensions highlighted on the home page and in the client area. Both fields suggest catalog extensions as you type but accept others too. An extension with no catalog entry or no registration price is skipped on the website. Turn the **Widget in Client Area**, **Web Hosting Form**, and **Override Client Currency** switches on or off. Set the default name servers, custom HTML content, an FAQ list, and SEO details. Every text field supports all of your active languages.

## Things to Watch

> **Bulk Price Updates Cannot Be Undone**
> 
> Prices that fall below cost are written too. Check the Below Cost rows in the preview before you apply; the old prices stay only in Activity Logs.

> **Profit Margin Applies to Auto-Priced Extensions Only**
> 
> A new margin re-prices only extensions with automatic pricing on, from their registrar cost converted to each price's currency. A price whose cost is unknown stays unchanged.

> **Deleting an Extension**
> 
> Deleting an extension from the list cannot be undone.

## Required Privileges

- **PRODUCTS_LOOK** or **PRODUCTS_GROUP_LOOK**: open the screen.
- **PRODUCTS_OPERATION**: add, edit, or delete extensions, and change any pricing or settings.

## Related Articles

- [WHOIS Lookup](https://docs.wisecp.com/en/whois-lookup)
- [Domain Documentation Management](https://docs.wisecp.com/en/domain-documentation-management)
- [Product Groups](https://docs.wisecp.com/en/product-groups)
- [Activity Logs](https://docs.wisecp.com/en/action-logs)
