Skip to main content

Flexible Billing

Zuora

Flexible Billing

The Flexible Billing feature is in the Early Adopter phase. We are actively soliciting feedback from a small set of early adopters before releasing it as generally available. If you want to join this early adopter program, submit a request at Zuora Global Support.

The Flexible Billing feature provides you the flexibility to manage billing, taxation, and payment at a more granular level other than the Account level. 

  • Flexible subscription management provides you the capability to have different bill-to contacts and payment terms for subscriptions.
  • Flexible invoicing provides you the capability to bill subscriptions according to the same billing attributes.

Feature overview

With this feature, you can specify billing attributes including bill-to contacts and payment terms at the subscription level, and generate invoices for subscriptions according to the same bill-to contact and payment term.

If one account has subscriptions with different payment terms and bill-to contacts, you no longer have to duplicate accounts for different payment terms and bill-to contacts. With Flexible Billing, you can specify bill-to contacts and payment terms during subscription creation through the order action of Create Subscription, and update bill-to contacts and payment terms through the order actions of Terms and Conditions and Renewal.

This feature is applicable in the following business scenarios, including but not limited to:

  • You have multiple product lines and expect to have different payment terms for different product lines. For example, shorter payment terms might be necessary in case your customers buy an additional product on the top of a contract.
  • Your clients do business with you across different business lines and for different products. The clients generally have multiple subscriptions, which are expected to have different payment terms for different product lines and have different bill-to contacts to receive invoices.
  • Your customers have different contacts on their accounts, and want to be billed with different bill-to contacts for some purchases. For example, the bill-to contact can be anyone in the family.

Prerequisites and enablement

To enable the Flexible Billing feature, perform the following steps:

  1. Ensure that you have the Orders feature enabled.
  2. Check the known restrictions and limitations of the Flexible Billing feature.
  3. Submit a request at Zuora Global Support to request the Flexible Billing feature.

Billing attributes for this feature

After the Flexible Billing feature is enabled, the following billing attributes are available on multiple objects:

  • Bill To Contact
    The bill-to contact ID is associated with a subscription. For example, you can specify Steve Lee as the bill-to contact of the invoice owner for a subscription, instead of using the default bill-to contact of the account.
  • Payment Term
    The name of the payment term associated with a subscription. For example, Net 30, indicates that payment is due 30 days from the invoice date. The payment term determines the due dates of invoices.

The Zuora UI, API, data source, AQuA, Data Query, and Object Query are enhanced to support the billing attributes of Bill To Contact and Payment Term. The following table lists the detailed changes introduced in the Flexible Billing feature.

Object Field Access approaches
Order Action
  • billToContactId
  • paymentTerm
  • clearingExistingBillToContact
  • clearingExistingPaymentTerm
Rate Plan Charge
  • Bill To Contact Snapshot
  • Sold To Contact Snapshot
  • Payment Term Snapshot
Subscription
  • Bill To Contact
  • Bill To Contact Snapshot
  • Payment Term
Credit Memo
  • billToContactId
Debit Memo
  • billToContactId
  • paymentTerm
Invoice
  • BillToContactId
  • PaymentTerm

For a summary of REST API updates specific to this feature, see the "API Updates for Flexible Billing" section in 2022 API Changelog (2022-03-24) and API Reference: Billing

For a summary of SOAP API updates specific to this feature, see Zuora SOAP API Version History.

Assume that your customer account has multiple subscriptions with different bill-to contacts and payment terms, you can generate invoices for these subscriptions according to the settings of bill-to contacts and payment terms. The following table presents a typical scenario to showcase how you can use the Flexible Billing feature to manage subscriptions and generate invoices.

Account Number: A001

Account Bill To Contact: Tom Lee

Account Payment Term: Due Upon Receipt

Subscription

Generated Invoice

Subscription Number

Bill To Contact

Payment Term

Invoice Number

Bill To Contact

Payment Term

S001

Ray Lockman

Net 60

INV001

Ray Lockman

