Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ADD] business_requirement #2

merged 16 commits into from Jun 22, 2016
Changes from 2 commits
File filter...
Filter file types
Jump to…
Jump to file or symbol
Failed to load files and symbols.


Just for now

@@ -0,0 +1,281 @@
.. image::
:alt: License: AGPL-3

Business Requirement


This module is part of a set ("Business Requirement") and provides the basic models for business requirement management and project time/cost estimation.


.. |image7| image:: static/img/bus_req_tree.png
:width: 800 px
:alt: Business Requirement List view

The set comprises of multiple modules that can be used independently or not:

=========================================== ====================================

This comment has been minimized.

Copy link

pedrobaeza Jun 7, 2016


I think this a description for the of the repository, not this module, and it's even automatically done by the module listing bot.

This comment has been minimized.

Copy link

elicoidal Jun 8, 2016


Thanks for the review :)
I will move that part to the

This comment has been minimized.

Copy link
Module Description
=========================================== ====================================
business_requirement Basic models and functions
business_requirement_project Wizard to create project/tasks
from BR/resource lines
business_requirement_crm Wizard to create/update Sales
Quotation based on deliverables
business_requirement_deliverable Adds deliverables and resources lines
business_requirement_deliverable_report Adds printout to send BR and
deliverables to the customer
business_requirement_deliverable_default Adds default resource lines for
deliverable products
business_requirement_deliverable_cost Add sales and cost price for
estimation and profit control
business_requirement_deliverable_categ Adds the possibility to have
tasks category in resources
=========================================== ====================================

Many other modules (business_requirement_*) completes this basic list.
The following diagram gives a simplified view of the universe:


.. |image11| image:: static/img/bus_req_module_diag.png
:width: 800 px
:alt: Business Requirement modules diagram

What is a Business Requirement?

A Business requirement (BR) is the expression of a business need by a customer
or internal project user.
A BR can contain multiple different parts depending on the company needs:

* Customer Story: this is the requirement as expressed by the customer
* Scenario: How/where the current solution can provide a suitable scenario to
answer the customer story
* Gap: For the uncovered part of the scenario, elaborate the gap/need for specific
* Deliverables to be provided to the customer/user
* Resources necessary to achieve the deliverables
* Additional information (approval, cost control etc.)

These modules were originally design for the service/IT industry but the
requirement management is generic and can apply to many cases/industries (customer
or internal projects):

* Construction
* Trading (New product development)
* Business Consultancy
* IT development

What is the difference between a BR and CRM lead?

* CRM leads are sales oriented
* BR are project and workload estimation oriented

How to use this module?

This module only contains the standard models for business requirement:

* BR model definition
* Standard setup and views
* Standard Workflow


.. |image0| image:: static/img/bus_req.png
:width: 800 px
:alt: Business Requirement Form


No specific steps required



* **Business Requirement User**: can create and confirm a BR
* **Business Requirement Manager**: can create, confirm and approve a BR

Alias and emails
You can setup an alias in Settings/Technical/Email/Alias in order to create
business requirements directly from email received at a specific address.


.. |image1| image:: static/img/bus_req_alias.png
:width: 800 px
:alt: Email Alias setup

You can start conversation with the followers in the chatter area of the
BR like in tasks, issue or CRM leads.


Default numbering format: BR123456.

You can modify the default numbering sequence in Settings/Technical/Sequences&Identifier/Sequences.

Search for Business Requirement sequence and alter it if necessary.


You can create and assign tags for your business requirements in Business Requirements/Configuration/Bus. Req. Category


.. |image2| image:: static/img/bus_req_tags.png
:width: 600 px
:alt: Define Tags

Master project

You can define a master project linked to the business requirement.

Followers from the project will automatically be added to the business requirements.


Simple BR
1. Define the header information

* Master Project (Partner is the one related to the master project)
* Priority (low, Middle, High)
* Change request: Is it a change request (currently only informational)
* Tags: any relevant tag for the business.
* Owner and approver by default


.. |image3| image:: static/img/bus_req_tags2.png
:width: 800 px
:alt: Input header information

