Repository: OCA/business-requirement (language: python)

Issue:
Fix Duplicate Function for Business Requirements
Make sure the linked project is emptied when you copy a Business Requirement (check if other fields would make sense to leave empty after a copy also).
Make sure that it is done for the other objects below the business requirements (resource lines, deliverable line items) if they are duplicated as well.



Discussion / hints:

Fix patch:
diff --git a/business_requirement/README.rst b/business_requirement/README.rst
new file mode 100644
index 000000000..8aeb03c09
--- /dev/null
+++ b/business_requirement/README.rst
@@ -0,0 +1,126 @@
+====================
+Business Requirement
+====================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !! This file is generated by oca-gen-addon-readme !!
+   !! changes will be overwritten.                   !!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+    :target: https://odoo-community.org/page/development-status
+    :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
+    :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+    :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fbusiness--requirement-lightgray.png?logo=github
+    :target: https://github.com/OCA/business-requirement/tree/15.0/business_requirement
+    :alt: OCA/business-requirement
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+    :target: https://translation.odoo-community.org/projects/business-requirement-15-0/business-requirement-15-0-business_requirement
+    :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+    :target: https://runbot.odoo-community.org/runbot/222/15.0
+    :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5| 
+
+A **Business requirement** (BR) is the expression of a business need by a customer
+or internal project user.
+
+A BR contains multiple different parts to explain the stakeholder need and how to
+meet his/her requirements:
+
+* **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
+  developments/setup
+* **Test case**: A set of conditions under which a tester will determine whether the application, software system or
+  one of its features is working as it was originally established for it to do.
+* **Deliverables** to be provided to the customer/user
+* **Resources** necessary to achieve the deliverables
+* **Additional** information (approval, cost control etc.)
+
+This set of modules was originally designed for the service/IT industry but the
+requirement management design has been kept as generic as possible so that it can
+apply to many other cases/industries (customer or internal projects):
+
+* Construction
+* Trading (New product development)
+* Business Consultancy
+* Web or IT development
+* R&D projects
+* etc.
+
+More information about business requirements management:
+
+* `Wikipedia <https://en.wikipedia.org/wiki/Business_requirements>`_
+* `Six Sigma <https://www.isixsigma.com/implementation/project-selection-tracking/business-requirements-document-high-level-review/>`_
+
+**Table of contents**
+
+.. contents::
+   :local:
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues <https://github.com/OCA/business-requirement/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 <https://github.com/OCA/business-requirement/issues/new?body=module:%20business_requirement%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Elico Corp
+* Tecnativa
+
+Contributors
+~~~~~~~~~~~~
+
+* Eric Caudal <eric.caudal@elico-corp.com>
+* Alex Duan <alex.duan@elico-corp.com>
+* Xie XiaoPeng <xie.xiaopeng@elico-corp.com>
+* Victor M. Martin <victor.martin@elico-corp.com>
+* Evan Li <li.aiwen@elico-corp.com>
+* Reinhard Sheng <reinhard.sheng@elico-corp.com>
+
+* `Tecnativa <https://www.tecnativa.com>`_:
+
+  * Alexandre Diaz
+  * Pedro M. Baeza
+  * Victor M.M. Torres
+  * Víctor Martínez
+
+Other credits
+~~~~~~~~~~~~~
+
+
+* Images:
+
+  * `briefcase <https://fontawesome.com/icons/briefcase?style=solid>`__ from `FontAwesome <https://fontawesome.com/license>`__.
+  * `drafting-compass <https://fontawesome.com/icons/drafting-compass?style=solid>`__ from `FontAwesome <https://fontawesome.com/license>`__.
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+   :alt: Odoo Community Association
+   :target: https://odoo-community.org
+
+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.
+
+This module is part of the `OCA/business-requirement <https://github.com/OCA/business-requirement/tree/15.0/business_requirement>`_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/business_requirement/__init__.py b/business_requirement/__init__.py
new file mode 100644
index 000000000..d7f19c4d8
--- /dev/null
+++ b/business_requirement/__init__.py
@@ -0,0 +1,4 @@
+# Copyright 2017-2019 Elico Corp (https://www.elico-corp.com).
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+from . import models
+from . import controllers
diff --git a/business_requirement/__manifest__.py b/business_requirement/__manifest__.py
new file mode 100644
index 000000000..e99dd510c
--- /dev/null
+++ b/business_requirement/__manifest__.py
@@ -0,0 +1,45 @@
+# Copyright 2017-2019 Elico Corp (https://www.elico-corp.com).
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+{
+    "name": "Business Requirement",
+    "category": "Business Requirements Management",
+    "summary": "Manage the Business Requirements (stories, scenarios, gaps\
+        and test cases) for your customers",
+    "version": "16.0.1.0.0",
+    "website": "https://github.com/OCA/business-requirement",
+    "author": "Elico Corp, Tecnativa, Odoo Community Association (OCA)",
+    "depends": ["product", "portal"],
+    "data": [
+        "data/business_data.xml",
+        "security/security.xml",
+        "security/ir.model.access.csv",
+        "views/business_view.xml",
+        "views/br_report.xml",
+        "views/br_portal_templates.xml",
+        "report/report.xml",
+    ],
+    "image": [
+        "static/description/icon.png",
+        "static/img/bus_req.png",
+        "static/img/bus_req_alias.png",
+        "static/img/bus_req_approved.png",
+        "static/img/bus_req_cancel.png",
+        "static/img/bus_req_confirmed.png",
+        "static/img/bus_req_cust_story.png",
+        "static/img/bus_req_done.png",
+        "static/img/bus_req_drop.png",
+        "static/img/bus_req_tags.png",
+        "static/img/bus_req_tags2.png",
+        "static/img/bus_req_tree.png",
+        "static/img/bus_req_workflow.png",
+    ],
+    "assets": {
+        "web.assets_tests": [
+            "/business_requirement/static/src/js/business_requirement_portal_tour.js",
+        ],
+    },
+    "demo": ["data/business_requirement_demo.xml"],
+    "license": "AGPL-3",
+    "installable": True,
+    "application": True,
+}
diff --git a/business_requirement/controllers/__init__.py b/business_requirement/controllers/__init__.py
new file mode 100644
index 000000000..8c3feb6f5
--- /dev/null
+++ b/business_requirement/controllers/__init__.py
@@ -0,0 +1,1 @@
+from . import portal
diff --git a/business_requirement/controllers/portal.py b/business_requirement/controllers/portal.py
new file mode 100644
index 000000000..a805d4dc0
--- /dev/null
+++ b/business_requirement/controllers/portal.py
@@ -0,0 +1,153 @@
+# Copyright 2019 Tecnativa - Alexandre Díaz
+# Copyright 2022 Tecnativa - Víctor Martínez
+from odoo import _, http
+from odoo.exceptions import AccessError
+from odoo.http import request
+
+from odoo.addons.portal.controllers.portal import (
+    CustomerPortal,
+    get_records_pager,
+    pager as portal_pager,
+)
+
+
+class CustomerPortal(CustomerPortal):
+    def _prepare_home_portal_values(self, counters):
+        values = super()._prepare_home_portal_values(counters)
+        if "business_requirement_count" in counters:
+            br_model = request.env["business.requirement"]
+            br_count = (
+                br_model.search_count(self._prepare_br_base_domain())
+                if br_model.check_access_rights("read", raise_exception=False)
+                else 0
+            )
+            values["business_requirement_count"] = br_count
+        return values
+
+    def _prepare_br_base_domain(self):
+        user = request.env.user
+        return [
+            ("message_partner_ids", "child_of", [user.commercial_partner_id.id]),
+            ("portal_published", "=", True),
+        ]
+
+    def _br_get_page_view_values(self, br, access_token, **kwargs):
+        values = {"business_requirement": br, "page_name": "business_requirement"}
+        if access_token:
+            values["no_breadcrumbs"] = True
+            values["access_token"] = access_token
+        values["portal_confirmation"] = br.get_portal_confirmation_action()
+
+        if kwargs.get("error"):
+            values["error"] = kwargs["error"]
+        if kwargs.get("warning"):
+            values["warning"] = kwargs["warning"]
+        if kwargs.get("success"):
+            values["success"] = kwargs["success"]
+
+        history = request.session.get("my_br_history", [])
+        values.update(get_records_pager(history, br))
+
+        return values
+
+    @http.route(
+        ["/my/business_requirements", "/my/business_requirements/page/<int:page>"],
+        type="http",
+        auth="user",
+        website=True,
+    )
+    def portal_my_br(self, page=1, date_begin=None, date_end=None, sortby=None, **kw):
+        values = self._prepare_portal_layout_values()
+        BRObj = request.env["business.requirement"]
+        # Avoid error if the user does not have access.
+        if not BRObj.check_access_rights("read", raise_exception=False):
+            return request.redirect("/my")
+
+        searchbar_sortings = {
+            "date": {"label": _("Date"), "order": "date desc"},
+            "sequence": {"label": _("Sequence"), "order": "sequence"},
+        }
+        # default sortby br
+        if not sortby:
+            sortby = "sequence"
+        sort_br = searchbar_sortings[sortby]["order"]
+
+        domain = self._prepare_br_base_domain()
+
+        if date_begin and date_end:
+            domain += [("date", ">", date_begin), ("date", "<=", date_end)]
+
+        # count for pager
+        br_count = BRObj.search_count(domain)
+        # pager
+        pager = portal_pager(
+            url="/my/business_requirements",
+            url_args={"date_begin": date_begin, "date_end": date_end, "sortby": sortby},
+            total=br_count,
+            page=page,
+            step=self._items_per_page,
+        )
+        # content according to pager and archive selected
+        business_requirements = BRObj.search(
+            domain, order=sort_br, limit=self._items_per_page, offset=pager["offset"]
+        )
+        request.session["my_br_history"] = business_requirements.ids[:100]
+
+        values.update(
+            {
+                "date": date_begin,
+                "business_requirements": business_requirements.sudo(),
+                "page_name": "business_requirement",
+                "pager": pager,
+                "default_url": "/my/business_requirements",
+                "searchbar_sortings": searchbar_sortings,
+                "sortby": sortby,
+            }
+        )
+        return request.render("business_requirement.portal_my_br", values)
+
+    @http.route(
+        ["/my/business_requirement/<int:br_id>"],
+        type="http",
+        auth="public",
+        website=True,
+    )
+    def portal_br_page(self, br_id=None, access_token=None, **kw):
+        try:
+            br_sudo = self._document_check_access(
+                "business.requirement", br_id, access_token=access_token
+            )
+        except AccessError:
+            return request.redirect("/my")
+
+        values = self._br_get_page_view_values(br_sudo, access_token, **kw)
+        return request.render("business_requirement.portal_br_page", values)
+
+    def _get_br_report_name(self):
+        return "business_requirement." "business_requirement_report"
+
+    @http.route(
+        ["/my/business_requirement/pdf/<int:br_id>"],
+        type="http",
+        auth="public",
+        website=True,
+    )
+    def portal_br_report(self, br_id, access_token=None, **kw):
+        try:
+            br_sudo = self._document_check_access(
+                "business.requirement", br_id, access_token=access_token
+            )
+        except AccessError:
+            return request.redirect("/my")
+
+        # print report as sudo
+        pdf = (
+            request.env.ref(self._get_br_report_name())
+            .sudo()
+            .render_qweb_pdf([br_sudo.id])[0]
+        )
+        pdfhttpheaders = [
+            ("Content-Type", "application/pdf"),
+            ("Content-Length", len(pdf)),
+        ]
+        return request.make_response(pdf, headers=pdfhttpheaders)
diff --git a/business_requirement/data/business_data.xml b/business_requirement/data/business_data.xml
new file mode 100644
index 000000000..85cb14b59
--- /dev/null
+++ b/business_requirement/data/business_data.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo noupdate="1">
+    <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>
+    <record model="ir.module.category" id="module_category_business_requirement">
+        <field name="name">Business Requirement</field>
+        <field name="description" />
+        <field name="sequence">9</field>
+    </record>
+</odoo>
diff --git a/business_requirement/data/business_requirement_demo.xml b/business_requirement/data/business_requirement_demo.xml
new file mode 100644
index 000000000..6ccc016fe
--- /dev/null
+++ b/business_requirement/data/business_requirement_demo.xml
@@ -0,0 +1,563 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo noupdate="1">
+    <!--Business Requirement Category -->
+    <record id="business_requirement_category_1" model="business.requirement.category">
+        <field name="name">Website</field>
+    </record>
+    <record id="business_requirement_category_2" model="business.requirement.category">
+        <field name="name">ERP</field>
+    </record>
+    <record id="business_requirement_category_3" model="business.requirement.category">
+        <field name="name">Design</field>
+    </record>
+    <record id="business_requirement_category_4" model="business.requirement.category">
+        <field name="name">Infra</field>
+    </record>
+    <record id="business_requirement_1" model="business.requirement">
+        <field name="description">Corporate Website</field>
+        <field name="name">BRDEMO01</field>
+        <field name="responsible_user_id" ref="base.user_admin" />
+        <field name="user_id" ref="base.user_demo" />
+        <field name="priority">2</field>
+        <field
+            name="category_ids"
+            eval="[(6, 0, [ref('business_requirement_category_1'),ref('business_requirement_category_3')])]"
+        />
+        <field name="reviewer_ids" eval="[(6, 0, [ref('base.user_demo')])]" />
+        <field name="to_be_reviewed" eval="1" />
+        <field name="state">confirmed</field>
+        <field name="partner_id" ref="base.res_partner_2" />
+        <field
+            name="business_requirement"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ul><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Donec sagittis sem non pretium tincidunt.</li></ul>
+
+<p>
+</p><ul><li>Nulla iaculis mi at luctus pellentesque.</li><li>Aliquam vel diam sit amet justo ultrices fermentum a non mauris.</li><li>Pellentesque eleifend lorem eu dui dapibus, at vulputate leo consectetur.</li><li>Sed pulvinar mi non viverra vulputate.</li><li>Ut sed neque quis diam venenatis viverra.</li><li>In molestie sem eu dolor bibendum, id vestibulum augue imperdiet.</li></ul>
+
+<p>
+</p><ul><li>Nam sit amet libero a tortor tincidunt accumsan.</li><li>In consectetur ligula id turpis facilisis vestibulum.</li><li>Vestibulum id eros sed dolor fermentum cursus at vitae ex.</li></ul>
+        ]]></field>
+        <field
+            name="scenario"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+
+<img src="http://lorempixel.com/400/200/sports/Dummy-Text/" alt="http://lorempixel.com/400/200/sports/Dummy-Text/">
+        ]]></field>
+        <field
+            name="gap"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+        ]]></field>
+        <field
+            name="test_case"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Aliquam egestas massa et accumsan molestie.</li><li>Morbi et lacus nec odio dictum eleifend vel in mi.</li><li>Nunc sodales metus id diam dignissim, et lobortis est molestie.</li><li>Proin interdum nibh at nunc dictum, a placerat lacus hendrerit.</li><li>Nullam vitae ipsum vitae libero sodales rhoncus ut at magna.</li></ol><p><br></p><ol><li>Vivamus nec risus eget dolor luctus elementum.</li><li>Curabitur tempus purus ac neque faucibus, quis hendrerit sapien congue.</li><li>Cras a eros eget neque mollis faucibus.</li></ol>
+        ]]></field>
+        <field
+            name="terms_and_conditions"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Aliquam egestas massa et accumsan molestie.</li><li>Morbi et lacus nec odio dictum eleifend vel in mi.</li><li>Nunc sodales metus id diam dignissim, et lobortis est molestie.</li><li>Proin interdum nibh at nunc dictum, a placerat lacus hendrerit.</li><li>Nullam vitae ipsum vitae libero sodales rhoncus ut at magna.</li></ol><p><br></p><ol><li>Vivamus nec risus eget dolor luctus elementum.</li><li>Curabitur tempus purus ac neque faucibus, quis hendrerit sapien congue.</li><li>Cras a eros eget neque mollis faucibus.</li></ol>
+        ]]>
+        </field>
+    </record>
+    <record id="business_requirement_2_1" model="business.requirement">
+        <field name="description">ERP Implementation</field>
+        <field name="name">BRDEMO02</field>
+        <field name="responsible_user_id" ref="base.user_demo" />
+        <field name="user_id" ref="base.user_admin" />
+        <field name="priority">1</field>
+        <field
+            name="category_ids"
+            eval="[(6, 0, [ref('business_requirement_category_2')])]"
+        />
+        <field name="reviewer_ids" eval="[(6, 0, [ref('base.user_admin')])]" />
+        <field name="to_be_reviewed" eval="0" />
+        <field name="state">approved</field>
+        <field name="partner_id" ref="base.main_partner" />
+    </record>
+    <record id="business_requirement_2_2" model="business.requirement">
+        <field name="description">ERP Setup</field>
+        <field name="name">BRDEMO03</field>
+        <field name="responsible_user_id" ref="base.user_demo" />
+        <field name="priority">1</field>
+        <field
+            name="category_ids"
+            eval="[(6, 0, [ref('business_requirement_category_2')])]"
+        />
+        <field name="reviewer_ids" eval="[(6, 0, [ref('base.user_admin')])]" />
+        <field name="to_be_reviewed" eval="0" />
+        <field name="state">approved</field>
+        <field name="partner_id" ref="base.main_partner" />
+        <field
+            name="business_requirement"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ul><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Donec sagittis sem non pretium tincidunt.</li></ul>
+
+<p>
+</p><ul><li>Nulla iaculis mi at luctus pellentesque.</li><li>Aliquam vel diam sit amet justo ultrices fermentum a non mauris.</li><li>Pellentesque eleifend lorem eu dui dapibus, at vulputate leo consectetur.</li><li>Sed pulvinar mi non viverra vulputate.</li><li>Ut sed neque quis diam venenatis viverra.</li><li>In molestie sem eu dolor bibendum, id vestibulum augue imperdiet.</li></ul>
+
+<p>
+</p><ul><li>Nam sit amet libero a tortor tincidunt accumsan.</li><li>In consectetur ligula id turpis facilisis vestibulum.</li><li>Vestibulum id eros sed dolor fermentum cursus at vitae ex.</li></ul>
+        ]]></field>
+        <field
+            name="scenario"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+
+<img src="http://lorempixel.com/400/200/sports/Dummy-Text/" alt="http://lorempixel.com/400/200/sports/Dummy-Text/">
+        ]]></field>
+        <field
+            name="gap"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+        ]]></field>
+        <field
+            name="test_case"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Aliquam egestas massa et accumsan molestie.</li><li>Morbi et lacus nec odio dictum eleifend vel in mi.</li><li>Nunc sodales metus id diam dignissim, et lobortis est molestie.</li><li>Proin interdum nibh at nunc dictum, a placerat lacus hendrerit.</li><li>Nullam vitae ipsum vitae libero sodales rhoncus ut at magna.</li></ol><p><br></p><ol><li>Vivamus nec risus eget dolor luctus elementum.</li><li>Curabitur tempus purus ac neque faucibus, quis hendrerit sapien congue.</li><li>Cras a eros eget neque mollis faucibus.</li></ol>
+        ]]></field>
+        <field
+            name="terms_and_conditions"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Aliquam egestas massa et accumsan molestie.</li><li>Morbi et lacus nec odio dictum eleifend vel in mi.</li><li>Nunc sodales metus id diam dignissim, et lobortis est molestie.</li><li>Proin interdum nibh at nunc dictum, a placerat lacus hendrerit.</li><li>Nullam vitae ipsum vitae libero sodales rhoncus ut at magna.</li></ol><p><br></p><ol><li>Vivamus nec risus eget dolor luctus elementum.</li><li>Curabitur tempus purus ac neque faucibus, quis hendrerit sapien congue.</li><li>Cras a eros eget neque mollis faucibus.</li></ol>
+        ]]></field>
+    </record>
+    <record id="business_requirement_3" model="business.requirement">
+        <field name="description">Server Set up</field>
+        <field name="name">BRDEMO04</field>
+        <field name="responsible_user_id" ref="base.user_demo" />
+        <field name="priority">2</field>
+        <field
+            name="category_ids"
+            eval="[(6, 0, [ref('business_requirement_category_2'),ref('business_requirement_category_4')])]"
+        />
+        <field name="reviewer_ids" eval="[(6, 0, [ref('base.user_admin')])]" />
+        <field name="to_be_reviewed" eval="0" />
+        <field name="state">approved</field>
+        <field name="partner_id" ref="base.main_partner" />
+        <field
+            name="business_requirement"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ul><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Donec sagittis sem non pretium tincidunt.</li></ul>
+
+<p>
+</p><ul><li>Nulla iaculis mi at luctus pellentesque.</li><li>Aliquam vel diam sit amet justo ultrices fermentum a non mauris.</li><li>Pellentesque eleifend lorem eu dui dapibus, at vulputate leo consectetur.</li><li>Sed pulvinar mi non viverra vulputate.</li><li>Ut sed neque quis diam venenatis viverra.</li><li>In molestie sem eu dolor bibendum, id vestibulum augue imperdiet.</li></ul>
+
+<p>
+</p><ul><li>Nam sit amet libero a tortor tincidunt accumsan.</li><li>In consectetur ligula id turpis facilisis vestibulum.</li><li>Vestibulum id eros sed dolor fermentum cursus at vitae ex.</li></ul>
+        ]]></field>
+        <field
+            name="scenario"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+
+<img src="http://lorempixel.com/400/200/sports/Dummy-Text/" alt="http://lorempixel.com/400/200/sports/Dummy-Text/">
+        ]]></field>
+        <field
+            name="gap"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+        ]]></field>
+        <field
+            name="test_case"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Aliquam egestas massa et accumsan molestie.</li><li>Morbi et lacus nec odio dictum eleifend vel in mi.</li><li>Nunc sodales metus id diam dignissim, et lobortis est molestie.</li><li>Proin interdum nibh at nunc dictum, a placerat lacus hendrerit.</li><li>Nullam vitae ipsum vitae libero sodales rhoncus ut at magna.</li></ol><p><br></p><ol><li>Vivamus nec risus eget dolor luctus elementum.</li><li>Curabitur tempus purus ac neque faucibus, quis hendrerit sapien congue.</li><li>Cras a eros eget neque mollis faucibus.</li></ol>
+        ]]></field>
+    </record>
+    <record id="business_requirement_4" model="business.requirement">
+        <field name="description">Business Analysis</field>
+        <field name="name">BRDEMO05</field>
+        <field name="responsible_user_id" ref="base.user_demo" />
+        <field name="priority">1</field>
+        <field
+            name="category_ids"
+            eval="[(6, 0, [ref('business_requirement_category_2')])]"
+        />
+        <field name="reviewer_ids" eval="[(6, 0, [ref('base.user_admin')])]" />
+        <field name="to_be_reviewed" eval="0" />
+        <field name="state">in_progress</field>
+        <field name="partner_id" ref="base.res_partner_18" />
+        <field
+            name="business_requirement"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ul><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Donec sagittis sem non pretium tincidunt.</li></ul>
+
+<p>
+</p><ul><li>Nulla iaculis mi at luctus pellentesque.</li><li>Aliquam vel diam sit amet justo ultrices fermentum a non mauris.</li><li>Pellentesque eleifend lorem eu dui dapibus, at vulputate leo consectetur.</li><li>Sed pulvinar mi non viverra vulputate.</li><li>Ut sed neque quis diam venenatis viverra.</li><li>In molestie sem eu dolor bibendum, id vestibulum augue imperdiet.</li></ul>
+
+<p>
+</p><ul><li>Nam sit amet libero a tortor tincidunt accumsan.</li><li>In consectetur ligula id turpis facilisis vestibulum.</li><li>Vestibulum id eros sed dolor fermentum cursus at vitae ex.</li></ul>
+        ]]></field>
+        <field
+            name="scenario"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+
+<img src="http://lorempixel.com/400/200/sports/Dummy-Text/" alt="http://lorempixel.com/400/200/sports/Dummy-Text/">
+        ]]></field>
+        <field
+            name="gap"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+        ]]></field>
+        <field
+            name="test_case"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Aliquam egestas massa et accumsan molestie.</li><li>Morbi et lacus nec odio dictum eleifend vel in mi.</li><li>Nunc sodales metus id diam dignissim, et lobortis est molestie.</li><li>Proin interdum nibh at nunc dictum, a placerat lacus hendrerit.</li><li>Nullam vitae ipsum vitae libero sodales rhoncus ut at magna.</li></ol><p><br></p><ol><li>Vivamus nec risus eget dolor luctus elementum.</li><li>Curabitur tempus purus ac neque faucibus, quis hendrerit sapien congue.</li><li>Cras a eros eget neque mollis faucibus.</li></ol>
+        ]]></field>
+    </record>
+    <record id="business_requirement_5" model="business.requirement">
+        <field name="description">Gap Analysis</field>
+        <field name="name">BRDEMO06</field>
+        <field name="responsible_user_id" ref="base.user_demo" />
+        <field name="priority">1</field>
+        <field
+            name="category_ids"
+            eval="[(6, 0, [ref('business_requirement_category_2')])]"
+        />
+        <field name="reviewer_ids" eval="[(6, 0, [ref('base.user_admin')])]" />
+        <field name="to_be_reviewed" eval="0" />
+        <field name="state">confirmed</field>
+        <field name="partner_id" ref="base.main_partner" />
+        <field
+            name="business_requirement"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ul><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Donec sagittis sem non pretium tincidunt.</li></ul>
+
+<p>
+</p><ul><li>Nulla iaculis mi at luctus pellentesque.</li><li>Aliquam vel diam sit amet justo ultrices fermentum a non mauris.</li><li>Pellentesque eleifend lorem eu dui dapibus, at vulputate leo consectetur.</li><li>Sed pulvinar mi non viverra vulputate.</li><li>Ut sed neque quis diam venenatis viverra.</li><li>In molestie sem eu dolor bibendum, id vestibulum augue imperdiet.</li></ul>
+
+<p>
+</p><ul><li>Nam sit amet libero a tortor tincidunt accumsan.</li><li>In consectetur ligula id turpis facilisis vestibulum.</li><li>Vestibulum id eros sed dolor fermentum cursus at vitae ex.</li></ul>
+        ]]></field>
+        <field
+            name="scenario"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+
+<img src="http://lorempixel.com/400/200/sports/Dummy-Text/" alt="http://lorempixel.com/400/200/sports/Dummy-Text/">
+        ]]></field>
+        <field
+            name="gap"
+        ><![CDATA[
+<p>
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam auctor
+ex sed euismod pulvinar. Sed quis mauris a sem dapibus sollicitudin nec
+at felis. Pellentesque in tempus eros. Nam suscipit urna eu dignissim
+imperdiet. Donec eget sem quis felis ultrices congue id et magna.
+Praesent pulvinar mollis sem, eu blandit leo finibus pellentesque.
+Pellentesque vehicula, ex quis faucibus dictum, metus diam hendrerit
+magna, in iaculis magna felis fermentum velit. Cras consectetur ante
+auctor sem imperdiet scelerisque. Fusce rutrum lacus ac neque
+pellentesque posuere. Aenean ut risus gravida, suscipit urna a,
+convallis dui. Nullam elementum ante quam. Cras egestas tincidunt dui
+dictum mollis.
+</p>
+<p>
+Vivamus in purus sed enim eleifend lacinia. Suspendisse id odio sem.
+Suspendisse ac sem vel lorem porta ullamcorper sit amet ut ipsum.
+Quisque ut nisl dolor. Integer faucibus semper accumsan. Ut eros quam,
+auctor in aliquam quis, cursus id magna. Integer neque augue, tempus ac
+pulvinar et, cursus sed purus.
+</p>
+        ]]></field>
+        <field
+            name="test_case"
+        ><![CDATA[
+<h1>Lorem Ipsum</h1>
+<h4>"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."</h4>
+<h5>"There is no one who loves pain itself, who seeks after it and wants to have it, simply because it is pain..."</h5>
+
+
+<hr>
+
+
+
+<p>
+</p><ol><li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li><li>Aliquam egestas massa et accumsan molestie.</li><li>Morbi et lacus nec odio dictum eleifend vel in mi.</li><li>Nunc sodales metus id diam dignissim, et lobortis est molestie.</li><li>Proin interdum nibh at nunc dictum, a placerat lacus hendrerit.</li><li>Nullam vitae ipsum vitae libero sodales rhoncus ut at magna.</li></ol><p><br></p><ol><li>Vivamus nec risus eget dolor luctus elementum.</li><li>Curabitur tempus purus ac neque faucibus, quis hendrerit sapien congue.</li><li>Cras a eros eget neque mollis faucibus.</li></ol>
+        ]]></field>
+    </record>
+</odoo>
diff --git a/business_requirement/i18n/business_requirement.pot b/business_requirement/i18n/business_requirement.pot
new file mode 100644
index 000000000..a4311a22b
--- /dev/null
+++ b/business_requirement/i18n/business_requirement.pot
@@ -0,0 +1,739 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# 	* business_requirement
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<small class=\"text-right\">Status:</small>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong class=\"d-block mb-2\">Description</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Approval Date</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Assigned to</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Category</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Change Request</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Confirmation Date</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Date:</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Date</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Message and communication history</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Requested by</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Responsible</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Source</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Stakeholder</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_warning
+msgid "Access warning"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction
+msgid "Action Needed"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_ids
+msgid "Activities"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_state
+msgid "Activity State"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_icon
+msgid "Activity Type Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approval_date
+msgid "Approval Date"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__approved
+msgid "Approved"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approved_id
+msgid "Approved by"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_attachment_count
+msgid "Attachment Count"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.act_view_project_br_all
+#: model:ir.actions.act_window,name:business_requirement.act_view_sub_br_all
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_tree
+#: model:ir.model,name:business_requirement.model_business_requirement
+#: model:ir.module.category,name:business_requirement.module_category_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement1
+#: model:ir.ui.menu,name:business_requirement.menu_business_root
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_graph
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_pivot
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Business Requirement"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "Business Requirement #"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.br_report
+msgid "Business Requirement Document"
+msgstr ""
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_manager
+msgid "Business Requirement Manager"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.actions.report,name:business_requirement.business_requirement_report
+msgid "Business Requirement Report"
+msgstr ""
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_user
+msgid "Business Requirement User"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_menu_br
+msgid "Business Requirements"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__cancel
+msgid "Cancel"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_category_tree
+#: model:ir.model,name:business_requirement.model_business_requirement_category
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__category_ids
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement_category
+msgid "Categories"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__change_request
+msgid "Change Request?"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__company_id
+msgid "Company"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_configuration
+msgid "Configuration"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmation_date
+msgid "Confirmation Date"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__confirmed
+msgid "Confirmed"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmed_user_id
+msgid "Confirmed by"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Contact"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Creation Date"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Current stage of this requirement"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__access_url
+msgid "Customer Portal URL"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__business_requirement
+msgid "Customer Story"
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__date
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, python-format
+msgid "Date"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__description
+msgid "Description"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__display_name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__done
+msgid "Done"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__draft
+msgid "Draft"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__drop
+msgid "Drop"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_follower_ids
+msgid "Followers"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_partner_ids
+msgid "Followers (Partners)"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__gap
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Gap"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Gap:"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Group by"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__has_message
+msgid "Has Message"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__2
+msgid "High"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__id
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__id
+msgid "ID"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread
+msgid "If checked, new messages require your attention."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_sms_error
+msgid "If checked, some messages have a delivery error."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__portal_published
+msgid "In Portal"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__normal
+msgid "In Progress"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__in_progress
+msgid "In progress"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_is_follower
+msgid "Is Follower"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__kanban_state
+msgid "Kanban State"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement____last_update
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Logs"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__0
+msgid "Low"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_main_attachment_id
+msgid "Main Attachment"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error
+msgid "Message Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_ids
+msgid "Messages"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__name
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Name"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_summary
+msgid "Next Activity Summary"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_id
+msgid "Next Activity Type"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "No"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__1
+msgid "Normal"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of Actions"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of errors"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread_counter
+msgid "Number of unread messages"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.actions.act_window,help:business_requirement.act_view_project_br_all
+msgid ""
+"Odoo's Business Requirement management allows you to manage the list\n"
+"                of Business requirement from a Stakeholder for efficient follow up. You can\n"
+"                track progress, discuss on tasks, attach documents, etc."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__on_hold
+msgid "On Hold"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Other"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__user_id
+msgid "Owner"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__parent_id
+msgid "Parent Category"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_url
+msgid "Portal Access URL"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__priority
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Priority"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_product_template_action
+msgid "Products"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__done
+msgid "Ready for next stage"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__requested_user_id
+msgid "Requested by"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__responsible_user_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Responsible"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_user_id
+msgid "Responsible User"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__reviewer_ids
+msgid "Reviewers"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_sms_error
+msgid "SMS Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__scenario
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Scenario"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Scenario:"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_token
+msgid "Security Token"
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__sequence
+#, python-format
+msgid "Sequence"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__origin
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Source"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__partner_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Stakeholder"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Stakeholder Story"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Stakeholder Story:"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__state
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "State"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__terms_and_conditions
+msgid "Terms And Conditions"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Terms and Conditions"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Terms and Conditions:"
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/tests/test_br.py:0
+#, python-format
+msgid "Test Body"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__test_case
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Test Case"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Test Case:"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "There are currently no business requirements for your account."
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+msgid "There was an error processing this page."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__to_be_reviewed
+msgid "To Be Reviewed"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "To be Reviewed"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Unread Messages"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread_counter
+msgid "Unread Messages Counter"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__website_message_ids
+msgid "Website Messages"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__website_message_ids
+msgid "Website communication history"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "Yes"
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid ""
+"You can only move to the following stage: draft/confirmed /cancel/drop."
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed/cancel/drop."
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_kanban_project
+msgid "]&amp;nbsp;"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_success
+msgid "close"
+msgstr ""
diff --git a/business_requirement/i18n/es.po b/business_requirement/i18n/es.po
new file mode 100644
index 000000000..c2638f50a
--- /dev/null
+++ b/business_requirement/i18n/es.po
@@ -0,0 +1,782 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# 	* business_requirement
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-06-11 15:05+0000\n"
+"PO-Revision-Date: 2019-11-28 20:14+0000\n"
+"Last-Translator: David Vidal <david.vidal@tecnativa.com>\n"
+"Language-Team: \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 3.9.1\n"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<small class=\"text-right\">Status:</small>"
+msgstr "<small class=\"text-right\">Estado:</small>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong class=\"d-block mb-2\">Description</strong>"
+msgstr "<strong class=\"d-block mb-2\">Descripción</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Approval Date</strong>"
+msgstr "<strong>Fecha de aprobación</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Assigned to</strong>"
+msgstr "<strong>Asignado a</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Category</strong>"
+msgstr "<strong>Categoría</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Change Request</strong>"
+msgstr "<strong>Solicitud de cambio</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Confirmation Date</strong>"
+msgstr "<strong>Fecha de confirmación</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Date:</strong>"
+msgstr "<strong>Fecha:</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Date</strong>"
+msgstr "<strong>Fecha</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Message and communication history</strong>"
+msgstr "<strong>Historial de mensajes y comunicaciones</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Requested by</strong>"
+msgstr "<strong>Solicitado por</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Responsible</strong>"
+msgstr "<strong>Responsable</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Source</strong>"
+msgstr "<strong>Origen</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Stakeholder</strong>"
+msgstr "<strong>Interesado</strong>"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_warning
+msgid "Access warning"
+msgstr "Alerta de accesos"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction
+msgid "Action Needed"
+msgstr "Acción necesaria"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_ids
+msgid "Activities"
+msgstr "Actividades"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_state
+msgid "Activity State"
+msgstr "Estado de Actividades"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_icon
+msgid "Activity Type Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approval_date
+msgid "Approval Date"
+msgstr "Fecha de aprobación"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__approved
+msgid "Approved"
+msgstr "Aprobado"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approved_id
+msgid "Approved by"
+msgstr "Aprobado por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_attachment_count
+msgid "Attachment Count"
+msgstr "Número de adjuntos"
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.act_view_project_br_all
+#: model:ir.actions.act_window,name:business_requirement.act_view_sub_br_all
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_tree
+#: model:ir.model,name:business_requirement.model_business_requirement
+#: model:ir.module.category,name:business_requirement.module_category_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement1
+#: model:ir.ui.menu,name:business_requirement.menu_business_root
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_tree
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_graph
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_pivot
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_tree
+msgid "Business Requirement"
+msgstr "Requisito de negocio"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "Business Requirement #"
+msgstr "Requisito de negocio #"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.br_report
+msgid "Business Requirement Document"
+msgstr "Documento de requisito de negocio"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_manager
+msgid "Business Requirement Manager"
+msgstr "Administrador de requisito de negocio"
+
+#. module: business_requirement
+#: model:ir.actions.report,name:business_requirement.business_requirement_report
+msgid "Business Requirement Report"
+msgstr "Informes de Requisitos de Negocio"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_user
+msgid "Business Requirement User"
+msgstr "Usuario de requisito de negocio"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_menu_br
+msgid "Business Requirements"
+msgstr "Requisitos de negocio"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__cancel
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_category_tree
+#: model:ir.model,name:business_requirement.model_business_requirement_category
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__category_ids
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement_category
+msgid "Categories"
+msgstr "Categorías"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__change_request
+msgid "Change Request?"
+msgstr "¿Solicitud de cambio?"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__company_id
+msgid "Company"
+msgstr "Compañía"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_configuration
+msgid "Configuration"
+msgstr "Configuración"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmation_date
+msgid "Confirmation Date"
+msgstr "Fecha de confirmación"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__confirmed
+msgid "Confirmed"
+msgstr "Confirmado"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmed_user_id
+msgid "Confirmed by"
+msgstr "Confirmado por"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Contact"
+msgstr "Contacto"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_uid
+msgid "Created by"
+msgstr "Creado por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_date
+msgid "Created on"
+msgstr "Creado en"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Creation Date"
+msgstr "Fecha de creación"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Current stage of this requirement"
+msgstr "Etapa actual de este requisito"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__access_url
+msgid "Customer Portal URL"
+msgstr "URL de Portal de Cliente"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__business_requirement
+msgid "Customer Story"
+msgstr "Historia del cliente"
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__date
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, python-format
+msgid "Date"
+msgstr "Fecha"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__description
+msgid "Description"
+msgstr "Descripción"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__display_name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__display_name
+msgid "Display Name"
+msgstr "Nombre a Mostrar"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__done
+msgid "Done"
+msgstr "Hecho"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__draft
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__drop
+msgid "Drop"
+msgstr "Descartado"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_follower_ids
+msgid "Followers"
+msgstr "Seguidores"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_channel_ids
+msgid "Followers (Channels)"
+msgstr "Seguidores (Canales)"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_partner_ids
+msgid "Followers (Partners)"
+msgstr "Seguidores (Contactos)"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__gap
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Gap"
+msgstr "Gap"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Gap:"
+msgstr "Gap:"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#, fuzzy
+msgid "Group by"
+msgstr "Agrupar por"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__2
+msgid "High"
+msgstr "Alta"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__id
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__id
+msgid "ID"
+msgstr "ID"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread
+msgid "If checked, new messages require your attention."
+msgstr "Si está activo, es necesario atender nuevos mensajes"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_sms_error
+msgid "If checked, some messages have a delivery error."
+msgstr "Si está activo, algunos mensajes han tenido errores de entrega."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__portal_published
+msgid "In Portal"
+msgstr "En el portal"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__normal
+msgid "In Progress"
+msgstr "En proceso"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__in_progress
+#, fuzzy
+msgid "In progress"
+msgstr "En proceso"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_is_follower
+msgid "Is Follower"
+msgstr "Es seguidor"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__kanban_state
+msgid "Kanban State"
+msgstr "Estado de kanban"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement____last_update
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category____last_update
+msgid "Last Modified on"
+msgstr "Última Modificación en"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_uid
+msgid "Last Updated by"
+msgstr "Última Actualización por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_date
+msgid "Last Updated on"
+msgstr "Última Actualización el"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Logs"
+msgstr "Registros"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__0
+msgid "Low"
+msgstr "Bajo"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_main_attachment_id
+msgid "Main Attachment"
+msgstr "Adjunto principal"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error
+msgid "Message Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_ids
+msgid "Messages"
+msgstr "Mensajes"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__name
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Name"
+msgstr "Nombre"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_summary
+msgid "Next Activity Summary"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_id
+msgid "Next Activity Type"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "No"
+msgstr "No"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__1
+msgid "Normal"
+msgstr "Normal"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of Actions"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of errors"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread_counter
+#, fuzzy
+msgid "Number of unread messages"
+msgstr "Mensajes sin leer"
+
+#. module: business_requirement
+#: model_terms:ir.actions.act_window,help:business_requirement.act_view_project_br_all
+msgid ""
+"Odoo's Business Requirement management allows you to manage the list\n"
+"                of Business requirement from a Stakeholder for efficient "
+"follow up. You can\n"
+"                track progress, discuss on tasks, attach documents, etc."
+msgstr ""
+"La gestión de requisitos de negocio de Odoo le permite manejar la lista de "
+"requisitos\n"
+"               de un interesado para el correcto seguimiento. Asi mismo\n"
+"                el seguimiento del progreso, debatir en tareas, adjuntar "
+"documentos, etc."
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__on_hold
+msgid "On Hold"
+msgstr "En espera"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Other"
+msgstr "Otro"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__user_id
+msgid "Owner"
+msgstr "Propietario"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__parent_id
+msgid "Parent Category"
+msgstr "Categoría padre"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_url
+msgid "Portal Access URL"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__priority
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Priority"
+msgstr "Prioridad"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_product_template_action
+msgid "Products"
+msgstr "Productos"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__done
+msgid "Ready for next stage"
+msgstr "Listo para la siguiente etapa"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__requested_user_id
+msgid "Requested by"
+msgstr "Solicitado por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__responsible_user_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Responsible"
+msgstr "Responsable"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_user_id
+#, fuzzy
+msgid "Responsible User"
+msgstr "Responsable"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__reviewer_ids
+msgid "Reviewers"
+msgstr "Revisores"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_sms_error
+msgid "SMS Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__scenario
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Scenario"
+msgstr "Situación"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Scenario:"
+msgstr "Situación:"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_token
+msgid "Security Token"
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__sequence
+#, python-format
+msgid "Sequence"
+msgstr "Secuencia"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__origin
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Source"
+msgstr "Origen"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__partner_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Stakeholder"
+msgstr "Interesado"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Stakeholder Story"
+msgstr "Historia del interesado"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Stakeholder Story:"
+msgstr "Historia del interesado:"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__state
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "State"
+msgstr "Estado"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__terms_and_conditions
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Terms and Conditions"
+msgstr "Términos y Condiciones"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Terms and Conditions:"
+msgstr "Términos y Condiciones:"
+
+#. module: business_requirement
+#: code:addons/business_requirement/tests/test_br.py:0
+#, python-format
+msgid "Test Body"
+msgstr "Test Body"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__test_case
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Test Case"
+msgstr "Caso de prueba"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Test Case:"
+msgstr "Caso de prueba:"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "There are currently no business requirements for your account."
+msgstr "Actualmente no existen requisitos de negocio hay para su cuenta."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+msgid "There was an error processing this page."
+msgstr "There was an error processing this page."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__to_be_reviewed
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "To be Reviewed"
+msgstr "Revisión pendiente"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Unread Messages"
+msgstr "Mensajes sin leer"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread_counter
+#, fuzzy
+msgid "Unread Messages Counter"
+msgstr "Mensajes sin leer"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__website_message_ids
+#, fuzzy
+msgid "Website Messages"
+msgstr "Mensajes sin leer"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__website_message_ids
+msgid "Website communication history"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "Yes"
+msgstr "Si"
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed /cancel/drop."
+msgstr ""
+"Solo puede ir a las siguientes etapas: borrador/confirmado/cancelado/"
+"desestimado."
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed/cancel/drop."
+msgstr ""
+"Solo puede ir a las siguientes etapas: borrador/confirmado/cancelado/"
+"desestimado."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_kanban_project
+msgid "]&amp;nbsp;"
+msgstr "]&amp;nbsp;"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_success
+msgid "close"
+msgstr "cerrar"
+
+#~ msgid "There is no default company for the current user!"
+#~ msgstr "¡No existe compañía por defecto para el usuario actual!"
+
+#~ msgid "If checked new messages require your attention."
+#~ msgstr "Si está activo es necesario atender nuevos mensajes"
+
+#~ msgid "<strong>Approval Date:</strong>"
+#~ msgstr "<strong>Fecha de aprobación:</strong>"
+
+#~ msgid "<strong>Category:</strong>"
+#~ msgstr "<strong>Fecha de aprobación:</strong>"
+
+#~ msgid "<strong>Change Request:</strong>"
+#~ msgstr "<strong>Solicitud de cambio:</strong>"
+
+#~ msgid "<strong>Confirmation Date:</strong>"
+#~ msgstr "<strong>Fecha de confirmación:</strong>"
+
+#~ msgid "<strong>Responsible:</strong>"
+#~ msgstr "<strong>Responsable:</strong>"
+
+#~ msgid "<strong>Source:</strong>"
+#~ msgstr "<strong>Origen:</strong>"
+
+#~ msgid "<strong>Stakeholder Address</strong>"
+#~ msgstr "<strong>Dirección del Interesado</strong>"
+
+#~ msgid "Download"
+#~ msgstr "Descargas"
diff --git a/business_requirement/i18n/fr.po b/business_requirement/i18n/fr.po
new file mode 100644
index 000000000..0586430f4
--- /dev/null
+++ b/business_requirement/i18n/fr.po
@@ -0,0 +1,806 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# 	* business_requirement
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2018-12-23 09:05+0000\n"
+"Last-Translator: Fabien B <fabien@yaltik.com>\n"
+"Language-Team: none\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.3\n"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<small class=\"text-right\">Status:</small>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong class=\"d-block mb-2\">Description</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+#, fuzzy
+msgid "<strong>Approval Date</strong>"
+msgstr "Date d'approbation"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#, fuzzy
+msgid "<strong>Assigned to</strong>"
+msgstr "Demande de changement"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Category</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+#, fuzzy
+msgid "<strong>Change Request</strong>"
+msgstr "Demande de changement"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+#, fuzzy
+msgid "<strong>Confirmation Date</strong>"
+msgstr "Date de confirmation"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Date:</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Date</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Message and communication history</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#, fuzzy
+msgid "<strong>Requested by</strong>"
+msgstr "Demande de changement"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Responsible</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Source</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Stakeholder</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_warning
+msgid "Access warning"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction
+msgid "Action Needed"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_ids
+msgid "Activities"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_state
+msgid "Activity State"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_icon
+msgid "Activity Type Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approval_date
+msgid "Approval Date"
+msgstr "Date d'approbation"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__approved
+#, fuzzy
+msgid "Approved"
+msgstr "Approuvé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approved_id
+msgid "Approved by"
+msgstr "Approuvé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_attachment_count
+msgid "Attachment Count"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.act_view_project_br_all
+#: model:ir.actions.act_window,name:business_requirement.act_view_sub_br_all
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_tree
+#: model:ir.model,name:business_requirement.model_business_requirement
+#: model:ir.module.category,name:business_requirement.module_category_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement1
+#: model:ir.ui.menu,name:business_requirement.menu_business_root
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_tree
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_graph
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_pivot
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_tree
+msgid "Business Requirement"
+msgstr "Besoin Professionnel"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, fuzzy
+msgid "Business Requirement #"
+msgstr "Besoin Professionnel"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.br_report
+msgid "Business Requirement Document"
+msgstr "Document lié à un Besoin Professionnel"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_manager
+msgid "Business Requirement Manager"
+msgstr "Gestionnaire des besoins"
+
+#. module: business_requirement
+#: model:ir.actions.report,name:business_requirement.business_requirement_report
+msgid "Business Requirement Report"
+msgstr "Rapport sur les besoins professionnels"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_user
+msgid "Business Requirement User"
+msgstr "Utilisateur des besoins"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_menu_br
+msgid "Business Requirements"
+msgstr "Besoins Professionnels"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__cancel
+msgid "Cancel"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_category_tree
+#: model:ir.model,name:business_requirement.model_business_requirement_category
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__category_ids
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement_category
+msgid "Categories"
+msgstr "Catégories"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__change_request
+msgid "Change Request?"
+msgstr "Demande de changement ?"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__company_id
+msgid "Company"
+msgstr "Société"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_configuration
+msgid "Configuration"
+msgstr "Configuration"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmation_date
+msgid "Confirmation Date"
+msgstr "Date de confirmation"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__confirmed
+#, fuzzy
+msgid "Confirmed"
+msgstr "Confirmé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmed_user_id
+msgid "Confirmed by"
+msgstr "Confirmé par"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Contact"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_uid
+msgid "Created by"
+msgstr "Créé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_date
+msgid "Created on"
+msgstr "Créé le"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Creation Date"
+msgstr "Date de création"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Current stage of this requirement"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__access_url
+#, fuzzy
+msgid "Customer Portal URL"
+msgstr "Expression client"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__business_requirement
+msgid "Customer Story"
+msgstr "Expression client"
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__date
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, python-format
+msgid "Date"
+msgstr "Date"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__description
+msgid "Description"
+msgstr "Description"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__display_name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__display_name
+msgid "Display Name"
+msgstr "Nom affiché"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__done
+msgid "Done"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__draft
+msgid "Draft"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__drop
+msgid "Drop"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_follower_ids
+msgid "Followers"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_channel_ids
+msgid "Followers (Channels)"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_partner_ids
+msgid "Followers (Partners)"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__gap
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Gap"
+msgstr "Écart"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Gap:"
+msgstr "Écart :"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#, fuzzy
+msgid "Group by"
+msgstr "Grouper par"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__2
+msgid "High"
+msgstr "Haute"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__id
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__id
+msgid "ID"
+msgstr "ID"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread
+msgid "If checked, new messages require your attention."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_sms_error
+msgid "If checked, some messages have a delivery error."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__portal_published
+#, fuzzy
+msgid "In Portal"
+msgstr "En cours"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__normal
+msgid "In Progress"
+msgstr "En cours"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__in_progress
+#, fuzzy
+msgid "In progress"
+msgstr "En cours"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_is_follower
+msgid "Is Follower"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__kanban_state
+msgid "Kanban State"
+msgstr "État Kanban"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement____last_update
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category____last_update
+msgid "Last Modified on"
+msgstr "Dernière Modification le"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_uid
+msgid "Last Updated by"
+msgstr "Dernière mise à jour par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_date
+msgid "Last Updated on"
+msgstr "Dernière mise à jour le"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Logs"
+msgstr "Journaux"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__0
+msgid "Low"
+msgstr "Basse"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_main_attachment_id
+msgid "Main Attachment"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error
+msgid "Message Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_ids
+#, fuzzy
+msgid "Messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__name
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Name"
+msgstr "Nom"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_summary
+msgid "Next Activity Summary"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_id
+msgid "Next Activity Type"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "No"
+msgstr "Non"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__1
+msgid "Normal"
+msgstr "Normale"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of Actions"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of errors"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread_counter
+#, fuzzy
+msgid "Number of unread messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model_terms:ir.actions.act_window,help:business_requirement.act_view_project_br_all
+msgid ""
+"Odoo's Business Requirement management allows you to manage the list\n"
+"                of Business requirement from a Stakeholder for efficient "
+"follow up. You can\n"
+"                track progress, discuss on tasks, attach documents, etc."
+msgstr ""
+"La gestion des besoins métiers sur Odoo vous permet de gérer la liste\n"
+"des exigences d'un client. Pour un suivi efficace. vous pouvez\n"
+"suivre les progrès, discuter sur les taches, lier des documents, etc ..."
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__on_hold
+msgid "On Hold"
+msgstr "En suspens"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Other"
+msgstr "Autre"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__user_id
+msgid "Owner"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__parent_id
+msgid "Parent Category"
+msgstr "Catégorie mère"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_url
+msgid "Portal Access URL"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__priority
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Priority"
+msgstr "Priorité"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_product_template_action
+msgid "Products"
+msgstr "Articles"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__done
+msgid "Ready for next stage"
+msgstr "Prêt pour l'étape suivante"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__requested_user_id
+msgid "Requested by"
+msgstr "Demandé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__responsible_user_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Responsible"
+msgstr "Responsable"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_user_id
+#, fuzzy
+msgid "Responsible User"
+msgstr "Responsable"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__reviewer_ids
+msgid "Reviewers"
+msgstr "Examinateurs"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_sms_error
+msgid "SMS Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__scenario
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Scenario"
+msgstr "Scénario"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Scenario:"
+msgstr "Scénario :"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_token
+msgid "Security Token"
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__sequence
+#, python-format
+msgid "Sequence"
+msgstr "Séquence"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__origin
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Source"
+msgstr "Source"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__partner_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Stakeholder"
+msgstr "Partie prenante"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Stakeholder Story"
+msgstr "Histoire Partie prenante"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Stakeholder Story:"
+msgstr "Histoire partie prenante :"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__state
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "State"
+msgstr "État"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__terms_and_conditions
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Terms and Conditions"
+msgstr "Termes et conditions"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Terms and Conditions:"
+msgstr "Termes et conditions :"
+
+#. module: business_requirement
+#: code:addons/business_requirement/tests/test_br.py:0
+#, python-format
+msgid "Test Body"
+msgstr "Contenu test"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__test_case
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Test Case"
+msgstr "Scénarios test"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Test Case:"
+msgstr "Scénario test :"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "There are currently no business requirements for your account."
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+msgid "There was an error processing this page."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__to_be_reviewed
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "To be Reviewed"
+msgstr "À évaluer"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Unread Messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread_counter
+#, fuzzy
+msgid "Unread Messages Counter"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__website_message_ids
+#, fuzzy
+msgid "Website Messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__website_message_ids
+msgid "Website communication history"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "Yes"
+msgstr "Oui"
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed /cancel/drop."
+msgstr ""
+"Vous ne pouvez déplacer le besoin que vers les étapes suivantes : "
+"brouillon / confirmé / annulé / abandonné."
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed/cancel/drop."
+msgstr ""
+"Vous ne pouvez déplacer que vers les étapes suivantes : brouillon / "
+"confirmé / annulé / abandonné."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_kanban_project
+msgid "]&amp;nbsp;"
+msgstr "]&amp;nbsp;"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_success
+msgid "close"
+msgstr ""
+
+#~ msgid "There is no default company for the current user!"
+#~ msgstr "Il n'y a pas de société par défaut pour l'utilisateur actuel !"
+
+#, fuzzy
+#~| msgid "Change Request"
+#~ msgid "<strong>Change Request:</strong>"
+#~ msgstr "Demande de changement"
+
+#, fuzzy
+#~| msgid "Confirmation Date"
+#~ msgid "<strong>Confirmation Date:</strong>"
+#~ msgstr "Date de confirmation"
+
+#~ msgid "Action Tasks Related BR"
+#~ msgstr "Actions liées au besoin"
+
+#~ msgid "Approval"
+#~ msgstr "Approbation"
+
+#~ msgid "Business Requirement Stakeholder"
+#~ msgstr "Partie prenant des besoins"
+
+#~ msgid "Category"
+#~ msgstr "Catégorie"
+
+#~ msgid "Confirmation"
+#~ msgstr "Confirmation"
+
+#~ msgid "Creation"
+#~ msgstr "Création"
+
+#~ msgid "Level"
+#~ msgstr "Niveau"
+
+#~ msgid "Project"
+#~ msgstr "Projet"
+
+#~ msgid "Projects"
+#~ msgstr "Projets"
+
+#~ msgid "Sub Bus. Req."
+#~ msgstr "Sous-besoin"
+
+#~ msgid "User"
+#~ msgstr "Utilisateur"
diff --git a/business_requirement/i18n/fr_FR.po b/business_requirement/i18n/fr_FR.po
new file mode 100644
index 000000000..0ea77a217
--- /dev/null
+++ b/business_requirement/i18n/fr_FR.po
@@ -0,0 +1,810 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * business_requirement
+#
+# Translators:
+# Pascal GOUHIER <pascal.gouhier@copagex.fr>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 8.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-06-23 06:12+0000\n"
+"PO-Revision-Date: 2018-12-23 10:58+0000\n"
+"Last-Translator: Fabien B <fabien@yaltik.com>\n"
+"Language-Team: French (France) (https://www.transifex.com/oca/teams/23907/"
+"fr_FR/)\n"
+"Language: fr_FR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.3\n"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<small class=\"text-right\">Status:</small>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong class=\"d-block mb-2\">Description</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+#, fuzzy
+msgid "<strong>Approval Date</strong>"
+msgstr "Date d'approbation"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#, fuzzy
+msgid "<strong>Assigned to</strong>"
+msgstr "Demande de changement"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Category</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+#, fuzzy
+msgid "<strong>Change Request</strong>"
+msgstr "Demande de changement"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+#, fuzzy
+msgid "<strong>Confirmation Date</strong>"
+msgstr "Date de confirmation"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Date:</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Date</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Message and communication history</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#, fuzzy
+msgid "<strong>Requested by</strong>"
+msgstr "Demande de changement"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Responsible</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Source</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Stakeholder</strong>"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_warning
+msgid "Access warning"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction
+msgid "Action Needed"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_ids
+msgid "Activities"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_state
+msgid "Activity State"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_icon
+msgid "Activity Type Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approval_date
+msgid "Approval Date"
+msgstr "Date d'approbation"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__approved
+#, fuzzy
+msgid "Approved"
+msgstr "Approuvé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approved_id
+msgid "Approved by"
+msgstr "Approuvé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_attachment_count
+msgid "Attachment Count"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.act_view_project_br_all
+#: model:ir.actions.act_window,name:business_requirement.act_view_sub_br_all
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_tree
+#: model:ir.model,name:business_requirement.model_business_requirement
+#: model:ir.module.category,name:business_requirement.module_category_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement1
+#: model:ir.ui.menu,name:business_requirement.menu_business_root
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_tree
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_graph
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_pivot
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_tree
+msgid "Business Requirement"
+msgstr "Besoin Professionnel"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, fuzzy
+msgid "Business Requirement #"
+msgstr "Besoin Professionnel"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.br_report
+msgid "Business Requirement Document"
+msgstr "Document lié à un Besoin Professionnel"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_manager
+msgid "Business Requirement Manager"
+msgstr "Gestionnaire des besoins"
+
+#. module: business_requirement
+#: model:ir.actions.report,name:business_requirement.business_requirement_report
+msgid "Business Requirement Report"
+msgstr "Rapport sur les besoins professionnels"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_user
+msgid "Business Requirement User"
+msgstr "Utilisateur des besoins"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_menu_br
+msgid "Business Requirements"
+msgstr "Besoins Professionnels"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__cancel
+msgid "Cancel"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_category_tree
+#: model:ir.model,name:business_requirement.model_business_requirement_category
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__category_ids
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement_category
+msgid "Categories"
+msgstr "Catégories"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__change_request
+msgid "Change Request?"
+msgstr "Demande de changement ?"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__company_id
+msgid "Company"
+msgstr "Société"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_configuration
+msgid "Configuration"
+msgstr "Configuration"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmation_date
+msgid "Confirmation Date"
+msgstr "Date de confirmation"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__confirmed
+#, fuzzy
+msgid "Confirmed"
+msgstr "Confirmé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmed_user_id
+msgid "Confirmed by"
+msgstr "Confirmé par"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Contact"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_uid
+msgid "Created by"
+msgstr "Créé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_date
+msgid "Created on"
+msgstr "Créé le"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Creation Date"
+msgstr "Date de création"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Current stage of this requirement"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__access_url
+#, fuzzy
+msgid "Customer Portal URL"
+msgstr "Expression client"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__business_requirement
+msgid "Customer Story"
+msgstr "Expression client"
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__date
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, python-format
+msgid "Date"
+msgstr "Date"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__description
+msgid "Description"
+msgstr "Description"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__display_name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__display_name
+msgid "Display Name"
+msgstr "Nom affiché"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__done
+msgid "Done"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__draft
+msgid "Draft"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__drop
+msgid "Drop"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_follower_ids
+msgid "Followers"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_channel_ids
+msgid "Followers (Channels)"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_partner_ids
+msgid "Followers (Partners)"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__gap
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Gap"
+msgstr "Écart"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Gap:"
+msgstr "Écart :"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#, fuzzy
+msgid "Group by"
+msgstr "Grouper par"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__2
+msgid "High"
+msgstr "Haute"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__id
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__id
+msgid "ID"
+msgstr "ID"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread
+msgid "If checked, new messages require your attention."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_sms_error
+msgid "If checked, some messages have a delivery error."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__portal_published
+#, fuzzy
+msgid "In Portal"
+msgstr "En cours"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__normal
+msgid "In Progress"
+msgstr "En cours"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__in_progress
+#, fuzzy
+msgid "In progress"
+msgstr "En cours"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_is_follower
+msgid "Is Follower"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__kanban_state
+msgid "Kanban State"
+msgstr "État Kanban"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement____last_update
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category____last_update
+msgid "Last Modified on"
+msgstr "Dernière Modification le"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_uid
+msgid "Last Updated by"
+msgstr "Dernière mise à jour par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_date
+msgid "Last Updated on"
+msgstr "Dernière mise à jour le"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Logs"
+msgstr "Journaux"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__0
+msgid "Low"
+msgstr "Basse"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_main_attachment_id
+msgid "Main Attachment"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error
+msgid "Message Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_ids
+#, fuzzy
+msgid "Messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__name
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Name"
+msgstr "Nom"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_summary
+msgid "Next Activity Summary"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_id
+msgid "Next Activity Type"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "No"
+msgstr "Non"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__1
+msgid "Normal"
+msgstr "Normale"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of Actions"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of errors"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread_counter
+#, fuzzy
+msgid "Number of unread messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model_terms:ir.actions.act_window,help:business_requirement.act_view_project_br_all
+msgid ""
+"Odoo's Business Requirement management allows you to manage the list\n"
+"                of Business requirement from a Stakeholder for efficient "
+"follow up. You can\n"
+"                track progress, discuss on tasks, attach documents, etc."
+msgstr ""
+"La gestion des besoins métiers sur Odoo vous permet de gérer la liste\n"
+"des exigences d'un client. Pour un suivi efficace. vous pouvez\n"
+"suivre les progrès, discuter sur les taches, lier des documents, etc ..."
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__on_hold
+msgid "On Hold"
+msgstr "En suspens"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Other"
+msgstr "Autre"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__user_id
+msgid "Owner"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__parent_id
+msgid "Parent Category"
+msgstr "Catégorie mère"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_url
+msgid "Portal Access URL"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__priority
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Priority"
+msgstr "Priorité"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_product_template_action
+msgid "Products"
+msgstr "Articles"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__done
+msgid "Ready for next stage"
+msgstr "Prêt pour l'étape suivante"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__requested_user_id
+msgid "Requested by"
+msgstr "Demandé par"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__responsible_user_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Responsible"
+msgstr "Responsable"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_user_id
+#, fuzzy
+msgid "Responsible User"
+msgstr "Responsable"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__reviewer_ids
+msgid "Reviewers"
+msgstr "Examinateurs"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_sms_error
+msgid "SMS Delivery error"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__scenario
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Scenario"
+msgstr "Scénario"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Scenario:"
+msgstr "Scénario :"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_token
+msgid "Security Token"
+msgstr ""
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__sequence
+#, python-format
+msgid "Sequence"
+msgstr "Séquence"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__origin
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Source"
+msgstr "Source"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__partner_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Stakeholder"
+msgstr "Partie prenante"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Stakeholder Story"
+msgstr "Histoire Partie prenante"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Stakeholder Story:"
+msgstr "Histoire partie prenante :"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__state
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "State"
+msgstr "État"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__terms_and_conditions
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Terms and Conditions"
+msgstr "Termes et conditions"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Terms and Conditions:"
+msgstr "Termes et conditions :"
+
+#. module: business_requirement
+#: code:addons/business_requirement/tests/test_br.py:0
+#, python-format
+msgid "Test Body"
+msgstr "Contenu test"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__test_case
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Test Case"
+msgstr "Scénarios test"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Test Case:"
+msgstr "Scénario test :"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "There are currently no business requirements for your account."
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+msgid "There was an error processing this page."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__to_be_reviewed
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "To be Reviewed"
+msgstr "À évaluer"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Unread Messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread_counter
+#, fuzzy
+msgid "Unread Messages Counter"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__website_message_ids
+#, fuzzy
+msgid "Website Messages"
+msgstr "Messages non lus"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__website_message_ids
+msgid "Website communication history"
+msgstr ""
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "Yes"
+msgstr "Oui"
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed /cancel/drop."
+msgstr ""
+"Vous ne pouvez déplacer le besoin que vers les étapes suivantes : "
+"brouillon / confirmé / annulé / abandonné."
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed/cancel/drop."
+msgstr ""
+"Vous ne pouvez déplacer que vers les étapes suivantes : brouillon / "
+"confirmé / annulé / abandonné."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_kanban_project
+msgid "]&amp;nbsp;"
+msgstr "]&amp;nbsp;"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_success
+msgid "close"
+msgstr ""
+
+#~ msgid "There is no default company for the current user!"
+#~ msgstr "Il n'y a pas de société par défaut pour l'utilisateur actuel !"
+
+#, fuzzy
+#~| msgid "Change Request"
+#~ msgid "<strong>Change Request:</strong>"
+#~ msgstr "Demande de changement"
+
+#, fuzzy
+#~| msgid "Confirmation Date"
+#~ msgid "<strong>Confirmation Date:</strong>"
+#~ msgstr "Date de confirmation"
+
+#~ msgid "Action Tasks Related BR"
+#~ msgstr "Actions liées au besoin"
+
+#~ msgid "Approval"
+#~ msgstr "Approbation"
+
+#~ msgid "Business Requirement Stakeholder"
+#~ msgstr "Partie prenant des besoins"
+
+#~ msgid "Category"
+#~ msgstr "Catégorie"
+
+#~ msgid "Confirmation"
+#~ msgstr "Confirmation"
+
+#~ msgid "Creation"
+#~ msgstr "Création"
+
+#~ msgid "Level"
+#~ msgstr "Niveau"
+
+#~ msgid "Project"
+#~ msgstr "Projet"
+
+#~ msgid "Projects"
+#~ msgstr "Projets"
+
+#~ msgid "Sub Bus. Req."
+#~ msgstr "Sous-besoin"
+
+#~ msgid "User"
+#~ msgstr "Utilisateur"
diff --git a/business_requirement/i18n/pt_BR.po b/business_requirement/i18n/pt_BR.po
new file mode 100644
index 000000000..120ac99f9
--- /dev/null
+++ b/business_requirement/i18n/pt_BR.po
@@ -0,0 +1,764 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# 	* business_requirement
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 12.0\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2020-03-21 20:13+0000\n"
+"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
+"Language-Team: none\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 3.10\n"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<small class=\"text-right\">Status:</small>"
+msgstr "<small class=\"text-right\">Situação:</small>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong class=\"d-block mb-2\">Description</strong>"
+msgstr "<strong class=\"d-block mb-2\">Descrição</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Approval Date</strong>"
+msgstr "<strong>Data de Aprovação</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Assigned to</strong>"
+msgstr "<strong>Atribuído a</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Category</strong>"
+msgstr "<strong>Categoria</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Change Request</strong>"
+msgstr "<strong>Ordem de Mudança</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Confirmation Date</strong>"
+msgstr "<strong>Data de Confirmação</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Date:</strong>"
+msgstr "<strong>Data:</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Date</strong>"
+msgstr "<strong>Data</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Message and communication history</strong>"
+msgstr "<strong>Histórico de mensagens e comunicação</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Requested by</strong>"
+msgstr "<strong>Requisitado por</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Responsible</strong>"
+msgstr "<strong>Responsável</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Source</strong>"
+msgstr "<strong>Origem</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Stakeholder</strong>"
+msgstr "<strong>Interessado</strong>"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_warning
+msgid "Access warning"
+msgstr "Aviso de acesso"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction
+msgid "Action Needed"
+msgstr "Ação Necessária"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_ids
+msgid "Activities"
+msgstr "Atividades"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr "Decoração de Exceção de Atividade"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_state
+msgid "Activity State"
+msgstr "Situação da Atividade"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_icon
+msgid "Activity Type Icon"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approval_date
+msgid "Approval Date"
+msgstr "Data de Aprovação"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__approved
+msgid "Approved"
+msgstr "Aprovado"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approved_id
+msgid "Approved by"
+msgstr "Aprovado por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_attachment_count
+msgid "Attachment Count"
+msgstr "Contagem de Anexos"
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.act_view_project_br_all
+#: model:ir.actions.act_window,name:business_requirement.act_view_sub_br_all
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_tree
+#: model:ir.model,name:business_requirement.model_business_requirement
+#: model:ir.module.category,name:business_requirement.module_category_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement1
+#: model:ir.ui.menu,name:business_requirement.menu_business_root
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_tree
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_graph
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_pivot
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_tree
+msgid "Business Requirement"
+msgstr "Requisito de Negócios"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "Business Requirement #"
+msgstr "Requisito de Negócios #"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.br_report
+msgid "Business Requirement Document"
+msgstr "Documento de Requisito de Negócios"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_manager
+msgid "Business Requirement Manager"
+msgstr "Gerente de Requisitos de Negócios"
+
+#. module: business_requirement
+#: model:ir.actions.report,name:business_requirement.business_requirement_report
+msgid "Business Requirement Report"
+msgstr "Relatório de Requisitos de Negócios"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_user
+msgid "Business Requirement User"
+msgstr "Usuário de Requisitos de Negócios"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_menu_br
+msgid "Business Requirements"
+msgstr "Requisitos de Negócio"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__cancel
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_category_tree
+#: model:ir.model,name:business_requirement.model_business_requirement_category
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__category_ids
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement_category
+msgid "Categories"
+msgstr "Categorias"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__change_request
+msgid "Change Request?"
+msgstr "Solicitação de Mudança?"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__company_id
+msgid "Company"
+msgstr "Empresa"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_configuration
+msgid "Configuration"
+msgstr "Configuração"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmation_date
+msgid "Confirmation Date"
+msgstr "Data de Confirmação"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__confirmed
+msgid "Confirmed"
+msgstr "Confirmado"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmed_user_id
+msgid "Confirmed by"
+msgstr "Confirmado por"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Contact"
+msgstr "Contato"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_uid
+msgid "Created by"
+msgstr "Criado por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_date
+msgid "Created on"
+msgstr "Criado em"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Creation Date"
+msgstr "Data de Criação"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Current stage of this requirement"
+msgstr "Estágio atual deste requisito"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__access_url
+msgid "Customer Portal URL"
+msgstr "URL do portal do cliente"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__business_requirement
+msgid "Customer Story"
+msgstr "História do Cliente"
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__date
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, python-format
+msgid "Date"
+msgstr "Data"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__description
+msgid "Description"
+msgstr "Descrição"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__display_name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__display_name
+msgid "Display Name"
+msgstr "Nome Exibido"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__done
+msgid "Done"
+msgstr "Feito"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__draft
+msgid "Draft"
+msgstr "Rascunho"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__drop
+msgid "Drop"
+msgstr "Descartar"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_follower_ids
+msgid "Followers"
+msgstr "Seguidores"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_channel_ids
+msgid "Followers (Channels)"
+msgstr "Seguidores (Canais)"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_partner_ids
+msgid "Followers (Partners)"
+msgstr "Seguidores (Parceiros)"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__gap
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Gap"
+msgstr "Gap"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Gap:"
+msgstr "Gap:"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Group by"
+msgstr "Agrupado por"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__2
+msgid "High"
+msgstr "Alto"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__id
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__id
+msgid "ID"
+msgstr "ID"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon"
+msgstr "Ícone"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr "Ícone para indicar uma atividade de exceção."
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread
+msgid "If checked, new messages require your attention."
+msgstr "Se marcada, novas mensagens requerem sua atenção."
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_sms_error
+msgid "If checked, some messages have a delivery error."
+msgstr "Se marcada, algumas mensagens apresentam erro de entrega."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__portal_published
+msgid "In Portal"
+msgstr "No Portal"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__normal
+msgid "In Progress"
+msgstr "Em Progresso"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__in_progress
+msgid "In progress"
+msgstr "Em progresso"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_is_follower
+msgid "Is Follower"
+msgstr "É Seguidor"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__kanban_state
+msgid "Kanban State"
+msgstr "Estado Kanban"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement____last_update
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category____last_update
+msgid "Last Modified on"
+msgstr "Última Modificação em"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_uid
+msgid "Last Updated by"
+msgstr "Último Atualização por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_date
+msgid "Last Updated on"
+msgstr "Última Atualização em"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Logs"
+msgstr "Registros"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__0
+msgid "Low"
+msgstr "Baixo"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_main_attachment_id
+msgid "Main Attachment"
+msgstr "Anexo Principal"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error
+msgid "Message Delivery error"
+msgstr "Mensagem de Erro de Entrega"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_ids
+msgid "Messages"
+msgstr "Mensagens"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr ""
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__name
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Name"
+msgstr "Nome"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr "Prazo da Próxima Atividade"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_summary
+msgid "Next Activity Summary"
+msgstr "Resumo da Próxima Atividade"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_id
+msgid "Next Activity Type"
+msgstr "Tipo da Próxima Atividade"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "No"
+msgstr "Não"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__1
+msgid "Normal"
+msgstr "Normal"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of Actions"
+msgstr "Número de Ações"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of errors"
+msgstr "Número de erros"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr "Número de mensagens que requerem uma ação"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr "Número de mensagens com erro de entrega"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread_counter
+msgid "Number of unread messages"
+msgstr "Número de mensagens não lidas"
+
+#. module: business_requirement
+#: model_terms:ir.actions.act_window,help:business_requirement.act_view_project_br_all
+msgid ""
+"Odoo's Business Requirement management allows you to manage the list\n"
+"                of Business requirement from a Stakeholder for efficient "
+"follow up. You can\n"
+"                track progress, discuss on tasks, attach documents, etc."
+msgstr ""
+"O gerenciamento de requisitos de negócios do Odoo permite gerenciar a lista\n"
+"                 requisito de negócios de uma parte interessada para um "
+"acompanhamento eficiente. Você pode\n"
+"                 acompanhar o progresso, discutir tarefas, anexar documentos "
+"etc."
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__on_hold
+msgid "On Hold"
+msgstr "Em Mãos"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Other"
+msgstr "Outro"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__user_id
+msgid "Owner"
+msgstr "Dono"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__parent_id
+msgid "Parent Category"
+msgstr "Categoria Pai"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_url
+msgid "Portal Access URL"
+msgstr "URL do Portal de Acesso"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__priority
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Priority"
+msgstr "Prioridade"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_product_template_action
+msgid "Products"
+msgstr "Produtos"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__done
+msgid "Ready for next stage"
+msgstr "Pronto para o próximo estágio"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__requested_user_id
+msgid "Requested by"
+msgstr "Requisitado por"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__responsible_user_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Responsible"
+msgstr "Responsável"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_user_id
+msgid "Responsible User"
+msgstr "Usuário Responsável"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__reviewer_ids
+msgid "Reviewers"
+msgstr "Revisores"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_sms_error
+msgid "SMS Delivery error"
+msgstr "SMS de Erro de Entrega"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__scenario
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Scenario"
+msgstr "Cenário"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Scenario:"
+msgstr "Cenário:"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_token
+msgid "Security Token"
+msgstr "Token de Segurança"
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__sequence
+#, python-format
+msgid "Sequence"
+msgstr "Sequencia"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__origin
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Source"
+msgstr "Origem"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__partner_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Stakeholder"
+msgstr "Interessado"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Stakeholder Story"
+msgstr "História do Stakeholder"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Stakeholder Story:"
+msgstr "História do Stakeholder:"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__state
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "State"
+msgstr "Situação"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+"Status baseado em atividades\n"
+"Vencido: a data de vencimento já passou\n"
+"Hoje: a data da atividade é hoje\n"
+"Planejado: Atividades futuras."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__terms_and_conditions
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Terms and Conditions"
+msgstr "Termos e Condições"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Terms and Conditions:"
+msgstr "Termos e Condições:"
+
+#. module: business_requirement
+#: code:addons/business_requirement/tests/test_br.py:0
+#, python-format
+msgid "Test Body"
+msgstr "Corpo de teste"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__test_case
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Test Case"
+msgstr "Caso de Teste"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Test Case:"
+msgstr "Caso de Teste:"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "There are currently no business requirements for your account."
+msgstr "No momento, não há requisitos comerciais para sua conta."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+msgid "There was an error processing this page."
+msgstr "Ocorreu um erro ao processar esta página."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__to_be_reviewed
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "To be Reviewed"
+msgstr "A ser Revisado"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr "Tipo da atividade de exceção registrada."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Unread Messages"
+msgstr "Mensagens Não Lidas"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread_counter
+msgid "Unread Messages Counter"
+msgstr "Contagem de Mensagens Não Lidas"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__website_message_ids
+msgid "Website Messages"
+msgstr "Mensagens do Website"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__website_message_ids
+msgid "Website communication history"
+msgstr "Histórico de comunicação do website"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "Yes"
+msgstr "Sim"
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed /cancel/drop."
+msgstr ""
+"Você só pode passar para o seguinte estágio: rascunho/confirmado/cancelar/"
+"descartar."
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed/cancel/drop."
+msgstr ""
+"Você só pode passar para o seguinte estágio: rascunho/confirmado/cancelar/"
+"descartar."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_kanban_project
+msgid "]&amp;nbsp;"
+msgstr "]&amp;nbsp;"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_success
+msgid "close"
+msgstr "fechado"
+
+#~ msgid "There is no default company for the current user!"
+#~ msgstr "Não há empresa padrão para o usuário atual!"
+
+#~ msgid "If checked new messages require your attention."
+#~ msgstr "Se marcada, novas mensagens requerem sua atenção."
+
+#~ msgid "Overdue"
+#~ msgstr "Vencido"
+
+#~ msgid "Planned"
+#~ msgstr "Planejado"
+
+#~ msgid "Today"
+#~ msgstr "Hoje"
diff --git a/business_requirement/i18n/sl.po b/business_requirement/i18n/sl.po
new file mode 100644
index 000000000..7a8db316a
--- /dev/null
+++ b/business_requirement/i18n/sl.po
@@ -0,0 +1,780 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * business_requirement
+#
+# Translators:
+# OCA Transbot <transbot@odoo-community.org>, 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-11-23 01:40+0000\n"
+"PO-Revision-Date: 2023-04-12 13:35+0000\n"
+"Last-Translator: Matjaz Mozetic <matjaz@luxim.si>\n"
+"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
+"Language: sl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3;\n"
+"X-Generator: Weblate 4.14.1\n"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<small class=\"text-right\">Status:</small>"
+msgstr "<small class=\"text-right\">Status:</small>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong class=\"d-block mb-2\">Description</strong>"
+msgstr "<strong class=\"d-block mb-2\">Opis</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Approval Date</strong>"
+msgstr "<strong>Datum odobritve</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Assigned to</strong>"
+msgstr "<strong>Zadolžen</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Category</strong>"
+msgstr "<strong>Kategorija</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Change Request</strong>"
+msgstr "<strong>Zahteva po spremembi</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Confirmation Date</strong>"
+msgstr "<strong>Datum potrditve</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Date:</strong>"
+msgstr "<strong>Datum:</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Date</strong>"
+msgstr "<strong>Datum</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Message and communication history</strong>"
+msgstr "<strong>Kronologija komunikacij</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "<strong>Requested by</strong>"
+msgstr "<strong>Zahteval</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Responsible</strong>"
+msgstr "<strong>Odgovorni</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Source</strong>"
+msgstr "<strong>Vir</strong>"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "<strong>Stakeholder</strong>"
+msgstr "<strong>Deležnik</strong>"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_warning
+msgid "Access warning"
+msgstr "Opozorilo ob dostopu"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction
+msgid "Action Needed"
+msgstr "Potrebno ukrepanje"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_ids
+msgid "Activities"
+msgstr "Aktivnosti"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Activity Exception Decoration"
+msgstr "Aktivnost - dekoracija izjem"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_state
+msgid "Activity State"
+msgstr "Stanje aktivnosti"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_icon
+msgid "Activity Type Icon"
+msgstr "Ikona tipa aktivnosti"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approval_date
+msgid "Approval Date"
+msgstr "Datum odobritve"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__approved
+msgid "Approved"
+msgstr "Odobreno"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__approved_id
+msgid "Approved by"
+msgstr "Odobril"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_attachment_count
+msgid "Attachment Count"
+msgstr "Št. priponk"
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.act_view_project_br_all
+#: model:ir.actions.act_window,name:business_requirement.act_view_sub_br_all
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_tree
+#: model:ir.model,name:business_requirement.model_business_requirement
+#: model:ir.module.category,name:business_requirement.module_category_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement1
+#: model:ir.ui.menu,name:business_requirement.menu_business_root
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_category_tree
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_graph
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_pivot
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_tree
+msgid "Business Requirement"
+msgstr "Poslovna zahteva"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "Business Requirement #"
+msgstr "Poslovna zahteva #"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.br_report
+msgid "Business Requirement Document"
+msgstr "Dokument poslovne zahteve"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_manager
+msgid "Business Requirement Manager"
+msgstr "Upravitelj poslovnih zahtev"
+
+#. module: business_requirement
+#: model:ir.actions.report,name:business_requirement.business_requirement_report
+msgid "Business Requirement Report"
+msgstr "Poročilo o poslovni zahtevi"
+
+#. module: business_requirement
+#: model:res.groups,name:business_requirement.group_business_requirement_user
+msgid "Business Requirement User"
+msgstr "Uporabnik poslovnih zahtev"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_br
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_home_menu_br
+msgid "Business Requirements"
+msgstr "Poslovne zahteve"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__cancel
+msgid "Cancel"
+msgstr "Preklic"
+
+#. module: business_requirement
+#: model:ir.actions.act_window,name:business_requirement.action_business_requirement_category_tree
+#: model:ir.model,name:business_requirement.model_business_requirement_category
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__category_ids
+#: model:ir.ui.menu,name:business_requirement.menu_business_requirement_category
+msgid "Categories"
+msgstr "Kategorije"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__change_request
+msgid "Change Request?"
+msgstr "Zahteva po spremembi?"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__company_id
+msgid "Company"
+msgstr "Družba"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_business_configuration
+msgid "Configuration"
+msgstr "Nastavitve"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmation_date
+msgid "Confirmation Date"
+msgstr "Datum potrditve"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__confirmed
+msgid "Confirmed"
+msgstr "Potrjeno"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__confirmed_user_id
+msgid "Confirmed by"
+msgstr "Potrdil"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Contact"
+msgstr "Stik"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_uid
+msgid "Created by"
+msgstr "Ustvaril"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__create_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__create_date
+msgid "Created on"
+msgstr "Ustvarjeno"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Creation Date"
+msgstr "Datum nastanka"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+msgid "Current stage of this requirement"
+msgstr "Trenutna stopnja te zahteve"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__access_url
+msgid "Customer Portal URL"
+msgstr "URL portala za stranke"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__business_requirement
+msgid "Customer Story"
+msgstr "Kupčeva zgodba"
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__date
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+#, python-format
+msgid "Date"
+msgstr "Datum"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__description
+msgid "Description"
+msgstr "Opis"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__display_name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__display_name
+msgid "Display Name"
+msgstr "Prikazni naziv"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__done
+msgid "Done"
+msgstr "Opravljeno"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__draft
+msgid "Draft"
+msgstr "Osnutek"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__drop
+msgid "Drop"
+msgstr "Zavrži"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_follower_ids
+msgid "Followers"
+msgstr "Sledilci"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_channel_ids
+msgid "Followers (Channels)"
+msgstr "Sledilci (kanali)"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_partner_ids
+msgid "Followers (Partners)"
+msgstr "Sledilci (partnerji)"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_type_icon
+msgid "Font awesome icon e.g. fa-tasks"
+msgstr "Font awesome ikona, kot npr. fa-tasks"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__gap
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Gap"
+msgstr "Vrzel"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Gap:"
+msgstr "Vrzel:"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Group by"
+msgstr "Združi po"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__2
+msgid "High"
+msgstr "Visoka"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__id
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__id
+msgid "ID"
+msgstr "ID"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon"
+msgstr "Ikona"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_icon
+msgid "Icon to indicate an exception activity."
+msgstr "Ikona za prikaz izjem pri aktivnostih."
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread
+msgid "If checked, new messages require your attention."
+msgstr "Če označeno pomeni, da nova sporočila zahtevajo vašo pozornost."
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_sms_error
+msgid "If checked, some messages have a delivery error."
+msgstr ""
+"Če označeno pomeni, da je pri nekaterih sporočilih prišlo do napake pri "
+"dostavi."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__portal_published
+msgid "In Portal"
+msgstr "V portalu"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__normal
+msgid "In Progress"
+msgstr "V teku"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__state__in_progress
+msgid "In progress"
+msgstr "V teku"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_is_follower
+msgid "Is Follower"
+msgstr "Je sledilec"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__kanban_state
+msgid "Kanban State"
+msgstr "Kanban stanje"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement____last_update
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category____last_update
+msgid "Last Modified on"
+msgstr "Zadnjič spremenjeno"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_uid
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_uid
+msgid "Last Updated by"
+msgstr "Zadnji posodobil"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__write_date
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__write_date
+msgid "Last Updated on"
+msgstr "Zadnjič posodobljeno"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Logs"
+msgstr "Dnevniki"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__0
+msgid "Low"
+msgstr "Nizka"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_main_attachment_id
+msgid "Main Attachment"
+msgstr "Glavna priponka"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error
+msgid "Message Delivery error"
+msgstr "Napaka ob dostavi sporočila"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_ids
+msgid "Messages"
+msgstr "Sporočila"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__my_activity_date_deadline
+msgid "My Activity Deadline"
+msgstr "Rok moje aktivnosti"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__name
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__name
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Name"
+msgstr "Naziv"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_date_deadline
+msgid "Next Activity Deadline"
+msgstr "Rok naslednje aktivnosti"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_summary
+msgid "Next Activity Summary"
+msgstr "Povzetek naslednje aktivnosti"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_type_id
+msgid "Next Activity Type"
+msgstr "Tip naslednje aktivnosti"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "No"
+msgstr "Ne"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__priority__1
+msgid "Normal"
+msgstr "Običajna"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of Actions"
+msgstr "Število ukrepov"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of errors"
+msgstr "Število napak"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_needaction_counter
+msgid "Number of messages which requires an action"
+msgstr "Število sporočil, kjer je potrebno ukrepati"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_has_error_counter
+msgid "Number of messages with delivery error"
+msgstr "Število sporočil z napako ob dostavi"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__message_unread_counter
+msgid "Number of unread messages"
+msgstr "Število neprebranih sporočil"
+
+#. module: business_requirement
+#: model_terms:ir.actions.act_window,help:business_requirement.act_view_project_br_all
+msgid ""
+"Odoo's Business Requirement management allows you to manage the list\n"
+"                of Business requirement from a Stakeholder for efficient "
+"follow up. You can\n"
+"                track progress, discuss on tasks, attach documents, etc."
+msgstr ""
+"Odoo upravljanje poslovnih zahtev omogoča upravljanje seznama\n"
+"                poslovnih zahtev deležnika. Sledite lahko\n"
+"                napredku, razpravljate ob opravilih, prilagate dokumente, "
+"ipd."
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__on_hold
+msgid "On Hold"
+msgstr "Zadržano"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Other"
+msgstr "Drugo"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__user_id
+msgid "Owner"
+msgstr "Lastnik"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement_category__parent_id
+msgid "Parent Category"
+msgstr "Nadrejena kategorija"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_url
+msgid "Portal Access URL"
+msgstr "URL dostopa do portala"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__priority
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Priority"
+msgstr "Prioriteta"
+
+#. module: business_requirement
+#: model:ir.ui.menu,name:business_requirement.menu_product_template_action
+msgid "Products"
+msgstr "Proizvodi"
+
+#. module: business_requirement
+#: model:ir.model.fields.selection,name:business_requirement.selection__business_requirement__kanban_state__done
+msgid "Ready for next stage"
+msgstr "Pripravljeno na naslednjo stopnjo"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__requested_user_id
+msgid "Requested by"
+msgstr "Zahteval"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__responsible_user_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Responsible"
+msgstr "Odgovorni"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__activity_user_id
+msgid "Responsible User"
+msgstr "Odgovorni uporabnik"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__reviewer_ids
+msgid "Reviewers"
+msgstr "Revizorji"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_has_sms_error
+msgid "SMS Delivery error"
+msgstr "Napaka pri dostavi SMS"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__scenario
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Scenario"
+msgstr "Scenarij"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Scenario:"
+msgstr "Scenarij:"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__access_token
+msgid "Security Token"
+msgstr "Varnostni žeton"
+
+#. module: business_requirement
+#: code:addons/business_requirement/controllers/portal.py:0
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__sequence
+#, python-format
+msgid "Sequence"
+msgstr "Zaporedje"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__origin
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Source"
+msgstr "Vir"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__partner_id
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_page
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Stakeholder"
+msgstr "Deležnik"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Stakeholder Story"
+msgstr "Zgodba deležnika"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Stakeholder Story:"
+msgstr "Zgodba deležnika:"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__state
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "State"
+msgstr "Stanje"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_state
+msgid ""
+"Status based on activities\n"
+"Overdue: Due date is already passed\n"
+"Today: Activity date is today\n"
+"Planned: Future activities."
+msgstr ""
+"Status glede na aktivnosti\n"
+"Prekoračeno: rok izvedbe je že prekoračen\n"
+"Danes: Datum aktivnosti je današnji dan\n"
+"Planirano: Bodoče aktivnosti."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__terms_and_conditions
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Terms and Conditions"
+msgstr "Splošni pogoji"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Terms and Conditions:"
+msgstr "Splošni pogoji:"
+
+#. module: business_requirement
+#: code:addons/business_requirement/tests/test_br.py:0
+#, python-format
+msgid "Test Body"
+msgstr "Testno besedilo"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__test_case
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_form
+msgid "Test Case"
+msgstr "Preizkusni primer"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_body
+msgid "Test Case:"
+msgstr "Preizkusni primer:"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_my_br
+msgid "There are currently no business requirements for your account."
+msgstr "Za vaš račun trenutno ni poslovnih zahtev."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+msgid "There was an error processing this page."
+msgstr "Pri obdelavi te strani je prišlo do napake."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__to_be_reviewed
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "To be Reviewed"
+msgstr "Za revizijo"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__activity_exception_decoration
+msgid "Type of the exception activity on record."
+msgstr "Tip izjeme pri aktivnosti na zapisu."
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_search
+msgid "Unread Messages"
+msgstr "Neprebrana sporočila"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__message_unread_counter
+msgid "Unread Messages Counter"
+msgstr "Št. neprebranih sporočil"
+
+#. module: business_requirement
+#: model:ir.model.fields,field_description:business_requirement.field_business_requirement__website_message_ids
+msgid "Website Messages"
+msgstr "Sporočila spletne strani"
+
+#. module: business_requirement
+#: model:ir.model.fields,help:business_requirement.field_business_requirement__website_message_ids
+msgid "Website communication history"
+msgstr "Kronologija komunikacij spletne strani"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.layout_br_report_header
+msgid "Yes"
+msgstr "Da"
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed /cancel/drop."
+msgstr ""
+"Premaknete se lahko le na naslednje stopnje: osnutek/potrjeno /preklic/"
+"zavrženo."
+
+#. module: business_requirement
+#: code:addons/business_requirement/models/business.py:0
+#, python-format
+msgid "You can only move to the following stage: draft/confirmed/cancel/drop."
+msgstr ""
+"Premaknete se lahko le na naslednje stopnje: osnutek/potrjeno /preklic/"
+"zavrženo."
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.view_business_requirement_kanban_project
+msgid "]&amp;nbsp;"
+msgstr "]&amp;nbsp;"
+
+#. module: business_requirement
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_error
+#: model_terms:ir.ui.view,arch_db:business_requirement.portal_br_success
+msgid "close"
+msgstr "zapri"
+
+#~ msgid "There is no default company for the current user!"
+#~ msgstr "Trenutni uporabnik nima privzete družbe!"
+
+#, fuzzy
+#~| msgid "Confirmation Date"
+#~ msgid "<strong>Confirmation Date:</strong>"
+#~ msgstr "Datum potrditve"
+
+#~ msgid "Business Requirement Stakeholder"
+#~ msgstr "Deležnik poslovnih zahtev"
+
+#~ msgid "Level"
+#~ msgstr "Nivo"
+
+#~ msgid "Parent"
+#~ msgstr "Nadrejena"
+
+#~ msgid "Project"
+#~ msgstr "Projekt"
+
+#~ msgid "Projects"
+#~ msgstr "Projekti"
+
+#~ msgid "Sub Bus. Req."
+#~ msgstr "Podr. posl. zaht."
diff --git a/business_requirement/models/__init__.py b/business_requirement/models/__init__.py
new file mode 100644
index 000000000..3416e7885
--- /dev/null
+++ b/business_requirement/models/__init__.py
@@ -0,0 +1,3 @@
+# Copyright 2017 Elico Corp (https://www.elico-corp.com).
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+from . import business
diff --git a/business_requirement/models/business.py b/business_requirement/models/business.py
new file mode 100644
index 000000000..5b2ad3392
--- /dev/null
+++ b/business_requirement/models/business.py
@@ -0,0 +1,348 @@
+# Copyright 2017 Elico Corp (https://www.elico-corp.com).
+# Copyright 2019 Tecnativa - Alexandre Díaz
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import _, api, fields, models
+from odoo.exceptions import ValidationError
+
+
+class BusinessRequirement(models.Model):
+    _inherit = ["mail.thread", "mail.activity.mixin", "portal.mixin"]
+    _name = "business.requirement"
+    _description = "Business Requirement"
+    _order = "name desc"
+
+    sequence = fields.Char(readonly=True, copy=False, index=True)
+    name = fields.Char(
+        readonly=True,
+        copy=False,
+        states={"draft": [("readonly", False)]},
+    )
+    description = fields.Char(
+        required=True,
+        readonly=True,
+        states={"draft": [("readonly", False)]},
+    )
+    business_requirement = fields.Html(
+        string="Customer Story", readonly=True, states={"draft": [("readonly", False)]}
+    )
+    scenario = fields.Html(
+        readonly=True,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", False)]},
+    )
+    gap = fields.Html(
+        readonly=True,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", False)]},
+    )
+    test_case = fields.Html(
+        readonly=True,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", False)]},
+    )
+    terms_and_conditions = fields.Html(
+        readonly=True,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", False)]},
+    )
+    category_ids = fields.Many2many(
+        comodel_name="business.requirement.category",
+        string="Categories",
+        relation="business_requirement_category_rel",
+        readonly=True,
+        states={"draft": [("readonly", False)]},
+    )
+    state = fields.Selection(
+        selection=[
+            ("draft", "Draft"),
+            ("confirmed", "Confirmed"),
+            ("approved", "Approved"),
+            ("in_progress", "In progress"),
+            ("done", "Done"),
+            ("cancel", "Cancel"),
+            ("drop", "Drop"),
+        ],
+        default="draft",
+        copy=False,
+        readonly=False,
+        states={"draft": [("readonly", False)]},
+        tracking=True,
+    )
+    change_request = fields.Boolean(
+        string="Change Request?", readonly=True, states={"draft": [("readonly", False)]}
+    )
+    partner_id = fields.Many2one(
+        comodel_name="res.partner",
+        string="Stakeholder",
+        copy=False,
+        readonly=True,
+        states={"draft": [("readonly", False)]},
+    )
+    priority = fields.Selection(
+        selection=[("0", "Low"), ("1", "Normal"), ("2", "High")],
+        required=True,
+        default="1",
+    )
+    requested_user_id = fields.Many2one(
+        comodel_name="res.users",
+        string="Requested by",
+        required=True,
+        readonly=True,
+        default=lambda self: self.env.user,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", False)]},
+    )
+    confirmation_date = fields.Datetime(copy=False, readonly=True)
+    confirmed_user_id = fields.Many2one(
+        comodel_name="res.users", string="Confirmed by", copy=False, readonly=True
+    )
+    responsible_user_id = fields.Many2one(
+        comodel_name="res.users",
+        string="Responsible",
+        copy=False,
+        readonly=True,
+        default=lambda self: self.env.user,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", False)]},
+    )
+    reviewer_ids = fields.Many2many(
+        comodel_name="res.users",
+        string="Reviewers",
+        copy=False,
+        readonly=True,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", False)]},
+    )
+    approval_date = fields.Datetime(copy=False, readonly=True)
+    approved_id = fields.Many2one(
+        comodel_name="res.users", string="Approved by", copy=False, readonly=True
+    )
+    company_id = fields.Many2one(
+        comodel_name="res.company",
+        string="Company",
+        required=True,
+        readonly=True,
+        states={"draft": [("readonly", False)]},
+        default=lambda self: self.env.company,
+    )
+    to_be_reviewed = fields.Boolean()
+    kanban_state = fields.Selection(
+        selection=[
+            ("normal", "In Progress"),
+            ("on_hold", "On Hold"),
+            ("done", "Ready for next stage"),
+        ],
+        tracking=True,
+        default="normal",
+    )
+    origin = fields.Char(
+        string="Source",
+        readonly=True,
+        states={"draft": [("readonly", False)], "confirmed": [("readonly", True)]},
+    )
+    portal_published = fields.Boolean("In Portal", default=False)
+    user_id = fields.Many2one(
+        comodel_name="res.users",
+        string="Owner",
+        default=lambda self: self.env.user,
+        required=True,
+        tracking=True,
+    )
+    date = fields.Date(
+        default=lambda self: self._context.get("date", fields.Date.context_today(self)),
+        required=True,
+    )
+
+    @api.model_create_multi
+    def create(self, vals_list):
+        for vals in vals_list:
+            if vals.get("name", "/") == "/":
+                vals["name"] = self.env["ir.sequence"].next_by_code(
+                    "business.requirement"
+                )
+        return super().create(vals_list)
+
+    def write(self, vals):
+        if vals.get("state"):
+            user = self.env.user
+            user_manager = user.has_group(
+                "business_requirement.group_business_requirement_manager"
+            )
+            date = fields.Datetime.now()
+            if vals["state"] == "confirmed":
+                vals.update({"confirmed_user_id": user.id, "confirmation_date": date})
+            if vals["state"] == "draft":
+                vals.update(
+                    {
+                        "confirmed_user_id": False,
+                        "approved_id": False,
+                        "confirmation_date": False,
+                        "approval_date": False,
+                    }
+                )
+            if vals["state"] == "approved":
+                if user_manager:
+                    vals.update({"approved_id": user.id, "approval_date": date})
+                else:
+                    raise ValidationError(
+                        _(
+                            "You can only move to the following stage: "
+                            "draft/confirmed /cancel/drop."
+                        )
+                    )
+            if vals["state"] in {"approved", "in_progress", "done"}:
+                if not user_manager:
+                    raise ValidationError(
+                        _(
+                            "You can only move to the following stage: "
+                            "draft/confirmed/cancel/drop."
+                        )
+                    )
+        return super().write(vals)
+
+    def name_get(self):
+        """
+        Display display [Name] Description
+        """
+        result = []
+        for br in self:
+            formatted_name = "[{}] {}".format(br.name, br.description)
+            result.append((br.id, formatted_name))
+        return result
+
+    @api.model
+    def name_search(self, name, args=None, operator="ilike", limit=100):
+        """Search BR based on Name or Description"""
+        # Make a search with default criteria
+        names = super().name_search(
+            name=name, args=args, operator=operator, limit=limit
+        )
+        # Make the other search
+        descriptions = []
+        if name:
+            domain = [("description", "=ilike", name + "%")]
+            descriptions = self.search(domain, limit=limit).name_get()
+        # Merge both results
+        return list(set(names) | set(descriptions))[:limit]
+
+    @api.returns("mail.message", lambda value: value.id)
+    def message_post(
+        self,
+        body="",
+        subject=None,
+        message_type="notification",
+        email_from=None,
+        author_id=None,
+        parent_id=False,
+        subtype_xmlid=None,
+        subtype_id=None,
+        partner_ids=None,
+        channel_ids=None,
+        attachments=None,
+        attachment_ids=None,
+        add_sign=True,
+        record_name=False,
+        **kwargs
+    ):
+        context = self._context or {}
+        if context.get("default_model") == "business.requirement" and context.get(
+            "default_res_id"
+        ):
+            br_rec = self.env[context.get("default_model")].browse(
+                context["default_res_id"]
+            )
+            subject = "Re: {}-{}".format(br_rec.name, br_rec.description)
+        message = super(
+            BusinessRequirement, self.with_context(mail_create_nosubscribe=True)
+        ).message_post(
+            body=body,
+            subject=subject,
+            message_type=message_type,
+            email_from=email_from,
+            author_id=author_id,
+            parent_id=parent_id,
+            subtype_xmlid=subtype_xmlid,
+            subtype_id=subtype_id,
+            partner_ids=partner_ids,
+            attachments=attachments,
+            attachment_ids=attachment_ids,
+            add_sign=add_sign,
+            record_name=record_name,
+            **kwargs
+        )
+        return message
+
+    @api.model
+    def read_group(
+        self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True
+    ):
+        """Read group customization in order to display all the stages in the
+        kanban view. if the stages values are there it will group by state.
+        """
+        if groupby and groupby[0] == "state":
+            states = (
+                self.env["business.requirement"]
+                .fields_get(["state"])
+                .get("state")
+                .get("selection")
+            )
+            read_group_all_states = [
+                {
+                    "__context": {"group_by": groupby[1:]},
+                    "__domain": domain + [("state", "=", state_value)],
+                    "state": state_value,
+                    "state_count": 0,
+                }
+                for state_value, state_name in states
+            ]
+            # Get standard results
+            read_group_res = super().read_group(
+                domain, fields, groupby, offset=offset, limit=limit, orderby=orderby
+            )
+            # Update standard results with default results
+            result = []
+            for state_value, _state_name in states:
+                res = list(filter(lambda x: x["state"] == state_value, read_group_res))
+                if not res:
+                    res = list(
+                        filter(
+                            lambda x: x["state"] == state_value, read_group_all_states
+                        )
+                    )
+                res[0]["state"] = state_value
+                result.append(res[0])
+            return result
+        return super().read_group(
+            domain,
+            fields,
+            groupby,
+            offset=offset,
+            limit=limit,
+            orderby=orderby,
+            lazy=lazy,
+        )
+
+    def get_portal_confirmation_action(self):
+        return (
+            self.env["ir.config_parameter"]
+            .sudo()
+            .get_param(
+                "business_requirement.br_portal_confirmation_options", default="none"
+            )
+        )
+
+    def _compute_access_url(self):
+        super()._compute_access_url()
+        for br in self:
+            br.access_url = "/my/business_requirement/%s" % br.id
+        return
+
+    def portal_publish_button(self):
+        self.ensure_one()
+        return self.write({"portal_published": not self.portal_published})
+
+
+class BusinessRequirementCategory(models.Model):
+    _name = "business.requirement.category"
+    _description = "Categories"
+
+    name = fields.Char(required=True)
+    parent_id = fields.Many2one(
+        comodel_name="business.requirement.category",
+        string="Parent Category",
+        ondelete="restrict",
+    )
diff --git a/business_requirement/readme/CONTRIBUTORS.rst b/business_requirement/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..7fdff42dd
--- /dev/null
+++ b/business_requirement/readme/CONTRIBUTORS.rst
@@ -0,0 +1,13 @@
+* Eric Caudal <eric.caudal@elico-corp.com>
+* Alex Duan <alex.duan@elico-corp.com>
+* Xie XiaoPeng <xie.xiaopeng@elico-corp.com>
+* Victor M. Martin <victor.martin@elico-corp.com>
+* Evan Li <li.aiwen@elico-corp.com>
+* Reinhard Sheng <reinhard.sheng@elico-corp.com>
+
+* `Tecnativa <https://www.tecnativa.com>`_:
+
+  * Alexandre Diaz
+  * Pedro M. Baeza
+  * Victor M.M. Torres
+  * Víctor Martínez
diff --git a/business_requirement/readme/CREDITS.rst b/business_requirement/readme/CREDITS.rst
new file mode 100644
index 000000000..0167d01c9
--- /dev/null
+++ b/business_requirement/readme/CREDITS.rst
@@ -0,0 +1,5 @@
+
+* Images:
+
+  * `briefcase <https://fontawesome.com/icons/briefcase?style=solid>`__ from `FontAwesome <https://fontawesome.com/license>`__.
+  * `drafting-compass <https://fontawesome.com/icons/drafting-compass?style=solid>`__ from `FontAwesome <https://fontawesome.com/license>`__.
diff --git a/business_requirement/readme/DESCRIPTION.rst b/business_requirement/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..0a828cb98
--- /dev/null
+++ b/business_requirement/readme/DESCRIPTION.rst
@@ -0,0 +1,32 @@
+A **Business requirement** (BR) is the expression of a business need by a customer
+or internal project user.
+
+A BR contains multiple different parts to explain the stakeholder need and how to
+meet his/her requirements:
+
+* **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
+  developments/setup
+* **Test case**: A set of conditions under which a tester will determine whether the application, software system or
+  one of its features is working as it was originally established for it to do.
+* **Deliverables** to be provided to the customer/user
+* **Resources** necessary to achieve the deliverables
+* **Additional** information (approval, cost control etc.)
+
+This set of modules was originally designed for the service/IT industry but the
+requirement management design has been kept as generic as possible so that it can
+apply to many other cases/industries (customer or internal projects):
+
+* Construction
+* Trading (New product development)
+* Business Consultancy
+* Web or IT development
+* R&D projects
+* etc.
+
+More information about business requirements management:
+
+* `Wikipedia <https://en.wikipedia.org/wiki/Business_requirements>`_
+* `Six Sigma <https://www.isixsigma.com/implementation/project-selection-tracking/business-requirements-document-high-level-review/>`_
diff --git a/business_requirement/report/report.xml b/business_requirement/report/report.xml
new file mode 100644
index 000000000..381c59e14
--- /dev/null
+++ b/business_requirement/report/report.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <record id="business_requirement_report" model="ir.actions.report">
+        <field name="name">Business Requirement Report</field>
+        <field name="model">business.requirement</field>
+        <field name="report_type">qweb-pdf</field>
+        <field name="report_name">business_requirement.br_report</field>
+        <field name="report_file">business_requirement.br_report</field>
+        <field name="paperformat_id" ref="base.paperformat_euro" />
+    </record>
+</odoo>
diff --git a/business_requirement/security/ir.model.access.csv b/business_requirement/security/ir.model.access.csv
new file mode 100644
index 000000000..5e92792ff
--- /dev/null
+++ b/business_requirement/security/ir.model.access.csv
@@ -0,0 +1,8 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_business_requirement_user,business.requirement.user,model_business_requirement,business_requirement.group_business_requirement_user,1,1,1,1
+access_business_requirement_manager,business.requirement.manager,model_business_requirement,business_requirement.group_business_requirement_manager,1,1,1,1
+
+access_business_requirement_category_user,business.requirement.category.user,model_business_requirement_category,business_requirement.group_business_requirement_user,1,1,1,1
+access_business_requirement_category_manager,business.requirement.category.manager,model_business_requirement_category,business_requirement.group_business_requirement_manager,1,1,1,1
+
+access_business_requirement_portal,business.requirement.portal,model_business_requirement,base.group_portal,1,0,0,0
diff --git a/business_requirement/security/security.xml b/business_requirement/security/security.xml
new file mode 100644
index 000000000..36593cf4e
--- /dev/null
+++ b/business_requirement/security/security.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <record id="group_business_requirement_user" model="res.groups">
+        <field name="name">Business Requirement User</field>
+        <field name="implied_ids" eval="[(4, ref('base.group_user'))]" />
+        <field
+            name="category_id"
+            ref="business_requirement.module_category_business_requirement"
+        />
+        <field
+            name="users"
+            eval="[(4, ref('base.user_admin')), (4, ref('base.user_root'))]"
+        />
+    </record>
+    <record id="group_business_requirement_manager" model="res.groups">
+        <field name="name">Business Requirement Manager</field>
+        <field
+            name="implied_ids"
+            eval="[(4, ref('business_requirement.group_business_requirement_user'))]"
+        />
+        <field
+            name="category_id"
+            ref="business_requirement.module_category_business_requirement"
+        />
+        <field
+            name="users"
+            eval="[(4, ref('base.user_admin')), (4, ref('base.user_root'))]"
+        />
+    </record>
+    <record id="rule_business_requirement" model="ir.rule">
+        <field name="name">Business Requirement</field>
+        <field name="model_id" ref="model_business_requirement" />
+        <field name="global" eval="True" />
+        <field
+            name="domain_force"
+        >['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+    </record>
+    <!-- Portal -->
+    <record id="br_rule_portal" model="ir.rule">
+        <field name="name">BR: portal users: portal and following</field>
+        <field name="model_id" ref="business_requirement.model_business_requirement" />
+        <field
+            name="domain_force"
+        >[('portal_published', '=', True),('message_partner_ids','child_of',[user.commercial_partner_id.id])]</field>
+        <field name="groups" eval="[(4, ref('base.group_portal'))]" />
+    </record>
+</odoo>
diff --git a/business_requirement/static/description/icon.png b/business_requirement/static/description/icon.png
new file mode 100644
index 000000000..97915db09
Binary files /dev/null and b/business_requirement/static/description/icon.png differ
diff --git a/business_requirement/static/description/icon.svg b/business_requirement/static/description/icon.svg
new file mode 100644
index 000000000..6ee945852
--- /dev/null
+++ b/business_requirement/static/description/icon.svg
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   width="80"
+   height="80"
+   viewBox="0 0 80 80"
+   sodipodi:docname="icon.svg"
+   inkscape:export-filename="icon.png"
+   inkscape:export-xdpi="153.60001"
+   inkscape:export-ydpi="153.60001">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6">
+    <path
+       d="M4,5.35309892e-14 C36.4160122,9.87060235e-15 58.0836068,-3.97961823e-14 65,5.07020818e-14 C69,6.733808e-14 70,1 70,5 C70,43.0488877 70,62.4235458 70,65 C70,69 69,70 65,70 C61,70 9,70 4,70 C1,70 7.10542736e-15,69 7.10542736e-15,65 C7.25721566e-15,62.4676575 3.83358709e-14,41.8005206 3.60818146e-14,5 C-1.13686838e-13,1 1,5.75716207e-14 4,5.35309892e-14 Z"
+       id="icon-a" />
+    <linearGradient
+       y2="70"
+       y1="0"
+       x2="0"
+       x1="70"
+       id="icon-c"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.1428571,0,0,1.14289,3.0762409e-6,-0.00229907)">
+      <stop
+         id="stop26"
+         stop-color="#269396"
+         offset="0%" />
+      <stop
+         id="stop28"
+         stop-color="#218689"
+         offset="100%" />
+    </linearGradient>
+    <path
+       d="M35.5,22.75 C39.6529297,22.75 43.0195312,26.1166016 43.0195312,30.2695312 C43.0195312,34.4224609 39.6529297,37.7890625 35.5,37.7890625 C31.3470703,37.7890625 27.9804687,34.4224609 27.9804687,30.2695312 C27.9804687,26.1166016 31.3470703,22.75 35.5,22.75 Z M43.6256055,38.3165755 L40.7623112,37.6007161 C37.2411654,40.1333659 32.9730794,39.5681836 30.2377604,37.6007161 L27.3744661,38.3165755 C25.0790039,38.8904232 23.46875,40.9527799 23.46875,43.3188542 L23.46875,47.671875 C23.46875,49.0957161 24.6230339,50.25 26.046875,50.25 L44.953125,50.25 C46.3769661,50.25 47.53125,49.0957161 47.53125,47.671875 L47.53125,43.3188542 C47.53125,40.9527799 45.9209961,38.8904232 43.6256055,38.3165755 Z M50.3958333,39.6510417 C53.1644531,39.6510417 55.4088542,37.4066406 55.4088542,34.6380208 C55.4088542,31.869401 53.1644531,29.625 50.3958333,29.625 C47.6272135,29.625 45.3828125,31.869401 45.3828125,34.6380208 C45.3828125,37.4066406 47.6272135,39.6510417 50.3958333,39.6510417 Z M20.6041667,39.6510417 C23.3727865,39.6510417 25.6171875,37.4066406 25.6171875,34.6380208 C25.6171875,31.869401 23.3727865,29.625 20.6041667,29.625 C17.8355469,29.625 15.5911458,31.869401 15.5911458,34.6380208 C15.5911458,37.4066406 17.8355469,39.6510417 20.6041667,39.6510417 Z M22.3229167,47.671875 L22.3229167,43.3188542 C22.3229167,42.1335612 22.6518424,41.0125781 23.2326367,40.0533008 C21.0850586,41.1074674 18.6968555,40.6769206 17.0959831,39.5255013 L15.1870964,40.0027409 C13.6568359,40.3852344 12.5833333,41.7602344 12.5833333,43.3375456 L12.5833333,46.2395833 C12.5833333,47.1888346 13.352832,47.9583333 14.3020833,47.9583333 L22.3350195,47.9583333 C22.3273388,47.8630362 22.3233016,47.7674804 22.3229167,47.671875 Z M55.8129036,40.0026693 L53.9040169,39.5254297 C51.9041797,40.9638802 49.5434049,40.902793 47.7604883,40.0423437 C48.3454362,41.004056 48.6770833,42.1289779 48.6770833,43.3188542 L48.6770833,47.671875 C48.6770833,47.7683398 48.6722135,47.8636589 48.6649805,47.9583333 L56.6979167,47.9583333 C57.647168,47.9583333 58.4166667,47.1888346 58.4166667,46.2395833 L58.4166667,43.3375456 C58.4166667,41.7602344 57.3431641,40.3852344 55.8129036,40.0026693 Z"
+       id="icon-d" />
+    <path
+       d="M35.5,20.75 C39.6529297,20.75 43.0195312,24.1166016 43.0195312,28.2695312 C43.0195312,32.4224609 39.6529297,35.7890625 35.5,35.7890625 C31.3470703,35.7890625 27.9804687,32.4224609 27.9804687,28.2695312 C27.9804687,24.1166016 31.3470703,20.75 35.5,20.75 Z M43.6256055,36.3165755 L40.7623112,35.6007161 C37.2411654,38.1333659 32.9730794,37.5681836 30.2377604,35.6007161 L27.3744661,36.3165755 C25.0790039,36.8904232 23.46875,38.9527799 23.46875,41.3188542 L23.46875,45.671875 C23.46875,47.0957161 24.6230339,48.25 26.046875,48.25 L44.953125,48.25 C46.3769661,48.25 47.53125,47.0957161 47.53125,45.671875 L47.53125,41.3188542 C47.53125,38.9527799 45.9209961,36.8904232 43.6256055,36.3165755 Z M50.3958333,37.6510417 C53.1644531,37.6510417 55.4088542,35.4066406 55.4088542,32.6380208 C55.4088542,29.869401 53.1644531,27.625 50.3958333,27.625 C47.6272135,27.625 45.3828125,29.869401 45.3828125,32.6380208 C45.3828125,35.4066406 47.6272135,37.6510417 50.3958333,37.6510417 Z M20.6041667,37.6510417 C23.3727865,37.6510417 25.6171875,35.4066406 25.6171875,32.6380208 C25.6171875,29.869401 23.3727865,27.625 20.6041667,27.625 C17.8355469,27.625 15.5911458,29.869401 15.5911458,32.6380208 C15.5911458,35.4066406 17.8355469,37.6510417 20.6041667,37.6510417 Z M22.3229167,45.671875 L22.3229167,41.3188542 C22.3229167,40.1335612 22.6518424,39.0125781 23.2326367,38.0533008 C21.0850586,39.1074674 18.6968555,38.6769206 17.0959831,37.5255013 L15.1870964,38.0027409 C13.6568359,38.3852344 12.5833333,39.7602344 12.5833333,41.3375456 L12.5833333,44.2395833 C12.5833333,45.1888346 13.352832,45.9583333 14.3020833,45.9583333 L22.3350195,45.9583333 C22.3273388,45.8630362 22.3233016,45.7674804 22.3229167,45.671875 Z M55.8129036,38.0026693 L53.9040169,37.5254297 C51.9041797,38.9638802 49.5434049,38.902793 47.7604883,38.0423437 C48.3454362,39.004056 48.6770833,40.1289779 48.6770833,41.3188542 L48.6770833,45.671875 C48.6770833,45.7683398 48.6722135,45.8636589 48.6649805,45.9583333 L56.6979167,45.9583333 C57.647168,45.9583333 58.4166667,45.1888346 58.4166667,44.2395833 L58.4166667,41.3375456 C58.4166667,39.7602344 57.3431641,38.3852344 55.8129036,38.0026693 Z"
+       id="icon-e" />
+    <mask
+       id="icon-b"
+       fill="#fff">
+      <use
+         height="100%"
+         width="100%"
+         y="0"
+         x="0"
+         xlink:href="#icon-a"
+         id="use35" />
+    </mask>
+  </defs>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2493"
+     inkscape:window-height="1025"
+     id="namedview4"
+     showgrid="false"
+     inkscape:zoom="10.40892"
+     inkscape:cx="40.000006"
+     inkscape:cy="38.691579"
+     inkscape:window-x="67"
+     inkscape:window-y="27"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <sodipodi:guide
+       position="17.8133,23.599813"
+       orientation="-0.70710678,0.70710678"
+       id="guide988"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="51.906976,7.8139534"
+       orientation="-0.70710678,0.70710678"
+       id="guide990"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="16.089905,35.030414"
+       orientation="-0.70710678,0.70710678"
+       id="guide992"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="65.674418,30.232558"
+       orientation="-0.70710678,0.70710678"
+       id="guide994"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="42.883721,28.930232"
+       orientation="-0.70710678,0.70710678"
+       id="guide996"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="32.093023,35.069767"
+       orientation="-0.70710678,0.70710678"
+       id="guide998"
+       inkscape:locked="false" />
+    <sodipodi:guide
+       position="60.393722,23.599813"
+       orientation="-0.70710678,0.70710678"
+       id="guide1000"
+       inkscape:locked="false" />
+  </sodipodi:namedview>
+  <rect
+     id="rect38"
+     height="80.002304"
+     width="80"
+     x="6.8753479e-06"
+     y="-0.0022990874"
+     style="fill:#e3da70;fill-rule:evenodd;stroke-width:1.14287353;fill-opacity:1" />
+  <path
+     id="path40"
+     d="M 4.5714315,1.3675228 H 74.285715 c 3.047619,0 4.95238,0.7597341 5.714285,2.2792022 l 8e-6,-3.64902409 H 6.8753479e-6 L 3.0762409e-6,3.646725 C 0.76190819,2.1272569 2.2857173,1.3675228 4.5714315,1.3675228 Z"
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff;fill-opacity:0.38299997;fill-rule:evenodd;stroke-width:1.14122796"
+     sodipodi:nodetypes="ssccccs" />
+  <path
+     id="path42"
+     d="M 44.259137,79.833886 4.5714315,79.999999 C 2.2857373,80.009566 3.0762409e-6,79.830121 3.0762409e-6,75.243403 L 0.00260894,61.056882 16.089905,44.969586 l 6.56982,-0.983101 1.406989,5.589387 -4.39312,-4.133187 3.085986,3.955753 5.91917,-1.053932 4.251482,-4.251482 1.040064,5.120048 12.448308,-1.585165 2.292636,-2.071125 8.524376,4.018131 5.868906,2.762425 -4.313825,4.313825 1.603025,-0.250976 -2.297335,2.297335 -4.421969,11.721083 z"
+     inkscape:connector-curvature="0"
+     style="opacity:0.32400004;fill:#393939;fill-rule:evenodd;stroke-width:1.14122796"
+     sodipodi:nodetypes="csscccccccccccccccccc" />
+  <path
+     id="path44"
+     d="M 4.5714315,78.860398 H 74.285715 c 3.047619,0 4.95238,-1.139601 5.714285,-3.418803 0,3.038936 0,4.558404 0,4.558404 H 3.0762409e-6 c 0,0 0,-1.519468 0,-4.558404 C 0.76190819,77.720797 2.2857173,78.860398 4.5714315,78.860398 Z"
+     inkscape:connector-curvature="0"
+     style="fill:#000000;fill-opacity:0.38299997;fill-rule:evenodd;stroke-width:1.14122796" />
+  <path
+     style="fill:#000000;fill-opacity:0.29803922;stroke:none;stroke-width:0.07507458;stroke-opacity:0.29803922"
+     d="M 45.765625 42.720703 C 32.287432 42.720703 17.801576 51.634791 13.441406 62.667969 C 9.0812358 73.701146 16.519854 82.61914 29.998047 82.619141 C 43.476239 82.619141 57.966002 73.701146 62.326172 62.667969 C 66.686342 51.634791 59.243817 42.720703 45.765625 42.720703 z M 45.570312 43.212891 C 53.714466 43.212891 59.582886 46.523234 61.904297 51.570312 C 61.398247 51.160433 60.690358 50.90625 59.830078 50.90625 L 53.175781 50.90625 L 54.462891 47.652344 C 55.14852 45.917396 53.884877 44.400391 51.755859 44.400391 L 38.449219 44.400391 C 36.320202 44.400391 33.857505 45.917396 33.171875 47.652344 L 31.886719 50.90625 L 25.232422 50.90625 C 24.383852 50.90625 23.486977 51.152801 22.666016 51.552734 C 28.973645 46.518064 37.438017 43.212891 45.570312 43.212891 z M 38.066406 48.736328 L 48.710938 48.736328 L 47.853516 50.90625 L 37.208984 50.90625 L 38.066406 48.736328 z M 62.650391 53.726562 C 63.299314 56.405964 63.068656 59.444854 61.794922 62.667969 C 60.538701 65.846769 58.397834 68.841767 55.685547 71.494141 L 59.537109 61.748047 L 43.568359 61.748047 L 42.283203 65.001953 C 42.046447 65.601052 41.258613 66.085937 40.523438 66.085938 L 32.541016 66.085938 C 31.80584 66.085938 31.401916 65.601052 31.638672 65.001953 L 32.923828 61.748047 L 16.957031 61.748047 L 13.099609 71.507812 C 13.096965 71.514505 13.096337 71.520658 13.09375 71.527344 C 12.469692 68.868226 12.710133 65.857775 13.970703 62.667969 C 15.241904 59.451263 17.415059 56.423561 20.173828 53.748047 C 20.096569 53.884401 20.010347 54.018349 19.955078 54.158203 L 17.8125 59.580078 L 60.394531 59.580078 L 62.537109 54.158203 C 62.59519 54.011234 62.619618 53.869628 62.650391 53.726562 z M 14.152344 74.365234 C 14.608517 74.608194 15.160956 74.761719 15.806641 74.761719 L 50.402344 74.761719 C 51.024399 74.761719 51.672436 74.619313 52.298828 74.392578 C 46.084371 79.078664 37.989177 82.125 30.193359 82.125 C 22.37482 82.125 16.651616 79.074639 14.152344 74.365234 z "
+     id="path1002" />
+  <path
+     style="fill:#ffffff;stroke-width:0.07507458"
+     d="M 45.767578 39.541016 C 32.289385 39.541016 17.799624 48.457056 13.439453 59.490234 C 9.0792829 70.523412 16.521807 79.4375 30 79.4375 C 43.478193 79.4375 57.964049 70.523412 62.324219 59.490234 C 66.68439 48.457056 59.245771 39.541016 45.767578 39.541016 z M 45.572266 40.033203 C 53.716386 40.033203 59.582867 43.345535 61.904297 48.392578 C 61.398191 47.982191 60.690953 47.724609 59.830078 47.724609 L 53.175781 47.724609 L 54.462891 44.472656 C 55.14852 42.737708 53.884877 41.21875 51.755859 41.21875 L 38.449219 41.21875 C 36.320202 41.21875 33.857505 42.737708 33.171875 44.472656 L 31.886719 47.724609 L 25.232422 47.724609 C 24.387098 47.724609 23.494215 47.971947 22.675781 48.369141 C 28.982491 43.338429 37.443755 40.033203 45.572266 40.033203 z M 38.066406 45.556641 L 48.710938 45.556641 L 47.853516 47.724609 L 37.208984 47.724609 L 38.066406 45.556641 z M 62.650391 50.544922 C 63.300165 53.225009 63.069103 56.265988 61.794922 59.490234 C 60.538128 62.670485 58.397565 65.665321 55.683594 68.318359 L 59.537109 58.568359 L 43.568359 58.568359 L 42.283203 61.822266 C 42.046447 62.421365 41.258613 62.90625 40.523438 62.90625 L 32.541016 62.90625 C 31.80584 62.90625 31.401916 62.421365 31.638672 61.822266 L 32.923828 58.568359 L 16.957031 58.568359 L 13.099609 68.328125 C 13.097274 68.334034 13.097993 68.339799 13.095703 68.345703 C 12.472309 65.687433 12.710534 62.679024 13.970703 59.490234 C 15.241016 56.275775 17.413915 53.248368 20.169922 50.574219 C 20.094367 50.708268 20.009384 50.841099 19.955078 50.978516 L 17.8125 56.400391 L 60.394531 56.400391 L 62.537109 50.978516 C 62.595269 50.831347 62.619613 50.688176 62.650391 50.544922 z M 14.154297 71.185547 C 14.610207 71.428007 15.161674 71.580078 15.806641 71.580078 L 50.402344 71.580078 C 51.024966 71.580078 51.673862 71.44001 52.300781 71.212891 C 46.086437 75.898762 37.991426 78.943359 30.195312 78.943359 C 22.377207 78.943359 16.653993 75.893988 14.154297 71.185547 z "
+     id="path958" />
+  <g
+     id="g954">
+    <use
+       transform="matrix(1.1428571,0,0,1.1396011,119.06977,11.576759)"
+       height="100%"
+       width="100%"
+       y="0"
+       x="0"
+       style="opacity:0.3;fill:#000000;fill-rule:nonzero"
+       xlink:href="#icon-d"
+       id="use46" />
+    <use
+       transform="matrix(1.1428571,0,0,1.1396011,119.06977,11.576759)"
+       height="100%"
+       width="100%"
+       y="0"
+       x="0"
+       style="fill:#ffffff;fill-rule:nonzero"
+       xlink:href="#icon-e"
+       id="use48" />
+  </g>
+  <path
+     style="fill:#000000;fill-opacity:0.29803922;stroke-width:0.09594429"
+     inkscape:connector-curvature="0"
+     d="m 59.937408,39.011901 c -2.403405,1.950547 -5.049549,3.567209 -7.919242,4.706067 l 5.21745,9.036994 5.176195,2.210556 c 0.941214,0.402007 2.004277,-0.212037 2.127085,-1.228087 l 0.673529,-5.588755 z m 4.076673,-9.072493 c 0.466289,-0.735893 0.181335,-1.726038 -0.580463,-2.148193 l -2.693156,-1.493853 c -0.717664,-0.398168 -1.593635,-0.140078 -2.039776,0.548802 -3.94427,6.095341 -10.733289,9.822777 -18.049042,9.822777 -2.295947,0 -4.531449,-0.407763 -6.659493,-1.106238 l 6.462808,-11.19478 c 0.06716,0.0019 0.128565,0.02015 0.195726,0.02015 0.06716,0 0.129525,-0.01823 0.195726,-0.02015 l 4.901794,8.49107 c 2.996341,-0.859661 5.714443,-2.470566 7.925959,-4.693595 l -4.968955,-8.607163 c 0.714785,-1.307721 1.157088,-2.785263 1.157088,-4.380816 0,-5.086967 -4.123686,-9.2106533 -9.210653,-9.2106533 -5.086966,0 -9.210652,4.1236863 -9.210652,9.2106533 0,1.595553 0.442303,3.073095 1.156129,4.380816 l -6.552995,11.35117 C 24.840025,29.795491 23.7453,28.550134 22.812722,27.167577 22.353148,26.486373 21.47238,26.244593 20.761433,26.656194 l -2.662455,1.541825 c -0.753162,0.435587 -1.019887,1.42957 -0.541125,2.155868 1.493852,2.268123 3.328307,4.241698 5.370961,5.950466 l -6.838909,11.845282 0.673529,5.588756 c 0.122808,1.01605 1.185871,1.630093 2.127085,1.228087 l 5.176195,-2.210557 6.792856,-11.765649 c 3.088446,1.174358 6.397565,1.819104 9.792074,1.819104 9.503283,0 18.313848,-4.894119 23.362437,-12.869968 z M 40.651644,12.107201 c 1.695336,0 3.070218,1.374882 3.070218,3.070218 0,1.695335 -1.374882,3.070217 -3.070218,3.070217 -1.695335,0 -3.070217,-1.374882 -3.070217,-3.070217 0,-1.695336 1.374882,-3.070218 3.070217,-3.070218 z"
+     id="path1008" />
+  <path
+     id="path971"
+     d="m 59.937408,35.831852 c -2.403405,1.950547 -5.049549,3.567209 -7.919242,4.706067 l 5.21745,9.036994 5.176195,2.210556 c 0.941214,0.402007 2.004277,-0.212037 2.127085,-1.228087 l 0.673529,-5.588755 z m 4.076673,-9.072493 c 0.466289,-0.735893 0.181335,-1.726038 -0.580463,-2.148193 l -2.693156,-1.493853 c -0.717664,-0.398168 -1.593635,-0.140078 -2.039776,0.548802 -3.94427,6.095341 -10.733289,9.822777 -18.049042,9.822777 -2.295947,0 -4.531449,-0.407763 -6.659493,-1.106238 l 6.462808,-11.19478 c 0.06716,0.0019 0.128565,0.02015 0.195726,0.02015 0.06716,0 0.129525,-0.01823 0.195726,-0.02015 l 4.901794,8.49107 c 2.996341,-0.859661 5.714443,-2.470566 7.925959,-4.693595 l -4.968955,-8.607163 c 0.714785,-1.307721 1.157088,-2.785263 1.157088,-4.380816 0,-5.0869673 -4.123686,-9.2106533 -9.210653,-9.2106533 -5.086966,0 -9.210652,4.123686 -9.210652,9.2106533 0,1.595553 0.442303,3.073095 1.156129,4.380816 l -6.552995,11.35117 C 24.840025,26.615442 23.7453,25.370085 22.812722,23.987528 22.353148,23.306324 21.47238,23.064544 20.761433,23.476145 l -2.662455,1.541825 c -0.753162,0.435587 -1.019887,1.42957 -0.541125,2.155868 1.493852,2.268123 3.328307,4.241698 5.370961,5.950466 l -6.838909,11.845282 0.673529,5.588756 c 0.122808,1.01605 1.185871,1.630093 2.127085,1.228087 l 5.176195,-2.210557 6.792856,-11.765649 c 3.088446,1.174358 6.397565,1.819104 9.792074,1.819104 9.503283,0 18.313848,-4.894119 23.362437,-12.869968 z M 40.651644,8.9271517 c 1.695336,0 3.070218,1.3748823 3.070218,3.0702183 0,1.695335 -1.374882,3.070217 -3.070218,3.070217 -1.695335,0 -3.070217,-1.374882 -3.070217,-3.070217 0,-1.695336 1.374882,-3.0702183 3.070217,-3.0702183 z"
+     inkscape:connector-curvature="0"
+     style="fill:#ffffff;stroke-width:0.09594429" />
+</svg>
diff --git a/business_requirement/static/description/index.html b/business_requirement/static/description/index.html
new file mode 100644
index 000000000..06164a34e
--- /dev/null
+++ b/business_requirement/static/description/index.html
@@ -0,0 +1,474 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
+<title>Business Requirement</title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+.subscript {
+  vertical-align: sub;
+  font-size: smaller }
+
+.superscript {
+  vertical-align: super;
+  font-size: smaller }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
+  overflow: hidden;
+}
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title, .code .error {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left, object.align-left, table.align-left {
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right, object.align-right, table.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+img.align-center, .figure.align-center, object.align-center {
+  display: block;
+  margin-left: auto;
+  margin-right: auto;
+}
+
+table.align-center {
+  margin-left: auto;
+  margin-right: auto;
+}
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: inherit }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+.align-top    {
+  vertical-align: top }
+
+.align-middle {
+  vertical-align: middle }
+
+.align-bottom {
+  vertical-align: bottom }
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block, pre.math, pre.code {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+pre.code .ln { color: grey; } /* line numbers */
+pre.code, code { background-color: #eeeeee }
+pre.code .comment, code .comment { color: #5C6576 }
+pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
+pre.code .literal.string, code .literal.string { color: #0C5404 }
+pre.code .name.builtin, code .name.builtin { color: #352B84 }
+pre.code .deleted, code .deleted { background-color: #DEB0A1}
+pre.code .inserted, code .inserted { background-color: #A3D289}
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+/* "booktabs" style (no vertical lines) */
+table.docutils.booktabs {
+  border: 0px;
+  border-top: 2px solid;
+  border-bottom: 2px solid;
+  border-collapse: collapse;
+}
+table.docutils.booktabs * {
+  border: 0px;
+}
+table.docutils.booktabs th {
+  border-bottom: thin solid;
+  text-align: left;
+}
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="business-requirement">
+<h1 class="title">Business Requirement</h1>
+
+<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!! This file is generated by oca-gen-addon-readme !!
+!! changes will be overwritten.                   !!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
+<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/business-requirement/tree/15.0/business_requirement"><img alt="OCA/business-requirement" src="https://img.shields.io/badge/github-OCA%2Fbusiness--requirement-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/business-requirement-15-0/business-requirement-15-0-business_requirement"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/222/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
+<p>A <strong>Business requirement</strong> (BR) is the expression of a business need by a customer
+or internal project user.</p>
+<p>A BR contains multiple different parts to explain the stakeholder need and how to
+meet his/her requirements:</p>
+<ul class="simple">
+<li><strong>Customer Story</strong>: this is the requirement as expressed by the customer</li>
+<li><strong>Scenario</strong>: How/where the current solution can provide a suitable scenario to
+answer the customer story</li>
+<li><strong>Gap</strong>: For the uncovered part of the scenario, elaborate the gap/need for specific
+developments/setup</li>
+<li><strong>Test case</strong>: A set of conditions under which a tester will determine whether the application, software system or
+one of its features is working as it was originally established for it to do.</li>
+<li><strong>Deliverables</strong> to be provided to the customer/user</li>
+<li><strong>Resources</strong> necessary to achieve the deliverables</li>
+<li><strong>Additional</strong> information (approval, cost control etc.)</li>
+</ul>
+<p>This set of modules was originally designed for the service/IT industry but the
+requirement management design has been kept as generic as possible so that it can
+apply to many other cases/industries (customer or internal projects):</p>
+<ul class="simple">
+<li>Construction</li>
+<li>Trading (New product development)</li>
+<li>Business Consultancy</li>
+<li>Web or IT development</li>
+<li>R&amp;D projects</li>
+<li>etc.</li>
+</ul>
+<p>More information about business requirements management:</p>
+<ul class="simple">
+<li><a class="reference external" href="https://en.wikipedia.org/wiki/Business_requirements">Wikipedia</a></li>
+<li><a class="reference external" href="https://www.isixsigma.com/implementation/project-selection-tracking/business-requirements-document-high-level-review/">Six Sigma</a></li>
+</ul>
+<p><strong>Table of contents</strong></p>
+<div class="contents local topic" id="contents">
+<ul class="simple">
+<li><a class="reference internal" href="#bug-tracker" id="id1">Bug Tracker</a></li>
+<li><a class="reference internal" href="#credits" id="id2">Credits</a><ul>
+<li><a class="reference internal" href="#authors" id="id3">Authors</a></li>
+<li><a class="reference internal" href="#contributors" id="id4">Contributors</a></li>
+<li><a class="reference internal" href="#other-credits" id="id5">Other credits</a></li>
+<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="bug-tracker">
+<h1><a class="toc-backref" href="#id1">Bug Tracker</a></h1>
+<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/business-requirement/issues">GitHub Issues</a>.
+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
+<a class="reference external" href="https://github.com/OCA/business-requirement/issues/new?body=module:%20business_requirement%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
+<p>Do not contact contributors directly about support or help with technical issues.</p>
+</div>
+<div class="section" id="credits">
+<h1><a class="toc-backref" href="#id2">Credits</a></h1>
+<div class="section" id="authors">
+<h2><a class="toc-backref" href="#id3">Authors</a></h2>
+<ul class="simple">
+<li>Elico Corp</li>
+<li>Tecnativa</li>
+</ul>
+</div>
+<div class="section" id="contributors">
+<h2><a class="toc-backref" href="#id4">Contributors</a></h2>
+<ul class="simple">
+<li>Eric Caudal &lt;<a class="reference external" href="mailto:eric.caudal&#64;elico-corp.com">eric.caudal&#64;elico-corp.com</a>&gt;</li>
+<li>Alex Duan &lt;<a class="reference external" href="mailto:alex.duan&#64;elico-corp.com">alex.duan&#64;elico-corp.com</a>&gt;</li>
+<li>Xie XiaoPeng &lt;<a class="reference external" href="mailto:xie.xiaopeng&#64;elico-corp.com">xie.xiaopeng&#64;elico-corp.com</a>&gt;</li>
+<li>Victor M. Martin &lt;<a class="reference external" href="mailto:victor.martin&#64;elico-corp.com">victor.martin&#64;elico-corp.com</a>&gt;</li>
+<li>Evan Li &lt;<a class="reference external" href="mailto:li.aiwen&#64;elico-corp.com">li.aiwen&#64;elico-corp.com</a>&gt;</li>
+<li>Reinhard Sheng &lt;<a class="reference external" href="mailto:reinhard.sheng&#64;elico-corp.com">reinhard.sheng&#64;elico-corp.com</a>&gt;</li>
+<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
+<li>Alexandre Diaz</li>
+<li>Pedro M. Baeza</li>
+<li>Victor M.M. Torres</li>
+<li>Víctor Martínez</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="other-credits">
+<h2><a class="toc-backref" href="#id5">Other credits</a></h2>
+<ul class="simple">
+<li>Images:<ul>
+<li><a class="reference external" href="https://fontawesome.com/icons/briefcase?style=solid">briefcase</a> from <a class="reference external" href="https://fontawesome.com/license">FontAwesome</a>.</li>
+<li><a class="reference external" href="https://fontawesome.com/icons/drafting-compass?style=solid">drafting-compass</a> from <a class="reference external" href="https://fontawesome.com/license">FontAwesome</a>.</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="section" id="maintainers">
+<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
+<p>This module is maintained by the OCA.</p>
+<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
+<p>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.</p>
+<p>This module is part of the <a class="reference external" href="https://github.com/OCA/business-requirement/tree/15.0/business_requirement">OCA/business-requirement</a> project on GitHub.</p>
+<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
+</div>
+</div>
+</div>
+</body>
+</html>
diff --git a/business_requirement/static/img/br_workflow.graphml b/business_requirement/static/img/br_workflow.graphml
new file mode 100644
index 000000000..cf56ca882
--- /dev/null
+++ b/business_requirement/static/img/br_workflow.graphml
@@ -0,0 +1,1046 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+  <!--Created by yEd 3.14.4-->
+  <key attr.name="Description" attr.type="string" for="graph" id="d0"/>
+  <key for="port" id="d1" yfiles.type="portgraphics"/>
+  <key for="port" id="d2" yfiles.type="portgeometry"/>
+  <key for="port" id="d3" yfiles.type="portuserdata"/>
+  <key attr.name="url" attr.type="string" for="node" id="d4"/>
+  <key attr.name="description" attr.type="string" for="node" id="d5"/>
+  <key for="node" id="d6" yfiles.type="nodegraphics"/>
+  <key for="graphml" id="d7" yfiles.type="resources"/>
+  <key attr.name="url" attr.type="string" for="edge" id="d8"/>
+  <key attr.name="description" attr.type="string" for="edge" id="d9"/>
+  <key for="edge" id="d10" yfiles.type="edgegraphics"/>
+  <graph edgedefault="directed" id="G">
+    <data key="d0"/>
+    <node id="n0" yfiles.foldertype="group">
+      <data key="d5"/>
+      <data key="d6">
+        <y:TableNode configuration="YED_TABLE_NODE">
+          <y:Geometry height="634.2528" width="1308.3125" x="410.0" y="143.0"/>
+          <y:Fill color="#ECF5FF" color2="#0042F440" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="15" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="38.921875" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="398.68017578125" x="454.816162109375" y="4.0">Business Requirement Management in Odoo
+(Tasks in bold are covered by the BR modules)</y:NodeLabel>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" rotationAngle="270.0" textColor="#000000" visible="true" width="35.939453125" x="3.0" y="134.37027343750003">Sales<y:LabelModel>
+              <y:RowNodeLabelModel offset="3.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_0" inside="true"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" rotationAngle="270.0" textColor="#000000" visible="true" width="81.9765625" x="3.0" y="277.73171875">Business
+Requirement<y:LabelModel>
+              <y:RowNodeLabelModel offset="3.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_1" inside="true"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="73.796875" x="143.82236249999994" y="53.0">Preparation<y:LabelModel>
+              <y:ColumnNodeLabelModel offset="3.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:ColumnNodeLabelModelParameter id="column_0" inside="true" verticalPosition="0.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="67.90234375" x="523.152028125" y="53.0">Estimation<y:LabelModel>
+              <y:ColumnNodeLabelModel offset="3.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:ColumnNodeLabelModelParameter id="column_1" inside="true" verticalPosition="0.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="63.255859375" x="908.4394703124999" y="53.0">Execution<y:LabelModel>
+              <y:ColumnNodeLabelModel offset="3.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:ColumnNodeLabelModelParameter id="column_2" inside="true" verticalPosition="0.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="47.640625" x="1182.0209375" y="53.0">Control<y:LabelModel>
+              <y:ColumnNodeLabelModel offset="3.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:ColumnNodeLabelModelParameter id="column_3" inside="true" verticalPosition="0.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" rotationAngle="270.0" textColor="#000000" visible="true" width="83.048828125" x="3.0" y="478.9819859375">Project
+Management<y:LabelModel>
+              <y:RowNodeLabelModel offset="3.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:RowNodeLabelModelParameter horizontalPosition="0.0" id="row_2" inside="true"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+          <y:StyleProperties>
+            <y:Property class="java.awt.Color" name="yed.table.section.color" value="#7192b2"/>
+            <y:Property class="java.lang.Double" name="yed.table.header.height" value="24.0"/>
+            <y:Property class="java.awt.Color" name="yed.table.lane.color.main" value="#c4d7ed"/>
+            <y:Property class="java.awt.Color" name="yed.table.lane.color.alternating" value="#abc8e2"/>
+            <y:Property class="java.awt.Color" name="yed.table.header.color.alternating" value="#abc8e2"/>
+            <y:Property class="java.lang.String" name="yed.table.lane.style" value="lane.style.rows"/>
+            <y:Property class="java.awt.Color" name="yed.table.header.color.main" value="#c4d7ed"/>
+          </y:StyleProperties>
+          <y:State autoResize="true" closed="false" closedHeight="80.0" closedWidth="100.0"/>
+          <y:Insets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
+          <y:BorderInsets bottom="31" bottomF="30.75139999999999" left="18" leftF="17.5" right="52" rightF="52.3125" top="15" topF="15.205874999999992"/>
+          <y:Table autoResizeTable="true" defaultColumnWidth="250.0" defaultMinimumColumnWidth="50.0" defaultMinimumRowHeight="50.0" defaultRowHeight="80.0">
+            <y:DefaultColumnInsets bottom="0.0" left="0.0" right="0.0" top="24.0"/>
+            <y:DefaultRowInsets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
+            <y:Insets bottom="0.0" left="0.0" right="0.0" top="50.0"/>
+            <y:Columns>
+              <y:Column id="column_0" minimumWidth="50.0" width="313.4415999999999">
+                <y:Insets bottom="0.0" left="0.0" right="0.0" top="24.0"/>
+              </y:Column>
+              <y:Column id="column_1" minimumWidth="50.0" width="439.32320000000027">
+                <y:Insets bottom="0.0" left="0.0" right="0.0" top="24.0"/>
+              </y:Column>
+              <y:Column id="column_2" minimumWidth="50.0" width="326.60519999999974">
+                <y:Insets bottom="0.0" left="0.0" right="0.0" top="24.0"/>
+              </y:Column>
+              <y:Column id="column_3" minimumWidth="50.0" width="204.9425000000001">
+                <y:Insets bottom="0.0" left="0.0" right="0.0" top="24.0"/>
+              </y:Column>
+            </y:Columns>
+            <y:Rows>
+              <y:Row height="156.68" id="row_0" minimumHeight="50.0">
+                <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
+              </y:Row>
+              <y:Row height="176.0800000000001" id="row_1" minimumHeight="50.0">
+                <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
+              </y:Row>
+              <y:Row height="227.49279999999987" id="row_2" minimumHeight="50.0">
+                <y:Insets bottom="0.0" left="24.0" right="0.0" top="0.0"/>
+              </y:Row>
+            </y:Rows>
+          </y:Table>
+        </y:TableNode>
+      </data>
+      <graph edgedefault="directed" id="n0:">
+        <node id="n0::n0">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="451.5" y="263.00399999999996"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="62.2890625" x="27.35546875" y="6.90625">Customer
+Story<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n1">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="601.5" y="263.00399999999996"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="76.01171875" x="20.494140625" y="6.90625">CRM
+Opportunity<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n2">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="831.7943999999999" y="232.284"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="99.19140625" x="8.904296875" y="-0.078125">Sales Quotation
+(Based on
+deliverables)<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n3">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="451.5" y="397.125"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="60.26171875" x="28.369140625" y="6.90625">Gap
+Analysis<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n4">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="451.5" y="472.03475999999995"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="114.654296875" x="1.1728515625" y="6.90625">Funct/Technical
+Estimation<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n5">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1217.58" y="573.4986"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="100.380859375" x="8.3095703125" y="6.90625">Project Creation
+(Based on BR)<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n6">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1373.1" y="637.125"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="83.048828125" x="16.9755859375" y="6.90625">Tasks
+Management<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n7">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="760.5640000000002" y="391.70487999999995"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="95.08984375" x="10.955078125" y="6.90625">Deliverables
+To customers<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n8">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="760.4651999999998" y="480.4722"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="93.87109375" x="11.564453125" y="-0.07812500000005684">Internal
+Resources
+for execution<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n9">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1373.1" y="700.7514"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="114.68359375" x="1.158203125" y="6.90625">Actual time
+(from Timesheets)<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n10">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="901.5" y="700.7514"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="114.42578125" x="1.287109375" y="13.890625">Change Request<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n11">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1549.0" y="434.57987999999995"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="84.173828125" x="16.4130859375" y="6.90625">Earned Value
+Management<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n12">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1549.0" y="637.125"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="68.435546875" x="24.2822265625" y="-0.078125">Estimated
+vs
+Actual<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n13">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1051.5" y="391.70487999999995"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="110.552734375" x="3.2236328125" y="-0.078125">Approval
+(Management /
+stakeholders)<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n14">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="601.5" y="434.57987999999995"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="91.603515625" x="12.6982421875" y="-0.078125">New
+Business
+Requirement<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n15">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="901.5" y="480.47219999999993"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="76.427734375" x="20.2861328125" y="6.90625">Time/Cost
+Estimation<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n16">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="901.5" y="391.70487999999995"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="82.568359375" x="17.2158203125" y="-0.078125">Deliverable
+Sales Price
+Estimation<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n17">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1051.5" y="480.4721999999999"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="2.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="91.603515625" x="12.6982421875" y="-0.078125">Business
+Requirement
+Document<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n18">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1051.5" y="263.00399999999996"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="72.900390625" x="22.0498046875" y="-0.078125">Final Scope
+and
+Estimation<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n19">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="831.7943999999999" y="299.26256"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="122.154296875" x="-2.5771484375" y="-0.078125">Discussion
+Negotiation
+(Customer/Internal)<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n20">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1217.58" y="637.125"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="92.986328125" x="12.0068359375" y="-0.078125">Tasks Creation
+(Based on
+Resources)<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n21">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1373.1" y="573.4986"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="98.171875" x="9.4140625" y="6.90625">Estimated Time
+(from BR)<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n22">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1549.0" y="263.0039999999999"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="72.5546875" x="22.22265625" y="6.90625">Project
+Profitability<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n23">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1051.5" y="700.7514"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="83.048828125" x="16.9755859375" y="6.90625">Scope
+Management<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+        <node id="n0::n24">
+          <data key="d5"/>
+          <data key="d6">
+            <y:GenericNode configuration="com.yworks.flowchart.process">
+              <y:Geometry height="45.75" width="117.0" x="1300.25" y="262.568"/>
+              <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+              <y:BorderStyle color="#000000" type="line" width="1.0"/>
+              <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" modelName="custom" textColor="#000000" visible="true" width="77.880859375" x="19.5595703125" y="6.90625">Sales Order
+Validation<y:LabelModel>
+                  <y:SmartNodeLabelModel distance="4.0"/>
+                </y:LabelModel>
+                <y:ModelParameter>
+                  <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+                </y:ModelParameter>
+              </y:NodeLabel>
+            </y:GenericNode>
+          </data>
+        </node>
+      </graph>
+    </node>
+    <edge id="n0::e0" source="n0::n0" target="n0::n1">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e1" source="n0::n1" target="n0::n14">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e2" source="n0::n3" target="n0::n14">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="-12.111903157894778" tx="-39.00816000000009" ty="-8.483623157894716">
+            <y:Point x="620.9918399999999" y="407.8880968421052"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e3" source="n0::n4" target="n0::n14">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="12.098290526315798" tx="-38.99392" ty="0.0">
+            <y:Point x="621.00608" y="507.00805052631574"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e4" source="n0::n7" target="n0::n16">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e5" source="n0::n8" target="n0::n15">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="900.4264000000001" y="503.3472"/>
+            <y:Point x="900.4264000000001" y="503.34719999999993"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e6" source="n0::n15" target="n0::n16">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="1.1368683772161603E-13" ty="8.180599999999743">
+            <y:Point x="960.0" y="442.18109999999984"/>
+            <y:Point x="960.0000000000001" y="442.18109999999984"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e7" source="n0::n14" target="n0::n7">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="35.47079999999983" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="695.4707999999998" y="414.57987999999995"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e8" source="n0::n14" target="n0::n8">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="36.08519999999976" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="696.0851999999998" y="503.3472"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e9" source="n0::n16" target="n0::n19">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="-30.0" sy="0.0" tx="39.70560000000012" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e10" source="n0::n7" target="n0::n19">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="34.30400000000009" sy="0.0" tx="-36.9263999999996" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e11" source="n0::n19" target="n0::n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e12" source="n0::n19" target="n0::n18">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="14.841000000000008">
+            <y:Point x="999.3939999999998" y="322.13756"/>
+            <y:Point x="999.3939999999998" y="300.71999999999997"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e13" source="n0::n18" target="n0::n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="-10.71999999999997" tx="0.0" ty="0.0">
+            <y:Point x="1000.1471999999999" y="275.159"/>
+            <y:Point x="1000.1471999999999" y="255.159"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="standard" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e14" source="n0::n16" target="n0::n17">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="34.699923199999944" sy="0.0" tx="-45.36799999999994" ty="0.0">
+            <y:Point x="994.6999232" y="458.9635399999999"/>
+            <y:Point x="1064.632" y="458.9635399999999"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e15" source="n0::n15" target="n0::n17">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="-24.367999999999938" ty="0.0">
+            <y:Point x="1022.816" y="503.34719999999993"/>
+            <y:Point x="1022.816" y="503.3471999999999"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e16" source="n0::n18" target="n0::n13">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e17" source="n0::n13" target="n0::n17">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e18" source="n0::n1" target="n0::n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="-15.158999999999992">
+            <y:Point x="660.0" y="240.0"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="standard" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e19" source="n0::n17" target="n0::n5">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="1110.0" y="596.3736"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="50.939453125" x="-25.4697265625" y="26.066392673089695">Wizard<y:LabelModel>
+              <y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="center" ratio="0.37458277338542506" segment="0"/>
+            </y:ModelParameter>
+            <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+          </y:EdgeLabel>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e20" source="n0::n7" target="n0::n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="-30.824000000000183" sy="0.0" tx="-38.05439999999987" ty="4.201000000000022">
+            <y:Point x="788.24" y="259.36"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="50.939453125" x="-25.46971679687499" y="-67.96931313514494">Wizard<y:LabelModel>
+              <y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="center" ratio="0.3799961041196072" segment="0"/>
+            </y:ModelParameter>
+            <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+          </y:EdgeLabel>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e21" source="n0::n8" target="n0::n20">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="3.9714000000001306">
+            <y:Point x="818.9651999999998" y="663.9714000000001"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="bold" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="50.939453125" x="-25.469736523437746" y="66.89513984375003">Wizard<y:LabelModel>
+              <y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartEdgeLabelModelParameter angle="0.0" distance="30.0" distanceToCenter="true" position="center" ratio="0.5" segment="0"/>
+            </y:ModelParameter>
+            <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+          </y:EdgeLabel>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e22" source="n0::n10" target="n0::n14">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="660.0" y="723.6264"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e23" source="n0::n20" target="n0::n6">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e24" source="n0::n5" target="n0::n21">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="8.200000000000045" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e25" source="n0::n12" target="n0::n11">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e26" source="n0::n11" target="n0::n22">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e27" source="n0::n9" target="n0::n12">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="-30.40000000000009" ty="0.0">
+            <y:Point x="1577.1" y="723.6264"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e28" source="n0::n21" target="n0::n12">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="-30.83031680000022" ty="0.0">
+            <y:Point x="1576.6696831999998" y="596.3736"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e29" source="n0::n6" target="n0::n9">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e30" source="n0::n5" target="n0::n23">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="15.558393599999704" tx="0.0" ty="0.0">
+            <y:Point x="1110.0" y="611.9319935999997"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e31" source="n0::n23" target="n0::n10">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e32" source="n0::n18" target="n0::n24">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="1234.375" y="285.87899999999996"/>
+            <y:Point x="1234.375" y="285.443"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e33" source="n0::n24" target="n0::n22">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="1483.125" y="285.443"/>
+            <y:Point x="1483.125" y="285.8789999999999"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="n0::e34" source="n0::n2" target="n0::n24">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="-15.158999999999992" tx="0.0" ty="0.0">
+            <y:Point x="1358.75" y="240.0"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+  </graph>
+  <data key="d7">
+    <y:Resources/>
+  </data>
+</graphml>
diff --git a/business_requirement/static/img/bus_req.png b/business_requirement/static/img/bus_req.png
new file mode 100644
index 000000000..9e6eb0e13
Binary files /dev/null and b/business_requirement/static/img/bus_req.png differ
diff --git a/business_requirement/static/img/bus_req_alias.png b/business_requirement/static/img/bus_req_alias.png
new file mode 100644
index 000000000..00a652983
Binary files /dev/null and b/business_requirement/static/img/bus_req_alias.png differ
diff --git a/business_requirement/static/img/bus_req_approved.png b/business_requirement/static/img/bus_req_approved.png
new file mode 100644
index 000000000..fbc2cb148
Binary files /dev/null and b/business_requirement/static/img/bus_req_approved.png differ
diff --git a/business_requirement/static/img/bus_req_cancel.png b/business_requirement/static/img/bus_req_cancel.png
new file mode 100644
index 000000000..f61ee3d4e
Binary files /dev/null and b/business_requirement/static/img/bus_req_cancel.png differ
diff --git a/business_requirement/static/img/bus_req_confirmed.png b/business_requirement/static/img/bus_req_confirmed.png
new file mode 100644
index 000000000..603870fa1
Binary files /dev/null and b/business_requirement/static/img/bus_req_confirmed.png differ
diff --git a/business_requirement/static/img/bus_req_cust_story.png b/business_requirement/static/img/bus_req_cust_story.png
new file mode 100644
index 000000000..2e0ada856
Binary files /dev/null and b/business_requirement/static/img/bus_req_cust_story.png differ
diff --git a/business_requirement/static/img/bus_req_done.png b/business_requirement/static/img/bus_req_done.png
new file mode 100644
index 000000000..6ec88372d
Binary files /dev/null and b/business_requirement/static/img/bus_req_done.png differ
diff --git a/business_requirement/static/img/bus_req_drop.png b/business_requirement/static/img/bus_req_drop.png
new file mode 100644
index 000000000..a7be6deaa
Binary files /dev/null and b/business_requirement/static/img/bus_req_drop.png differ
diff --git a/business_requirement/static/img/bus_req_module_diag.png b/business_requirement/static/img/bus_req_module_diag.png
new file mode 100644
index 000000000..8828c38d4
Binary files /dev/null and b/business_requirement/static/img/bus_req_module_diag.png differ
diff --git a/business_requirement/static/img/bus_req_tags.png b/business_requirement/static/img/bus_req_tags.png
new file mode 100644
index 000000000..a85d6a03a
Binary files /dev/null and b/business_requirement/static/img/bus_req_tags.png differ
diff --git a/business_requirement/static/img/bus_req_tags2.png b/business_requirement/static/img/bus_req_tags2.png
new file mode 100644
index 000000000..9ef4fd84b
Binary files /dev/null and b/business_requirement/static/img/bus_req_tags2.png differ
diff --git a/business_requirement/static/img/bus_req_tree.png b/business_requirement/static/img/bus_req_tree.png
new file mode 100644
index 000000000..19153cb48
Binary files /dev/null and b/business_requirement/static/img/bus_req_tree.png differ
diff --git a/business_requirement/static/img/bus_req_workflow.png b/business_requirement/static/img/bus_req_workflow.png
new file mode 100644
index 000000000..97f6dbc35
Binary files /dev/null and b/business_requirement/static/img/bus_req_workflow.png differ
diff --git a/business_requirement/static/img/module_diag.graphml b/business_requirement/static/img/module_diag.graphml
new file mode 100644
index 000000000..071bac2c4
--- /dev/null
+++ b/business_requirement/static/img/module_diag.graphml
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+  <!--Created by yEd 3.14.4-->
+  <key attr.name="Description" attr.type="string" for="graph" id="d0"/>
+  <key for="port" id="d1" yfiles.type="portgraphics"/>
+  <key for="port" id="d2" yfiles.type="portgeometry"/>
+  <key for="port" id="d3" yfiles.type="portuserdata"/>
+  <key attr.name="url" attr.type="string" for="node" id="d4"/>
+  <key attr.name="description" attr.type="string" for="node" id="d5"/>
+  <key for="node" id="d6" yfiles.type="nodegraphics"/>
+  <key for="graphml" id="d7" yfiles.type="resources"/>
+  <key attr.name="url" attr.type="string" for="edge" id="d8"/>
+  <key attr.name="description" attr.type="string" for="edge" id="d9"/>
+  <key for="edge" id="d10" yfiles.type="edgegraphics"/>
+  <graph edgedefault="directed" id="G">
+    <data key="d0"/>
+    <node id="n0">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="570.5" y="118.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="136.873046875" x="66.0634765625" y="8.546875">business_requirement
+-
+Base module<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n1">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="165.5" y="244.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="218.224609375" x="25.3876953125" y="8.546875">business_requirement_project
+-
+All project related links and wizards<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n2">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="570.5" y="370.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="209.646484375" x="29.6767578125" y="1.5625">business_requirement_deliverable
+-
+Adds deliverables with sales price
+Adds resources lines<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n3">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="165.5" y="496.25"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="258.61328125" x="5.193359375" y="1.5625">business_requirement_deliverable_cost
+-
+Adds cost control information in resources
+Adds ACL<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n4">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="975.5" y="244.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="208.158203125" x="30.4208984375" y="8.546875">business_requirement_crm
+-
+Adds wizard to create SQ from BR<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n5">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="975.5" y="118.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="141.783203125" x="63.6083984375" y="8.546875">sale_crm
+-
+standard Odoo module<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n6">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="165.5" y="118.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="141.783203125" x="63.6083984375" y="8.546875">project
+-
+standard Odoo module<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n7">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="165.5" y="370.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="242.39453125" x="13.302734375" y="1.5625">business_requirement_project_pricelist
+-
+Creates Estimation pricelists in projects
+Adapt the calculation methods<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n8">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="165.5" y="622.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="261.40234375" x="3.798828125" y="8.546875">business_requirement_deliverable_categ
+-
+Creates tasks categories in resources lines<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n9">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="165.5" y="748.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="122.236328125" x="73.3818359375" y="8.546875">project_task_categ
+-
+Community module<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n10">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="975.5" y="496.25"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="257.869140625" x="5.5654296875" y="1.5625">business_requirement_deliverable_default
+-
+Allows to create product with default
+resources lines for quick data entry<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n11">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="975.5" y="622.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="252.560546875" x="8.2197265625" y="1.5625">business_requirement_deliverable_report
+-
+Report to print the BR content
+to send to customer (3 levels of details)<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n12">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="975.5" y="748.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" modelName="custom" textColor="#000000" visible="true" width="122.236328125" x="73.3818359375" y="8.546875">base_report_docx
+-
+Community module<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n13">
+      <data key="d5"/>
+      <data key="d6">
+        <y:GenericNode configuration="com.yworks.flowchart.process">
+          <y:Geometry height="63.0" width="269.0" x="975.5" y="370.5"/>
+          <y:Fill color="#E8EEF7" color2="#B7C9E3" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="59.875" modelName="custom" textColor="#000000" visible="true" width="242.376953125" x="13.3115234375" y="1.5625">business_requirement_crm_online
+-
+Allows to select the OQ template at SQ
+creation (planned)<y:LabelModel>
+              <y:SmartNodeLabelModel distance="4.0"/>
+            </y:LabelModel>
+            <y:ModelParameter>
+              <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+            </y:ModelParameter>
+          </y:NodeLabel>
+        </y:GenericNode>
+      </data>
+    </node>
+    <node id="n14">
+      <data key="d6">
+        <y:ImageNode>
+          <y:Geometry height="128.0" width="128.0" x="-64.0" y="506.0"/>
+          <y:Fill color="#CCCCFF" transparent="false"/>
+          <y:BorderStyle color="#000000" type="line" width="1.0"/>
+          <y:Image alphaImage="true"/>
+        </y:ImageNode>
+      </data>
+    </node>
+    <edge id="e0" source="n6" target="n1">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e1" source="n1" target="n7">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e2" source="n0" target="n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="-21.75"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e3" source="n2" target="n1">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="106.0" ty="0.0">
+            <y:Point x="510.0" y="402.0"/>
+            <y:Point x="510.0" y="276.0"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e4" source="n2" target="n4">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0">
+            <y:Point x="900.0" y="402.0"/>
+            <y:Point x="900.0" y="276.0"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e5" source="n5" target="n4">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="20.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e6" source="n10" target="n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="90.0" ty="0.0">
+            <y:Point x="795.0" y="527.75"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e7" source="n3" target="n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="-90.0" ty="12.0">
+            <y:Point x="615.0" y="528.0"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e8" source="n11" target="n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="30.0" ty="0.0">
+            <y:Point x="735.0" y="660.0"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e9" source="n8" target="n2">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="-30.0" ty="0.0">
+            <y:Point x="675.0" y="660.0"/>
+          </y:Path>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e10" source="n4" target="n13">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e11" source="n9" target="n8">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+    <edge id="e12" source="n12" target="n11">
+      <data key="d9"/>
+      <data key="d10">
+        <y:PolyLineEdge>
+          <y:Path sx="0.0" sy="0.0" tx="0.0" ty="18.0"/>
+          <y:LineStyle color="#000000" type="line" width="1.0"/>
+          <y:Arrows source="none" target="standard"/>
+          <y:BendStyle smoothed="false"/>
+        </y:PolyLineEdge>
+      </data>
+    </edge>
+  </graph>
+  <data key="d7">
+    <y:Resources/>
+  </data>
+</graphml>
diff --git a/business_requirement/static/src/js/business_requirement_portal_tour.js b/business_requirement/static/src/js/business_requirement_portal_tour.js
new file mode 100644
index 000000000..739365c9e
--- /dev/null
+++ b/business_requirement/static/src/js/business_requirement_portal_tour.js
@@ -0,0 +1,23 @@
+odoo.define("business_requirement.tour", function (require) {
+    "use strict";
+
+    var tour = require("web_tour.tour");
+
+    tour.register(
+        "business_requirement_portal_tour",
+        {
+            test: true,
+            url: "/my",
+        },
+        [
+            {
+                content: "Go /my/business_requirements url",
+                trigger: 'a[href*="/my/business_requirements"]',
+            },
+            {
+                content: "Go to BR item",
+                trigger: ".tr_br_link:eq(0)",
+            },
+        ]
+    );
+});
diff --git a/business_requirement/views/br_portal_templates.xml b/business_requirement/views/br_portal_templates.xml
new file mode 100644
index 000000000..87743ff5f
--- /dev/null
+++ b/business_requirement/views/br_portal_templates.xml
@@ -0,0 +1,224 @@
+<odoo>
+    <template
+        id="portal_my_home_menu_br"
+        name="Portal layout : business requirement menu entries"
+        inherit_id="portal.portal_breadcrumbs"
+        priority="20"
+    >
+        <xpath expr="//ol[hasclass('o_portal_submenu')]" position="inside">
+            <li
+                t-if="page_name == 'business_requirement' or business_requirement"
+                t-attf-class="breadcrumb-item #{'active ' if not business_requirement else ''}"
+            >
+                <a
+                    t-if="business_requirement"
+                    t-attf-href="/my/business_requirements?{{ keep_query() }}"
+                >Business Requirements</a>
+                <t t-else="">Business Requirements</t>
+            </li>
+            <li t-if="business_requirement" class="breadcrumb-item active">
+                <t t-esc="business_requirement.name" />
+            </li>
+        </xpath>
+    </template>
+    <template
+        id="portal_my_home_br"
+        name="Portal My Home : business requirements entries"
+        inherit_id="portal.portal_my_home"
+        priority="20"
+    >
+        <xpath expr="//div[hasclass('o_portal_docs')]" position="inside">
+            <t t-call="portal.portal_docs_entry">
+                <t t-set="title">Business Requirements</t>
+                <t t-set="url" t-value="'/my/business_requirements'" />
+                <t t-set="placeholder_count" t-value="'business_requirement_count'" />
+            </t>
+        </xpath>
+    </template>
+    <template id="portal_my_br" name="My Business Requirements">
+        <t t-call="portal.portal_layout">
+            <t t-set="breadcrumbs_searchbar" t-value="True" />
+            <t t-call="portal.portal_searchbar">
+                <t t-set="title">Business Requirements</t>
+            </t>
+            <t t-if="not business_requirements">
+                <div class="alert alert-warning mt8" role="alert">
+                    There are currently no business requirements for your account.
+                </div>
+            </t>
+            <t t-if="business_requirements" t-call="portal.portal_table">
+                <thead>
+                    <tr class="active">
+                        <th>Business Requirement #</th>
+                        <th class="text-right">Date</th>
+                    </tr>
+                </thead>
+                <tbody>
+                    <tr t-foreach="business_requirements" t-as="br">
+                        <td>
+                            <a
+                                t-attf-href="/my/business_requirement/#{br.id}?#{keep_query()}"
+                                t-attf-class="tr_br_link"
+                            >
+                                <span t-field="br.name" /> - <span
+                                    t-field="br.description"
+                                />
+                            </a>
+                        </td>
+                        <td class="text-right">
+                            <span t-field="br.date" t-options='{"widget": "date"}' />
+                        </td>
+                    </tr>
+                </tbody>
+            </t>
+        </t>
+    </template>
+    <template id="portal_br_page" name="Business Requirement">
+        <t t-set="br" t-value="business_requirement" />
+        <t t-call="portal.portal_layout">
+            <t t-call="portal.portal_record_layout">
+                <t t-set="card_header">
+                    <div class="row no-gutters">
+                        <div class="col-md">
+                            <h5 class="mb-1 mb-md-0">
+                                <span t-field="br.name" />
+                                <small class="text-muted"> (#<span
+                                        t-field="br.id"
+                                    />)</small>
+                            </h5>
+                        </div>
+                        <div class="col-md text-md-right">
+                            <small class="text-right">Status:</small>
+                            <span
+                                t-field="br.state"
+                                class=" badge badge-pill badge-info"
+                                title="Current stage of this requirement"
+                            />
+                        </div>
+                    </div>
+                </t>
+                <t t-set="card_body">
+                    <div class="row mb-4">
+                        <div class="col-12 col-md-6 mb-1">
+                            <strong>Date:</strong>
+                            <span
+                                t-field="br.create_date"
+                                t-options='{"widget": "date"}'
+                            />
+                        </div>
+                    </div>
+                    <div
+                        class="row mb-4"
+                        t-if="br.responsible_user_id or br.partner_id"
+                    >
+                        <div class="col-12 col-md-6 pb-2" t-if="br.user_id">
+                            <strong>Assigned to</strong>
+                            <div class="row">
+                                <div class="col flex-grow-0 pr-3">
+                                    <img
+                                        t-if="br.responsible_user_id.image_128"
+                                        class="rounded-circle mt-1 o_portal_contact_img"
+                                        t-att-src="image_data_uri(br.responsible_user_id.image_128)"
+                                        alt="Contact"
+                                    />
+                                    <img
+                                        t-else=""
+                                        class="rounded-circle mt-1 o_portal_contact_img"
+                                        src="/web/static/src/img/user_menu_avatar.png"
+                                        alt="Contact"
+                                    />
+                                </div>
+                                <div class="col pl-md-0">
+                                    <div
+                                        t-field="br.user_id"
+                                        t-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'
+                                    />
+                                </div>
+                            </div>
+                        </div>
+                        <div class="coll-12 col-md-6 pb-2" t-if="br.partner_id">
+                            <strong>Requested by</strong>
+                            <div class="row">
+                                <div class="col flex-grow-0 pr-3">
+                                    <img
+                                        t-if="br.partner_id.image_128"
+                                        class="rounded-circle mt-1 o_portal_contact_img"
+                                        t-att-src="image_data_uri(br.partner_id.image_128)"
+                                        alt="Stakeholder"
+                                    />
+                                    <img
+                                        t-else=""
+                                        class="rounded-circle mt-1 o_portal_contact_img"
+                                        src="/web/static/src/img/user_menu_avatar.png"
+                                        alt="Stakeholder"
+                                    />
+                                </div>
+                                <div class="col pl-md-0">
+                                    <div
+                                        t-field="br.partner_id"
+                                        t-options='{"widget": "contact", "fields": ["name", "email", "phone"]}'
+                                    />
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="row" t-if="br.description">
+                        <div
+                            t-if="br.business_requirement"
+                            t-attf-class="col-12 col-lg-7 mb-4 mb-md-0 col-lg-12"
+                        >
+                            <hr class="mb-1" />
+                            <strong class="d-block mb-2">Description</strong>
+                            <div
+                                class="py-1 px-2 bg-100 small"
+                                t-field="br.business_requirement"
+                            />
+                        </div>
+                    </div>
+                </t>
+            </t>
+            <div class="mt32">
+                <h4>
+                    <strong>Message and communication history</strong>
+                </h4>
+                <t t-call="portal.message_thread">
+                    <t t-set="object" t-value="br" />
+                    <t t-set="token" t-value="br.access_token" />
+                    <t t-set="pid" t-value="pid" />
+                    <t t-set="hash" t-value="hash" />
+                </t>
+            </div>
+        </t>
+    </template>
+    <template id="portal_br_error" name="Business requirement error/warning display">
+        <div class="row mr16">
+            <div
+                t-attf-class="'col-md-12 mr16 ml16 alert alert-dismissable' #{'alert-danger' if error else 'alert-warning'}"
+            >
+                <a
+                    href="#"
+                    class="close"
+                    data-dismiss="alert"
+                    aria-label="close"
+                    title="close"
+                >×</a>
+                <t t-if="error == 'generic'" name="generic">
+                    There was an error processing this page.
+                </t>
+            </div>
+        </div>
+    </template>
+    <template id="portal_br_success" name="Business requirement success display">
+        <div class="row mr16">
+            <div class="col-md-12 mr16 ml16 alert alert-dismissable alert-success">
+                <a
+                    href="#"
+                    class="close"
+                    data-dismiss="alert"
+                    aria-label="close"
+                    title="close"
+                >×</a>
+            </div>
+        </div>
+    </template>
+</odoo>
diff --git a/business_requirement/views/br_report.xml b/business_requirement/views/br_report.xml
new file mode 100644
index 000000000..389e05524
--- /dev/null
+++ b/business_requirement/views/br_report.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <template id="layout_br_report_header">
+        <h3 class="text-center">
+            <span t-field="o.name" /> - <span t-field="o.description" />
+        </h3>
+        <table class="table table-sm">
+            <tbody>
+                <tr t-if="o.partner_id">
+                    <td>
+                        <strong>Stakeholder</strong>
+                    </td>
+                    <td>
+                        <span t-field="o.partner_id.name" />
+                    </td>
+                </tr>
+                <tr t-if="o.origin">
+                    <td>
+                        <strong>Source</strong>
+                    </td>
+                    <td>
+                        <span t-field="o.origin" />
+                    </td>
+                </tr>
+                <tr t-if="any(o.category_ids)">
+                    <td>
+                        <strong>Category</strong>
+                    </td>
+                    <td>
+                        <span
+                            t-esc="', '.join([cate.name for cate in o.category_ids])"
+                        />
+                    </td>
+                </tr>
+                <tr t-if="o.responsible_user_id">
+                    <td>
+                        <strong>Responsible</strong>
+                    </td>
+                    <td>
+                        <span t-field="o.responsible_user_id.name" />
+                    </td>
+                </tr>
+                <tr>
+                    <td>
+                        <strong>Change Request</strong>
+                    </td>
+                    <td>
+                        <t t-if="o.change_request">Yes</t>
+                        <t t-if="not o.change_request">No</t>
+                    </td>
+                </tr>
+                <tr t-if="o.date">
+                    <td>
+                        <strong>Date</strong>
+                    </td>
+                    <td>
+                        <span t-field="o.date" t-field-options='{"widget": "date"}' />
+                        <t t-if="o.user_id">(<span t-field="o.user_id.name" />)</t>
+                    </td>
+                </tr>
+                <tr t-if="o.confirmation_date">
+                    <td>
+                        <strong>Confirmation Date</strong>
+                    </td>
+                    <td>
+                        <span
+                            t-field="o.confirmation_date"
+                            t-field-options='{"widget": "date"}'
+                        />
+                        <t t-if="o.confirmed_user_id">(<span
+                                t-field="o.confirmed_user_id.name"
+                            />)</t>
+                    </td>
+                </tr>
+                <tr t-if="o.approval_date">
+                    <td>
+                        <strong>Approval Date</strong>
+                    </td>
+                    <td>
+                        <span
+                            t-field="o.approval_date"
+                            t-field-options='{"widget": "date"}'
+                        />
+                        <t t-if="o.approved_id">(<span
+                                t-field="o.approved_id.name"
+                            />)</t>
+                    </td>
+                </tr>
+            </tbody>
+        </table>
+    </template>
+    <template id="layout_br_report_body">
+        <!-- when create a business requirement in web page, '<p><br></p>' will be add automatically in the field -->
+        <div
+            t-if="o.business_requirement and o.business_requirement != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'"
+            style="page-break-inside: avoid;"
+        >
+            <u>
+                <h4>Stakeholder Story:</h4>
+            </u>
+            <div class="container ml8">
+                <span t-field="o.business_requirement" />
+            </div>
+        </div>
+        <div
+            t-if="o.scenario and o.scenario != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'"
+            style="page-break-inside: avoid;"
+        >
+            <u>
+                <h4>Scenario:</h4>
+            </u>
+            <div class="container ml8">
+                <span t-field="o.scenario" />
+            </div>
+        </div>
+        <div
+            t-if="o.gap and o.gap != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'"
+            style="page-break-inside: avoid;"
+        >
+            <u>
+                <h4>Gap:</h4>
+            </u>
+            <div class="container ml8">
+                <span t-field="o.gap" />
+            </div>
+        </div>
+        <div
+            t-if="o.test_case and o.test_case != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'"
+            style="page-break-inside: avoid;"
+        >
+            <u>
+                <h4>Test Case:</h4>
+            </u>
+            <div class="containe ml8">
+                <span t-field="o.test_case" />
+            </div>
+        </div>
+        <div
+            t-if="o.terms_and_conditions and o.terms_and_conditions != '&lt;p&gt;&lt;br&gt;&lt;/p&gt;'"
+            style="page-break-inside: avoid;"
+        >
+            <u>
+                <h4>Terms and Conditions:</h4>
+            </u>
+            <div class="container ml8">
+                <span t-field="o.terms_and_conditions" />
+            </div>
+        </div>
+    </template>
+    <template id="layout_br_report">
+        <t t-set="o" t-value="o.with_context(lang=lang)" />
+        <t t-call="business_requirement.layout_br_report_header" />
+        <t t-call="business_requirement.layout_br_report_body" />
+    </template>
+    <template id="br_report">
+        <t t-call="web.html_container">
+            <t t-foreach="docs" t-as="o">
+                <t t-call="web.external_layout">
+                    <t t-set="lang" t-value="o.partner_id.lang" />
+                    <div class="page">
+                        <h5 class="text-center">Business Requirement Document</h5>
+                        <t
+                            t-call="business_requirement.layout_br_report"
+                            t-lang="lang"
+                        />
+                    </div>
+                </t>
+            </t>
+        </t>
+    </template>
+</odoo>
diff --git a/business_requirement/views/business_view.xml b/business_requirement/views/business_view.xml
new file mode 100644
index 000000000..571cbfca4
--- /dev/null
+++ b/business_requirement/views/business_view.xml
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <record id="act_view_sub_br_all" model="ir.actions.act_window">
+        <field name="name">Business Requirement</field>
+        <field name="res_model">business.requirement</field>
+        <field name="view_mode">tree,form</field>
+    </record>
+    <record id="view_business_requirement_form" model="ir.ui.view">
+        <field name="name">business.requirement.form</field>
+        <field name="model">business.requirement</field>
+        <field name="type">form</field>
+        <field name="priority">20</field>
+        <field name="arch" type="xml">
+            <form string="Business Requirement">
+                <header>
+                    <field
+                        name="state"
+                        widget="statusbar"
+                        clickable="True"
+                        statusbar_visible="draft,confirmed,approved,in_progress,done,cancel,drop"
+                    />
+                </header>
+                <sheet>
+                    <div
+                        class="oe_button_box"
+                        name="button_box"
+                        groups="base.group_user"
+                    >
+                        <button
+                            class="oe_stat_button"
+                            name="portal_publish_button"
+                            type="object"
+                            icon="fa-globe"
+                        >
+                            <label for="portal_published" />
+                            <field name="portal_published" widget="toggle_button" />
+                        </button>
+                    </div>
+                    <div class="oe_left">
+                        <field
+                            name="kanban_state"
+                            class="oe_inline"
+                            widget="kanban_state_selection"
+                        />
+                    </div>
+                    <h1>
+                        <field name="name" class="oe_inline" readonly="1" /> -
+                        <field name="description" default_focus="1" />
+                    </h1>
+                    <group col="4">
+                        <field name="responsible_user_id" required="1" />
+                        <field name="partner_id" />
+                        <field name="origin" />
+                        <field name="category_ids" widget="many2many_tags" />
+                        <field name="to_be_reviewed" />
+                        <field name="reviewer_ids" widget="many2many_tags" />
+                        <field
+                            name="priority"
+                            groups="base.group_user"
+                            widget="priority"
+                        />
+                    </group>
+                    <notebook>
+                        <page string="Business Requirement">
+                            <group string="Stakeholder Story">
+                                <field
+                                    name="business_requirement"
+                                    nolabel="1"
+                                    colspan="2"
+                                />
+                            </group>
+                            <group string="Scenario">
+                                <field name="scenario" nolabel="1" colspan="2" />
+                            </group>
+                            <group string="Gap">
+                                <field name="gap" nolabel="1" colspan="2" />
+                            </group>
+                            <group string="Test Case">
+                                <field name="test_case" nolabel="1" colspan="2" />
+                            </group>
+                            <group string="Terms and Conditions">
+                                <field
+                                    name="terms_and_conditions"
+                                    nolabel="1"
+                                    colspan="2"
+                                />
+                            </group>
+                        </page>
+                        <page string="Logs" name="logs">
+                            <group col="4">
+                                <field name="user_id" />
+                                <field name="date" />
+                                <field name="create_uid" readonly="1" />
+                                <field
+                                    name="create_date"
+                                    string="Creation Date"
+                                    readonly="1"
+                                />
+                                <field name="confirmed_user_id" />
+                                <field name="confirmation_date" />
+                                <field name="approved_id" />
+                                <field name="approval_date" />
+                            </group>
+                        </page>
+                        <page string="Other" name="other">
+                            <group col="4">
+                                <field name="requested_user_id" />
+                                <field name="change_request" />
+                                <field
+                                    name="company_id"
+                                    groups="base.group_multi_company"
+                                />
+                            </group>
+                        </page>
+                    </notebook>
+                </sheet>
+                <div class="oe_chatter">
+                    <field
+                        name="message_follower_ids"
+                        widget="mail_followers"
+                        groups="base.group_user"
+                    />
+                    <field name="activity_ids" widget="mail_activity" />
+                    <field name="message_ids" widget="mail_thread" />
+                </div>
+            </form>
+        </field>
+    </record>
+    <record id="view_business_requirement_tree" model="ir.ui.view">
+        <field name="name">business.requirement.tree</field>
+        <field name="model">business.requirement</field>
+        <field name="arch" type="xml">
+            <tree>
+                <field name="responsible_user_id" />
+                <field name="partner_id" />
+                <field name="name" />
+                <field name="description" />
+                <field name="category_ids" />
+                <field name="priority" />
+                <field name="state" />
+            </tree>
+        </field>
+    </record>
+    <record model="ir.ui.view" id="view_business_requirement_kanban_project">
+        <field name="name">business.requirement.kanban</field>
+        <field name="model">business.requirement</field>
+        <field name="arch" type="xml">
+            <kanban default_group_by="state">
+                <field name="state" />
+                <field name="name" />
+                <field name="description" />
+                <field name="responsible_user_id" />
+                <field name="category_ids" />
+                <field name="priority" />
+                <field name="kanban_state" />
+                <templates>
+                    <t t-name="kanban-box">
+                        <div t-attf-class="oe_kanban_card oe_kanban_global_click">
+                            <div class="oe_kanban_content">
+                                <h4 class="text-center">
+                                    <strong>[<field name="name" />]<![CDATA[&nbsp;]]>
+                                        <field name="description" /></strong>
+                                </h4>
+                                <field name="responsible_user_id" />
+                                <br />
+                                <field name="category_ids" />
+                                <div class="oe_kanban_bottom_right">
+                                    <div class="pull-left" groups="base.group_user">
+                                        <img
+                                            t-att-src="kanban_image('res.users', 'image_128', record.responsible_user_id.raw_value)"
+                                            t-att-title="record.responsible_user_id.value"
+                                            width="24"
+                                            height="24"
+                                            t-att-alt="record.responsible_user_id.raw_value"
+                                            class="oe_kanban_avatar pull-right"
+                                        />
+                                        <field name="priority" widget="priority" />
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="oe_clear" />
+                        </div>
+                    </t>
+                </templates>
+            </kanban>
+        </field>
+    </record>
+    <record id="view_business_requirement_search" model="ir.ui.view">
+        <field name="name">business.requirement.search</field>
+        <field name="model">business.requirement</field>
+        <field name="arch" type="xml">
+            <search string="Business Requirement">
+                <field
+                    name="name"
+                    string="Name"
+                    filter_domain="['|',
+                       ('name', 'ilike', self),
+                       ('description', 'ilike', self)]"
+                />
+                <field name="partner_id" string="Stakeholder" />
+                <field name="responsible_user_id" string="Responsible" />
+                <field name="origin" string="Source" />
+                <filter
+                    string="Unread Messages"
+                    name="message_needaction"
+                    domain="[('message_needaction', '=', True)]"
+                />
+                <filter
+                    string="To be Reviewed"
+                    name="to_be_reviewed"
+                    domain="[('to_be_reviewed', '!=', False)]"
+                />
+                <group expand="0" string="Group by">
+                    <filter
+                        string="Stakeholder"
+                        name="stakeholder"
+                        context="{'group_by': 'partner_id'}"
+                    />
+                    <filter
+                        string="State"
+                        name="state"
+                        context="{'group_by': 'state'}"
+                    />
+                    <filter
+                        string="Priority"
+                        name="priority"
+                        context="{'group_by': 'priority'}"
+                    />
+                    <filter
+                        string="Responsible"
+                        name="responsible"
+                        context="{'group_by': 'responsible_user_id'}"
+                    />
+                </group>
+            </search>
+        </field>
+    </record>
+    <record id="view_business_requirement_category_form" model="ir.ui.view">
+        <field name="name">business.requirement.category.form</field>
+        <field name="model">business.requirement.category</field>
+        <field name="type">form</field>
+        <field name="priority">20</field>
+        <field name="arch" type="xml">
+            <form string="Business Requirement">
+                <sheet>
+                    <group>
+                        <field name="name" />
+                        <field name="parent_id" />
+                    </group>
+                </sheet>
+            </form>
+        </field>
+    </record>
+    <record id="view_business_requirement_category_tree" model="ir.ui.view">
+        <field name="name">business.requirement.category.form</field>
+        <field name="model">business.requirement.category</field>
+        <field name="type">tree</field>
+        <field name="priority">20</field>
+        <field name="arch" type="xml">
+            <tree>
+                <field name="name" />
+                <field name="parent_id" />
+            </tree>
+        </field>
+    </record>
+    <record id="act_view_project_br_all" model="ir.actions.act_window">
+        <field name="name">Business Requirement</field>
+        <field name="res_model">business.requirement</field>
+        <field name="view_mode">tree,form</field>
+        <field
+            name="search_view_id"
+            ref="business_requirement.view_business_requirement_search"
+        />
+        <field name="context">{
+            'active_test': False,
+        }</field>
+        <field name="help" type="html">
+            <p>
+                Odoo's Business Requirement management allows you to manage the list
+                of Business requirement from a Stakeholder for efficient follow up. You can
+                track progress, discuss on tasks, attach documents, etc.
+            </p>
+        </field>
+    </record>
+    <record model="ir.ui.view" id="view_business_requirement_graph">
+        <field name="name">Business requirement</field>
+        <field name="model">business.requirement</field>
+        <field name="arch" type="xml">
+            <graph string="Business Requirement" stacked="True">
+                <field name="partner_id" />
+            </graph>
+        </field>
+    </record>
+    <record model="ir.ui.view" id="view_business_requirement_pivot">
+        <field name="name">Business requirement</field>
+        <field name="model">business.requirement</field>
+        <field name="arch" type="xml">
+            <pivot string="Business Requirement">
+            </pivot>
+        </field>
+    </record>
+    <record model="ir.actions.act_window" id="action_business_requirement_tree">
+        <field name="name">Business Requirement</field>
+        <field name="res_model">business.requirement</field>
+        <field name="view_mode">tree,kanban,form,graph,pivot</field>
+        <field name="context">{}</field>
+    </record>
+    <record
+        model="ir.actions.act_window"
+        id="action_business_requirement_category_tree"
+    >
+        <field name="name">Categories</field>
+        <field name="res_model">business.requirement.category</field>
+        <field name="view_mode">tree,form,graph</field>
+        <field name="context">{}</field>
+    </record>
+    <!-- Top menu item -->
+    <menuitem
+        id="menu_business_root"
+        name="Business Requirement"
+        groups="business_requirement.group_business_requirement_user"
+        sequence="30"
+        web_icon="business_requirement,static/description/icon.png"
+    />
+    <menuitem
+        id="menu_business_requirement"
+        name="Business Requirement"
+        groups="business_requirement.group_business_requirement_user"
+        parent="menu_business_root"
+        sequence="6"
+    />
+    <menuitem
+        id="menu_business_configuration"
+        name="Configuration"
+        groups="business_requirement.group_business_requirement_user"
+        parent="menu_business_root"
+        sequence="10"
+    />
+    <menuitem
+        id="menu_business_requirement1"
+        groups="business_requirement.group_business_requirement_user"
+        action="action_business_requirement_tree"
+        parent="menu_business_requirement"
+        sequence="10"
+    />
+    <menuitem
+        id="menu_business_requirement_category"
+        groups="business_requirement.group_business_requirement_user"
+        action="action_business_requirement_category_tree"
+        parent="menu_business_configuration"
+        sequence="10"
+    />
+    <menuitem
+        action="product.product_template_action"
+        id="menu_product_template_action"
+        parent="menu_business_configuration"
+        sequence="11"
+    />
+</odoo>
diff --git a/setup/business_requirement/odoo/addons/business_requirement b/setup/business_requirement/odoo/addons/business_requirement
new file mode 120000
index 000000000..c1befe5d8
--- /dev/null
+++ b/setup/business_requirement/odoo/addons/business_requirement
@@ -0,0 +1,1 @@
+../../../../business_requirement
\ No newline at end of file
diff --git a/setup/business_requirement/setup.py b/setup/business_requirement/setup.py
new file mode 100644
index 000000000..28c57bb64
--- /dev/null
+++ b/setup/business_requirement/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+    setup_requires=['setuptools-odoo'],
+    odoo_addon=True,
+)


Test patch:
diff --git a/business_requirement/tests/__init__.py b/business_requirement/tests/__init__.py
new file mode 100644
index 000000000..95879538c
--- /dev/null
+++ b/business_requirement/tests/__init__.py
@@ -0,0 +1,4 @@
+# Copyright 2017-2019 Elico Corp (https://www.elico-corp.com).
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+from . import test_br
+from . import test_portal
diff --git a/business_requirement/tests/test_br.py b/business_requirement/tests/test_br.py
new file mode 100644
index 000000000..63c19e5b3
--- /dev/null
+++ b/business_requirement/tests/test_br.py
@@ -0,0 +1,66 @@
+# Copyright 2017-2019 Elico Corp (https://www.elico-corp.com).
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+from odoo import _
+from odoo.tests import common
+
+
+class BusinessRequirementTestBase(common.SavepointCase):
+    @classmethod
+    def setUpClass(cls):
+        super().setUpClass()
+        # This is for reducing the diff coming from TransactionCase
+        self = cls
+        # Configure.
+        self.BR = self.env["business.requirement"]
+        self.br = self.BR.create({"description": "test"})
+
+
+class BusinessRequirementTest(BusinessRequirementTestBase):
+    def test_message_post(self):
+        self.message = self.br.with_context(
+            **{"default_model": "business.requirement", "default_res_id": self.br.id}
+        ).message_post(
+            body=_("Test Body"),
+            message_type="notification",
+            subtype_id=self.env.ref("mail.mt_note").id,
+            **{}
+        )
+        self.assertEqual(self.message.subject, "Re: {}-test".format(self.br.name))
+
+    def test_br_name_search(self):
+        br_vals = {"name": " test", "description": "test"}
+        self.br.create(br_vals)
+        self.assertTrue(self.br.name_search(name="test"))
+
+    def test_create_name_sequence(self):
+        name = self.env["ir.sequence"].next_by_code("business.requirement")
+        br_vals = {"name": "/", "description": "test"}
+        len_seq = name[2:]
+        seq = "BR" + str(int(len_seq) + 1).zfill(int(len(len_seq)))
+        res = self.BR.create(br_vals)
+        self.assertEqual(seq, res.name)
+
+    def test_br_read_group(self):
+        self.read_group = self.env["business.requirement"].read_group(
+            [], ["state"], ["state"]
+        )[0]
+        self.assertTrue(self.read_group["state"])
+        self.assertTrue(self.read_group["state_count"])
+
+    def test_get_portal_confirmation_action(self):
+        self.portal_confirmation_action = self.br.get_portal_confirmation_action()
+        self.assertEqual(self.portal_confirmation_action, "none")
+
+    def test_compute_access_url(self):
+        self.assertEqual(
+            self.br.access_url, "/my/business_requirement/{}".format(self.br.id)
+        )
+
+    def test_portal_publish_button(self):
+        self.assertFalse(self.br.portal_published)
+
+    def test_report(self):
+        res = self.env["ir.actions.report"]._render_qweb_html(
+            "business_requirement.br_report", self.br.ids
+        )
+        self.assertRegex(str(res[0]), self.br.name)
diff --git a/business_requirement/tests/test_portal.py b/business_requirement/tests/test_portal.py
new file mode 100644
index 000000000..a753b74e1
--- /dev/null
+++ b/business_requirement/tests/test_portal.py
@@ -0,0 +1,23 @@
+# Copyright 2021 Tecnativa - Víctor Martínez
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+import odoo.tests
+
+
+class BusinessRequirementPortalBase(odoo.tests.HttpCase):
+    def setUp(self):
+        super().setUp()
+        self.br = self.env["business.requirement"].create(
+            {"description": "test", "portal_published": True}
+        )
+        self.br.message_subscribe(
+            partner_ids=self.env.ref("base.demo_user0").partner_id.ids
+        )
+
+
+@odoo.tests.tagged("post_install", "-at_install")
+class BusinessRequirementPortal(BusinessRequirementPortalBase):
+    def setUp(self):
+        super().setUp()
+
+    def test_tour(self):
+        self.start_tour("/", "business_requirement_portal_tour", login="portal")