Ledga

Layers

Each transaction posts to one layer; balances report every layer separately.

Layer Meaning Spendable
settled Cleared and final Yes
pending Accepted, not yet cleared No
encumbrance Committed for a future date (schedules, holds) No

layer on POST /transactions defaults to settled. Input is case-insensitive; responses are lowercase.

Balance fields

GET /accounts/{id}/balance returns:

{
  "balances": {
    "settled": "1000.00",
    "pending": "50.00",
    "overdue": "0.00",
    "future": "200.00"
  }
}

overdue and future split the encumbrance layer by due date: before today, or today and later. There is no available figure — only settled is spendable.

GET /accounts/{id}/balance/point-in-time?as_of=2026-01-31&layer=settled returns one layer’s balance at a past date.

Removing an encumbrance

POST /transactions/{id}/void marks a posted transaction void and recalculates balances. Entries are kept; nothing is deleted. Use it to drop a scheduled item; use reverse for settled postings.