Skip to main content

Overview of Flexible Billing Attributes

Zuora

Overview of Flexible Billing Attributes

Flexible Billing Attributes 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, sold-to contacts, payment terms, invoice templates, and sequence sets 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 at the subscription level, and generate invoices for subscriptions according to the same billing attributes. Applicable billing attributes include bill-to contacts, sold-to contacts, payment terms, invoice templates, and sequence sets

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 Attributes, 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.
  • You have multiple lines of business (brands, business units, or products) across regions, and expect to have different invoice templates and sequence sets for business lines. For example, when your customers purchase services across multiple brands, you expect to send separate invoices containing different logs, address information and so on for each brand, and track invoices by using different sequence sets.

  • 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.

Enable Flexible Billing Attributes

To enable Flexible Billing Attributes, perform the following steps:

  1. Ensure that you have the Orders or Orders Harmonization feature enabled.
  2. Check the known restrictions and limitations of Flexible Billing Attributes.
  3. Enable this feature in Sandbox and Production environments with the self-serve interface. For more information, see Enable billing features by yourself.

Billing attributes for this feature

After the Flexible Billing Attributes 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.
  • Sold To Contact
    The sold-to contact ID is associated with a subscription. For example, you can specify Steve Lee as the sold-to contact of the subscription owner for a subscription, instead of using the default sold-to contact of the account.
  • Payment Term
    The name of the payment term is 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.
  • Invoice Template ID
    The ID of the invoice template is associated with a subscription. 
  • Sequence Set ID
    The ID of the sequence set is associated with a subscription. For example, you can specify a sequence set ID for a subscription, instead of using the ID of the sequence set assigned to the account.

During the generation of billing documents, including invoices and credit memos, the latest billing attributes at the subscription level are always used. To learn more information about a common use case, see Renew subscription early and update bill-to contact and payment term.

The Zuora UI, API, data source, AQuA, Data Query, and Object Query are enhanced to support the preceding billing attributes. The following table lists the detailed changes introduced in the Flexible Billing Attributes feature.

Base object Field/Related object Access approaches
Order Action
  • billToContactId
  • paymentTerm
  • clearingExistingBillToContact
  • clearingExistingPaymentTerm
  • invoiceTemplateId
  • sequenceSetId
  • clearingExistingInvoiceTemplate
  • clearingExistingSequenceSet
  • soldToContactId (available only in API and data source exports)
  • clearingExistingsoldToContact (available only in API and data source exports)
  • Zuora UI
  • API
  • Order Action data source
  • AQuA
  • Data Query
  • Object Query
Rate Plan Charge
  • Bill To Contact Snapshot
  • Sold To Contact Snapshot
  • Payment Term Snapshot
  • Zuora UI
  • Rate Plan Charge data source
  • AQuA
Subscription
  • Bill To Contact
  • Bill To Contact Snapshot
  • Sold To Contact (available only in API and data source exports)
  • Sold To Contact Snapshot (available only in API and data source exports)
  • Payment Term
  • invoiceTemplateId
  • sequenceSetId
  • Zuora UI
  • API
  • Subscription data source
  • AQuA
  • Data Query
  • Object Query
Credit Memo
  • billToContactId
  • sequenceSetId
  • Zuora UI
  • API
  • Credit Memo data source
  • AQuA
  • Data Query
  • Object Query

Credit Memo Item

  • soldToContactId
  • soldToContactSnapshotId
  • API
  • Credit Memo Item data source
Debit Memo
  • billToContactId
  • paymentTerm
  • sequenceSetId
  • Zuora UI
  • API
  • Debit Memo data source
  • AQuA
  • Data Query
  • Object Query
Debit  Memo Item
  • soldToContactId
  • soldToContactSnapshotId
Invoice
  • BillToContactId
  • PaymentTerm
  • SequenceSetId
  • Zuora UI
  • API
  • Invoice data source
  • AQuA
  • Data Query
  • Object Query
Invoice Item
  • soldToContactId
  • soldToContactSnapshotId

Sold-to contacts in tax calculation

