Skip to main content

What are products and prices?

In Odus, products and prices are the building blocks for billing. Before you can create a subscription or charge a customer, you need at least one product with at least one price attached to it.

Products

A product represents a sellable item or service in your catalog — for example, a SaaS plan, a physical product, or a content subscription. A product does not contain any billing information on its own. It has a name, an optional description, and an optional statement descriptor.

The statement descriptor is the text that appears on a customer's bank statement when they are charged. It is limited to 22 characters.

Prices

A price defines the billing terms for a product. Every price belongs to exactly one product and specifies:

  • The amount to charge, in the smallest currency unit (for example, cents for USD).
  • The currency to charge in.
  • The type of charge: either one_time or recurring.

One-time prices

A one-time price charges the customer a fixed amount exactly once. This is suitable for setup fees, lifetime access purchases, or any charge that is not repeated.

Recurring prices

A recurring price charges the customer on a repeating schedule. The schedule is defined by a billing schedule, which is a series of cycle definitions. Each cycle definition specifies:

FieldDescription
intervalUnitThe unit of time for the billing interval: minute, hour, day, week, month, or year.
intervalValueThe number of units between each charge. For example, 1 with month means monthly.
amountThe amount to charge for this cycle, in the smallest currency unit.
positionThe order of this cycle in the schedule.

Most subscriptions use a single cycle definition that repeats indefinitely. For example, a monthly plan at $29.99 would have one cycle definition: intervalUnit: "month", intervalValue: 1, amount: 2999.

note

The amount field on the price itself — outside the billing schedule — represents a one-time setup fee charged when the subscription starts. It is optional for recurring prices.

Multiple prices per product

A product can have more than one price. This is how you offer different billing options for the same service. For example, a "Pro Plan" product might have a monthly price and an annual price. When creating a subscription, you specify which price to use, not just which product.

This also makes it possible to add new pricing options later without touching existing subscriptions. Existing subscriptions keep their original price until you explicitly change them.

Products, prices, and subscriptions

When a customer subscribes to something, you create a subscription by referencing a price. Odus looks up the product and billing schedule from that price automatically. The subscription then renews according to the billing schedule attached to the price.

This relationship can be summarised as:

  • A product describes what is being sold.
  • A price describes how it is billed.
  • A subscription is a specific customer's active agreement to be billed according to a price.