# Addons of a Service

https://docs.wisecp.com/es/addons-of-a-service

Handle every extra sold alongside a service from a single tab, so adding an option, correcting a price or issuing a renewal invoice never sends you through the client's whole order history.

## Opening the Screen

Open a service from **Orders › Services**, then pick the **Addons** tab: `{admin}/services/detail?id={service}&content=addons`.

The tab is rendered for every service, domain services included, whether or not the product defines addons. A service with no extras shows an empty list and the **Add New** button.

## What Is on the Screen

A heading line carries **Service Addons** with the sentence "Add-ons purchased with this service" underneath, and **Add New** on the right. The list below arrives with the page.

### The Addon List

The panel-wide **Service Addons** list, narrowed to one service. Client and service are known here, so those columns and the bulk-selection box are not drawn, which is why this tab has no bulk action bar.

| Column | What it shows | Sorting |
| --- | --- | --- |
| Addon | Addon name, option name below it. A quantity above one is printed in front of the option as a badge. | No |
| End Date | The addon's own due date, or a dash when it has none. | Yes |
| Price | Total amount when one was calculated, otherwise the unit amount, with the cycle below. | Yes |
| Status | Active, Pending Approval, In Progress, Suspended or Cancelled. | Sorted first |
| (actions) | Row menu with **View** and, with the operation privilege, **Delete**. | No |

Rows needing attention carry a faint tint: red for Pending Approval, blue for In Progress, amber for Suspended. Search and rows-per-page sit above the list, with a download icon once it holds an addon.

### The Addon Details Window

**View** opens the **Addon Details** window, titled with the addon's record number, holding four cards and a **Save Changes** button that stays disabled until you change something.

**Client & Service** holds the client card, a link to the parent service, the status badge, the module's last status message and the **Manage** selector. **Addon Information** holds the linked addon product with a **Change** button, that row being hidden on domain services, plus the free-text names and, on domain addons, the registration period beside the addon name. **Date Details** holds the three dates. **Billing Details** holds the invoice buttons, payment method, pricing type, pricing line and subscription block.

**Apply via API** appears in the action panels only when the service is bound to a module, and **Activate Addon** leaves **Manage** once the addon is active.

### The Add New Addon Window

**Add New** opens a window built from the addons the parent product offers. On a domain service it is built from DNS Management, Email Forwarding and Whois Privacy instead, listing only what the extension allows and the service does not carry yet; with nothing left it opens on "No add-ons available for this product." and no form.

Until an addon is picked only the selector shows and **Add** stays disabled. Choosing one reveals the option control, requirement fields, **Invoice Options** with its Paid or Unpaid choice, **Price Override**, **Addon Status**, the dates and a running total. Paid moves a pending addon to Active; when the addon follows the service's billing period the dates come from the service and are locked. A price entered under Price Override is stored as Custom Price, so every renewal bills that figure.

## Fields

Controls of the **Addon Details** window. The option name, start date, suspension reason and notification switch sit beside them and are edited the same way.

- **Manage**: Optional, empty by default. A choice opens its own panel: Activate, Suspend, Cancel or Delete.
- **Apply via API**: Ticked by default, shown only with a module. Unticked, only the record here changes.
- **Select Addon**: Disabled until **Change** is pressed. A new choice rewrites the name, option and module parameters.
- **Select Option**: Filled from the chosen addon. A selection copies its cycle and price into the pricing line.
- **Addon Name**: Free text, prefilled. The name the client sees; it does not change the product behind it.
- **Renewed On**: Date of the last renewal. Disabled when the addon follows the service's billing period.
- **Next Due Date**: The date the next renewal invoice is written against; disabled under the same condition. Cleared, it is never renewed.
- **Payment Method**: Defaults to None. Stamped on the addon's own renewal invoices.
- **Pricing Type**: Linked Addon locks cycle, amount and currency and prices renewals from the catalogue at the option's own cycle. An addon kept on another cycle renews at its stored amount. Custom Price uses the stored amount.
- **Pricing**: Cycle, unit amount, currency and quantity on one line. Quantity stays editable in both pricing types and never drops below one; the total is amount times quantity. The cycle is fixed on domain addons and on addons following the service period.
- **Subscription**: Optional agreement reference. A known one links the addon, emptying it unlinks; a linked agreement also shows its status and payments.

## Tasks

### Adding an Addon to the Service

1. Press **Add New** at the right of the heading line and pick the addon.
2. Set the option, quantity and requirement fields, decide on **Generate Invoice** with its Paid or Unpaid choice, and check **Addon Status**.
3. Press **Add**. The window closes and the list reloads. An addon created as active is also set up on the server, but only when the service carries a module and the chosen option defines parameters for that module; otherwise the row is a billing record and nothing leaves the panel.

### Changing the Option, the Price or the Dates

1. Open the row menu and choose **View**.
2. For another product or option press **Change**, then use **Select Addon** and **Select Option**; for the price alone set **Pricing Type** to Custom Price.
3. Press **Save Changes**. The window closes, the list reloads, and every changed field is written to the service history.

### Activating, Suspending or Cancelling

1. Open **View** and pick the action in **Manage**; a panel opens underneath.
2. For a suspension write the reason, and decide on **Apply via API** and **Send Notification** there.
3. Press **Save Changes**. The status badge changes, the row tint follows it, and a suspension keeps its reason atop the window.

### Issuing a Renewal Invoice for the Addon

1. Open **View** and find the **Invoice** line in Billing Details; **View all invoices** shows what was billed so far.
2. Press **Invoice this service** on that line.
3. You land on the new invoice. When nothing could be written the reason replaces it: already invoiced, renewal switched off, an unusable period or missing client data.

### Detaching the Addon from Its Subscription

1. Open **View** and find the subscription block at the bottom of Billing Details.
2. Press **Cancel** next to the status badge; it exists only while the agreement is active.
3. The window reloads by itself, the addon leaves the agreement, and the gateway line is dropped or repriced.

### Deleting an Addon

1. Open the row menu and choose **Delete**; the **Delete Addon Confirmation** window opens with the addon's name on it.
2. Decide on **Apply via API**, offered only with a module, ticked by default.
3. Press **Delete**. The row leaves the list at once and the removal is written to the activity log. The same removal sits in **Manage** as well, and taken from there it also records a line in the service history.

## Things to Watch

> **Deleting is not the same as cancelling**
> 
> Cancel leaves the record with a cancelled status, so the history stays readable. Delete removes it and, with **Apply via API** ticked, the resource on the server too. Neither can be undone here.

> **On an active addon the module answers first**
> 
> Changing the product, option or quantity of an active addon is sent to the module before anything is written. If the module refuses, the window reports its message and no edit is saved.

> **Addons follow the service into and out of suspension**
> 
> When a service is suspended, its active addons are suspended with it. When the service becomes active again, whether a renewal invoice is paid or an operator activates it, those addons become active too. Cancelled, completed and payment-pending addons are not touched by either transition.

## Required Privileges

Opening the tab and the details window needs `SERVICES_LOOK`. Adding, editing, changing status, issuing a renewal invoice, detaching a subscription and deleting need `SERVICES_OPERATION`; without it **Delete** is not printed in the row menu.

## Related Articles

- [Service Detail Overview](https://docs.wisecp.com/en/service-detail-overview)
- [Service Addons](https://docs.wisecp.com/en/service-addons)
- [Product Addons](https://docs.wisecp.com/en/product-addons)
- [Service Requirements](https://docs.wisecp.com/en/service-requirements)
- [Subscriptions](https://docs.wisecp.com/en/subscriptions)
