# July 2026

Chargebee product updates released in July 2026.

Source: https://release-notes.chargebee.com/july-2026

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Payment Components now available for all Chargebee accounts

  [Payment Components](https://www.chargebee.com/checkout-portal-docs/payment-components.html) is out of early access and generally available on all plans. More than 40 businesses are already processing live payments through it. You can use it to build a checkout that collects [cards](https://www.chargebee.com/docs/payments/2.0/payment-methods/payment-method-overview#cards), [digital wallets](https://www.chargebee.com/docs/payments/2.0/payment-methods/payment-method-overview#wallets), [direct debit](https://www.chargebee.com/docs/payments/2.0/payment-methods/payment-method-overview#direct-debit-payments), and local [payment methods](https://www.chargebee.com/docs/payments/2.0/payment-methods/payment-method-overview) from a single component, without writing separate handling for each one. Because one integration covers every payment method Chargebee supports on a [payment gateway](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/gateway_settings), adding a payment method no longer means changing your checkout code. The payment step in [Chargebee Checkout's](https://www.chargebee.com/docs/billing/2.0/hosted-capabilities/hosted-checkout#full-page-layout) full-page layout is now powered by Payment Components.

  July brings the following enhancements to Payment Components:

  1. **Channel-specific payment methods.** A new `channels` parameter lets you offer different payment methods by device channel, for example, cards on desktop and [Payconiq](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/adyen-payconiq) on mobile.
  2. **Focus moves to the field that needs attention.** When a payment form is ready, keyboard focus moves to the first empty field. When validation fails, focus moves to the first field with an error. This applies to payment methods with multi-field forms, including card, direct debit, [iDEAL, Bancontact](https://www.chargebee.com/docs/payments/2.0/payment-methods/bank-based-payments), [UPI, and Netbanking eMandates](https://www.chargebee.com/docs/payments/2.0/payment-methods/payment-method-overview#asia-pacific).

  ### **How can you use it?**

  To get started, follow the [quickstart](https://www.chargebee.com/checkout-portal-docs/payment-components-quickstart.html). For scenarios that go beyond a basic integration, see [use cases](https://www.chargebee.com/checkout-portal-docs/payment-components-use-cases.html). If you use [Card Components](https://www.chargebee.com/checkout-portal-docs/components-fields.html) or the [Payment Method Helper](https://www.chargebee.com/checkout-portal-docs/payment-method-helper.html), we recommend moving to Payment Components. Both continue to be supported until further notice, but new advanced capabilities, including [payment optimization](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/payment-optimization-overview) and orchestration, will be available only in Payment Components and Chargebee Checkout.
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Accept Pix payments via EBANX and dLocal

  You can now accept [Pix](https://www.chargebee.com/docs/payments/2.0/payment-methods/payment-method-overview) payments through [EBANX](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/ebanx-pix) and [dLocal](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/dlocal-pix). One-time Pix covers checkout QR payments; recurring collection uses **Pix Automático** mandates so renewals can debit without a new QR code each cycle. Pix is Brazil's preferred real-time bank payment method for the BRL currency.

  ### **Why is this important?**

  Offering Pix helps you convert Brazilian customers who expect local instant bank payments, not only cards. Adding Pix on EBANX and dLocal matters when you already run those gateways for Latin America: you get Pix without standing up a separate Brazil-only processor. For failed Pix Automático renewals, Chargebee supports **Real Time Payments Dunning** (up to **3 retries within 7 days**, separate from card dunning), so you can recover more recurring revenue before final invoice actions.

  ### **How can you use it?**

  To accept Pix through EBANX or dLocal:

  **Prerequisite**: Confirm Pix (and Pix Automático for recurring) is enabled on your EBANX or dLocal merchant account.

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Settings** > **Configure Chargebee** > **Payment Gateways**, open EBANX or dLocal, and enable **Pix**.
  3. Review [Smart Routing](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/gateway_settings#smart-routing) so Pix traffic routes to the gateway you intend.
  4. For failed Pix Automático renewals, configure **Real Time Payments Dunning** under **Settings** > **Configure Chargebee** > **Dunning for Online/Offline Payments**. Pix dunning is separate from card dunning: Pix allows up to **3 retries within 7 days** (1 per day), and Chargebee optimizes retries in that window before applying your invoice and subscription final actions.

  For full setup, currencies, flow details, and dunning behavior, see [Pix via EBANX](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/ebanx-pix) and [Pix via dLocal](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/dlocal-pix).

  <Image src="/screenshots/july_2026/enable-pix-ebanx.png" alt="" />
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Process ACH payments through NMI

  You can now process [ACH](https://www.chargebee.com/docs/payments/2.0/payment-methods/direct-debit-payments) bank payments through the [NMI](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/nmi) payment gateway. ACH is a US bank-account direct debit payment method for United States Dollar (USD).

  ### **Why is this important?**

  This addition gives your US customers a lower-cost alternative to cards and often reduces card-related failures on renewals. If you already use NMI for cards, ACH on the same connection means you do not need another US ACH gateway. Choose this when your US volume justifies bank debit and you want one NMI stack for cards and ACH.

  ### **How can you use it?**

  To process ACH payments through NMI:

  **Prerequisite**: Confirm ACH is enabled on your NMI account.

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Open **Settings** > **Configure Chargebee** > **Payment Gateways** > **NMI**, and enable **ACH**.
  3. Update [Smart Routing](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/gateway_settings#smart-routing) so USD ACH payments can route to NMI where appropriate.

  For full setup and collection behavior, see [NMI](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/nmi) and [direct debit payments](https://www.chargebee.com/docs/payments/2.0/payment-methods/direct-debit-payments).

  <Image src="/screenshots/july_2026/enable-ach-nmi.png" alt="" />
</Update>

<Update tags={["NEW FEATURE", "BETA"]} topics={["Payments"]}>
  ## Accept BECS NZ and UPI through Stripe

  You can now collect [BECS NZ](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/stripe-becs-nz) direct debit and [UPI](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/stripe-upi) payments through the [Stripe](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/stripe) payment gateway.

  ### **Why is this important?**

  1. **BECS NZ** is New Zealand's bank-account direct debit for New Zealand dollar (NZD) currency. It suits NZ customers who prefer debiting a bank account for subscriptions. Chargebee already offers BECS NZ via GoCardless; Stripe support gives you a second gateway choice so you can keep cards and NZD direct debit on one Stripe connection.
  2. **UPI** is India's real-time bank payment method for INR (one-time and recurring, within Stripe's UPI limits). Choose **Stripe UPI** when Stripe is already your primary gateway for India—for example, you take cards on Stripe today and want UPI on the same connection without adding another gateway such as Razorpay or dLocal. If you already collect UPI through Razorpay or dLocal, those paths remain available.

  ### **How can you use it?**

  To enable BECS NZ or UPI through Stripe:

  **Prerequisite**:
  1. Confirm that **BECS NZ** or **UPI** is enabled on your Stripe account.
  2. Then [contact Chargebee Support](https://www.chargebee.com/docs/billing/2.0/kb/getting-started/how-to-contact-chargebees-support-team) to enable BECS NZ and UPI via Stripe in your Chargebee Billing site.

  Once enabled, follow these steps to configure the payment methods in your Chargebee Billing site:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Settings** > **Configure Chargebee** > **Payment Gateways** > **Stripe**, and enable the method you need (**BECS NZ** for NZD, or **UPI** for INR).
  3. Under [Smart Routing](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/gateway_settings#smart-routing), assign Stripe for that method and currency.

  For full setup, see [BECS NZ via Stripe](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/stripe-becs-nz) or [UPI via Stripe](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/stripe-upi).

  <Image src="/screenshots/july_2026/enable-becs-nz-stripe.png" alt="" />
</Update>

<Update tags={["NEW FEATURE", "BETA"]} topics={["Payments"]}>
  ## Accept Google Pay through Worldpay US eCom

  You can now accept [Google Pay via Worldpay US eCom (Vantiv)](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/google-pay-via-vantiv). Google Pay is a digital wallet for card payments.

  ### **Why is this important?**

  Google Pay via Worldpay US eCom (Vantiv) helps you convert customers who already store cards in Google Wallet, especially on mobile, without typing card details at checkout. If you already process cards on Worldpay US eCom, Google Pay settles on the same Worldpay connection instead of routing wallet traffic elsewhere.

  ### **How can you use it?**

  **Prerequisite**: [Contact Chargebee Support](https://www.chargebee.com/docs/billing/2.0/kb/getting-started/how-to-contact-chargebees-support-team) to enable Google Pay via Worldpay US eCom (Vantiv) if it is not already enabled for your site.

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Settings** > **Configure Chargebee** > **Payment Gateways** > **Worldpay US eCom (Vantiv Litle)**, enable Google Pay, and complete the Google Pay fields.
  3. Confirm [Smart Routing](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/gateway_settings#smart-routing) for the Google Pay path you want.

  For setup details, see [Google Pay via Worldpay US eCom (Vantiv)](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/google-pay-via-vantiv).

  <Image src="/screenshots/july_2026/enable-google-pay-worldpay-us-ecom.png" alt="" />
</Update>

<Update tags={["NEW FEATURE", "BETA"]} topics={["Payments"]}>
  ## Accept Alipay and Klarna through Adyen

  You can now accept [Alipay](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/adyen-alipay) and [Klarna](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/adyen-klarna) via Adyen at checkout and on Chargebee hosted pages.

  ### **Why is this important?**

  1. **Alipay** is a digital wallet widely used in China and by Chinese travelers and diaspora shoppers. It supports one-time wallet payments across Adyen's supported currencies. Chargebee Billing already offered Alipay on other gateways; Adyen support helps when Adyen is already your primary stack for Asia or for routing alternative payment methods (local wallets and bank methods), so you do not need a second processor only for Alipay.
  2. **Klarna** is a Buy Now, Pay Later (BNPL) / bank-based option for Europe and other Klarna-supported markets (pay later, installments, or pay now, depending on shopper eligibility). If you already take cards on Adyen, Klarna on the same connection lets you offer flexible payment terms where BNPL lifts conversion, without integrating Klarna as a standalone gateway.

  ### **How can you use it?**

  To accept Alipay or Klarna through Adyen:

  **Prerequisite**: Enable the payment method in your Adyen account, and [contact Chargebee Support](https://www.chargebee.com/docs/billing/2.0/kb/getting-started/how-to-contact-chargebees-support-team) to enable **Alipay** and **Klarna** in your Chargebee Billing site.

  Once enabled, follow these configuration steps:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Open **Settings** > **Configure Chargebee** > **Payment Gateways** > **Adyen**, and enable **Alipay** and/or **Klarna**.
  3. Confirm [Smart Routing](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/gateway_settings#smart-routing) and payment method display for the countries and currencies you support.

  **Where they differ:** Alipay is one-time only, so for subscription checkout enable one-time payment methods in **Checkout & Self-Serve Portal** and use Pay Now style collection for renewals. For details, see [Alipay via Adyen](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/adyen-alipay) and [Klarna via Adyen](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/adyen-klarna).

  <Image src="/screenshots/july_2026/enable-alipay-adyen.png" alt="" />
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Vault ID support for PayPal wallet on PPCP

  Chargebee's [PayPal wallet](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/paypal_express_checkout) integration now supports the PayPal Complete Payments Platform (PPCP) **Vault ID** flow, in addition to the legacy Billing Agreement ID (BAID) flow. After the customer approves PayPal, Chargebee creates and stores a Vault ID and uses it for future payments. Existing merchants with BAIDs continue to process recurring payments without interruption; backward compatibility is maintained.

  ### **Why is this important?**

  Chargebee previously supported PayPal wallet only through PayPal's legacy BAID integration. Upgrading to the Vault ID-based flow on PPCP aligns Chargebee with PayPal's Complete Payments Platform and enables modern PayPal APIs, improved tokenization and reuse, and better compliance and future support.

  ### **How can you use it?**

  To use Vault ID for PayPal wallet payments on PPCP:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Settings** > **Configure Chargebee** > **Payment Gateways**, open your PayPal gateway, and **reconnect** your PayPal account so Chargebee can request the vaulting permission required for PayPal wallet.
  3. After you reconnect, new PayPal wallet payments use the Vault ID flow. Existing BAID payment methods keep working.

  For PayPal configuration details, check our [PayPal Commerce](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/paypal-commerce) documentation.

  <Image src="/screenshots/july_2026/paypal-reconnect.png" alt="" />
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Payment Lifecycle Logs: Payment Intents

  You can now see every payment intent started through Chargebee Checkout components and hosted pages in one place. The [Payment Intents](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/payment-intents) log lists each intent with its status, customer information, attempt details, and associated metadata. The details page breaks a single intent into every attempt, with [error codes](https://apidocs.chargebee.com/docs/api/errors), failure reasons, and gateway responses.

  ### **Why is this important?**

  Not every failed payment attempt creates a transaction in Chargebee Billing, so first-time checkout failures were hard to see and harder to explain. Payment Intent logs close that gap: you get full visibility into every attempt, your team can diagnose declines and authentication failures without raising a support ticket, and you can act on repeated failures before they turn into abandoned checkouts.

  ### **How can you use it?**

  To review payment intents:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Logs** > **Payment Intents**.
  3. Select any intent to open the details page.
  4. Review the **Intent Summary**, **Customer Info**, and **Attempts** for status, payment method, errors, and gateway responses.

  For more details, check our [Payment Intents](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/payment-intents) documentation.
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Payment Lifecycle Logs: Transaction Lifecycle

  You can now track a payment from start to finish on a single timeline. [Transaction Lifecycle](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/transaction-lifecycle) appears on the transaction details page and lays out every major event in order—from intent created and authorized through transaction created, status changes, and any refunds or reversals. Each step includes a label, timestamp, linked entity or reference ID, and relevant amounts and statuses.

  ### **Why is this important?**

  Tracing a payment used to mean piecing the story together from several places. One ordered timeline answers what happened and in what order, so you can explain a payment to a customer, verify refunds during an audit, or pinpoint where a payment broke.

  ### **How can you use it?**

  To open Transaction Lifecycle:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Logs** > **Transactions**.
  3. Select any transaction to open its details page.
  4. Review the lifecycle timeline on the right, from the first event to the most recent.
  5. Use the linked entity IDs to jump to the related payment intent, refund, or transaction.

  For full details, see [Transaction Lifecycle](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/transaction-lifecycle).
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Payment Lifecycle Logs: Gateway Activity Logs

  You can now inspect the API conversation between Chargebee and your payment gateways. [Gateway Activity Logs](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/gateway-activity-logs) record each call Chargebee makes for payments, refunds, and other gateway operations—including request and response headers and bodies, status code, duration, and related transaction and customer context. A trace ID groups every call made during the same operation so you can follow a multi-step payment flow end to end.

  ### **Why is this important?**

  When a payment behaves unexpectedly, the answer is usually in what the gateway returned. Having those calls in Chargebee means you can debug failures and integration issues without asking your gateway for logs, follow multi-call operations with a single trace ID, and keep sensitive values such as card numbers, CVV codes, and authentication tokens masked before storage.

  ### **How can you use it?**

  To review gateway activity:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Logs** > **Gateway Activity**.
  3. Search the logs, or filter by operation type, gateway, status code, HTTP method, invocation time, or a related resource ID.
  4. Select a log to see the full request and response, along with duration, source, and trace ID.
  5. From a transaction or payment intent details page, use **View Request/Response Logs** when you need the calls for that payment.

  **Note**: Gateway activity logs are retained for 60 days. For full details, check our [Gateway Activity Logs](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/gateway-activity-logs) documentation.
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Payment Lifecycle Logs: Gateway Webhook Logs

  You can now check exactly what your payment gateway sent to Chargebee and how Chargebee responded. [Gateway Webhook Logs](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/webhook-logs) record each incoming webhook with its headers, payload, the HTTP status code Chargebee returned, the endpoint that received it, and how long processing took. The logs for each webhook link to the related [transaction](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/transactions), [customer](https://www.chargebee.com/docs/billing/2.0/customers/customers), or [invoice](https://www.chargebee.com/docs/billing/2.0/invoices-credit-notes-and-quotes/invoice-overview).

  ### **Why is this important?**

  A payment that looks stuck in Chargebee is often a webhook that never arrived or failed to process. These logs let you confirm whether Chargebee received a webhook, inspect what the gateway actually reported, and investigate failed, delayed, or duplicate webhooks. Sensitive header and payload values are masked before storage.

  ### **How can you use it?**

  To review gateway webhooks:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Logs** > **Gateway Webhooks**.
  3. Search the logs, or filter by gateway, status code, URL, received time, or a related transaction, customer, or invoice ID.
  4. Select a row to open the webhook details and review **Headers** and **Webhook Payload**.
  5. Use the related resource links to move to the matching transaction, customer, or invoice.

  **Note**: Gateway webhook logs are retained for 60 days. For more details, check our [Gateway Webhook Logs](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/webhook-logs) documentation.
</Update>

<Update tags={["NEW FEATURE"]} topics={["Payments"]}>
  ## Payment Lifecycle Logs: Retries

  You can now monitor payment recovery across your site from one screen. The [Retries](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/retries) page lists every invoice in the payment retry cycle, showing retry status, attempts, when the cycle started or the next retry is scheduled, payment source, last error, gateway, recovery system, and whether the last failure is retryable.

  ### **Why is this important?**

  Recovery progress used to be visible only one invoice at a time. In a single list, you can spot invoices failing on the same error or gateway, use [Retryable](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/retries#soft-and-hard-failures-in-the-retryable-column) to separate soft failures from hard declines that need a payment-method update, and see whether Chargebee, [FlexPay](https://www.chargebee.com/docs/payments/2.0/dunning/flexpay), or [Success+](https://www.chargebee.com/docs/payments/2.0/dunning/success-plus) is driving each retry.

  ### **How can you use it?**

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Logs** > **Retries**.
  3. Search by invoice or customer, or use **Filter list** to narrow by retry status, amount due, currency, next retry, gateway, error code, recovery system, or attempts.
  4. Click an invoice amount or number to open the invoice.
  5. To collect payment now, or to pause, resume, or stop retries, use the dunning controls on the invoice.

  For more details, check our [Retries](https://www.chargebee.com/docs/payments/2.0/payment-lifecycle-logs/retries) documentation.
</Update>

<Update tags={["NEW FEATURE", "BETA"]} topics={["MCP"]}>
  ## Configure tool inputs for Chargebee MCP

  You can now [configure tool input schemas](https://www.chargebee.com/docs/billing/2.0/ai-in-chargebee/chargebee-mcp#configure-tool-inputs) for Chargebee MCP tools. You can tailor which fields AI clients can send, disable fields, set defaults, or add constraints, while Chargebee still validates inputs and returns clear error feedback.

  ### **Why is this important?**

  Different use cases need different guardrails. Tool input configuration lets you limit what agents can submit per server and tool, reducing risk and keeping agent-driven billing actions within the limits you define.

  ### **How can you use it?**

  1. In [Chargebee Billing](https://app.chargebee.com/login), go to **Settings** > **Configure Chargebee** > **Agentic AI** > **MCP Servers**.
  2. Open the MCP server you want to configure.
  3. On the **Tools** tab, open the tool you want to constrain.
  4. Configure inputs (disable fields, set defaults, or add min/max and length constraints), then click **Save**.

  **Note:** Tool input configurations apply only to the specific server and tool where they are set.
</Update>

<Update tags={["NEW FEATURE", "BETA"]} topics={["MCP"]}>
  ## Connect Claude via the official marketplace connector

  You can now connect Claude to Chargebee MCP through the official Claude Marketplace. This replaces manual setup, letting you link your account in just a couple of clicks from the connector directory.

  ### **Why is this important?**

  The marketplace connector removes setup complexity and gives admins and builders immediate, secure access to Chargebee context in the tools they already use daily.

  ### **How can you use it?**

  1. Open the [Chargebee connector](https://claude.ai/directory/connectors/1d382723-077b-4c56-b1d2-4055d8ccee77) in the Claude Marketplace.
  2. Follow Claude's connect flow and authenticate with your Chargebee MCP access (API key or OAuth, as configured for your server).
  3. In [Chargebee Billing](https://app.chargebee.com/login), confirm the tools you want exposed under **Settings** > **Configure Chargebee** > **Agentic AI** > **MCP Servers**.

  **Note:** You are responsible for actions AI clients perform through MCP. Connect only trusted clients and review actions before they run.
</Update>

<Update tags={["NEW FEATURE", "BETA"]} topics={["Mobile Subscriptions"]}>
  ## Create customers automatically when recording an omnichannel purchase

  When you [record a purchase](https://apidocs.chargebee.com/docs/api/recorded_purchases#record_a_purchase) with a `customer[id]` that does not already exist, Chargebee Billing now creates the customer automatically and links the [omnichannel subscription](https://www.chargebee.com/docs/billing/2.0/mobile-subscriptions/omnichannel-subscription-overview) to it. To include basic profile details for the new customer record, you can optionally pass `customer[email]`, `customer[first_name]`, and `customer[last_name]` in the same request.

  ### **Why is this important?**

  Previously you had to create the customer first, then record the purchase. That extra step slowed process that depend on [omnichannel_subscription_created](https://apidocs.chargebee.com/docs/api/events/webhook/omnichannel_subscription_created) event, increased API volume on bulk imports, and forced you to maintain ordering logic. One API call now covers both steps.

  ### **How can you use it?**

  1. Call the [Record a Purchase](https://apidocs.chargebee.com/docs/api/recorded_purchases#record_a_purchase) API with `customer[id]`.
  2. If the customer record does not exist, Chargebee creates it and records the purchase.
  3. Optionally include `customer[email]`, `customer[first_name]`, and/or `customer[last_name]` to populate the new customer record.
</Update>

<Update tags={["ENHANCEMENT", "BETA"]} topics={["Payments"]}>
  ## Accept INR via Razorpay Import and in-page UPI QR

  Chargebee now supports [Razorpay Import](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/razorpay-import) so businesses registered **outside India** can collect **INR** from Indian customers, including cards, UPI mandates, and Netbanking eMandates, and settle to an overseas SWIFT-enabled bank account, without an Indian legal entity. After successful Import payments, Chargebee generates the invoice and sends it to Razorpay automatically. Chargebee can also render Razorpay UPI QR codes in an iframe on desktop instead of opening a new browser tab.

  ### **Why is this important?**

  1. **Razorpay Import** is for international SaaS / services businesses that need India-local methods (especially UPI) while settling overseas. It is a separate Razorpay merchant account from Domestic / Export, and Chargebee's integration covers the SaaS Import path (not physical goods).
  2. **In-page UPI QR** improves India checkout for UPI: keeping the QR on the same page avoids breaking immersion when Razorpay has enabled iframe / collect QR for your account.

  ### **How can you use it?**

  To set up Razorpay Import or in-page UPI QR:

  **Prerequisite**:
  1. **Razorpay Import:** [Contact Chargebee Support](https://www.chargebee.com/docs/billing/2.0/kb/getting-started/how-to-contact-chargebees-support-team) to enable Import on your test and live sites. Enable **INR** on your Chargebee site. Keep Razorpay Import onboarding documents ready (bank / KYC / UBO / TRC / Form 41, and GMV declarations when applicable). Import cannot share a Razorpay MID with Domestic / Export.
  2. **UPI QR in an iframe:** Ask Razorpay to enable the iframe / collect QR beta on your Razorpay account, then [contact Chargebee Support](https://www.chargebee.com/docs/billing/2.0/kb/getting-started/how-to-contact-chargebees-support-team) to enable the matching Chargebee integration.

  Then configure Razorpay in Chargebee:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Settings** > **Configure Chargebee** > **Payment Gateways**, and open or add **Razorpay**.
  3. In **How will you process payments?**, choose **Import** (business outside India → customers in India).
  4. Complete **Razorpay's import eligibility form**, finish Razorpay verification until the gateway status is **Active**, then enable the payment methods you need in Chargebee.
  5. At checkout, collect a complete **shipping address** and customer name, email, and phone (required for Import).
  6. **UPI QR in an iframe:** No separate UI toggle is required after both sides are enabled; desktop UPI QR renders in-page when the capability is on.

  For Import setup, onboarding documents, and invoice behavior, see [Razorpay Import](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/razorpay-import). For account-type choice and Domestic / Export (including OAuth connect), see [Razorpay](https://www.chargebee.com/docs/payments/2.0/payment-gateways-and-configuration/razorpay).

  <Image src="/screenshots/july_2026/razorpay-payment-methods.png" alt="" />
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Payments"]}>
  ## Mark payment error causes as retryable

  In Error Intelligence, you can now control whether errors under an error cause ID are treated as [retryable](https://www.chargebee.com/docs/payments/2.0/payment-errors/payment-errors#error-override-customizations).

  ### **Why is this important?**

  Not every decline under the same cause should stop collection. Retryability overrides let soft failures continue into dunning or retries, so you recover more revenue on temporary failures while still hard-failing true permanent declines. You get finer control than Chargebee's default cause-level behavior alone.

  ### **How can you use it?**

  To mark payment error causes as retryable:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Go to **Settings** > **Configure Chargebee** > **Error Settings** to open **Error Handling Settings**.
  3. Select the **Gateway** error group, then find the Chargebee Error ID or matching condition you want to adjust.
  4. Set **Retryable** at the error ID level or for the specific matching rule, then click **Apply**.

  For payment error overrides and dunning behavior, see [Payment errors](https://www.chargebee.com/docs/payments/2.0/payment-errors/payment-errors#error-override-customizations).
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Payments"]}>
  ## Filter customers by offline payment methods

  The **Payment Method Type** filter on the Customers index now includes offline methods such as bank transfer, cash, and cheque.

  ### **Why is this important?**

  Ops and finance teams often need to segment customers by offline payment methods for reconciliation and follow-up. Those methods were missing from the filter before, which forced API exports or support requests.

  ### **How can you use it?**

  To filter customers by offline payment methods:

  1. Log in to your [Chargebee Billing site](https://app.chargebee.com/login).
  2. Open the **Customers** list.
  3. Open the **Payment Method Type** filter and select the online or offline methods you need.

  For payment method types in Chargebee, see [Payment methods overview](https://www.chargebee.com/docs/payments/2.0/payment-methods/payment-method-overview).
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Growth"]}>
  ## Rule-based pricing page targeting for new customers

  You can now omit [`pricing_page[id]`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions/create-pricing-page-for-new-subscription#pricing_page_id) when you call [Create pricing page for new subscription](https://apidocs.chargebee.com/docs/api/pricing_page_sessions/create-pricing-page-for-new-subscription). Pass a valid [`customer[id]`](https://apidocs.chargebee.com/docs/api/pricing_page_sessions/create-pricing-page-for-new-subscription#customer_id) instead, and [Plays](https://www.chargebee.com/docs/growth/plays/plays-overview) resolve which [Pricing Table](https://www.chargebee.com/docs/growth/offers/pricing-tables) to serve from your targeting rules. Previously this endpoint required a specific [pricing page ID](https://www.chargebee.com/docs/growth/offers/customize-pricing-table#obtain-the-pricing-table-id), so every prospect who hit it saw the same table.

  ### **Why is this important?**

  You can now dynamically target pricing tables to people who don't have a subscription yet, not just returning subscribers. That means:

  - Prospects see pricing matched to their segment instead of one static table.
  - You can run targeting and experiments on acquisition pricing.
  - New subscription sessions behave the same way existing subscription sessions already do.

  ### **How can you use it?**

  In your [Chargebee Growth site](https://app.retention.chargebee.com/company/sign-in):
  1. Configure targeting for your pricing table in Plays.
  2. Call `POST /pricing_page_sessions/create_for_new_subscription` with `customer[id]` and leave `pricing_page[id]` out of the request.
  3. Chargebee Growth returns a session URL for the pricing table your Play rules selected.

  To keep serving a fixed pricing table, keep passing `pricing_page[id]`. Existing integrations continue to work.
  3. Optionally include `customer[email]`, `customer[first_name]`, and/or `customer[last_name]` to populate the new customer if it is not present.
</Update>

<Update tags={["ENHANCEMENT", "BETA"]} topics={["MCP"]}>
  ## Broader MCP tool coverage for checkout, products, and customers

  The [Chargebee MCP](https://www.chargebee.com/docs/billing/2.0/ai-in-chargebee/chargebee-mcp) tool catalog now includes more operations for AI clients: [checkout](https://apidocs.chargebee.com/docs/api/hosted_pages) operations, [product (item)](https://apidocs.chargebee.com/docs/api/items/retrieve-an-item) and [item family](https://apidocs.chargebee.com/docs/api/item_families/retrieve-an-item-family) lookups, and improved customer lookup tools.

  ### **Why is this important?**

  Broader read and workflow coverage lets connected agents answer product-catalog questions, work with hosted-page flows, and find customer records more reliably, without leaving the AI client.

  ### **How can you use it?**

  1. In your [Chargebee Billing](https://app.chargebee.com/login) site, go to **Settings** > **Configure Chargebee** > **Agentic AI** > **MCP Servers**.
  2. Open the server (system or custom) you use with your AI client.
  3. On the **Tools** tab, enable the hosted page, product/item, item family, and customer tools you need.
  4. Reconnect or refresh your AI client so it picks up the updated tool list.
</Update>

<Update tags={["ENHANCEMENT", "BETA"]} topics={["Mobile Subscriptions"]}>
  ## Export omnichannel subscriptions from the list page

  You can now export [omnichannel subscriptions](https://www.chargebee.com/docs/billing/2.0/mobile-subscriptions/omnichannel-subscription-overview) directly from the omnichannel subscriptions list page. Previously, list-page export was unavailable even though export via **Settings** > **Import & Export Data** was supported.

  ### **Why is this important?**

  You can download filtered omnichannel subscription data without leaving the list page, which speeds up reporting and operational workflows as Apple and Google subscription volume grows.

  ### **How can you use it?**

  1. In [Chargebee Billing](https://app.chargebee.com/), open the Omnichannel subscriptions list page.
  2. Optionally apply filters, then choose **Export** > **Download data**.
  3. Download the CSV when the export job completes.
</Update>

<Update tags={["ENHANCEMENT", "BETA"]} topics={["Mobile Subscriptions"]}>
  ## Show the API key name on omnichannel events

  [Omnichannel events](https://www.chargebee.com/docs/billing/2.0/mobile-subscriptions/omnichannel-subscription-overview) now show the API key name as the acting user, instead of a generic "omnichannel" label. This makes it clear which integration or key triggered each event.

  ### **Why is this important?**

  When multiple keys or systems write omnichannel data, a generic user makes audit and troubleshooting harder. Showing the API key name ties each event to the source that produced it.

  ### **How can you use it?**

  Review omnichannel-related events in Chargebee Billing; the user field now reflects the API key name used for the request. No additional setup is required.
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Invoices"]}>
  ## Set Auto Collection and Payment Terms on one-time invoices

  You can now set **Auto Collection** and [Payment Terms](https://www.chargebee.com/docs/billing/2.0/subscriptions/net_d) (Net D) when you create a one-time invoice in the [Chargebee Billing UI](https://app.chargebee.com/login).

  ### **Why is this important?**

  When you create a one-time invoice in the UI, you're no longer tied to the customer's stored settings. You can set the collection behavior and due date that fit each charge:

  - Choose whether Chargebee attempts to collect payment automatically for that invoice.
  - Set how many days the customer has to pay (Net D).

  These overrides were already available on the [Create invoice for items and one-time charges](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) API. The create-invoice flow in the UI now gives you the same controls.

  ### **How can you use it?**

  1. On your [Chargebee Billing site](https://app.chargebee.com/login), confirm that [Payment Terms](https://www.chargebee.com/docs/billing/2.0/subscriptions/net_d) (Net D) for one-time invoices are enabled.
  2. Open a customer or subscription record, select [Add One-Time Charges and Addons](https://www.chargebee.com/docs/billing/2.0/kb/product-catalog/adding-onetime-charges-and-addons-pc-20), and add your charges or items.
  3. Set **Auto Collection** and **Net term days** (Payment Terms) for this invoice as needed, then preview and create the invoice.
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Invoices"]}>
  ## Create pending one-time invoices and override line item descriptions

  The [Create invoice for items and one-time charges](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) API now supports `create_pending_invoice`, so you can create a one-time invoice in **Pending** status and close it when you're ready.

  ### **Why is this important?**

  You can stage one-time invoices before they're finalized, and add the exact line wording you need on the invoice without changing the underlying catalog item. You can also override line item descriptions on `item_prices` and `charges` when you create the invoice, so the text on the invoice can differ from the product catalog default for that charge.

  ### **How can you use it?**

  1. Call the [Create invoice for items and one-time charges](https://apidocs.chargebee.com/docs/api/invoices/create-invoice-for-items-and-one-time-charges) API.
  2. Set `create_pending_invoice` to `true` when you want the invoice created as **Pending**.
  3. Pass `item_prices[description]` or `charges[description]` (and related description fields as needed) to override line text for that invoice.
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Subscriptions"]}>
  ## Apply free periods to multi-frequency subscriptions

  You can now include an introductory [free period](https://www.chargebee.com/docs/billing/2.0/subscriptions/free-period) when creating [subscriptions that combine different billing frequencies](https://www.chargebee.com/docs/billing/2.0/subscriptions/multi-frequency-billing) (such as an annual plan with monthly addons).

  ### **Why is this important?**

  Chargebee now automatically extends the first billing term for all items in the subscription by the duration of the free period, keeping invoices and renewal schedules aligned.

  - **Unified Renewal Dates:** The free period applies seamlessly across all plans and addons, regardless of their individual billing frequencies.
  - **Fixed Trial Windows:** The free period end date is set at creation. Any addon added while the free period is active will only use the remaining free days.
  - **Backdated Support:** It is fully compatible with backdated subscription starts while maintaining accurate initial billing dates.

  ### **How can you use it?**

  1. On your [Chargebee Billing site](https://app.chargebee.com/login), confirm that Free Period and Multi-Frequency Billing are enabled.
  2. Go to **Subscriptions** > **Create New Subscription**.
  3. Add the plan and addons as required.
  4. In **Billing Info**, set the **Free period** duration and unit, then create the subscription.

  **Note:**

  - Free Period isn't supported with [Calendar Billing](https://www.chargebee.com/docs/billing/2.0/subscriptions/calendar-billing) or [Gift Subscriptions](https://www.chargebee.com/docs/billing/2.0/subscriptions/gift-subscriptions).
  - For metered items, [usage you send](https://www.chargebee.com/docs/billing/2.0/usage-based-billing/understanding-usages) during the free window still counts against the extended first term; don't send usage events in the free window if you don't want them counted.
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Subscriptions"]}>
  ## Consolidated renewal invoices for multi-frequency ramps

  For [multi-frequency subscriptions](https://www.chargebee.com/docs/billing/2.0/subscriptions/multi-frequency-billing), where plans and addons are billed on different schedules (such as an annual plan with monthly addons), Chargebee Billing now generates a single, consolidated invoice whenever a [Subscription Ramp](https://www.chargebee.com/docs/billing/2.0/subscriptions/ramps) or scheduled change coincides with an item's renewal.

  ### **Why is this important?**

  Instead of generating separate invoices when scheduled price or quantity adjustments fall on the same day an item renews, Chargebee now merges all charges into a single, clean invoice.

  ### **How can you use it?**

  No additional setup is required.
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Growth"]}>
  ## Offer trial extension and discount in one Growth offer

  You can now create a **Trial Extension + Discount** offer in Chargebee Growth that extends a subscriber's trial and applies a Chargebee Billing [coupon](https://www.chargebee.com/docs/billing/2.0/product-catalog/coupons) in one action.

  ### **Why is this important?**

  This offer serves two goals at once: it gives hesitant trial users more time to explore the product, and it gives them a reason to convert by applying a discount when their trial ends. Because trial extension and discount used to be separate offer actions, combining them means both now apply together through a single Chargebee update instead of two.

  ### **How can you use it?**

  1. Confirm that [Chargebee Growth](https://app.retention.chargebee.com/company/sign-in) is connected to your [Chargebee Billing site](https://app.chargebee.com/login), and your application where you'll run the offer.
  2. Create coupons you want to offer in Chargebee Billing.
  3. In Chargebee Growth, go to **Offers** > **\+ New Offer**, choose objective **Acquisition**, and select **Extension + Discount**.
  4. Configure the Trial extension for Button 1 and the Coupon settings for Button 2. Configure processing via the Billing integration and save.
  5. Place the offer in your Acquisition experience / Play, then accept it on a trial subscription and confirm both the new trial end date and the coupon in Chargebee Billing.
</Update>

<Update tags={["ENHANCEMENT"]} topics={["Growth"]}>
  ## Cancel at the end of the billing term from Growth

  You can now set cancel timing in Chargebee Growth to Immediate, End of Current Term, or End of Billing Term, matching Chargebee Billing's [cancel options](https://www.chargebee.com/docs/billing/2.0/subscriptions/cancellations), including support for [advance invoices](https://www.chargebee.com/docs/billing/2.0/invoices-credit-notes-and-quotes/advance-invoices) and [contract-term subscriptions](https://www.chargebee.com/docs/billing/2.0/subscriptions/contract-terms).

  ### **Why is this important?**

  The new option, **End of Billing Term**, schedules the cancellation at the end of the last billing period the customer has been invoiced for, including any future period covered by an advance invoice. This keeps their access aligned with the date they've actually paid through, even when the billing term and the current subscription term don't match. When there are no advance invoices, it behaves the same as End of Current Term.

  For example, say a customer on a monthly plan is invoiced on March 1 and, through advance invoices, has paid through May 31. If you cancel while the March 1-March 31 cycle is in progress, End of Current Term ends access on March 31, the close of the current billing cycle, while End of Billing Term keeps access until May 31, the last date they've been invoiced for.

  For contract-term subscriptions, both options resolve inside the contract period:

  - **End of Current Term** cancels at the end of the current contract term, based on your cancellation cut-off period.
  - **End of Billing Term** cancels at the end of the billing term within the contract period, respecting the advance invoice schedule.

  ### **How can you use it?**

  1. In [Chargebee Growth](https://app.retention.chargebee.com/company/sign-in), go to **Settings** > **Billing** (Billing Settings).
  2. Under **When a subscription is canceled**, choose **Immediate**, **End of Current Term**, or **End of Billing Term**, then save.
  3. Optionally override timing on a specific [Cancel Page](https://www.chargebee.com/docs/growth/experiences/cancel-pages) under **Page Settings** > **Billing Configuration** > **Cancellation Request** (inherits the global setting by default).
  4. Run a test cancel session and confirm the "keep access until" date and that the Chargebee Billing cancellation matches your selection.

  <Image src="/screenshots/july_2026/cancel-end-of-billing-term.png" alt="" />
</Update>

<Update tags={["ENHANCEMENT", "BETA"]} topics={["Growth"]}>
  ## Assign different custom domains to test and live apps

  You can now manage multiple [custom domains](https://www.chargebee.com/docs/growth/settings/set-up-custom-domain) in Chargebee Growth and assign them to specific applications.

  ### **Why is this important?**

  You can keep test and live apps on separate branded URLs without sharing a company-wide custom domain. Previously, a custom domain was applied at the company level, so test and live apps shared the same branded URL. Each app can now serve retention and cancel experiences on its own domain; apps without an assignment continue to use the company default domain.

  ### **How can you use it?**

  1. In [Chargebee Growth](https://app.retention.chargebee.com/company/sign-in), go to **Settings** > **Custom domain**.
  2. [Add any additional domains you need](https://www.chargebee.com/docs/growth/settings/set-up-custom-domain), complete DNS verification, and activate them.
  3. Open a domain and assign the applications that should use it (for example, map your test app to a test subdomain, and your live app to your production domain).
  4. Leave apps on the company default unassigned if they should keep the original domain.
  5. Start a test cancel / pre-cancel session for each app and confirm the session URL uses the expected domain.
</Update>

<Update tags={["BUG FIX", "BETA"]} topics={["Mobile Subscriptions"]}>
  ## Saudi Arabia pricing now displays in Latin script

  We've fixed an issue where localized pricing for Saudi Arabia displayed Arabic characters for the amount and currency symbol. Prices now display in Latin script in the expected format (for example, `SAR 0.99`).
</Update>

<Update tags={["BUG FIX"]} topics={["CPQ"]}>
  ## Resolved - Amending a quote no longer errors when a rule or coupon stops applying

  Previously, amending a quote that had a selling rule or an auto-applied coupon could throw an error when you changed or removed the line item that caused the rule to apply in the first place. This happened on [amendment quotes](https://www.chargebee.com/docs/billing/2.0/chargebee-cpq/chargebee-cpq-amendment-quote) where the rule or coupon was no longer valid after the edit. This is now fixed. When a line item change means a rule or coupon no longer applies, it is removed from the quote form automatically, so you can save the amendment without errors.
</Update>

<Update tags={["BUG FIX"]} topics={["CPQ"]}>
  ## Resolved - $0 quotes no longer fail to load when hidden line items are enabled

  Previously, if you enabled the **Hide Zero Value Line Items** setting and then opened a [quote](https://www.chargebee.com/docs/cpq/generate-quote/quote-for-new-business) where every line item totaled $0, the quote details page failed to load and returned a server error. Turning the setting off was the only way to open the quote. This is now fixed. Quotes made up entirely of zero-value line items open correctly whether or not **Hide Zero Value Line Items** is turned on.
</Update>

<Update tags={["BUG FIX"]} topics={["CPQ"]}>
  ## Resolved - Accept and pay for a quote without a payment mismatch error

  Previously, your customers could hit a payment error when accepting and paying for a quote through the acceptance page. This happened when taxes were hidden on the quote, but a tax integration still applied tax at conversion: the payment was authorized for the pre-tax total while the [conversion](https://www.chargebee.com/docs/billing/2.0/chargebee-cpq/chargebee-cpq-convert-quote-to-subscription) tried to collect the taxed total, so the two amounts did not match, and payment failed. This is now fixed. When taxes apply to a quote, the acceptance page shows and charges the taxed amount, so the amount your customer authorizes matches the amount collected at conversion.
</Update>

<Update tags={["BUG FIX"]} topics={["CPQ"]}>
  ## Resolved - Quote resets a custom tier breakdown to default values

  Previously, when you overrode the pricing tiers on a tiered metered addon while creating a [quote](https://www.chargebee.com/docs/cpq/generate-quote/quote-for-new-business), saving the quote reset those tiers back to the addon's default values. This affected quotes where you customized the starting quantity or price for a tier. This is now fixed. Your overridden tier ranges and prices are retained when you save the quote.
</Update>

<Update tags={["BUG FIX"]} topics={["CPQ"]}>
  ## Resolved - Custom field values are now retained after saving a quote

  Previously, values entered into custom fields on the quote form were not retained after you clicked **Save**. On returning to the quote, the custom fields appeared blank and the entered values were lost, which could affect automations that rely on those fields. This is now fixed. Custom field values you enter through the [Quote Form Builder](https://www.chargebee.com/docs/cpq/configure-quotes/quote-form-builder) fields are saved and remain populated when you reopen the quote.
</Update>

<Update tags={["BUG FIX"]} topics={["CPQ"]}>
  ## Resolved - Net amount recalculates correctly when you change a line item discount

  Previously, when you edited a saved quote and changed an existing line item discount by first setting it to 0 and then back to another value, the net amount did not recalculate. Setting the discount to 0 recalculated the net amount correctly, but changing it from 0 to a new value left the net amount unchanged. This happened regardless of the discount type or discount period. This is now fixed. On the [Edit Quote](https://www.chargebee.com/docs/billing/2.0/chargebee-cpq/chargebee-cpq-amendment-quote) flow, the net amount recalculates correctly whenever you change a line item discount.
</Update>

<Update tags={["BUG FIX"]} topics={["Invoices"]}>
  ## Plan description now appears on single-item one-time invoices

  When you created a one-time invoice that included a single plan item, the plan description could be missing from the invoice. Chargebee Billing now includes the plan description on those single-item one-time invoices as expected.
</Update>

<Update tags={["BUG FIX"]} topics={["Invoices"]}>
  ## Legacy invoice PDFs honor your selected custom fields

  If you stopped using an Invoice Template Builder template and returned to the legacy invoice PDF, invoices could show more [custom fields](https://www.chargebee.com/docs/billing/2.0/kb/billing/how-to-display-custom-fields-on-invoices) than the ones you selected under [invoice customization](https://www.chargebee.com/docs/billing/2.0/kb/billing/how-can-i-display-the-custom-fields-on-an-invoice). Legacy invoice PDFs now follow your selected custom fields, so only the fields you chose appear.
</Update>

<Update tags={["BUG FIX"]} topics={["Subscriptions"]}>
  ## Plan picker keeps plans available after the first variant is added

  On sites with [multi-plan subscriptions](https://www.chargebee.com/docs/billing/2.0/subscriptions/multi-plans-subscriptions) and [Variant Pricing](https://www.chargebee.com/docs/billing/2.0/product-catalog/variant-pricing-overview), after you added one price variant of a plan, that plan could disappear from the plan picker when you tried to add another variant, especially for plans with many price variants. You can now find the plan again and add its other variants when you create or update a subscription.
</Update>
