Skip to content

Points Economy

tempus2016 edited this page Jun 17, 2026 · 3 revisions

TaskMate's points economy is more than chores in and rewards out. From v4.0.0 a set of automatic point mechanics run quietly in the background — paying interest on savings, optionally shrinking idle balances, and handing out the occasional surprise — plus a parent gate to reverse a mistake. This page is the hub for those mechanics.

All of these are opt-in and configured in Settings → Integrations → TaskMate → Configure → Settings, under the History & streaks section of the Admin Panel.

For the manual point-awarding systems (weekend multiplier, streaks, perfect week) see Bonus Points. For child-to-child transfers see Gifting Points.


Savings Interest

Children earn interest on the points they have saved, rewarding patience over impulse spending. Interest is paid through the normal points path, so it also counts as earned points and feeds XP.

Setting Default Range Description
Savings interest off on / off Master toggle
Interest rate (Decay % field) 5 0–100 Percentage of the current balance paid as interest
Period (Every) weekly weekly / monthly When interest is paid

How it works:

  • Paid on the period boundary — weekly pays every Monday, monthly pays on the 1st
  • Each child earns round(balance × rate ÷ 100) points on their current spendable balance
  • Children with a zero or negative balance, or whose interest rounds to 0, are skipped
  • The credit is logged in the activity feed as Savings interest (+N%) and fires a taskmate_interest_paid event
  • A guard stamp prevents paying twice on the same day

Set the rate to 0 or leave the toggle off to disable.


Points Decay

The opposite lever to interest: idle balances slowly shrink, discouraging hoarding and keeping the economy moving. Decay only touches the spendable balance — it does not affect a child's career score or earned totals, so it is not a penalty.

Setting Default Range Description
Points decay off on / off Master toggle
Decay % 10 0–100 Percentage of the balance removed each period
Every monthly weekly / monthly How often decay runs

How it works:

  • Runs on the period boundary — weekly on Mondays, monthly on the 1st
  • Each child loses round(balance × percent ÷ 100) points; the balance never goes below 0
  • Logged in the activity feed as Points decay (-N%) and fires a taskmate_points_decay event
  • Children with a zero balance, or whose decay rounds to 0, are skipped
  • A guard stamp prevents decaying twice on the same day

Set the percentage to 0 or leave the toggle off to disable.


Surprise Bonus

A random daily chance for each child to receive a surprise points bonus — a small dose of unpredictability that keeps things fun.

Setting Default Range Description
Surprise bonuses off on / off Master toggle
Chance % 15 0–100 Per-child chance of a bonus each day
Min pts 5 ≥ 0 Lower bound of the random award
Max pts 20 ≥ 0 Upper bound of the random award

How it works:

  • Rolled once a day at 16:00
  • Each child is rolled independently against the chance percentage; on a hit they receive a random amount between Min and Max points
  • If Min is greater than Max the two are swapped automatically
  • Awarded through the normal points path, so it counts as earned and feeds XP
  • Logged in the activity feed as a surprise bonus and fires a taskmate_surprise_bonus event

Leave the toggle off to disable. See also Bonus Points.


Undo / Retract Penalties and Bonuses

Applied the wrong penalty, or awarded a bonus to the wrong child? An admin can reverse it. Each reversible row in the activity log shows an Undo button, and the same action is available as the taskmate.undo_transaction service.

What it does:

  • Restores the child's balance by the exact amount of the original transaction
  • Rolls back the matching counter — total_penalties_received for a penalty, total_points_earned for a bonus — and recomputes the career score
  • Removes the original transaction from the activity log

What can be undone:

Transaction type Undoable?
Applied penalty (Penalty: …)
Applied bonus (Bonus: …)
Chore completions ❌ — use Reject instead
Weekend / streak-milestone / perfect-week bonuses
Pool deposits and interest / decay entries

Only discrete admin "apply" actions have a clean inverse, so undo is deliberately scoped to applied penalties and bonuses. The action is admin-gated and recorded in the Admin Audit Log.

service: taskmate.undo_transaction
data:
  transaction_id: <points-transaction id>

See Services for full parameter details.


Related

Clone this wiki locally