DCF model — endpoints, data sources and known defects
The calculator’s server-side calculations, the Eurostat query, the simulated and hard-coded inputs, and the list and form copied from the label module.
analysis/dcfmodell is a discounted cash flow calculator for property investments (rental income, costs, HICP indexation, financing, WACC, exit). The menu item follows canSee(list); the endpoints run without a right check.
Endpoints
| Endpoint | Behaviour | Right |
|---|---|---|
analysis/dcfmodell (index) | the calculator form, income fields from a schema | none |
calcCapital, calculateWACC, generateCashflow, cashflow | server-side calculation from the POST data: equity/debt ratio, WACC, monthly cash flow table, period resolution; no database write | none |
hicp | the latest annual HICP rate from the Eurostat API (prc_hicp_manr) | none |
getHICPInputs | a random (simulated) value of 2.0–5.0% per year | none |
fxRate | hard-coded rates: EUR 400, USD 370, GBP 470, others 1 | none |
list, getList, form | render the masterdata/label label list and form with the label template | none |
save, delete | save or delete a label through the masterdata/label model | core modify on the masterdata/label path |
Permissions
list(UNMAPPED,visibility_layer_v2_list_seed.sql): only decides menu visibility; the controller never checks it.- The index “Add” button shows on the
masterdata/label::addkey (not in the seeds).
Known limitations
- The controller was made from a copy of the label module: list, form, save and delete actually handle labels. The own model (
admin/model/analysis/dcfmodell.php) is also a copy of the label model and is not loaded by the controller. - The yearly HICP input is simulated, the exchange rates are hard-coded.
- The calculation endpoints check no right.