Summary

This release brings mid-term subscription upgrades, pricing directly on a schedule, custom fields on price plans and product items, conditional coupon discounts, new payment capabilities (direct authorisation and reverse), a redesigned quote creation flow, attachments on subscriptions, and a range of invoicing, reporting and Desk improvements.

Events

Event processing details The event processing details panel has been reworked so you can see exactly how an event was handled. The event timeline now uses a compact card design that lets you scan the full processing history at a glance, and the panel includes the raw ingest data received for the event. Understanding why an event was priced, persisted or skipped no longer requires leaving Desk or digging through logs.

Pricing

Conditional discounts on coupons

Conditional discounts (discounts that apply only when certain conditions are met) can now be attached to coupons. Previously you had to configure a conditional discount on each subscription individually; now you can define it once as a coupon and apply the same standardised discount across many subscriptions, with less manual work and less room for inconsistency.

Conditions on tiered pricing

You can now define conditions directly on the pricing item config of a TIERING pricing metric (tiering_conditions). This lets you vary how tiered event pricing is applied based on the conditions you set, giving you finer control over usage-based charging without splitting it across multiple product items. This is available via the API for now; support in Desk will follow soon.

Custom fields on price plans

Price plans can now carry custom fields, so you can enrich a plan with your own structured metadata, for example to categorise plans as Trial vs Standard. Those custom field values are also available as a criterion in the price plan search, letting you find and group plans by your own categorisation rather than only by name or ID.

Custom fields on product items

Product items now support custom fields as well, letting you attach additional structured data to an item. This is especially useful for integrations: for example, you can store the identifiers needed to map a product item onto a product or revenue line in an external ERP, so downstream systems can reconcile against your own references.

Index prices by a percentage when copying a schedule

When you copy a schedule you can now index all price overrides at once by a percentage, instead of recalculating and re-entering each price by hand. A tedious, error-prone task, such as applying an annual price increase across a customer’s negotiated prices, becomes a single action.

Define pricing directly on a schedule

A pricing plan schedule can now carry its own pricing directly, through an optional pricing_categories field with the same structure as a pricing plan version (pricings, items, configs and bands, including pricing groups). Until now a schedule could only get its pricing by referencing a pricing plan version or by resolving it from a rate card. Defining bespoke pricing on the schedule itself is ideal for one-off, customer-specific arrangements that don’t warrant a separate pricing plan version. See Custom pricing for the other ways to tailor pricing per subscription.

Quotes

New quote creation flow

Creating a quote now uses a redesigned init flow that simplifies the steps from “new quote” to a ready-to-send document, making the starting point clearer and faster to work through.

Auto-fill VAT and registration details on quotes

A new CPQ content block automatically generates the VAT and company registration details on a quote, filling them in directly from the quote’s data. Instead of copying these legal details in by hand for every quote, the block keeps them accurate and consistent with the underlying quote, reducing manual effort and mistakes on outgoing documents.

Mid-term subscription upgrades

Upgrade quotes now support mid-term upgrades: upgrading a subscription part-way through a billing period. When such an upgrade is accepted and activated, the fee for the original subscription is credited pro rata for the unused part of the period, and the new subscription’s fee is invoiced in full, so the customer is billed correctly for the switch. The upgrade quoting flow lets you choose the crediting options that apply, and the quote view now shows direct links to the subscriptions the upgrade moves from and to, so the relationship between the old and new subscription is always traceable.

Clearer share actions on published quotes

Once a quote is published, a share message now appears at the top of the page, making it immediately obvious that the quote is ready and how to send it to the customer.

Fixes

bug-fix
  • Finalising a quote that still has an invalid configuration, for example a pricing group that requires exactly one selection but has none, is now blocked, preventing broken quotes from being finalised.
  • Switching the plan during an upgrade no longer carries over stale data (enabled pricings, overrides) from the previously selected pricing plan.
  • Fixed the quotes search returning fewer results than expected when no order_by parameter was provided, so the Quotes page now consistently shows all matching quotes.

