Purpose
Creates a manual journal entry (header plus at least one line) in a single atomic call. Choose the request format:
- JSON (
application/json) - sendjeHeaderandlines. - CSV upload (
multipart/form-data) - send thelinesfile part. Use a combined CSV (header section, blank line, lines section) or a lines-only CSV together with ajeHeaderJSON part. Supplying the header in both places is rejected.
All mandatory fields are validated before anything is saved; if any check fails, nothing is created and every problem is reported in one message. The new entry starts in status New and is validated asynchronously - poll GET /journal-entries/{jeId}/validation-status, then submit it for approval.
When to use
- You need to record a new manual adjustment (reclass, accrual, correction) in Zuora Revenue from an external system.
- Use JSON when your integration builds entries programmatically; use CSV upload when users prepare entries in a spreadsheet or when migrating many lines at once.
- Do not use it to change an existing entry - use PATCH /journal-entries/{jeId}; to repeat an existing entry use POST /journal-entries/{jeId}/copy.
- Zuora Revenue API (base URL)https://one.zuora.com/revenue/services/v1/journal-entries
{ "jeHeader": { "name": "SEP-2026 Revenue Reclass", "description": "Reclass deferred revenue for contract RC-1001", "bookId": 1, "orgId": "101", "periodId": 202609, "categoryCode": "RECLASS", "sobId": 1, "functionalCurrency": "USD", "exchangeRateType": "User", "accountMethod": "Standard", "glTransfer": "Yes", "approvalCurrency": "USD" }, "lines": [ { … }, { … } ] }
Journal entry created
Unique system-generated identifier of the journal entry (JE header ID).
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.
Journal entry status. One of New, Draft, Validated, Approval Pending, Approved, Rejected, Approval Cancelled, Error, Approval Rule not Defined.
Free-text description of the journal entry's business purpose.
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.
{ "success": true, "id": 10045, "name": "SEP-2026 Revenue Reclass", "status": "New", "description": "Reclass deferred revenue for contract RC-1001", "waterfallStatus": "NEW", "jeHeader": { "id": 10045, "name": "SEP-2026 Revenue Reclass", "description": "Reclass deferred revenue for contract RC-1001", "categoryCode": "RECLASS", "exchangeRateType": "User", "sobId": 1, "sobName": "US Primary SOB", "functionalCurrency": "USD", "periodId": 202609, "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" } }