| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Project (project)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) |
| Lines of code | 842 |
| Technical Name |
gb_change_request_scope_management |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Project (project)
• Sales (sale_management) • Discuss (mail) • Invoicing (account) |
| Lines of code | 842 |
| Technical Name |
gb_change_request_scope_management |
| License | OPL-1 |
| Website | https://gencbaris.com/odoo_plugins/ |
| Versions | 18.0 19.0 |
Change-Request & Scope Ma
Log change requests against projects, price them, approve and push to billing
Scope creep is the silent killer of project margin: a client asks for 'just one more thing', the team does the work, nobody logs it formally, and it never reaches the invoice. Across a project that unbilled drift quietly erases the profit. Odoo has nothing native to manage project variations, so this module adds a disciplined change-request workflow. Every variation is raised against the project with a reason, priority and schedule impact, costed line by line in labour, material and expense with automatic tax and totals, then routed through submit, approve and reject with the approver and decision date tracked. Approved scope is pushed straight to a sale order so it actually gets invoiced, while a frozen scope baseline measures creep as a percentage and the project rolls up approved versus pending change value. Consultancies, agencies, construction and engineering firms get the governance to turn variations into billed revenue instead of lost margin.
Key Features
Project Change Requests
gb.change.request logs a variation against a project.project with requester, approver, priority, reason (client/error/regulatory/technical) and a schedule_impact_days estimate. The customer is auto-pulled from the project, giving each variation a single governed record.
Costed Line Items with Tax
gb.change.request.line captures labour, material or expense lines; selecting a product pre-fills price, UoM and taxes. _compute_amounts runs tax_ids.compute_all so untaxed, tax and total roll up to the request in the project currency for an accurate quote.
Submit / Approve / Reject Workflow
action_submit (which requires at least one costed line), action_approve and action_reject move the request through draft, submitted, approved, rejected and billed states, stamping the approver and decision date and logging every step to chatter.
Push Approved Scope to Billing
action_add_to_billing turns an approved request into a sale.order (or appends order lines), copying each costed line and marking the request billed. Approved variations finally reach the invoice instead of leaking margin.
Scope Baseline and Creep Percentage
gb.scope.baseline freezes an agreed original budget; _compute_revised adds approved change value to derive the revised budget and a scope_creep_pct. Locking a new baseline supersedes the old one, quantifying creep against the agreed scope.
Project Budget Roll-Up
project.project gains change_request_count, change_approved_value and change_pending_value computed across its change requests, plus an action to open them — so a project manager sees committed and pending variation value at a glance.
Change Analysis View and Overdue Cron
The gb.change.request.report SQL view supports group-by project, status, priority and reason for pivots, while is_overdue flags requests past their needed-by date and the _cron_notify_pending job schedules a to-do for overdue decisions.
Bulk Add-to-Billing Wizard
The gb.change.to.billing.wizard takes a selection of change requests, bills only the approved ones via action_add_to_billing, and returns the resulting sale orders — clearing a batch of variations into billing in one action.
Use Cases
Screenshots
Change Requests
Change Lines
Change Analysis
Add To Billing
Scope Baselines
Why Choose This Module
Scope creep is the silent killer of project margin: extra work gets done, nobody logs it formally, and it never reaches the invoice. This module gives Odoo projects a disciplined change-request workflow so every variation is captured, costed, approved and pushed to billing.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: LGPL-3
- Languages: 35+
- Author: Baris Genc
- Dependencies: project, sale_management
- Support: odoo@gencbaris.com
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