When using sold-to contacts in tax calculation, keep the following notes in mind:

  • You can only specify the contacts of the subscription owner as the sold-to contact at the subscription level. If the sold-to contact is specified at the subscription level, tax calculation for billing documents always use the subscription owner’s tax exemption information, VAT ID, and Tax Company Code.
  • The sold-to contact at the subscription level works with the billing rule called Calculate taxes using information from Customer Account of: Subscription Owner | Invoice Owner as follows:
    • If the sold-to contact is specified at the subscription level, tax calculation depends on the sold-to contact, regardless of the setting of this billing rule.
    • If no sold-to contact is specified at the subscription level, tax calculation depends on the setting of this billing rule.
  • During billing document generation, the latest billing attributes at the subscription level are always used. The invoice items or credit memo items generated from subscriptions always link to the latest sold-to contacts.

Typical scenarios

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 Attributes 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

Assume that your customer account has multiple subscriptions with different invoice templates and sequence sets; you can generate invoices for these subscriptions according to the settings of invoice templates and sequence sets. The following table presents a typical scenario to showcase how you can use the Flexible Billing Attributes feature to manage subscriptions and generate invoices.

Account Number: A001

Account Bill To Contact: Tom Lee

Account Payment Term: Due Upon Receipt

Account Invoice Template: Invoice Template A

Account Sequence Set: SEQ_SET_1 (INV as prefix)

Subscription

Generated Invoice

Subscription Number

Invoice Template

Sequence Set

Invoice Number

Invoice Template

Sequence Set

S001

Invoice Template B

SEQ_SET_2 (ITA)

ITA001

Invoice Template B

SEQ_SET_2 (ITA)

S002

Invoice Template B

SEQ_SET_2 (ITA)

S003

Invoice Template C

SEQ_SET_3 (FRN)

FRN002

Invoice Template C

SEQ_SET_3 (FRN)

S004

Not specified

Not specified

INV003

Invoice Template A

SEQ_SET_2 (INV)

Invoice generation changes

If you have Flexible Billing Attributes 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 Attributes feature enabled. 

Without Flexible Billing Attributes With Flexible Billing Attributes

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 Attributes feature works in common subscription management and invoice generation scenarios.

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

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 Attributes, 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 Attributes

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

Disable Flexible Billing Attributes

The procedure for disabling Flexible Billing Attributes depends on the specific situation. This section uses the subscription-level invoice template as an example to describe the procedure.

If you have not generated any invoice in the subscription-level invoice template and want to disable Flexible Billing Attributes, directly submit a request at Zuora Global Support for the disablement.

If you want to disable Flexible Billing Attributes and have no need to regenerate historical invoices, perform the following steps:

  1. Clean up the invoice template specified at the subscription level through the Terms And Conditions order action.
    If you do not clean up the invoice template at the subscription level, the template continues to take effect on later generated invoices even after Flexible Billing Attributes is disabled.
  2. Submit a request at Zuora Global Support for the disablement.

If you want to disable Flexible Billing Attributes and regenerate invoices in a different template for a subscription, perform the following steps:

  1. Clean up the invoice template specified at the subscription level through the Terms And Conditions order action.
    If you do not clean up the invoice template at the subscription level, the template continues to take effect on later generated invoices even after Flexible Billing Attributes is disabled.
  2. Reverse the last generated invoice.
  3. Regenerate an invoice for the billing period that the reversed invoice was generated for.
    The newly generated invoice uses the default invoice template on the corresponding account.
  4. Submit a request at Zuora Global Support for the disablement.

Restrictions and limitations

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

  • Actions Subscribe and Amend are not supported for creating subscriptions by specifying the bill-to contact, payment term, invoice template, and sequence set at the subscription level.
  • With Orders Harmonization, you can only use Orders API operations to create subscriptions with subscription-level billing attributes and change subscription-level billing attributes. The Orders UI is not available.
  • Owner transfers for subscriptions with specified bill-to or sold-to contacts are available through the Orders API operations, but not supported through the Orders UI.
  • If you use the Query action to retrieve the billing attributes introduced in Flexible Billing Attributes, you must set the X-Zuora-WSDL-Version header parameter to 115 or later.
  • 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.