Everyone

Pricing Matrix & Billing Cycles

Configure per-cycle, per-currency pricing for a product using the pricing matrix.

Last updated 1776211200

Overview

Every product (except domain type) has a pricing matrix — a table of billing cycles × currencies. Each cell holds a price and a setup fee, both stored as BIGINT cents internally and entered in human-readable decimal format in the UI (e.g. 9.99).


Accessing the Pricing Matrix

  1. Go to Admin → Products → [product].
  2. Open the Pricing tab.

The matrix is displayed as a grid: rows are billing cycles, columns are currencies.


Supported Billing Cycles

Cycle Key Approx. period
Monthly monthly 1 month
Quarterly quarterly 3 months
Semi-Annual semi_annual 6 months
Annual annual 12 months
Biennial biennial 24 months
One-Time one_time No renewal

Enabling and Disabling Cycles

  • Leave a cell blank to disable that cycle for this product. Clients will not see that cycle as an option when ordering.
  • Enter a value to enable the cycle. The row is upserted on save.
  • Saving is idempotent: saving a blank cell deletes the row if it exists; saving a value upserts it.

[!TIP] You do not need to offer every cycle. Most shared hosting products only need Monthly and Annual. One-Time is useful for lifetime deals or one-off setup services.


Entering Prices

Enter prices as a decimal number in your currency's standard format:

  • 9.99 → stored as 999 cents
  • 100.00 → stored as 10000 cents
  • 0 or 0.00 → free (valid, stores as 0)

Do not enter currency symbols or thousand separators. The UI formats the display automatically.


Setup Fee

Each cycle cell has a separate Setup Fee field alongside the price. The setup fee is:

  • Charged once on the first invoice only.
  • Not charged on renewals.
  • Shown as a separate line item on the invoice.

Set to 0 (or leave blank) to suppress the setup fee. See Setup Fees for more detail.


Multi-Currency

If you have multiple currencies configured, each currency appears as a separate column. You can set different prices per currency independently — there is no automatic conversion. See Multi-Currency Pricing.


Best Value Highlight

When a product has multiple billing cycles, Commerce automatically calculates the per-month equivalent of each cycle and highlights the cheapest one as "Best value" on the order form.


Related Articles