Net 60

S002

Ray Lockman

Net 60

S003

Steve America

Net 30

INV002

Steve America

Net 30

S004

Not specified

Not specified

INV003

Tom Lee

Due Upon Receipt

Invoice generation changes

If you have Flexible Billing enabled, the invoice generation behavior changes. 

With the feature enabled, you can specify bill-to contacts and payment terms at the subscription level. Subsequently, invoices are generated based on the bill-to contact and payment term specified on the corresponding subscription.

Invoice generation follows the following rules:

  • The latest bill-to contact and payment term of subscriptions are used for generating invoices.
  • If you disable the Invoice the Subscription Separately setting, only one draft invoice is generated for the subscriptions that have the same bill-to contact and payment term. Multiple draft invoices are allowed if they are generated from the subscriptions with different bill-to contacts and payment terms. 
  • If you enable the Invoice the Subscription Separately setting, separate invoices are generated for subscriptions, regardless of bill-to contacts and payment terms.

Assume that you have a customer account with the account number being A0001 and two bill-to contacts: Steve America and Ray Lockman.

The default bill-to contact of the account is Steve America, and the default payment term is Net 30.

The following table lists the invoice generation behavior changes if you have the Flexible Billing feature enabled. 

Without Flexible Billing With Flexible Billing

Invoices can only be generated for subscriptions at the account level. Additionally, you can use the Invoice the Subscription Separately setting to create independent invoices per subscription.

You have the following flexibility to generate invoices for the subscriptions according to the bill-to contact and payment terms of subscriptions.

  • Multiple invoices are generated according to different bill-to contacts and payment terms.
  • A single invoice is generated per the same bill-to contact and payment term.
  • A single invoice is generated per the default and specific bill-to contact and payment term.
  • New invoice items are appended to draft invoices.
  • The latest billing attributes are used on generated invoices.
  • Unpostting an invoice is not allowed if bill-to contacts and payment terms on the corresponding subscriptions are changed.
    To unpost the invoice, you have to change the bill-to contact and payment term on the subscriptions to be the same ones as the invoice.

Read the following sections to understand how the Flexible Billing feature works in common subscription management and invoice generation scenarios.

For more use case information, see Common use cases of Flexible Billing.

Multiple invoices are generated according to different bill-to contacts and payment terms

If the two subscriptions have different bill-to contacts and different payment terms, you can generate two invoices, one for each subscription. The bill-to contacts and payment terms of the generated invoices inherit those of the corresponding subscription. See the following table for details.

Subscription Generated Invoice
Subscription Number Bill To Contact Payment Term Invoice Number Bill To Contact Payment Term

S001

Ray Lockman

Net 60

INV001

Ray Lockman

Net 60

S002

Steve America

Net 30

INV002

Steve America

Net 30

Single invoice is generated according to same bill-to contact and payment term

If the two subscriptions have the same bill-to contacts and payment terms, you can generate one single invoice for these subscriptions. See the following table for details.

Subscription Generated Invoice
Subscription Number Bill To Contact Payment Term Invoice Number Bill To Contact Payment Term

S001

Ray Lockman

Net 60

INV001

Ray Lockman

Net 60

S002

Ray Lockman

Net 60

Single invoice is generated according to default and specific bill-to contact and payment term

If one subscription does not have any defined bill-to contact and payment term, while the other has the same bill-to contact and payment term as the account, you can generate one single invoice for the two subscriptions. See the following table for details.

Subscription Generated Invoice
Subscription Number Bill To Contact Payment Term Invoice Number Bill To Contact Payment Term
S001

Steve America (account default)

Net 30 (account default)

INV001

 

Steve America (account default)

Net 30 (account default)

S002

New invoice items are appended to draft invoices

With Flexible Billing, you can also append new invoice items to draft invoices.

