A journal entry was created.

Group: Accounting › Journal Entries

Open in the interactive reference

Event accounting/journalEntries/created, delivered as a POST to the webhook endpoint of a subscription to it.

Delivered when the entry is created. The entry is published as soon as its header exists, which is BEFORE its lines are written, so a read immediately on delivery may show an entry whose lines are still landing. Read it again if the lines matter to you, and take the entry's current state from the read rather than from the moment of delivery.

Expect volume. A journal entry is created for every posting in the system, and one is created per accounting book the entity keeps. A billing run of ten thousand invoices across two books publishes twenty thousand of these. Month-end close is the opposite shape: fewer entries, each carrying hundreds of lines. Size your subscriber for both, and remember that delivery is at-least-once and unordered.

Sources include every document that posts to the ledger: invoices and their late fees, payments and their applications, credit and debit memos, refunds and chargebacks, vendor bills and credits, expense reports, bank and credit card entries, fund transfers, payroll, inventory movements, amortization, depreciation, revenue recognition and the other close steps, currency revaluation, allocations, and manual entries created in the app or through the API.

A reversal is itself a new journal entry, so reversing an entry publishes this event for the reversal and accounting/journalEntries/updated for the original.

Entries still being drafted publish nothing, and neither do the drafts that are later discarded.

The payload carries the identifier only. Read the entry for its book, posting date, status, lines and source document; a delivery may be retried, so deduplicate on event.uuid, the id of the emission itself, not on event.data.id, which is the entry.

Payload

Required, application/json: object.

Field Type Required Description
subscription object yes The subscription this delivery was made for.
subscription.uuid string yes Stable identifier of the subscription.
subscription.type string yes Transport the subscription delivers through; webhook for deliveries carried by this request.
subscription.name string yes Authored name of the subscription.
event object yes The emitted event being delivered.
event.uuid string yes Stable identifier of this emission — the idempotency key for a receiver, since a delivery may be retried.
event.identifier "accounting/journalEntries/created" yes Public identifier of the event type.
event.emittedAt date-time yes When the event was emitted (ISO 8601).
event.data accounting_journalEntries_createdPayload yes
event.data.id string yes
{
  "subscription": {
    "uuid": "<uuid>",
    "type": "<type>",
    "name": "<name>"
  },
  "event": {
    "uuid": "<uuid>",
    "identifier": "accounting/journalEntries/created",
    "emittedAt": "2026-01-15T09:30:00.000Z",
    "data": {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
    }
  }
}