Money screens
internal/interfaces/http/routes_money.go. Incomes and expenses are the two
filtered views of payments (type=in / type=out), each with its own
create/edit/cancel/delete/receipt routes; there is no unified /payments list.
| Method | Path | Gate |
|---|---|---|
| GET | /incomes · /incomes/new |
payments read · write |
| POST | /incomes |
payments write |
| GET/POST | /incomes/:id/edit |
payments write |
| POST | /incomes/:id/cancel |
payments write |
| POST | /incomes/:id/delete |
payments delete (calls Cancel — void, never a hard delete) |
| GET | /incomes/:id/receipt |
payments read |
| GET | /expenses · /expenses/new |
payments read · write |
| POST | /expenses |
payments write |
| GET/POST | /expenses/:id/edit |
payments write |
| POST | /expenses/:id/cancel |
payments write |
| POST | /expenses/:id/delete |
payments delete |
| GET | /expenses/:id/receipt |
payments read |
| GET | /payments/:id/receipt |
payments read (generic link target) |
| GET | /ledger |
ledger read (read-only; no add controls exist) |
| GET | /ledger/movements/:id |
ledger read (movement detail) |
| GET | /cash-boxes · /cash-boxes/new |
cash_boxes read · write |
| POST | /cash-boxes |
cash_boxes write |
| GET/POST | /cash-boxes/:id/edit |
cash_boxes write |
| POST | /cash-boxes/:id/delete |
cash_boxes delete (refused while the box has transactions or is default) |
| POST | /cash-boxes/:id/archive |
cash_boxes write |
| POST | /cash-boxes/:id/close |
cash_boxes write (box-level drawn close) |
| GET | /cash-transfers · /cash-transfers/new |
cash_boxes read · write |
| POST | /cash-transfers |
cash_boxes write |
| GET | /period-close |
cash_boxes read |
| POST | /period-close |
cash_boxes write (close + lock) |
| POST | /period-close/reopen |
cash_boxes write (reopen) |
The flows behind these routes — posting, void, transfer, close — are in money.
Rendered from simple-lms/screens/money.md · OKF bundle · regenerate with npm run render