To append new invoice items to draft invoices, perform the following steps:

  1. Create subscription S001 for this account, with the following billing attributes:
    1. Set Bill To Contact to Steve America.
    2. Set Payment Term to Net 30.
  2. Create a bill run to generate an invoice for this account.
    Invoice INV001 in Draft status is generated, with the bill-to contact being Steve and the payment term being Net 30.
  3. Create subscription S002 for this account, with the following billing attributes:
    1. Set Bill To Contact to Steve America.
    2. Set Payment Term to Net 30.
  4. Create another bill run for this account.
    New invoice items are appended to invoice INV001, which contains all the charges of subscriptions S001 and S002.

Latest billing attributes are used on generated invoices

If you have updated the billing attributes of a subscription, the latest billing attributes are used on the generated invoice.

  1. Create subscription S001 for this account, with the following billing attributes:
    1. Set Bill To Contact to Steve America.
    2. Set Payment Term to Net 30.
  2. Renew this subscription for another year and change the billing attributes:
    1. Set Bill To Contact to Ray Lockman.
    2. Set Payment Term to Net 60.
  3. Create a bill run for this account.

Invoice INV001 in Draft status is generated, with the bill-to contact being Ray and the payment term being Net 60.

Subscription Subscription Renewal Generated Invoice
Subscription Number Bill To Contact Payment Term Subscription Number Bill To Contact Payment Term Invoice Number Bill To Contact Payment Term

S001

Steve America 

Net 30 

S002

Ray Lockman 

Net 60 

INV001

Ray Lockman 

Net 60 

Unposting invoices fails if bill-to contacts and payment terms on subscriptions are changed

After you specify the bill-to contact and payment term on a subscription, an invoice in Draft status is generated for the corresponding account and then posted. Later, you update the bill-to contact and payment term of a subscription. If you want to unpost the invoice, the invoice cannot be unposted.

  1. Create subscription S001 for this account, 
    1. Set Bill To Contact to Ray Lockman.
    2. Set Payment Term to Net 60.
  2. Create a bill run to generate an invoice for this account.
    Invoice INV001 in Draft status is generated, with the bill-to contact being Ray Lockman and the payment term being Net 60.
  3. Post the invoice.
  4. Update the billing attributes of subscription S001.
    1. Set Bill To Contact to Steve America.
    2. Set Payment Term to Net 30.
  5. Try to unpost the invoice. 

The invoice unposting fails.
In this scenario, if you want to unpost the invoice, perform the following steps:

  1. Update the billing attributes of subscription S001.
    1. Set Bill To Contact to Ray Lockman.
    2. Set Payment Term to Net 60.
  2. Unpost the invoice.
  3. Cancel the invoice.
  4. Update the billing attributes of subscription S001.
    1. Set Bill To Contact to Steve America.
    2. Set Payment Term to Net 30.
  5. Create a bill run to generate an invoice for this account.
    Invoice INV002 in Draft status is generated, with the bill-to contact being Steve America and the payment term being Net 30.

Common use cases of Flexible Billing

The following use cases are presented to showcase how you can use the Flexible Billing feature. 

Restrictions and limitations

When using Flexible Billing, keep the following restrictions and limitations in mind:

  • Actions Subscribe and Amend are not supported for creating subscriptions by specifying bill-to contact and payment term at the subscription level.
  • If you use the Query action to retrieve the billing attributes introduced in Flexible Billing, you must set the X-Zuora-WSDL-Version header parameter to 115 or later.
  • Zuora CPQ, Zuora 360, Zuora 360+, and Zuora Revenue are not supported.
    • Zuora CPQ does not support creating subscriptions with subscription-level bill-to contacts and payment terms at the subscription level.
    • Zuora 360 and Zuora 360+ do not support synchronizing contacts and payment terms at the subscription level.
    • Zuora Revenue does not support bill-to contacts and payment terms at the subscription level.
  • The following features are incompatible with the Flexible Billing feature: 
  • If the bill-to contact or payment term at the subscription level has been updated, the corresponding invoice cannot be unposted.
  • If credit or debit memos are created from product rate plan charges, the bill-to contact and payment term are null on the memos.