2. Input the customer story, scenario and gap (simple html editor with image and text )


.. |image4| image:: static/img/bus_req_cust_story.png
:width: 600 px
:alt: Input customer story, scenario, gap

3. Confirm the Business requirement (for BR User and Manager)
At that stage the customer story/scenario/Gap is not modifiable anymore


.. |image5| image:: static/img/bus_req_confirmed.png
:width: 800 px
:alt: Confirm your business requirement

4. Approve the Business requirement (for BR Manager)


.. |image6| image:: static/img/bus_req_approved.png

This comment has been minimized.

Copy link

jbeficent Jun 16, 2016


Image is not rendered correctly. Should be:
.. |image6| image:: business_requirement/static/img/bus_req_approved.png

Apply for all other images in .rst

This comment has been minimized.

Copy link

elicoidal Jun 16, 2016


OK: Any reason for that because the rst is properly display in my editor (so the original syntax seems ok).
Anyway I will update

This comment has been minimized.

Copy link

jbeficent Jun 16, 2016


I tested on runbot and it did not render the images.

This comment has been minimized.

Copy link

elicoidal Jun 16, 2016


NO problem: thanks for the check. I am on it and will update all asap

:width: 800 px
:alt: Confirm your business requirement

5. Once your requirement is finished and delivered you can set it as Done


.. |image8| image:: static/img/bus_req_done.png
:width: 800 px
:alt: Confirm your business requirement

6. Alternatively, you can cancel the BR (in case it is not relevant or mistake) or drop it (when customer makes the decision to discontinue it)


.. |image9| image:: static/img/bus_req_cancel.png
:width: 800 px
:alt: Cancel your business requirement


.. |image10| image:: static/img/bus_req_drop.png
:width: 800 px
:alt: Drop your business requirement

Sub-business requirements
User can create sub business requirements for a given BR for complex cases.

This is a simple parent/child relation (see roadmap).

.. image::
:alt: Try me on Runbot

Known issues / Roadmap

* Multi-company management

This comment has been minimized.

Copy link

dreispt Jun 21, 2016


Isn't multicompany already implemented here?

This comment has been minimized.

Copy link

elicoidal Jun 22, 2016


Partially: the field exists but there is no complete ACL and it has not been fully tested.
Effort to get there is small though

* Full change request management
* Analytic account management
* Complex relationship management
* Integration with earned-value module.
* Improve the followers details (eg: depending on the stages)

Bug Tracker

Bugs are tracked on `GitHub Issues <>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback `here <**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.



* Odoo Community Association: `Icon <>`_.


* Eric Caudal <>
* Alex Duan <>
* Xie XiaoPeng <>
* Victor M. Martin <>


.. image::
:alt: Odoo Community Association

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

To contribute to this module, please visit
@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# © 2016 Elico Corp (
# License AGPL-3.0 or later (
from . import models, wizards
from . import tests
@@ -0,0 +1,37 @@
# -*- coding: utf-8 -*-
# © 2016 Elico Corp (
# License AGPL-3.0 or later (
'name': 'Business Requirement',
'category': 'Business Requirements Management',
'summary': 'Business Requirement',
'version': '',
'website': '',
"author": "Elico Corp, Odoo Community Association (OCA)",
'depends': [
'data': [
'image': [
'license': 'AGPL-3',
'installable': True,
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<data noupdate="1">

<record id="seq_type_business_requirement" model="ir.sequence.type">
<field name="name">Business Requirement</field>
<field name="code">business.requirement</field>

<record id="seq_business_requirement" model="ir.sequence">
<field name="name">Business Requirement</field>
<field name="code">business.requirement</field>
<field name="prefix">BR</field>
<field name="padding">6</field>
<field name="company_id" eval="False"/>

<record model="ir.module.category" id="module_category_business_requirement">
<field name="name">Business Requirement</field>
<field name="description"></field>
<field name="sequence">9</field>

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# © 2016 Elico Corp (
# License AGPL-3.0 or later (
from . import business
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.