Skip to content

Copy a journal entry

Request

Purpose

Creates a new journal entry by copying the header and all lines of an existing one - useful for recurring entries. By default the copy is named Copy of <name> and posted to the current open period; override either with the optional body. The copy starts in status New.

When to use

  • Recurring adjustments: copy last month's entry into the new period instead of rebuilding it.
  • Start a corrected version of an approved entry while keeping the original for audit.

Notes

  • When name or periodId is supplied, the copy is created first and then renamed/moved. If the second step fails the call returns an error but the copy already exists (named Copy of <name>); look it up with GET /journal-entries/search/{jeName} before retrying.
Security
OneIdOAuth
Path
jeIdinteger, (int64)required

ID of the journal entry.

Example:10045
Bodyapplication/json
namestring or null

Name for the copy. Defaults to Copy of <original name>.

Example:"OCT-2026 Revenue Reclass"
periodIdinteger or null, (int32)

Posting period for the copy. Defaults to the current open period.

Example:202610
{ "name": "OCT-2026 Revenue Reclass", "periodId": 202610 }

Responses

Copy created

Headers
traceIdstring

Identifier of the request. Quote it when you contact Zuora Support.

Bodyapplication/json
successboolean

true when the operation succeeded.

Example:true
idinteger or null, (int64)

Unique system-generated identifier of the journal entry (JE header ID).

Example:10045
namestring or null

Name of the journal entry. Shown in the Zuora Revenue UI and in GL interfaces. Must be meaningful to approvers, for example SEP-2026 Revenue Reclass.

Example:"SEP-2026 Revenue Reclass"
statusstring or null

Journal entry status. One of New, Draft, Validated, Approval Pending, Approved, Rejected, Approval Cancelled, Error, Approval Rule not Defined.

Example:"New"
descriptionstring or null

Free-text description of the journal entry's business purpose.

Example:"Reclass deferred revenue for contract RC-1001"
waterfallStatusstring or null

Status of revenue waterfall (schedule) generation for the entry. One of NEW, IN PROGRESS, SUCCESS, ERROR. For approved entries this reflects the final waterfall; otherwise the preview waterfall.

Example:"NEW"
jeHeaderobject(JournalEntryHeader)

Full header. Returned by create, get and copy.

linesobject(JournalEntryLinesPage)

Page of lines. Returned by GET /journal-entries/{jeId}/lines.

schedulesobject(JournalEntrySchedulesPage)

Page of schedules. Returned by GET /journal-entries/{jeId}/schedules.

Response
{ "success": true, "id": 10047, "name": "OCT-2026 Revenue Reclass", "status": "New", "description": "Reclass deferred revenue for contract RC-1001", "waterfallStatus": "NEW", "jeHeader": { "id": 10047, "name": "OCT-2026 Revenue Reclass", "description": "Reclass deferred revenue for contract RC-1001", "categoryCode": "RECLASS", "exchangeRateType": "User", "sobId": 1, "sobName": "US Primary SOB", "functionalCurrency": "USD", "periodId": 202610, "clientId": 1, "orgId": "101", "bookId": 1, "accountMethod": "Standard", "status": "New", "approvalCurrency": "USD", "glTransfer": "Yes", "waterfallStatus": "NEW", "createdBy": "jane.doe@example.com", "createdDate": "2026-09-28T10:21:04.000+00:00", "updatedBy": "jane.doe@example.com", "updatedDate": "2026-09-28T10:21:04.000+00:00" } }