Back office

Points ledger

Sign out

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

420

$42.00 issued

Points redeemed

0

$0.00 discounted

Outstanding

420

$42.00 of liability

Ledger rows

1

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.