> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.thepennyinc.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.thepennyinc.com/_mcp/server.

# ledger_entry.created

POST 

Sent when a `ledger_entry.created` event occurs.

Reference: https://docs.thepennyinc.com/api-reference/penny-banking/webhook-payloads/ledger-entry/ledger-entry-created-webhook

## Request

### Payload

- `event_id` (string, required) — Penny's unique identifier for this notification event.
- `business_id` (string, required) — The business the event belongs to. When the event originated from a different business, this contains the originating business.
- `type` ("ledger_entry.created", required) — The notification event type. This identifies the specific occurrence represented by the event and determines how its data should be interpreted.
- `category` ("object", required) — The category of the event payload. This groups related notification event types and describes the general kind of data contained in ``data``.
- `schema_version` ("1.0", required) — The version of the JSON notification event schema used to encode this webhook payload.
- `event_time` (datetime, required) — The date and time Penny generated the notification event.
- `occurrence_time` (datetime, required) — The date and time the underlying occurrence represented by this notification event took place.
- `data` (WebhooksLedgerEntryCreatedWebhookPayloadContentApplicationJsonSchemaData, required) — A notification about a domain object being created, updated, or deleted.

## Types

### WebhooksLedgerEntryCreatedWebhookPayloadContentApplicationJsonSchemaData

A notification about a domain object being created, updated, or deleted.

- `operation` (enum, required) — The change that produced this event: 'created', 'updated', or 'deleted'.
  - Allowed values: `created`, `updated`, `deleted`
- `subject` (ObjectReferenceResponse, required) — The object this event concerns.
- `category` ("object", optional, default: object) — Identifies this payload as an object change.
- `object` (WebhooksLedgerEntryCreatedWebhookPayloadContentApplicationJsonSchemaDataObject, optional)
- `previous_attributes` (map from string to any, optional, nullable) — The object's attributes before this change, if included.

### ObjectReferenceResponse

A pointer to the object this event concerns.

- `object_type` (string, required) — The kind of object this event concerns.
- `object_id` (string, required) — The unique identifier of the object this event concerns.
- `version` (integer, optional, nullable) — The object's version at the time of this event, if known.
- `stage` (integer, optional, nullable) — The object's lifecycle stage at the time of this event, if applicable.

### WebhooksLedgerEntryCreatedWebhookPayloadContentApplicationJsonSchemaDataObject

- LedgerEntryWebhookPayload: LedgerEntryWebhookPayload
- LedgerEntryWebhookPayload: LedgerEntryWebhookPayload

### LedgerEntryWebhookPayload

A notification describing a change to an account's balance and the transaction associated with it.

- `ledger_entry_id` (string, required) — Unique identifier for this ledger entry.
- `direction` (enum, required) — Direction of the ledger entry. A debit represents value deducted from the account, while a credit represents value added to the account.
  - Allowed values: `debit`, `credit`
- `currency` (enum, required) — ISO 4217 currency code for the monetary values represented by this ledger entry.
  - Allowed values: `USD`
- `available_balance_change` (string, required) — Amount applied to the account's available balance by this ledger entry. The available balance represents funds currently available for use.
- `total_balance_change` (string, required) — Amount applied to the account's total balance by this ledger entry. The total balance includes all funds recorded against the account, including amounts that may not yet be available for use.
- `applied_time` (datetime, required) — Date and time at which the ledger entry was applied to the account's balances, represented as an ISO 8601 timestamp.
- `business_id` (string, required) — Unique identifier of the business associated with this ledger entry.
- `business_entity_id` (string, required) — Unique identifier of the business entity associated with this ledger entry.
- `program_id` (string, required) — Unique identifier of the program under which this ledger entry was recorded.
- `type` (enum, required) — Type of financial activity that resulted in this ledger entry.
  - Allowed values: `payment`, `transfer`
- `channel` (enum, required) — Channel through which the financial activity associated with this ledger entry was processed.
  - Allowed values: `internal`, `card`, `bank`, `system`
- `source` (LedgerSourceResponse, required) — References to the originating transaction and transaction event associated with this ledger entry.
- `account_id` (string, optional, nullable) — Unique identifier of the account affected by this ledger entry.
- `control_account_id` (string, optional, nullable) — Unique identifier of the associated Control account, when applicable. This field is omitted when the ledger entry is not associated with a Control account.

### LedgerSourceResponse

Identifiers linking a ledger entry to the transaction and transaction event that produced it.

- `transaction_id` (string, required) — The transaction this ledger entry was recorded for.
- `transaction_stage` (integer, required) — The stage of the transaction's lifecycle at which this entry was recorded.
- `transaction_event_id` (string, required) — The specific transaction event that produced this ledger entry.