Zuora Revenue data object model
The Zuora Revenue data object model facilitates the extraction of revenue data for creating analytical dashboards and data queries, requiring technical expertise in data modeling and SQL.
Workflow data model bundles all the revenue data, which can be extracted as the revenue-only data or the billing and revenue integrated data in a fast and optimal method. These data models can help you to build use case reports. For example, you can create views over the data model for features such as analytical dashboards and data queries. It is recommended for the user to have data model and SQL technical expertise before creating views and writing queries.
For querying these objects using Data Query, see Zuora revenue data object model and data query .
Sample queries on this page are designed to run in Data Query against Zuora Revenue objects. They are not supported in Data Query Utility, which is intended for querying tables rather than objects.
Revenue object data model
The following diagram is a high-level view of how key data objects are related to one another within Zuora Revenue.
Revenue objects and descriptions
The following objects are present in the data model. Click the name of each object for more details.
REVENUEACCOUNT: Contains the account setup definitions linking source-system account values (e.g., GL natural accounts) to the Zuora Revenue account type classifications.
REVENUEACCOUNTINGSUMMARY: Provides calculated fields for various schedule types and account segment values, enabling the creation of detailed revenue reports.
REVENUEADVANCEDRULEFILTER: Contains the advanced rule filter criteria that define conditional logic for staging rule and POB rule evaluation.
REVENUEAUDITTRAIL: Contains the audit trail records tracking field-level changes made to revenue data, including before/after values and user attribution.
REVENUEBUNDLECONFIGURATION : Contains the bundle configuration details for revenue contract line bundling, including parent/child item relationships, SSP split types, and validity settings.
REVENUECALENDAR: Contains the details of the accounting calendar that are configured in Zuora Revenue.
REVENUECONSUMPTIONUSAGETRACK: Contains the consumption-based usage tracking records used for usage-based revenue recognition over time.
REVENUECONSUMPTIONUSAGEUPLOAD: Contains the consumption usage upload staging records received from external systems before processing into usage tracking.
REVENUECONTRACT: Contains the details of distinct revenue contracts (RC) based on the defined RC grouping template.
REVENUECONTRACTACCOUNTINGENTRIES: Contains the accounting entries / journal entries of every transaction based on its performance obligation template.
REVENUECONTRACTACCOUNTINGSEGMENTS: Contains the Accounting segments details for deferring and releasing segments of every accounting entry.
REVENUECONTRACTACCOUNTINGTYPE: Contains the accounting type details of every Accounting entries.
REVENUECONTRACTACTIONS: Contains the details of every revenue contract POB's release and deferral actions that are taken by both the system and manual operation.
REVENUECONTRACTAPPROVALS: Contains the details of revenue contract approvals and their history.
REVENUECONTRACTBATCH: Contains the revenue contract batch processing details including batch status, line counts, and error information.
REVENUECONTRACTBILLSDIMENSIONS: Contains the billing transaction dimensional details, which include transaction types such as INV, CM, CM-R, CM-C, CM-RO, and RORD.
REVENUECONTRACTBILLSFACTS: Contains the billing transaction fact, which includes transaction types such as INV, CM, CM-R, CM-C, CM-RO, and RORD.
REVENUECONTRACTCOSTDIMENSIONS: Contains the cost transaction dimensional details of both standard standard and user-defined cost.
REVENUECONTRACTCOSTFACTS: Contains the cost transaction fact, which includes both standard and user-defined costs.
REVENUECONTRACTGROUPDETAIL: Contains the revenue contract group detail records linking individual contracts to contract groups for combined arrangement processing.
REVENUECONTRACTHISTORY: Contains the historical revenue contract header snapshots capturing point-in-time contract state for each version.
REVENUECONTRACTHOLDS: Contains the details of the revenue contract hold at the line level, POB level, and revenue contract level that are configured in the system.
REVENUECONTRACTLINEEVENTS: Contains the line-level revenue events including both current (pending) and historical (processed) events, with release details from POB.
REVENUECONTRACTLINESFACTS: Contains the sales order transaction fact details.
REVENUECONTRACTLINEVERSION: Contains the revenue contract line version records with full line-level detail for each version created during contract modifications.
REVENUECONTRACTMJENTRIESDIMENSIONS: Contains the manual journal transaction dimensional details.
REVENUECONTRACTMJENTRIESFACTS: Contains the Manual journal transaction fact details.
REVENUECONTRACTVCDIMENSIONS: Contains the variable consideration (VC) transaction dimensional details of both standard and user-defined VC.
REVENUECONTRACTVCFACTS: Contains the variable consideration transaction fact, which includes both standard and user-defined VC.
REVENUECONTRACTVERSION: Contains the archived revenue contract header versions with contract-level amounts, currency, template, and status indicators for each version.
REVENUECRITERIADEFINITIONS: Contains the criteria definitions used in POB rule and staging rule evaluation for matching conditions.
REVENUEDAILYCONSUMPTIONPRESTAGING: Contains the daily consumption pre-staging records received before processing into final consumption staging.
REVENUEDAILYCONSUMPTIONPRESTAGINGHISTORY: Contains the historical daily consumption pre-staging records that have been processed into consumption staging.
REVENUEDAILYCONSUMPTIONSTAGINGHISTORY: Contains the historical daily consumption staging records that have been fully processed.
REVENUEDATATRANSFORMATIONBATCH: Contains batch-level data transformation details, including record counts, errors, and join relationships to related objects.
REVENUEERRORMESSAGE: Contains the system error message definitions with error codes, descriptions, error types, and linked action identifiers.
REVENUEEXCHANGERATES: Contains the exchange rate definitions used for multi-currency revenue calculations and reporting.
REVENUEFAIRVALUEBATCHDATA: Contains the fair value batch data with per-line SSP/FV pricing inputs, calculation results, and band classification.
REVENUEFAIRVALUEBATCHGROUP: Contains the fair value batch group records organizing SSP/FV calculations by tier with band percentages and compliance status.
REVENUECONTRACTNETTINGSTATUS: Contains period-wise contract's asset/liability position of the revenue contract. This is applicable if you are using CA/CL Netting in Zuora Revenue.
REVENUEFORECASTSCHEDULE: Contains the forecast schedule entries for revenue contracts, split into debit and credit sides, aligned with the forecast waterfall report.
RCROLLFORWARDDETAILS: Use this object to access the Roll forward report directly from your data warehouse.
REVENUECONTRACTSCHEDULEDELETED: Contains the audit records of deleted revenue contract schedule IDs, capturing when each schedule was removed during reprocessing or contract modifications.
REVENUECONTRACTTEMPLATE: Contains the revenue contract template definitions including template name, stage, version, group-by settings, and enabled/default status flags.
REVENUECONTRACTTEMPLATEGROUPHIERARCHY: Contains the revenue contract template group hierarchy defining grouping sequences, duration settings, and group-by configurations within template versions.
REVENUEGLINTERFACEMAPPING : Contains the GL interface field mapping configuration that defines how source transaction fields from the posting view are mapped to GL outbound stage columns, including mapping type (constant, transaction, expression, dynamic), active/required/group-by flags, and display settings.
REVENUEGLOUTBOUNDSTAGE: Contains the GL outbound interface staging data transferred from accounting entries to the general ledger, including entered/accounted amounts, accounting segments, currency details, and interfacing status.
REVENUEJOBGROUPSCHEDULEPROGRAM: Contains the job group schedule program associations linking job groups to their scheduled programs with run sequences.
REVENUEJOBGROUPS: Contains the job group definitions that organize scheduled revenue processing jobs into logical execution groups.
REVENUEJOBHISTORY: Contains the job execution history along with program definitions, including job status, parameters, timing, and error details.
REVENUEJOBSCHEDULEPARAMETERS: Contains the job schedule parameter definitions specifying column-level configuration values for scheduled job execution.
REVENUELINESTAGEERRORS: Contains the line staging validation errors encountered during the processing of revenue transactions.
REVENUELINESTAGING: Contains the details of the line staging data that has been uploaded or received but not yet fully processed into revenue contract lines.
REVENUELINESTAGINGHISTORY: Contains the historical line staging data for revenue transactions that have been processed into revenue contract lines.
REVENUELOOKUPVALUE: Contains the lookup definitions joined with their value rows, providing system configuration and validation options used throughout Zuora Revenue.
REVENUELTSTSCHEDULE: Contains the long-term/short-term (LTST) revenue schedule entries with deferred and short-term segment amounts, accounting period, and journal-entry linkage.
REVENUEMONTHLYEXCHANGERATES:Contains the monthly exchange rate upload staging records received by batch before loading into the exchange rate master table.
REVENUEPOBCONDITIONSTRATIFICATION: Contains the POB condition stratification details defining conditional strategy evaluation for performance obligation templates.
REVENUEPERIODS: Contains the open period details.
REVENUEPROCESSRUNLOG: Contains the process run log entries recording execution start/end times, row counts, and status for system processes.
REVENUEPROFILE: Contains the profile definitions and their associated values that control system behavior such as summarization, processing rules, and feature flags.
REVENUEREPORT:Contains the report definitions joined with report field details, including report type, data source, and field-level configuration.
REVENUEREPORTLAYOUT:Contains the report layout definitions specifying field selection, display order, grouping, and formatting for report output.
REVENUEREPORTSCHEDULE:Contains the report schedule definitions for automated report generation including layout, query configuration, and filter parameters.
REVENUERULECONDITIONS:Contains the rule condition definitions specifying the field comparisons and logic used in revenue recognition rules.
REVENUESFCPAYMENTSTAGING: Contains the Significant Financing Component (SFC) payment staging records with payment amounts, exemption amounts, and processing status.
REVENUESFCPAYMENTSTAGINGHISTORY:Contains the historical SFC payment staging records that have been fully processed, with payment amounts, exemption amounts, and processing status.
REVENUESFCSTATUS: Contains the Significant Financing Component (SFC) status details including NPV calculations, interest accruals, and processing flags.
REVENUESTAGINGADVANCEDRULE: Contains the staging advanced rule definitions that apply conditional processing logic during line staging.
REVENUESTAGINGRULE: Contains the staging rule header and line definitions controlling how uploaded data is validated, transformed, and mapped to staging fields.
REVENUEUPLOAD: Contains the upload configuration definitions joined with their uploaded file instances, including file metadata, processing status, and upload settings.
REVENUEUPLOADMAP: Contains the upload field mapping definitions that map source file columns to staging table fields for data ingestion.
REVENUEUSERROLE:Contains the user role definitions and assignments within Zuora Revenue.
REVENUEWORKBENCHTIMELINE: Contains the workbench timeline entries tracking revenue contract actions with before/after values, timestamps, and RC/line/POB context.
- Object and field level details between Revenue Objects and BI Views Object to help you transition from BI View Objects to the new Revenue Object Model.
- Field-level definitions of revenue objects.
Chronology
Changes in Release 2025.Q3.0.0
- AffinityGroup
- ProcessSequence
- Status
- ActionSource
- LeadLineProcessedAmount
- LeadLineID
Changes in Release 2024.Q4.0.0
RevenueContractMJEEntriesFacts — We have added the below fields:
- JEHeadStatusFlag - Status of Manual Journal
- JEHeadReversalStatusFlag - Reversal Status of the Manual Journal
- JEHeadTypeFlag - Manual Journal Type
RevenueContractAccountingEntries - We have added the below fields:
- Name - GL Transfer Batch Name
- Credit Flag - This field is consumed internally by Zuora.
Until now, the manual journal (MJE) accounting schedules were represented as single-sided (debit) entries that displayed the amount as positive and negative amounts, as shown below:
| AccountingSegment | TransactionDebitAmount | TransactionCreditAmount | AccountingTypeID |
|---|---|---|---|
| 1001 | 100 | L | |
| 4001 | -100 | R |
Starting from this release, note that the MJE accounting schedules will be represented as double-sided entries with debits and credits as shown below.
| Accounting Segment | TransactionDebitAmount | TransactionCreditAmount | AccountingTypeID |
|---|---|---|---|
| 1001 | 100 | L | |
| 4001 | 100 | R |
Creating views based on the data model
The following sample queries show how to create the views that are required for building any use case-specific reports or analytical dashboards.
Line level transactional report sample query
The following sample query shows how to get the line-level transactional report with limited fields including the booking, billing, and accounting details. You can customize the query to add any number of attributes to the line level transaction report.
SELECT
rcld.revenuecontractlineid,
rcld.revenueorganizationname,
rcld.revenuebookname,
rcld.revenuecontractid,
rcld.salesordernumber,
rcld.salesorderlinenumber,
rcld.itemnumber,
rcld.customernumber,
rcld.productcategory,
rcld.productfamily,
rcld.businessunit,
SUM(rclf.extendedsellprice) extendedsellprice,
SUM(rclf.carveadjustment) carveadjustment,
SUM(rclf.allocatedextendedprice) allocatedextendedprice,
SUM(rclf.unreleasedrevenue) unreleasedrevenue,
SUM(rclf.releasedrevenue) releasedrevenue,
SUM(rcbf.billingextendedsellprice) billingextendedseliprice,
SUM(rcbf.billingdeferedamount) billingunreleasedrevenue,
SUM(rcbf.billingrecognizedamount) billingreleasedrevenue,
SUM(rcae.transactioncreditamount) transactionalnetrevenue,
SUM(rcae.transactionbilledcreditamount) transactionalbilledrevenue,
SUM(rcae.transactionunbilledcreditamount) transactionalunbilledrevenue,
SUM(rcae.transactioncarveadjustmentamount) transactionaladjustmentrevenue
FROM RevenueContractLinesDimensions rcld,
RevenueContractLinesFacts rclf,
(SELECT /* Billings details */
rcbf.revenuecontractlineid,
rcbf.revenueorganizationcode,
rcbf.revenueclientid,
rcbf.revenuebookid,
SUM(rcbf.billingextendedsellprice) billingextendedsellprice,
SUM(rcbf.deferedamount) billingdeferedamount,
SUM(rcbf.recognizedamount) billingrecognizedamount
FROM RevenueContractBillsFacts rcbf
GROUP BY
rcbf.revenuecontractlineid,
rcbf.revenueorganizationcode,
rcbf.revenueclientid,
rcbf.revenuebookid) rcbf,
(SELECT /* Revenue Accounting details */
revenuecontractlineid,
revenueorganizationcode,
revenueclientid,
revenuebookid,
SUM(transactioncreditamount) transactioncreditamount,
SUM(CASE WHEN accountingtypeid = 'R' AND unbilled_flag = 'N' THEN transactioncreditamount ELSE 0 END) transactionbilledcreditamount,
SUM(CASE WHEN accountingtypeid = 'R' AND unbilled_flag = 'Y' THEN transactioncreditamount ELSE 0 END) transactionunbilledcreditamount,
SUM(CASE WHEN accountingtypeid = 'X' THEN transactioncreditamount ELSE 0 END) transactioncarveadjustmentamount
FROM RevenueContractAccountingEntries
WHERE accountingtypeid IN (SELECT revenueaccounttypeid
FROM RevenueContractAccountingType
WHERE wf_summ_type = 'Net Revenue')
GROUP BY
revenuecontractlineid,
revenueorganizationcode,
revenueclientid,
revenuebookid) rcae
WHERE
rcld.revenuecontractlineid = rclf.revenuecontractlineid
AND rcld.revenueorganizationcode = rclf.revenueorganizationcode
AND rcld.revenueclientid = rclf.revenueclientid
AND rcld.revenuebookid = rclf.revenuebookid
AND rcld.revenuecontractlineid = rcbf.revenuecontractlineid (+)
AND rcld.revenueorganizationcode = rcbf.revenueorganizationcode (+)
AND rcld.revenueclientid = rcbf.revenueclientid (+)
AND rcld.revenuebookid = rcbf.revenuebookid (+)
AND rcae.revenuecontractlineid (+) = rcld.revenuecontractlineid
AND rcae.revenueorganizationcode (+) = rcld.revenueorganizationcode
AND rcae.revenueclientid (+) = rcld.revenueclientid
AND rcae.revenuebookid (+) = rcld.revenuebookid
GROUP BY
rcld.revenuecontractlineid,
rcld.revenueorganizationname,
rcld.revenuebookname,
rcld.revenuecontractid,
rcld.salesordernumber,
rcld.salesorderlinenumber,
rcld.itemnumber,
rcld.customernumber,
rcld.productcategory,
rcld.productfamily,
rcld.businessunit;Waterfall sample query
The following sample query shows how to get the waterfall report.
SELECT C.ACCOUNTINGPERIODID AS ASOFPERIODID,
S.REVENUESCHEDULEID ,
S.REVENUECONTRACTLINEID,
S.ROOTREVENUECONTRACTLINEID,
S.SCHEDULEDPERIODID,
S.POSTINGPERIODID,
S.REVENUEORGANIZATIONCODE,
S.REVENUEBOOKID,
S.REVENUECLIENTID,
S.ACCOUNTINGSEGMENT,
S.ACCOUNTINGTYPEID,
S.NETTING_ENTRY_FLAG,
S.SCHD_TYPE_FLAG,
(S.TRANSACTIONDEBITAMOUNT + S.TRANSACTIONCREDITAMOUNT) AS TACTIVITY,
(S.FUNCTIONALDEBITAMOUNT + S.FUNCTIONALCREDITAMOUNT) AS FACTIVITY,
(S.REPORTINGDEBITAMOUNT + S.REPORTINGCREDITAMOUNT) AS RACTIVITY,
S.CREATEDACCOUNTINGPERIOD,
S.CREATEDDATE,
S.CREATEDBY,
S.UPDATEDDATE,
S.UPDATEBY,
S.INCREMENTALREFESHDATE
FROM REVENUECONTRACTACCOUNTINGENTRIES S,
REVENUECALENDAR C,
REVENUECONTRACTACCOUNTINGTYPE A
WHERE S.CREATEDACCOUNTINGPERIOD <= C.ACCOUNTINGPERIODID
AND S.SCHEDULEDPERIODID >= C.ACCOUNTINGPERIODID
AND S.ACCOUNTINGTYPEID = A.REVENUEACCOUNTTYPEID
AND A.WATERFALL_FLAG = 'Y'
and C.ACCOUNTINGPERIODNAME = '<PERIOD NAME>';