Subscriptions

Attachments on subscriptions

You can now add attachments to subscriptions, the same way you already can on other resources. Keep supporting documents, such as signed agreements and purchase orders, together with the subscription they belong to.

Realign the invoice date while the period is still open

The billing cycle and invoice date can now be realigned while the current period is still open, rather than only after it has closed, giving you more flexibility to correct or adjust billing timing when it matters. In addition, when creating a schedule, Desk now offers an option to realign the invoice date to the schedule’s start date directly at creation time.

Hide inactive add-ons

Inactive add-ons are now hidden by default on active, voided and cancelled subscriptions, keeping the subscription view focused on what’s actually in effect. When you do need to see them, a “Show inactive addons” option in the context menu brings them back into view.

Auto-refresh after saving a subscription

The invoice list and invoice preview now refresh automatically after a subscription is saved or activated, so you immediately see the resulting invoices and preview reflect your changes without a manual page refresh.

Customers

More parents per customer

A customer can now have up to 10 parents, up from the previous limit of 5, provided the additional parents are non-processing customers. This gives more headroom for modelling complex account hierarchies, such as reporting or grouping structures, without being constrained by the old cap.

Invoices

Credit and duplicate an invoice via the API

You can now credit an invoice and create a corrected copy of it in a single API call. This is designed for the common correction scenario where a finalised invoice had the wrong details, for example an incorrect address or tax setting, and you want to credit the original and reissue a fixed version in one step rather than as two separate actions.

Search invoices by billing period date

Invoices can now be filtered by billing period date. This is especially valuable when the invoice date is only set at finalisation, as it is for customers who define the invoice date when the invoice goes to FINAL, because in those cases the invoice date alone no longer tells you which period an invoice covers. Filtering on the billing period date surfaces the invoices for a given period, even for backdated subscriptions or invoices.

Payments

Direct authorisation

Payments can now be authorised directly through the /payments/authorise action using a new DIRECT payment context type. This supports flows where you want to authorise a payment on its own, independent of the usual invoice-driven context.

Reverse a payment

A new reverse action lets you reverse a payment that has not yet been captured at the payment provider. Previously a refund would fail in this situation, because an uncaptured payment has to be cancelled rather than refunded. With the reverse action, Solvimon determines whether the payment needs to be cancelled or refunded and performs the correct operation, so you no longer have to track the capture state yourself or handle the two cases differently in your integration.

Reporting

Invoice tax and header report improvements

The invoice tax report now includes the tax note code (tax_categories.notes) and the “Invoice to Final at” timestamp (updated_to_final_at), and the invoice header report now also includes “Invoice to Final at”. These additions help you reconcile tax reporting and see exactly when each invoice was finalised.

Enabled pricings on the subscription report

The Price Plan Subscription report now includes an “Enabled Pricings IDs” column, listing the enabled pricings from the subscription’s schedule. You can see, per subscription, exactly which pricings are active directly in the report, which is useful for auditing and analysis without opening each subscription individually.

Integrations

Email: invoice template name for your own email integration

Platforms that send email through their own (non-SYSTEM) email integration can now set the invoice template name used for their outgoing emails. This gives you control over the template applied to your invoice emails when you bring your own email account, rather than being limited to the system default.

Desk

Activate pricing plans from the bottom bar

Draft pricing plans now have an “Activate pricing plan” button in a bottom bar, matching the pattern already used on products, so activating a plan is available right where you’re working.

Reuse references of archived resources

When a resource is archived, its reference is now suffixed, so you can immediately reuse the original reference for a new resource instead of running into a uniqueness conflict.

Clearer metric filters

Metric filter availability logic has been fixed and the filter labels renamed, so the available filters are correct and clearer to understand.

Expanded product card on the subscription timeline

The first product card is now expanded automatically when a new subscription’s pricing plan is rendered on the subscription timeline, so the most relevant details are visible straight away.

Fixes

bug-fix
  • Fixed the “from” and “reply-to” email addresses not rendering correctly in the action workflow view.