Rate cards

A rate card is a pricing plan designed to be shared across many subscriptions. You link subscriptions to the rate card itself rather than to a specific version, so when you publish a new version, every subscription automatically uses the updated prices.


Rate cards vs. pricing plans

A rate card behaves like a standard pricing plan. You configure pricing items, charge types, and pricing groups the same way, with a few key differences:

Standard pricing planRate card
Subscription links toA specific plan versionThe plan itself; Solvimon resolves the applicable version at processing time
Version applicabilitySet per subscription scheduleTime-based; each version has a start date, and processing applies the most recent version whose start date has been reached
Price updatesRequire a schedule change per subscriptionPublishing a new version updates all subscriptions on the rate card from that version’s start date onward

Versioning

Like pricing plans, rate cards are versioned to maintain an audit trail and history of pricing changes over time. Rate card versions differ in how they are scheduled:

  • Each version has a start date that determines when it becomes applicable.
  • A version can be edited as long as it has not started yet. Once its start date has passed, the version is finalised.
  • There is no separate end date. A version remains in effect until a later version’s start date is reached, at which point the later version takes over.
A new version must always start in the future. You cannot publish a version with a start date in the past, as this would require reprocessing already-billed periods.

Discounts and overrides

Rate cards currently support total-level discounts, commitments, and markups only. The following are not available on rate cards:

  • Discounts, commitments, or markups applied at the invoice, product, revenue item, or condition level
  • Coupons
  • Pricing overrides
If you need product-level or condition-level discounts, or customer-specific pricing overrides, use a standard pricing plan instead.

For developers

Create a rate card

To create a rate card, call the Create pricing plan endpoint with the RATE_CARD variant:

POST
/v:version/pricing-plans
1curl -X POST https://test.api.solvimon.com/v1/pricing-plans \
2 -H "X-API-KEY: <apiKey>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "reference": "my_first_rate_card",
6 "name": "My first rate card",
7 "description": "My first rate card",
8 "type": "STANDARD",
9 "amount_type": "EXCLUDING_TAX",
10 "variant": "RATE_CARD"
11}'
Response
1{
2 "object_type": "PRICING_PLAN",
3 "id": "ppla_gwDeeR0tKm7h5NAw9d1q",
4 "reference": "my_first_rate_card",
5 "name": "My first rate card",
6 "description": "My first rate card",
7 "type": "STANDARD",
8 "amount_type": "EXCLUDING_TAX",
9 "variant": "RATE_CARD"
10}

The variant field distinguishes a rate card (RATE_CARD) from a standard pricing plan (DEFAULT).

Create a rate card version

A rate card version includes a start date that determines when it becomes applicable. Create it with the Create pricing plan version endpoint, referencing the rate card in pricing_plan_id:

POST
/v:version/pricing-plan-versions
1curl -X POST https://test.api.solvimon.com/v1/pricing-plan-versions \
2 -H "X-API-KEY: <apiKey>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "pricing_plan_id": "ppla_gwDeeR0tKm7h5NAw9d1q",
6 "version": 1,
7 "status": "ACTIVE",
8 "rate_card": {
9 "start_at": "2026-08-01T00:00:00Z"
10 }
11}'

Add pricing_categories to the request to configure pricing items, exactly as you would for a standard pricing plan version.

Response
1{
2 "object_type": "PRICING_PLAN_VERSION",
3 "id": "ppve_gwDeep0tDRcSvkAfeN1Z",
4 "pricing_plan_id": "ppla_gwDeeR0tKm7h5NAw9d1q",
5 "version": 1,
6 "status": "ACTIVE",
7 "rate_card": {
8 "start_at": "2026-08-01T00:00:00Z"
9 }
10}

The start_at date must be after the previous version’s start date and cannot be in the past.

To attach a rate card to a subscription, call the Create pricing plan schedule endpoint, referencing the subscription in pricing_plan_subscription_id and the rate card in pricing_plan_id. Omit pricing_plan_version_id; Solvimon resolves the applicable version at processing time:

POST
/v:version/pricing-plan-schedules
1curl -X POST https://test.api.solvimon.com/v1/pricing-plan-schedules \
2 -H "X-API-KEY: <apiKey>" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "type": "DEFAULT",
6 "pricing_plan_subscription_id": "ppsu_gwDeeN0tBe7h5NAw9d1q",
7 "pricing_plan_id": "ppla_gwDeeR0tKm7h5NAw9d1q",
8 "start_at": "2026-08-01T00:00:00Z"
9}'
Response
1{
2 "object_type": "PRICING_PLAN_SCHEDULE",
3 "id": "ppsc_qwDeeE0uBamKVgAsAL1u",
4 "type": "DEFAULT",
5 "pricing_plan_subscription_id": "ppsu_gwDeeN0tBe7h5NAw9d1q",
6 "pricing_plan_id": "ppla_gwDeeR0tKm7h5NAw9d1q",
7 "start_at": "2026-08-01T00:00:00Z"
8}

For standard pricing plans, reference a specific pricing_plan_version_id instead.


Need more help?

Reach out in your Solvimon support Slack channel. Our team is available for questions at any stage of the integration.