> For the complete documentation index, see [llms.txt](https://developers.share.inc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.share.inc/splynx/create-a-plan.md).

# Create a plan

A **Share plan** is the unit a subscriber subscribes to — speed, price, billing duration. Each Share plan has a matching **tariff** on your Splynx instance, so your CSR team sees the same catalogue in the Splynx UI and your subscribers' services can be attached to it.

You only ever create the plan on the Share side. Share creates the matching Splynx tariff for you and keeps it in sync.

## In three steps

1. **Create the plan on the Share side.** Use the Share admin platform or the partner API — both produce the same result. Required fields: name, download/upload speed, billing duration, price. Optional: installation fee.
2. **Wait a moment.** Share creates the matching tariff on your Splynx instance under the hood and stores its id against your plan.
3. **Use it.** The tariff appears in your CSR's service-edit dropdown immediately — your instance is yours alone, so there is no per-partner visibility step.

That's it. The rest of this page covers the field mapping and updates / retirement.

## Where plans are created

Two equivalent entry points — both reach the same place:

* **Share admin platform.** Fill in the new-plan form, save. The Splynx tariff is created in the background.
* **Partner API.** Post a plan payload to `/v1/plans`. See the [API Reference](/api-reference/api-reference.md) — **Plans → Create plan** for the exact request schema, validation rules, and response.

A plan is **never** created by editing the Splynx tariff list directly. Splynx is the mirror; Share is the source of truth.

## How fields map to Splynx

When Share creates the tariff on Splynx, it translates Share's fields into Splynx's column names:

| Share plan field    | Splynx tariff field                    | Notes                                                                                                             |
| ------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `name`              | `title`                                | Used verbatim. Must be unique on your instance.                                                                   |
| `downloadSpeedMbps` | `speed_download`                       | Converted to kbps before write.                                                                                   |
| `uploadSpeedMbps`   | `speed_upload`                         | Converted to kbps before write.                                                                                   |
| `durationDays`      | `billing_days_count` + `custom_period` | Standard durations (1, 7, 30, 90, 365) are written as a custom period.                                            |
| `price`             | `price`                                | Carries currency from your partner default; you cannot mix currencies on one tariff.                              |
| `installationFee`   | additional field on the tariff         | Splynx propagates this onto each service so your field team sees the expected install fee on the customer record. |
| `isActive`          | `available_for_services`               | Retiring a plan flips this to `false` rather than deleting the tariff. See [Retiring a plan](#retiring-a-plan).   |

One Splynx column pair is managed by Share automatically and does not have a Share-plan equivalent you set yourself:

* **`hide_on_admin_portal` / `show_on_customer_portal`** — default to partner-friendly values; talk to your account manager if you want these tuned.

## Updating a plan

Updates flow the same way as creation — change the plan on Share and the Splynx tariff is updated in the same hop. The exact request shape is in the [API Reference](/api-reference/api-reference.md) under **Plans → Update plan**.

Two behaviours to be aware of:

* **Existing cycles are not re-priced.** Subscribers already on a plan keep their cycle price until renewal. The new price applies from each subscriber's next cycle.
* **Renaming a tariff in flight is allowed but discouraged.** It confuses your CSR's audit trail. Prefer creating a new plan and migrating subscribers across — see [Migrate a subscriber to a Share plan](/splynx/migrate-a-subscriber.md).

## Retiring a plan

Stop selling a plan by deleting it on the Share side (admin platform or `DELETE /v1/plans/{id}` — see the [API Reference](/api-reference/api-reference.md)). This is **not** a hard delete:

* The Share plan record is preserved so existing subscriptions still reference it for historical reporting.
* The Splynx tariff is **soft-disabled** (`available_for_services` flips to `false`). Existing services on the tariff keep running until their subscribers migrate; no new services can be created against it.

If you need to revive a retired plan, contact your account manager — re-enabling a soft-disabled tariff is a deliberate operator action, not a self-service flip, because it usually means a pricing decision was reversed.

## The "Migrate to Share Plan" dropdown stays in sync

Each internet service in Splynx has a **Migrate to Share Plan** dropdown (used to move a subscriber onto a different Share plan). Share keeps the options on that dropdown in step with your plan catalogue automatically:

* **Creating** a plan adds it to the dropdown (once its Splynx tariff has been created).
* **Renaming** a plan updates its label in the dropdown.
* **Deleting / retiring** a plan removes it from the dropdown.

The list always reflects only your currently active plans that have a matching Splynx tariff — there is nothing to maintain by hand, and you will never see stale or duplicate entries.

## What your CSR sees in Splynx

* The new tariff appears in `Tariffs → Internet` on your instance immediately after creation, and is available in the service-edit dropdown right away.
* The **Migrate to Share Plan** dropdown on the service form reflects your current plan catalogue (see above).
* The Splynx audit log records every Share-side write against the Share API key. Filter by that key to see the tariff's full history.

## Common gotchas

* **The Splynx price doesn't match the Share price.** Most often someone edited the tariff directly in Splynx. Share will overwrite it on the next update. Don't edit Splynx tariffs by hand.
* **A customer's internet service shows a price of 0.** This is intentional. Share owns billing, so the chargeable service price is kept at **0** to stop Splynx's billing engine from blocking the customer for a low balance. The real plan price is shown in the read-only **Share price** column on the service.
* **You tried to delete a tariff in Splynx directly.** Don't — Share will recreate it. Retire it via Share as described above.
