Author: |
Numigi |
License: |
no license |
Branch: |
11.0 |
Repository: |
Numigi/odoo-purchase-addons |
Dependencies: |
product,
product_supplier_info_helpers,
and
purchase_consignment |
Languages: |
PO File (49, 10.7%),
Python (373, 81.4%),
and
XML (36, 7.9%) |
Other branches: |
12.0,
14.0,
TA#49456,
TA#50304,
and
qtip_20220127_1938 |
<h1 class="title">Purchase Consignment Delivery Expense</h1>
<p>This module extends <code>purchase_consignment</code>.</p>
<p>When delivering a consigned product, a journal entry is created to recognize the cost of the product.</p>
<div class="contents topic" id="table-of-contents">
<p class="topic-title first">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="#hypothesis" id="id2">Hypothesis</a></li>
<li><a class="reference internal" href="#module-design" id="id3">Module Design</a></li>
<li><a class="reference internal" href="#configuration" id="id4">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id5">Usage</a></li>
<li><a class="reference internal" href="#known-issues" id="id6">Known Issues</a><ul>
<li><a class="reference internal" href="#supplier-invoice" id="id7">Supplier Invoice</a></li>
<li><a class="reference internal" href="#standard-price" id="id8">Standard Price</a></li>
</ul>
</li>
<li><a class="reference internal" href="#contributors" id="id9">Contributors</a></li>
</ul>
</div>
<a name="context"></a>
<h2><a class="toc-backref" href="#id1">Context</a></h2>
<p>A consigned product has no inventory value.
Therefore, in vanilla Odoo when delivering the product, no journal entry is created.</p>
<p>If the cost of these products is recognized at the purchase invoice,
the matching of revenues and charges principle is not followed.</p>
<a name="hypothesis"></a>
<h2><a class="toc-backref" href="#id2">Hypothesis</a></h2>
<p>This module is designed based on the asumption that the supplier invoice for a consigned product
is received after the product is sold (delivered).</p>
<a name="module-design"></a>
<h2><a class="toc-backref" href="#id3">Module Design</a></h2>
<p>The global approach in this module is to use a transit account to accrud the cost of delivered products.</p>
<p>This transit account is most likely a current liability.
It is credited when delivering a product.</p>
<p>When the supplier invoice is received, the transit account is debited.</p>
<a name="configuration"></a>
<h2><a class="toc-backref" href="#id4">Configuration</a></h2>
<p>In the form view of a product category, I find a new section <code>Automated Expense on Delivery</code>.</p>
<img alt="static/description/product_category.png" src="static/description/product_category.png" />
<p>In the section, I find a box that allows to activate the feature for this category.</p>
<p>The feature is only usable if:</p>
<ul class="simple">
<li><code>Consignment</code> is checked</li>
<li>The cost method is <code>Standard Price</code></li>
<li>The inventory valuation is <code>Manual</code></li>
</ul>
<p>If I check the box, 3 new fields appear:</p>
<ul class="simple">
<li>Journal</li>
<li>Expense Account</li>
<li>Transit Account</li>
</ul>
<img alt="static/description/product_category_automated_expense.png" src="static/description/product_category_automated_expense.png" />
<p>These fields are used for generating the journal entry when delivering a product from this category.</p>
<a name="usage"></a>
<h2><a class="toc-backref" href="#id5">Usage</a></h2>
<p>I setup a product in the <code>Consigned Products</code> category.</p>
<img alt="static/description/product_form.png" src="static/description/product_form.png" />
<p>When validating a delivery order for this product, a journal entry is created.</p>
<img alt="static/description/delivery_order_done.png" src="static/description/delivery_order_done.png" />
<img alt="static/description/journal_entry.png" src="static/description/journal_entry.png" />
<p>I notice that the journal entry contains the journal and the expense and transit accounts defined on the category.</p>
<a name="known-issues"></a>
<h2><a class="toc-backref" href="#id6">Known Issues</a></h2>
<a name="supplier-invoice"></a>
<h3><a class="toc-backref" href="#id7">Supplier Invoice</a></h3>
<p>There is for now no constraint or automation on the supplier invoice.</p>
<p>The account selected for the consigned product on the invoice line should be the transit account.</p>
<p>It is the responsibility of the user properly configure the system so that
this account is automatically selected on the invoice.</p>
<a name="standard-price"></a>
<h3><a class="toc-backref" href="#id8">Standard Price</a></h3>
<p>The standard price (cost) defined on the product is used to compute the expense when delivering the product.</p>
<p>This price may be different from the actual unit price on the supplier invoice.</p>
<p>There is no automation for balancing the transit account in case of an imbalance.</p>
<a name="contributors"></a>
<h2><a class="toc-backref" href="#id9">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>