Nov 12, 2026 release

Bunny release of Nov 12, 2026: an all-new quote builder, one-time products, money percentage charges, credits during usage-credit trials and many smaller improvements.

The all-new quote builderLink to The all-new quote builder section

We’ve redesigned the quote builder again, this time with a focus on clarity and ease of use. The flow is more intuitive, the most important settings are easier to find, and you can now see exactly what will be invoiced and when.

One-time productsLink to One-time products section

You can now create products for one-time purchases, alongside subscriptions. Use them for implementation fees, training, or even physical goods. A one-time product can include several charges, each priced as a flat fee or by quantity.

Money percentage chargesLink to Money percentage charges section

This new charge type is for pricing set as a percentage of another amount, such as revenue, commissions or payroll.

Credits during usage-credit trialsLink to Credits during usage-credit trials section

For subscriptions billed in usage credits, you can now set how many credits a customer gets during the trial period.

Small improvementsLink to Small improvements section

Security & accessLink to Security & access section

  • Subscription tenant updates are limited to the requesting organization and no longer accept customer portal tokens.
  • AI agent write tools now refuse roles without write access, both in chat and through the MCP endpoint.
  • The AI quote update tool accepts only quote builder fields and is limited to your organization.
  • Only the account owner can create a Stripe import connection link.
  • Portal and restricted tokens are bound to their own account.

Quote builderLink to Quote builder section

  • Rename a draft quote by clicking its title.
  • Product cards lock once a quote is no longer a draft, and rejected edits revert automatically.
  • Quantity and Price fields are wider, and periods are abbreviated (/mo, /yr).
  • “Invoices due … days after issue” replaces “Net payment days”.
  • Bill up front, Send first invoice and Up-front months now live in the Payment schedule card.
  • Advanced options are regrouped into Quote, Billing, Sent to the customer, Signing and Internal. Several rarely used fields were removed.
  • The Add product modal has a Plan step and loads faster.
  • The Preview tab and the quote approval page show the PDF under a single header. The approval page adds zoom and Print.
  • Quote pages load much faster. Each change now triggers one data refresh instead of two.
  • Various layout and wording improvements.

Quotes: payments, approvals & sharingLink to Quotes: payments, approvals & sharing section

  • Pay-to-accept now holds the first invoice amount instead of the full quote total. When that amount is $0, it skips the hold and doesn’t ask for a payment method. The Charge card on acceptance switch shows the amount.
  • Approval rules without a date window now fire correctly, and marking a quote as shared can no longer bypass approval.
  • Coupons now count as discounts in approval rules. Coupons and discount lines count toward “Overall quote discount”, and a coupon scoped to a plan counts toward that line’s discount.
  • Applying a quote no longer overwrites the account’s own payment terms.
  • Unsharing a quote revokes the customer’s existing links and resets its viewed status, and the portal shows that the quote is no longer available.
  • Expired quotes can’t be emailed.
  • Sharing a quote is blocked when the account’s invoice template requires a tax number and the account doesn’t have one.
  • Signing links can only be created for quotes that have been shared. With Bunny Sign, a failed acceptance is rolled back and the signer stays unsigned.
  • Undoing a signed quote is refused when it would affect an issued invoice or a subscription with recorded usage, so invoices are no longer left with missing lines or stale totals.
  • Duplicating a quote no longer copies its viewed and shared dates, and duplicating an accepted quote now works.
  • The same plan can’t be added to a quote twice unless the plan allows it.
  • Quotes created through the API now default to invoicing backdated periods. Imports, renewals and price list changes are unchanged.

Quote documents & PDFsLink to Quote documents & PDFs section

  • The {{quote.currency}} and {{quote.first_plan.renewal_term_months}} variables now render on PDFs.
  • Switching document templates asks you to discard changes only if you edited a paragraph.
  • Customers can again open quotes that use document templates in the portal.
  • Coupon rows on quote PDFs show each period’s amount.
  • Percentage price adjustments on amendments now match across the quote, the adjustment banner and the invoice. Money percentage rates are no longer adjusted by mistake.

Charges & catalogLink to Charges & catalog section

  • New charge forms: New charge opens a picker for One-time, Recurring, Usage-based or Money percentage, each with its own form. Flat pricing is the default, and outdated fields were removed.
  • Money percentage charges:
    • Two charges on one plan now bill the correct revenue.
    • Evergreen charges renew correctly.
    • Stored prices no longer override percentages.
    • Invoices and credit notes display correctly.
    • Price descriptions read as percentages.
    • The built-in Money unit is protected from edits.
  • One-time charges:
    • Invoice lines show the product name.
    • Renamed charges keep their name on invoices.
    • Duplicated products include their charges.
    • Revenue is recognized evenly over the exact number of months, capped at 60.
    • Quantity and recognition fields accept whole numbers only.
  • Usage credits: deleting a credits-based usage charge also removes its auto top-up charge. The Buy credits modal layout is improved.
  • Catalog and API inputs now return clear validation errors instead of server errors, and price descriptions match the saved price.

SubscriptionsLink to Subscriptions section

  • Trial subscriptions created via the API no longer renew unexpectedly. Every subscription now has a renewal term.
  • Reinstating an expired subscription creates a new subscription through a quote. It carries forward charges, prices, tiers and remaining coupon periods.
  • A subscription canceled mid-period is resumed instead, billing only the unpaid remainder. Trial-expired subscriptions can’t be reinstated.
  • API note: reinstating an expired subscription now uses a quote number, creates a deal, and needs a billing contact with an email.

Billing, invoicing & analyticsLink to Billing, invoicing & analytics section

  • Account MRR updates correctly when a renewal’s new price starts after the apply date. MUR is recalculated when usage invoices are issued, consolidated, voided or refunded.
  • Credit notes:
    • They now reduce the Non-recurring revenue chart.
    • They display on credit top-up invoices.
    • Rounding on zero-net invoices is handled consistently.
  • Invoice preview no longer fails when tax calculation errors.
  • Invoice filtering by account and invoice forecasts work reliably.
  • GL mappings support Breakage revenue. Revenue charts grouped by currency work again, and the Aging filter lists options in chart order.
  • Create credit note now appears greyed out with an explanation instead of being hidden.
  • Fast forward runs daily jobs at the correct local time on daylight saving days.
  • DemoPay pay-to-accept no longer leaves invoices stuck in “processing payment”.
  • The Edit account page loads faster: parent accounts are searched on demand.
  • Entities with accounts, invoices or revenue history can’t be deleted.

Integrations & workflowsLink to Integrations & workflows section

  • Salesforce:
    • Signing in through Canvas takes you straight to the quote.
    • Creating a second quote for the same account works.
    • Configuration errors return clear responses.
  • Workflow webhooks:
    • Failed deliveries retry up to 13 times over about 4 days.
    • The webhook log shows Status and Retried columns.
    • Final failures appear under Exceptions with a Retry option.
    • Test webhook reports unreachable URLs.
    • Unresolved template variables are logged as failures instead of being dropped silently.
  • Some API mutations no longer return an error on success.

AI agentLink to AI agent section

  • The agent can update an existing price list charge in place, for example from Flat to Volume.
  • The agent no longer asks for a Feature ID, and accepts units by name, code or ID.
  • MCP tool descriptions were improved.

Customer portal & UILink to Customer portal & UI section

  • The portal quote page and quote card were updated, and the hold button now reads Authorize.
  • App styling is unified across the product, with a range of visual fixes.
  • Password managers no longer offer to fill ordinary form fields.