Home > Help center > Management Panel Manual > Catalog - Products - Create/Edit a Product

Catalog - Products - Create/Edit a Product

Creating a new product requires an entire design of properties, pricing, quantity limits, options and system visibility. When choosing to create a product the initial page that appears consists of General properties only.

adding a new product

General properties

The first section to complete are the Product details fields:

Name- Set the Name of the Product. It will be visible for users and in the public catalog/eCommerce/online store.
Category- Choose a category which the Product will belong to. Categories are pre-set, for more information on them, please click here.
Module- If ApiHawk AppCell is in use, different plugins can be used for provisioning the product with the power of automation. Select the preferred one.
Description- Set a description for the product.

Quantity setup

Next section involves the quantity and pricing of the product. Each product needs to be set with a specific quantity range in order for the system to know how much or for how long each one can be purchased. This quantity includes:

Min. Quantity- Set the minimum amount of time/quantity for which the product can be purchased, as a number.
Max. Quantity- Set the maximum amount of time/quantity for which the product can be purchased, as a number.
Default Quantity- Set the initial/default amount of time/quantity number for which the system would be offering the product.
Quantity Type- Set the time base which would relate to the products' active period, i.e. the active products’ duration period - if it is based hourly, daily, monthly or yearly. An additional type is present which is "quantity" and describes products whose measuring unit is not in time but in quantum.

An additional option to set all available quantities for one product is set after all available fields. The options listed there would be the ones listed for the user.


Product pricing

A Product also needs pricing. This is closely interconnected to the service statuses and auto renewal. For more information on that please click here.

Unit price- Set the default fixed price of the product.
Install price- Set the product price for installation, if applicable.
Redemption price- Set the product price if the product goes into redemption (misses renewal date). At that point the price could be higher than the initial purchase or renewal price.

Billing type

Next to the pricing is the "Billing type". It describes the base for the payment for product use in terms of time or quantity, i.e. if it is paid for per subscription, usage, once, etc. These are listed as follows:

Billing TypeDefinition
Renewable- Indicates that the product has to be renewed, i.e. has an expiry and renewal date.
Continuous- Indicates products that the system renews before their payment. These payments can be done at a later date.
Usage- Indicates that the product is paid for based on the usage, price is not per fixed amount of time.
Onetime- Indicates that the product is purchased for one time use. It may have some sort of limit, depending on the product in question.
Subscription- Indicates that the product is on a subscription base.


The next line has the option to set the Status of the product at the moment of creation. There are three available statuses:

Active- Product is visible, usable, and available in the catalog, and for users to view and purchase.
Inactive- Product is not visible or available, it is present only as information in the Catalog product list in the Management Panel.
Hidden- Product is not visible in the Catalog but could be purchased if customer posses the specific URL. Additionally, if a customer owns a product that afterwards is set as hidden, the user will continue to see and use that product, but it will not be visible for purchase by other users anymore.

Service status days

Next to the Status field is the setup for the number of days in each service status after product expiry. Not all states may be applicable for every type of product. To see more information on service statuses please click here.

Service state daysDefinition
Next Due days- Set the next due date before product/service expiry date. This will prompt the system to place the product/service in the user's shopping cart the specified amount of days before it expires. From then on the system will seek the first opportunity for payment in order to renew the product/service. This setting will be applicable only if the product/service's Auto Renew is On.
Suspend days- Set how many days after the product has expired it would be set to Suspended, in case it requires but hasn't been renewed.
Redemption days- Set how many days after the product has been Suspended, it would be set to Redemption. These days display the total Suspension days as well.
Terminate days- Set how many days after the previous available/applicable state (now all products have a Redemption state) the product would be terminated.

There is a visual representation of these status days placed at the bottom of the page. The example below is for a domain with a specific TLD and reads that:


  • Green line - the amount of time one can purchase this type of product for is of minimum 1 to maximum 9 years;

  • Yellow line - how many days after Product expiry will the product be Suspended; in this case it will be Suspended without delay;

  • Orange line - how many days available for Renewal there are between the product entering Suspended state and before it goes into Redemption state;

  • Light Red line - how many days after entering the Suspended state will the product go into the Redemption state; in this case it is 30 days after suspension, which means that the Suspended state lasts for 30 days. The Redemption state represents a type of Grace period or "pending deletion, but is still restorable" state;

  • Dark Red line - how many days after entering Redemption state will the product be terminated; in this case it is 30 days after reaching Redemption state, which means that Redemption state lasts for 30 days. Termination is the last possible state and means that the owner of this type of domain with that specific TLD will lose ownership over it.

