PREPROD
ReaderAuthor

Tally · Auctions

Transactions ledger: every lot hammered in the ring

The chronological ledger of every SaleTransaction recorded across all sales — buyer, lot, unit price, head count, weight at sale, gross amount, and hammer time — and how voids and corrections preserve an auditable trail instead of deleting.

1 min read · 3 depth levelsstratum-tally · vdevMatches production
Everyday

The Transactions ledger (/transactions) is the running record of every lot that has been hammered in the ring, across every sale. When the auctioneer says "sold," Tally writes one SaleTransaction, and that row is the single source of truth that both the buyer's invoice and the consignor's settlement read from.

Each line captures the whole sale of one lot:

  • the winning buyerId and the lotId (each lot sells exactly once — the tie is one-to-one),

  • the pricingMode and unitPrice — the number the auctioneer took the bid to, read as per-hundredweight, per-head, or lump-sum depending on the lot,

  • headCountAtSale and weightHundredthsAtSale — the count and weight as they stood at the moment of sale, snapshotted so later edits to the animals can't rewrite history,

  • grossAmount — the computed total the buyer owes for that lot,

  • hammerAt — the exact time the lot sold, which is what puts the ledger in ring order.

Nothing in this ledger is ever erased. If a lot was mis-entered, the office voids it (setting voided, voidReason, and who voided it) and enters a fresh, correct transaction. The corrected one points back to the original through correctionOf, so the paper trail shows exactly what happened rather than pretending the mistake never did.

Admin section
Permissions, locking rules, and setup — visible to admins.
View as admin
Technical section
Data model, API, and internals — visible to developers.
View as developer
Was this helpful?