Points ledger
Every points event across the network, oldest row never touched. This is the source of truth for every balance in the system.
Points earned
0
$0.00 issued
Points redeemed
0
$0.00 discounted
Outstanding
0
$0.00 of liability
Ledger rows
0
Append-only — nothing is ever edited
0 events
Running balance is the customer's balance immediately after that row.
No ledger events match those filters
Clear a filter to widen the view.
Reading this table
There is no balance column anywhere in the database. The Running balance figure is derived — the engine computes it with SUM(points_change) OVER (PARTITION BY customer_id ORDER BY id) — so it is the customer’s balance immediately after that event, not a total of the rows you happen to be looking at. Filtering by store or type changes which rows appear; it never changes a running balance.
Corrections are new rows. A refund inserts a negative REFUND entry rather than deleting the original earn, and an admin adjustment inserts an ADJUSTMENT row with a mandatory reason. Database triggers reject any UPDATE or DELETE against this table.