Note: The Renewal Possible state is calculated as the difference from Terminate days minus Redemption days.

Available Admin actions

Control buttonDefinitionDetail
install-pluginInstall plugin- Install a 3rd party plugin for automation purposes. This button appears only while editing a product/service.
turn-on-or-offTax and fees- When the slider is enabled, it means that the product is liable to tax and fees.
save-changes2Save- Save the modifications done on the product and the product is then officially created.

Edit a product

Once the general product has been created it can then be edited to have additional settings added to it. These include Options, Fields, Product suggestions, Product Images, and Product Upgrades. The example used here is for a Hosting plan product.

product edit general section

Assign an Option

The first available setting is called Options. These are settings that require additional information from the customer, when the product is purchased. For detailed information on Product Options please click here.

The Options tab displays a list of pre-set Options for the Module selected for the product when it was created.

options section edit


Since the Options that appear are the ones for only the specific Module of the product, there is a Filter that can add all Options associated with any other 3rd party system that is already a part of the system. As long as a desired module is integrated into Billia and Options have been created for it, they can be additionally added to this list.


Options list sections

The list with Options has the following sections:

Option ID- The ID of the specific Option. Relates internally for the system.
Name- Name of the Option. The name is set manually at the point of creating the Option. For further information please click here.
Option type- Choose the type of the Option - Value-based, Choice-based, and Group-based.
Value- Defines the style of the option visualization, as in how it would show up: as a single field, as a slider option, as a choice yes/no, etc.
Namespace- Indicates the Module of the Option, as Options are sorted per each 3rd party integration.
Required- Set if that field is required to be filled by the customer. Some Options are necessary, others are optional. Е.g. - when a domain name is purchased typing in its name is mandatory, but choosing whether the domain's privacy information would be protected or not is optional.
Product identifier- Depending on the products of the specific business, some, most or all of them would require an identifier. This is done for ease of the people managing them and their users. The identifier is used to specify the particular product so that it is distinguished from others of the same type. Е.g. - when Hosting is purchased it is the domain name that is the Identifier, so when one user manages more than one hosting, they can differentiate them by the domain.

Available Admin actions

Control buttonDefinitionDetail
add-optionAdd an Option- Click to add a new custom options. For more information please click here.
-filterFilter- Filter the options to show such for one or more modules.
turn-on-or-offTurn on/off- Turn an option on or off for the specific product. The list will display all options for the initial module selected for the product, but all are by default disabled, until turned on.
checkbox checkbox-filledCheck Required yes/no- Check if the Option is required or not.
deselected selectedSelect Identifier- Select if that option will be the identifier of the product.
edit2Edit- Edit the Option, for more information please click here.
deleteDelete- Delete the Option.
saveSave- Save the changes made.

On the bottom of the page there is an additional setting - Auto populate options. When selected, the system will automatically populate the available respective information for the Options during the purchase of the product.

Assign a Field and Label

The next type of setting are the Fields. Unlike the Options, they are applied as default criteria for the product that is not optional and cannot be modified by customers. For more information on Product Fields, please click here.

assign field preview

Fields list sections

The list with Fields has the following sections:

ID- Displays the unique ID of the Field.
Key- The respective system key for that field from the key-value database.
Name- The given title of the field.
Value- The respective system value for that field from the key-value database.

Creating a new Field

At any point an Admin can manually create a new Field. For more details on Fields and their creation please click here.

In order to create a new Field properly, an Admin would need to assign a system key and a value of the criteria they want to set for that product. They would also need to give the new Field a name.

create a new field

Creating an Extra Field

An additional option of adding an Extra Field appears on the page when editing a specific product. The Extra Field is a descriptive type of field, where it provides information for the product on the page of the eCommerce.

