Skip to main content

zgenerate Method


zgenerate Method

This article describes the Order Builder zgenerate() method. The zgenerate() method uses the Zuora generate() method to generate invoice(s) for one or more specified customer accounts on demand.

The zgenerate() method is available in Zuora 360 version 2.60 or higher.


List<zApi.SaveResult> zgenerate(List<zObject> invoiceList)

Input Parameters

The zgenerate() method takes the following input parameters.

Parameter Type Description



A list of one or more Invoice objects, up to a maximum of 50. Only the following three fields are required, but other appropriate fields may be specified.

  • AccountId - A valid Zuora account ID
  • InvoiceDate - An invoice date formatted per Zuora Date format, for example, "2013-04-03T08:07:55-08:00"
  • TargetDate - A target date formatted per Zuora Date format, for example, "2013-04-03T08:07:55-08:00"


The zgenerate() method returns a list of the zApi.SaveResult objects that provides the result of the generate() call.


The zApi.SaveResult has the following properties.

Property Description

If the create or update failed, this contains an array of Error objects of this form:

  • Code - The ErrorCode for the error that occurred
  • Field - If the error is a field error, this string indicates which field failed.
  • Message -  A string that describes the error
Id If successful, the ID of the created object
Success If the create or update was successful, true. Otherwise false.


The zgenerate() method uses the following exception classes to catch the exception when an error occurs:

  • zAPIException
  • zForceException
  • zRemoteException

Sample Code

zApi api = new zApi();

List<zObject> invoiceList = new List<zObject>();

zObject invoice = new zObject('Invoice');
invoice.setValue('AccountId', XXX);
invoice.setValue('InvoiceDate', '2013-04-03T08:07:55-08:00');
invoice.setValue('TargetDate', '2013-04-03T08:07:55-08:00');

List<zApi.SaveResult> generateResult = api.zgenerate(invoiceList);