Happy Business Starts Here

Re: PO Number should be on Subscription, not on Account

PO Number should be on Subscription, not on Account

The current schema (PO Number is on Account) seems to assume that the Zuora user has only one PO with any account. In our case, we have customers with multiple subscriptions, and they issue a PO per subscription. Not only that, they issue a PO for an amendment.


@bolaurent we have added two custom fields to our environment to support better PO handling: one on the Subscription object and another on the Invoice object.


Our invoice template is configured to show them in the following order:


1. Account PO

2. Subscription PO

3. Invoice PO


So, for example, if the Account and Subscription POs are specified, the Subscription one will be shown. This allows us the general capability of capturing the PO on the subscription which is the most common place. However, some customers have a standing PO and we can put that on the account. Conversely, sometimes customers will cut a PO for a specific invoice, so we keep the ability to override the PO value on an invoice basis.


The subscription PO field can even be filled in as part of the Quote in Salesforce and automatically applied. This is all using native functionality available today.


Thank you @feisley; I've shared your comment with our Finance team.

Zuora Alumni



Do you have instructions on how/where to include this in the subscription PO field as part of the Quote in Salesforce?  And if the subscription has already been created, can it be added later?


@Vickie, I did the following:


1. Create a custom Purchase Order field on the Subscription object in Zuora

Screenshot 2017-07-18 00.42.18.png


2. Create a custom field on the zqu__Quote__c object in Salesforce. Make sure it has the same API name (in my example PurchaseOrderNumber__c)

Screenshot 2017-07-18 00.44.21.png


3. Add the Purchase Order Number field to the 'Custom Quote Fields' field set on the zqu__Quote__c object. This field set determines which custom fields on the Quote are sent over as part of the quote submission process. Do note that if you are using the new orders feature in LA it has a separate field set that does a similar operation.


When you submit a Quote to Zuora, the custom field will be sent over and placed on the then current version of the Subscription. As an example, if you had an initial order for a subscription with PO# 123 then when you submit the PO field on the Zuora Subscription will be '123'. If you later have an amendment quote with PO# 456 that is submitted, the PO field on the Subscription will be updated to be 456. Technically its set on the newer versions meaning if you looked at version 1 of the subscription you would see the old PO number. But documents generated against the Subscription will always show the latest.

Zuora Alumni



This is awesome... Thank you very much!

Savvy Scholar

@feisley How did you get the invoice to display information from the subscription?  We're using the new Order-based system and it looks like there's no way to pull a subscription field onto an invoice (at least from what I can see in the data model - there's not a direct line from a subscription to an invoice). 


@stevenreedkelly Since an invoice can contain multiple subscriptions (each with their own sets of charges), there is a table for the subscriptions to be shown.




Within the "TableStart:Subscription" fields you can then use merge fields from the subscription (including custom fields)

Savvy Scholar

Thank you so much @feisley !

Honor Student

Hi @feisley  How would I add the custom PO Number on Subscription object to the Invoice Line Item table in my Invoice Template.  My specific use case is that I want to show a PO Number to each Line Item in my Invoice.  Ideally, I'd love to make this conditional so that I show "PO # 12341344" when a PONumber exists (i.e. PONumber not NULL) and blank when PONumber is NULL.


I tried adding a <<TableStart:Subscription>><<Subscription.PONumber__c>><<TableEnd:Subscription>> to my table and I got errors.  Here's what it looked like