create a new extra field

There are two types of Extra fields:

Type Extra FieldDefinition
Extra Field- Provides one space to add additional information in the form of a simple text for the product, e.g. "SSL security".
Descriptor- Provides two spaces to add additional information for the product with Key and Value. They have to be again hardcoded as data in the key-value database, in order for the system to pick them up.
  1. The first step would be to choose and create either an Extra Field or an Extra Field Descriptor. The available space accepts only small letters and underscore between words, e.g. to display "Example data (for Users)", it needs to be set as the screenshot below. This will first create a label for the Extra Field:

    first step in creating a new extra field

  2. After the label is created, a new space (or two spaces if a Descriptor is being set) appears on the page. That is where the value can be set to look as preferred in the front end:

    second step in creating a new extra field

Available Admin actions

Control buttonDefinitionDetail
add-fields-buttonAdd Field- Add a new field to this product.
add-extra-fields-buttonAdd Extra Field- Add a descriptive Extra field to this product.
edit2Edit- Edit/view an already existing Field.
delete-xDelete Field- Delete a Field.
sort-listSort- Sort the positions of extra fields.
-deleteDelete Extra Field- Delete an Extra Field.
save-changes2Save- Save all changes.

Assign a label to the product

From this page is also where specific labels can be assigned to the Catalog Product. These labels would have a particular visualization, which could also be in the Billia Store respective pages.

In order to attach a label here, it needs to first exist in the Label Management category of the Billia Management Panel. Setting up labels in the system is done from here.

To attach a label to a Catalog Product, the icon with the plus in the circle needs to be clicked.

add label to product

Add a label

To add a label to a product, complete the field required and choose a color for the label.

add label

The "key" field requires a label type to be chosen. This would include labels set up in the Billia Management Panel's category Labels with a Resource equal to "CatalogProduct". Currently, there are two pre-defined product-type labels in the system.

  1. The label titled "product_tag_qty_12" is predefined for subscription-based products, such as hosting plans (they require a choice for usage term length during purchase). The value is a text that can be customized as preferred.

    quantity based

    This label is configured in the frontend to be visualized in the Billia Store, during the purchase process, on the step for choosing the term length.

    example quantity label in billia store

    Note: This particular quantity product label is set for the 12th term length, hence it includes the number "12" at the end of its title. The frontend of the Billia Store is designed so that it will display the product label titled "producttagqty" next to the specific term length corresponding to the number at the end of the title. Following that logic a new label can be set in the same manner for the e.g. 24th term length of a specific product, which would need to be titled "producttagqty_24" and so on.

  2. The label titled "product_tag" is set up for more of a custom approach. Its value can be set to display "Limited time", "Best Market price", or "Promo".

    custom product label

    This label is configured in the frontend to be visualized in the Billia Store, as well, on the step with search results during the purchase process for domains only.

    custom product label

    Note: These two pre-set labels for Catalog Product labels are both configured in the frontend to be visualized in the Billia Store. Any other custom label attached to a Catalog Product will appear only in the Billia Management Catalog Product details' page, unless otherwise specifically configured in the frontend.

    In the same manner, other labels can be set up for the resource "CatalogProduct", in order to be able to be attached to a product.

    Note: Once one type of a label has been attached to a Catalog Product, it will no longer appear in the product labels' dropdown for that Catalog product, as long as it is still attached.

Catalog Product Labels' logic

The Catalog Product labels which are configured to be visualized in the Billia Store have a specific order and include further logic.

  1. Another type of a Catalog Product label that is configured to appear in the Billia Store is the discount label. This is a label that is automatically configured by the system whenever a specific Catalog Product has a discount attached to it.

    discount label

  2. The Special Catalog Product label is automatically attached to a domain type (TLD) of a Catalog Product depending on its sorting. In the Products' list in the Billia Management Panel each product has a "sorting number" which dictates how high or low in the list this domain TLD will be sorted. Top 10 domain TLDs will automatically receive the label "Special" in the Billia Store, in the domain search results' page.

    special label

  3. There is also a specific sorting system between the Catalog Product labels themselves, as displayed in the Billia Store. Shorty put - Custom Label > Discount label > Special label. This means that if a specific Catalog Product qualifies for more than one label for the Billia Store, only the one with the higher sorting will be displayed.


    If a domain product with the TLD .net is in top 10 Catalog Product sorting in the Billia Management Panel and has also an included discount, only the label with the discount will be displayed in the Billia Store.

