Search 1.9 billion lines of Odoo code on GitHub

project_outsourcing

Author: Numigi
License: LGPL-3
Branch: 14.0
Repository: Numigi/odoo-project-addons
Dependencies: project, project_task_analytic_lines, purchase, and purchase_stock
Languages: PO File (75, 10.4%), Python (395, 54.9%), XML (190, 26.4%), and reStructuredText (60, 8.3%)
Other branches: 11.0, 12.0, 452, TA#42546, TA#43556, TA#44075---manage_project_budget_using_milestone, TA#44076---Update-dockerfile, TA#44215---project_task_kanban_view_partner, TA#445738---project_outsourcing_timesheet_manage_contacts, TA#45451---add_project_milestone_week_duration, TA#45451---fix_after_test, TA#45452, TA#45459---project_milestone_timeline_dynamic, TA#45464---project_manager_access_right, TA#45526, TA#45528, TA#45902---analytic_line_revenue_v14, TA#45902---project_cost_smart_button_migration, TA#45902-analytic_line_employee_migration, TA#46088---project_timesheet_time_control_employee_pin, TA#46412---project_default_task_stage, TA#46412---project_stage_no_quick_create, TA#46412---project_task_date_planned, TA#46412---project_type, TA#46412--project_task_full_text_search, TA#47760---correctif#6, TA#47906, TA#48575, TA#51167, TumbaoJu-patch-1, abenzbiria-patch-1, jbreard-patch-2, and timesheet_analytic_update

