FinanceBuddy: show the money badge on the opened card; v1.0.0

This commit is contained in:
2026-07-07 17:47:50 -03:00
parent 0833c4a1c0
commit 974a3ae8bd
3 changed files with 54 additions and 19 deletions

View File

@@ -36,6 +36,11 @@ class Plugin extends Base
// Per-column net total (credits - debits) in the column header.
$this->template->hook->attach('template:board:column:header', 'financeBuddy:board/column_total');
// The same money badge at the top of the opened card (task view), under the title, so a
// card shows its money whether you are on the board or reading the card. Reuses the board
// badge template (both hooks pass $task).
$this->template->hook->attach('template:task:details:top', 'financeBuddy:board/task_money');
}
public function getHelpers()
@@ -62,7 +67,7 @@ class Plugin extends Base
public function getPluginVersion()
{
return '0.4.1';
return '1.0.0';
}
public function getPluginHomepage()

View File

@@ -1,8 +1,8 @@
# FinanceBuddy -- money on your Kanboard cards
Attach a money value to a board card, see it on the card, and total it per column -- so a
Kanboard project can double as a simple, visual finance board (bills, installments, income
vs expenses).
Attach a money value to each board card, see it on the card, and total it per column, so a
Kanboard project can double as a simple, visual finance board -- bills, installments, income
vs expenses.
FinanceBuddy is **opt-in per board**: installing it changes nothing until a project manager
enables it for a specific board under Settings -> Integrations. Boards that are not enabled
@@ -10,30 +10,59 @@ look exactly as before.
## The idea: a bill-lifecycle board
Kanboard imposes no structure, so FinanceBuddy is built to fit one rather than dictate it. The
suggested organization:
Kanboard imposes no structure, so FinanceBuddy fits one rather than dictating it. A layout that
works well:
- **Columns = a bill's status:** `Templates -> Due this month -> Paid`. Cards flow left to
right as they are paid.
- **Columns = a bill's status:** `Templates -> Due this month -> Paid`. Cards flow left to right
as they are paid.
- **Tags = category:** housing, utilities, comms, food...
- **Due date = the bill's due date;** color/priority = urgency.
- Each card carries a **money value** (debit or credit) and, optionally, an **installment**
count (`p2/10` = 2nd of 10 payments; leave the total blank for an open-ended recurring bill).
- Each card carries a **money value** and, optionally, an **installment** count.
Recurring monthly bills can live as template cards spawned each month by the companion RecoReco
plugin; FinanceBuddy only owns the money.
## What it does
Once a board is enabled:
### Set the money on a card
The task edit/create form gains a **Finance** section in the middle column:
- **Amount** in R$.
- **Debit** or **Credit** (money out vs money in).
- **Installment** current / total (for example `2` of `10`). Leave the total blank for an
open-ended recurring bill.
### See it on the card
A badge appears just under the card title -- both on the board and at the top of the opened
card, so the money is visible whether you glance at the board or read the card (no need to open
the edit form):
- **red** with a `-` for a debit, **green** with a `+` for a credit (both the color and the sign
carry the meaning, and the badge's own background stays readable on any card color);
- followed by `pN/M` when a total is set (for example `p2/10`), hidden for open-ended bills.
### Total per column
Each column header shows a **`Total:`** of its cards -- credits positive, debits negative (the
net): red when negative (what you owe), green when positive, gray at zero. It is shown for every
column, including `Total: R$0,00`.
## Money format
Amounts are shown in R$ with a comma decimal and no thousand separator (for example
`R$1234,56`). Input accepts either a dot or a comma as the decimal separator, so `1234.56` and
`1234,56` are the same value.
Amounts show in R$ with a comma decimal and no thousand separator (for example `R$1234,56`).
Input accepts either a dot or a comma as the decimal separator, so `1234.56` and `1234,56` are
the same value.
## Status
## How it stores data
Early development. This version registers the plugin and loads its stylesheet; the per-board
toggle, the in-form editing, the card badge, and the per-column totals arrive in the following
versions.
No database migration. The per-board enable flag is stored in project metadata; each card's
money is stored in task metadata. The finance fields live in the normal task form but are saved
separately (they are not task columns), so ordinary task saving is untouched. Uninstalling the
plugin leaves that metadata harmlessly in place and changes nothing else.
## Requirements
@@ -43,7 +72,8 @@ versions.
Copy this folder into your Kanboard installation as `plugins/FinanceBuddy/`. The directory name
must be exactly `FinanceBuddy` (Kanboard derives the plugin namespace from the folder name). No
build step and no database migration.
build step and no database migration. Then, on each board you want to track, go to
Settings -> Integrations and tick "Enable FinanceBuddy on this board".
## License

View File

@@ -1 +1 @@
FinanceBuddy v0.4.1
FinanceBuddy v1.0