Product Suggestions

Every major online store makes sure to provide more to its customers, including automatic offers to purchase something additional. The Products Suggestion section sets certain products from the Billia Catalog to be automatically suggested to the customer when purchasing specific items. For this correlation to be created, the products to be suggested need to be already existing. The example below uses a web hosting service with a SSL certificate as product suggestion.

suggestions preview

Available Admin actions

Control buttonDefinitionDetail
edit or deleteEdit or Delete- Choose to edit or delete that product suggestion.
Add suggestionAdd suggestion- Add a new product suggestion.

Add a Product Suggestion

Creating a new Product suggestion requires the completion of the following fields.

create a new suggestion

Search for product- Search for an already pre-existing product to add as a product suggestion.
Visibility- Set where the product suggestion will be visible, i.e. which part of the system. The positions are preset on backend.
Order type- Choose the order type of the product suggestion.
Message- Choose a language for a message to the customer and type it in.

Product Images

Products are best presented and sold with visual representation next to them. The Billia Catalog system is designed to easily attach images in specific locations.

preview for product images

Product images list sections

The list with Product Images has the following sections:

Thumb- Displays a preview of the uploaded image.
Key- Displays the key for the frontend code. The key sets the position of the image in the module selected. This means where exactly in that module it would be displayed, e.g. front page, bottom page, etc.
URL- Once the image is uploaded it is stored in the system and this field displays its path. It works the other way around, as well. If the Admin wants to use an image already uploaded, they could put the URL here, for the system to load the picture.
Client- Displays the module to which the image is assigned, e.g. the Billing module, the Catalog, the Clients Panel, etc.
Tools- Available Admin actions for this product image.

Note: In order for these images to work, their "key" needs to be first added to the frontend code. This is a side job for the frontend developer. The key set for the image here needs to match the key in the frontend code for the desired destination.

Available Admin actions

Control buttonDefinitionDetail
copy-URLCopy- Copy the specific product image's URL to the clipboard.
switch-clientSwitch client- From here an Admin can choose a different module for the image.
customers-edit-or-deleteEdit or Delete- Choose to Edit the image or Delete it from that product.
add-new-product-imagesAdd new- Choose to add a new image for this product.
save-changes2Save- Save the changes made.

Add new Product Image

Adding a new image is a simple process. The pop-up that appears for this action is the same when editing an already existing Product Image.

add a new product image


images- Upload an image from a local storage.
Key- Type in the frontend key for the image.
URL- Another way to upload an image. Set the URL for the image, if it is already in the system. If not, it will get automatically populated when uploaded through the respective icon.
Route- Since attaching a resource image can be done in various sections on the Billia Management panel, this line displays the category this image is for. In this case - Payment methods.
Client ID- Select the client/panel/platform/software for the image to appear.

Product Upgrades

This is the last subsection when creating/editing a Product. It is designed for the ease of the user to upgrade, as well as downgrade products, that have that option. In the example below the main product is a website hosting service, and the Product Upgrades attached to it are all other hosting packages that can be either upgraded or downgraded to.

preview of product upgrades

Note: Single products that don't have advanced packages cannot be upgraded. But if the Catalog offers products that are the same just on different levels, an upgrade/downgrade option is provided with this subsection.

Product upgrades sections

The list here has specific sections:

ID- Displays the unique product ID of the item added as the upgrade.
Product name- Displays the name of the product added as the upgrade.
Allow Suspended- If enabled sets the product to be available for upgrade even if it is in Suspended state.
Tools- Indicates the column with additional Admin controls.

Available Admin actions

Control buttonDefinitionDetail
-searchSearch- Search for a product to add as an upgrade.
turn-on-or-offEnable/Disable Allow Suspended- Enabled or disable the upgrade during Suspended state.
delete-xRemove- Delete the product upgrade.
save-changes2Save- Save the changes made.