Appearance
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
| Action | What happens |
|---|---|
| Accept | Promotes the recommendation. For misclassification, this updates the project's CapEx classification. For missing cost centre, this opens the cost-centre picker. |
| Dismiss | Marks the finding as rejected; it will not surface again unless the underlying signal changes. |
| Later | Snoozes the finding; it stays in the queue but moves to the bottom. |
| Accept all | Bulk-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.