$ 60.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) • Project (project) • Purchase (purchase) • Sales (sale_management) |
| Lines of code | 2391 |
| Technical Name |
project_cfo |
| License | OPL-1 |
| Website | https://github.com/haythamafify |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) • Project (project) • Purchase (purchase) • Sales (sale_management) |
| Lines of code | 2391 |
| Technical Name |
project_cfo |
| License | OPL-1 |
| Website | https://github.com/haythamafify |
ProjectCFO
Know if your project is profitable — before it's too late.
Revenue, costs, margin, and budget status — live inside every project. No separate reports. No exports. No surprises.
Everything in One Screen
Revenue · Costs · Margin · Budget Status — all inside the project tab. No separate reports. No exports.
One Tab. Complete Financial Visibility.
The financial visibility that Odoo reserves for Enterprise users — now available on Community too.
Key Features
Everything a CFO, project manager, or accountant needs to answer "how is this project doing?" — without leaving the project form.
Revenue KPIs
Sales Order Value, Invoiced Revenue, Delivered Value, and Remaining to Invoice — all calculated from live confirmed SOs and posted invoices.
Cost KPIs
PO Value, Bills Total, Bills Paid, and Bills Due — sourced directly from confirmed Purchase Orders and posted Vendor Bills with analytic distribution.
Profitability Analysis
Expected Margin (SO − PO), Realized Margin (Invoiced − Total Cost), and Margin % — with color-coded health indicators that change at a glance.
Budget Monitor
Planned vs. Consumed vs. Remaining per budget line. Over Budget badge with red alert. Budget Consumption donut chart. Period-aware date filtering.
Drill-Down Navigation
Click any KPI card to open the exact filtered list — Sales Orders, Purchase Orders, Vendor Bills, Invoices, Budget Lines, or Tasks for that project only.
Revenue vs Cost Chart
12-month revenue vs cost chart. See at a glance which months ran over budget and which were profitable.
Task Completion KPIs
Total Tasks, Tasks Done, and Completion % — click to open the full task list. Keeps delivery progress in the same screen as the financials.
Multi-Currency
Currency selector sits right in the dashboard header. Pick any currency and all KPIs convert using Odoo's historical rates — no manual calculation needed.
Multi-Company Isolation
Each project shows data from its own company only. Users with multi-company access won't see data leaking across companies.
Security Roles
CFO Manager: Full access — create/edit budgets, view all data. CFO User: Read-only dashboard — perfect for executives and analysts.
Handles Scale
Batch SQL with GIN indexes on the analytic_distribution JSONB field — designed for databases with large numbers of projects and analytic lines.
Always Fresh Data
KPIs update automatically when Sales Orders, Purchase Orders, bills, or invoices change. A manual Refresh button is always available for on-demand recalculation.
Why ProjectCFO?
See how ProjectCFO compares to what you already have in Odoo.
| Feature | ProjectCFO | Odoo Native (Community) | Odoo Native (Enterprise) |
|---|---|---|---|
| Financial KPIs inside project tab | ✔ | ✘ | ~ Partial |
| Revenue + Cost + Margin in one view | ✔ | ✘ | ✔ |
| Drill-down to SOs, Invoices, POs, Bills | ✔ 11 views | ✘ | ✔ |
| Budget planned vs consumed per line | ✔ | ✘ | ✔ |
| Over-Budget alert on dashboard | ✔ Red badge | ✘ | ~ |
| Multi-currency on dashboard | ✔ | ✘ | ✔ |
| Multi-company data isolation | ✔ | ✔ | ✔ |
| CFO read-only security role | ✔ | ✘ | ✘ |
| Works on Community Edition | ✔ | — | ✘ Enterprise only |
| One-time purchase — no per-user subscription | ✔ | — | ✘ Subscription required |
Screenshots
From a live Odoo 18 Community instance — two companies running simultaneously.
Technical Specifications
Tested on Community and Enterprise, single and multi-company, with realistic data volumes.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module