Skip to content

CapEx Recommendations

Projects the AI thinks should be capitalised — grouped by project, ranked by EBITDA impact, with one-click accept and dismiss.

The recommender runs over your live project portfolio, salaries, contractor rates, and effort data. It surfaces two finding types today: capex_misclassified (a project booked as OpEx that probably should be CapEx) and missing_cost_center (a project with no cost centre binding, which blocks any classification at all).

Reading the page

Top of page: an EBITDA impact card showing the total impact across all open recommendations and the count of findings. Below that, findings grouped by project — one group header per project, then one card per finding under it.

Each card shows:

  • The finding type — translated label (e.g. "Misclassified as OpEx").
  • A short reason from the analysis agent.
  • Estimated impact — the project's authoritative cost, surfaced from parseEstimatedImpact. We use the project total directly rather than summing finding-level impacts; multiple finding types on the same project would otherwise double- or triple-count.
  • The project name, which opens the project drawer when clicked.

Actions

ActionWhat happens
AcceptPromotes the recommendation. For misclassification, this updates the project's CapEx classification. For missing cost centre, this opens the cost-centre picker.
DismissMarks the finding as rejected; it will not surface again unless the underlying signal changes.
LaterSnoozes the finding; it stays in the queue but moves to the bottom.
Accept allBulk-accepts every visible finding. Use this when you have already reviewed the queue and want to clear it in one shot.

All four actions route through the shared useAnalysisFindingActions hook — same engine the AI Governance recommendations queue uses, so the audit trail format is identical across pillars.

Permissions and visibility

Cost figures only render when the viewer has FINANCIALS_VIEW_SUMMARY. Without that permission, the page still shows the finding count and lets reviewers accept or dismiss — they just see no monetary impact. This matches the pattern across R&D recommendations and the governance alerts queue.

What "accepted" means downstream

Accepting a recommendation does not commit the claim. It moves the project into the per-project review flow with the recommended classification pre-filled. The owner still has to attach rationale, and the workflow approvers still have to sign off — see approval workflow.

Empty state

If no findings are open, you get the empty state. That means the analysis agent has nothing it considers worth flagging — not that there is nothing to capitalise. Walk the overview to see every project in the queue, including ones the agent has not flagged.

Flowstate Documentation