<h1 class="title">Project Outsourcing</h1> <div class="contents topic" id="table-of-contents"> <p class="topic-title">Table of Contents</p> <ul class="simple"> <li><a class="reference internal" href="#context" id="id1">Context</a></li> <li><a class="reference internal" href="#summary" id="id2">Summary</a></li> <li><a class="reference internal" href="#create-a-new-po" id="id3">Create A New PO</a><ul> <li><a class="reference internal" href="#analytic-account" id="id4">Analytic Account</a></li> </ul> </li> <li><a class="reference internal" href="#stockable-products" id="id5">Stockable Products</a></li> <li><a class="reference internal" href="#list-of-purchase-lines" id="id6">List Of Purchase Lines</a></li> <li><a class="reference internal" href="#supplier-invoice" id="id7">Supplier Invoice</a></li> <li><a class="reference internal" href="#changing-the-project" id="id8">Changing The Project</a></li> <li><a class="reference internal" href="#project-smart-button" id="id9">Project Smart Button</a></li> <li><a class="reference internal" href="#contributors" id="id10">Contributors</a></li> </ul> </div> <a name="context"></a> <h2><a class="toc-backref" href="#id1">Context</a></h2> <p>In vanilla Odoo, it is not possible to bind a purchase order with a task.</p> <p>It is possible to set an analytic account on a purchase order line. However, this is error prone, because there are no restrictions on how and when to set an analytic account on a PO line.</p> <a name="summary"></a> <h2><a class="toc-backref" href="#id2">Summary</a></h2> <p>This module allows to generate a purchase order from a task.</p> <p>It adds a new tab in the form view of tasks to view purchase orders and a smart button on the form view of project.</p> <p>It inherits from the module project_task_analytic_lines which adds an integration between tasks and invoices.</p> <a name="create-a-new-po"></a> <h2><a class="toc-backref" href="#id3">Create A New PO</a></h2> <p>As member of the groups <cite>Project / User</cite> and <cite>Purchase / User</cite>, I go to the form view of a task.</p> <p>In the <cite>Outsourcing</cite> tab, I see a list of purchase orders.</p> <img alt="static/description/project_task_form.png" src="static/description/project_task_form.png" /> <p>I click on the button <cite>Create PO</cite>.</p> <p>The form view of a new PO is opened.</p> <img alt="static/description/new_purchase_order.png" src="static/description/new_purchase_order.png" /> <p>The following fields are filled automatically.</p> <ul class="simple"> <li>Outsourcing</li> </ul> <blockquote> This box is checked to indicate that the purchase order is an Outsourcing PO.</blockquote> <ul class="simple"> <li>Project</li> </ul> <blockquote> <p>This field is visible because the <cite>Outsourcing</cite> box is checked.</p> <p>It indicates which project is bound to the PO.</p> <p>One outsourcing PO can not be bound to more than one project.</p> </blockquote> <ul class="simple"> <li>Task</li> </ul> <blockquote> <p>This field is visible because the <cite>Outsourcing</cite> box is checked.</p> <p>It indicates which task is bound to the PO.</p> <p>It allows only to select a task from the selected project.</p> </blockquote> <p>I select my supplier, then I add a new line to the PO.</p> <img alt="static/description/po_with_supplier_and_product.png" src="static/description/po_with_supplier_and_product.png" /> <a name="analytic-account"></a> <h3><a class="toc-backref" href="#id4">Analytic Account</a></h3> <p>I notice that the analytic account on the PO lines is invisible. This is because the <cite>Outsourcing</cite> box is checked.</p> <p>Behind the scene, the analytic account is automatically set based on the selected project.</p> <a name="stockable-products"></a> <h2><a class="toc-backref" href="#id5">Stockable Products</a></h2> <p>Stockable (or consummable) products may not be added to an outsourcing PO.</p> <p>This is because the accounting is very different between outsourcing and material.</p> <p>If you need to add stockable products to a project, you will likely need the <cite>Work In Progress</cite> module (see project_wip_material).</p> <a name="list-of-purchase-lines"></a> <h2><a class="toc-backref" href="#id6">List Of Purchase Lines</a></h2> <p>Back to the task, in the outsourcing tab, I notice the new PO in the <cite>Purchase Order</cite> table and one line in the <cite>Order Lines</cite> table.</p> <img alt="static/description/project_task_form_with_po.png" src="static/description/project_task_form_with_po.png" /> <a name="supplier-invoice"></a> <h2><a class="toc-backref" href="#id7">Supplier Invoice</a></h2> <p>As member of the group <cite>Accounting / Billing</cite>, I create a new vendor bill from my PO.</p> <img alt="static/description/vendor_bill.png" src="static/description/vendor_bill.png" /> <p>I notice that the task was automatically selected on the invoice line.</p> <a name="changing-the-project"></a> <h2><a class="toc-backref" href="#id8">Changing The Project</a></h2> <p>If a task is moved from a project to another, any outsourcing PO linked to the task will be moved to the destination project.</p> <img alt="static/description/task_with_new_project.png" src="static/description/task_with_new_project.png" /> <img alt="static/description/purchase_order_with_new_project.png" src="static/description/purchase_order_with_new_project.png" /> <p>If any PO is already confirmed, a blocking message will be displayed.</p> <img alt="static/description/task_change_project_error_message.png" src="static/description/task_change_project_error_message.png" /> <a name="project-smart-button"></a> <h2><a class="toc-backref" href="#id9">Project Smart Button</a></h2> <p>When confirming a purchase order, journal entries are not created. The journal entries and analytic lines are only created when validating the supplier invoice.</p> <p>The supplier invoice for an outsourcing task may not be received before the job is finished. Therefore, that cost needs to be included in the customer invoice.</p> <p>For this purpose, a smart button is added on the project.</p> <img alt="static/description/project_smart_button.png" src="static/description/project_smart_button.png" /> <p>The button indicates the number of outsourcing purchase orders related to the project.</p> <p>When clicking on the button, the list of purchase orders is displayed.</p> <img alt="static/description/outsourcing_po_list.png" src="static/description/outsourcing_po_list.png" /> <p>From this list I can filter to see only the orders awaiting a vendor bill.</p> <img alt="static/description/outsourcing_po_list_awaiting_bill.png" src="static/description/outsourcing_po_list_awaiting_bill.png" /> <a name="contributors"></a> <h2><a class="toc-backref" href="#id10">Contributors</a></h2> <ul class="simple"> <li>Numigi (tm) and all its contributors (<a class="reference external" href="https://bit.ly/numigiens">https://bit.ly/numigiens</a>)</li> </ul>