393 lines
27 KiB
XML
393 lines
27 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<odoo>
|
|
|
|
<template id="inventory_planner">
|
|
<t t-call="web_planner.pages">
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Welcome'"/>
|
|
<t t-set="hide_mark_as_done" t-value="True"/>
|
|
<p>
|
|
This guide will help you get started with Odoo Inventory.
|
|
Once you are done, you will benefit from:
|
|
</p>
|
|
<ul>
|
|
<li><strong>Automated flows</strong>: from sale to delivery, and purchase to reception</li>
|
|
<li>Inventory forecast and <strong>automated replenishment rules</strong></li>
|
|
<li><strong>Streamlined logistic flows</strong></li>
|
|
<li>Accurate visibility on all your operations</li>
|
|
</ul>
|
|
<p>
|
|
In short, you will get a more efficient warehouse management that will lead
|
|
to inventory reduction and better efficiencies in your daily operations.
|
|
</p><p>
|
|
If you need help, do not hesitate to contact our experts
|
|
using the <span class="fa fa-question-circle"/> button on
|
|
the top bar.
|
|
</p>
|
|
<div class="mt32">
|
|
<img class="signature mb8" src="/web_planner/static/src/img/fabien_signature.png"/>
|
|
<address>
|
|
For the Odoo Team,<br/>
|
|
Fabien Pinckaers, Founder
|
|
</address>
|
|
</div>
|
|
</t>
|
|
<t t-call="web_planner.category">
|
|
<t t-set="menu_categorytitle" t-value="'Your Situation'"/>
|
|
<t t-set="menu_categoryclasses" t-value="'fa-building-o'"/>
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Your Warehouse'"/>
|
|
<p>
|
|
Odoo uses the concept of Warehouse as a building where you stock your goods.
|
|
Typically, a small business as only one warehouse (or more likely, a
|
|
storage room), but as your company grow, you may need to manage several
|
|
storage facilities.
|
|
</p>
|
|
<h4>Configure your warehouses:</h4>
|
|
<p>By default, Odoo has <strong>one warehouse preconfigured:</strong> you can <a t-att-href="prepare_backend_url('stock.action_warehouse_form')">edit its details here.</a></p>
|
|
<p>You can <strong>create additional Warehouses</strong> from the <i>Configuration/Warehouses</i> menu: each new warehouse will appear in your dashboard.</p>
|
|
<div class="alert alert-info">
|
|
<p><strong>Warehouse Locations</strong></p>
|
|
<p>
|
|
To better organize your stock, you can create
|
|
subdivisions of warehouses called locations (ex:
|
|
Shipping area, Merchandise return, Shelf 34 etc).
|
|
As this configuration requires more operations to
|
|
record, it's recommended to start without locations
|
|
if you did not manage inventory per zone in the
|
|
past.
|
|
</p>
|
|
</div>
|
|
</t>
|
|
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Your Vendors'"/>
|
|
<p class="text-muted">
|
|
Unless you are starting a new business, you probably already have a list of vendors.
|
|
</p>
|
|
<t t-if="not is_module_installed('account') and not is_module_installed('purchase')">
|
|
<div class="alert alert-warning">
|
|
<span>You need to install the Accounting or Purchases app to manage vendors.</span>
|
|
</div>
|
|
</t>
|
|
<h4>To import your vendors, you can either:</h4>
|
|
<ul>
|
|
<li><strong>Create each one manually</strong>, the easiest way if you only have a few.</li>
|
|
<li><strong>Use the Import function</strong>, available from the <a t-att-href="prepare_backend_url('base.action_partner_supplier_form', 'list', 'purchase')">Vendors list view.</a></li>
|
|
<li><strong>Or better yet</strong>, send your Odoo Project Manager the file containing all your data (CSV, XLS, XLSX or ODS) and he will gladly do the importation for you.</li>
|
|
</ul>
|
|
<div class="alert alert-info">
|
|
<span>For developers, <strong>you can use our
|
|
API</strong> to load data automatically through
|
|
scripts: take a look at our <a href="https://www.odoo.com/documentation/8.0/api_integration.html" target="_blank">API Documentation</a> for more
|
|
information.</span>
|
|
|
|
</div>
|
|
</t>
|
|
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Your Products'"/>
|
|
<p>Before creating your products, here are a few concepts your should understand:</p>
|
|
<h4>Product Types</h4>
|
|
<ul>
|
|
<li><strong>Stockable products</strong> are subject to the full inventory management system: minimum stock rules, automatic procurement, ...</li>
|
|
<li><strong>Consumable products</strong> are always assumed to be in sufficient quantity in your stock, therefore their available quantities are not tracked.</li>
|
|
</ul>
|
|
<h4>Supply Chain</h4>
|
|
<ul>
|
|
<li><strong>Manufacture:</strong> the product is manufactured internally or the service is supplied from internal resources.</li>
|
|
<li><strong>Buy:</strong> the product is bought from a vendor, through a Purchase Order.</li>
|
|
<li><strong>Make to Stock:</strong> your customers are supplied from available stock. If the quantities in stock are too low to fulfill the order, a Purchase Order (according the minimum stock rules) will be generated in order to get the products required.</li>
|
|
<li><strong>Make to Order:</strong> the product is acquired only as demand requires (meaning each time a Sales Order is confirmed). This will not modify stock in the medium term because you restock with the exact amount that was ordered.</li>
|
|
</ul>
|
|
<h4>On Hand / Available Quantities</h4>
|
|
<ul>
|
|
<li><strong>On Hand products</strong> are physically located in the warehouse location at the current time. This includes items that are already allocated to fulfilling production needs or sales orders.</li>
|
|
<li><strong>Available products</strong> are currently available for use in filling a new order for purposes such as production or distribution. This quantity does not include items already allocated to other orders or items that are in transit from a supplier.</li>
|
|
</ul>
|
|
<h4>Units of Measure</h4>
|
|
<ul>
|
|
<li>By default, Odoo measures products by 'units', which are a generic and can represent just about anything.</li>
|
|
<li>To use more precise units like pounds or kilograms, activate<i> Some products may be sold/purchased in different unit of measures (advanced)</i> in the <a t-att-href="prepare_backend_url('stock.action_stock_config_settings')">Inventory Settings.</a></li>
|
|
<li>Your can review and edit the pre-defined units via the <a t-attf-href="/web#view_type=list&model=product.uom&menu_id=#{uom_menu_id}">Units of Measures</a> configuration menu.</li>
|
|
<li>Of course, feel free to add your own; just remember that Odoo can convert units within the same category (for example, liters to gallons in the volume category).</li>
|
|
</ul>
|
|
<h4>Reordering Rules</h4>
|
|
<ul>
|
|
<li>Reordering rules can be used to automatically replenish your products: if the quantity on hand of a product for a given location is lower than the minimum indicated in the rule, Odoo will automatically propose a procurement to increase its quantity to the maximum level given in the rule.</li>
|
|
<li>The easiest way to create a reordering rule is through the <strong><span class="fa fa-refresh"/> Reordering</strong> button on a Product; then, simply enter a minimum and maximum quantity.</li>
|
|
</ul>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="panel panel-success">
|
|
<div class="panel-heading">
|
|
<span class="panel-title">
|
|
<span class="fa" data-icon=""/>
|
|
<strong> Create manually</strong><br/>
|
|
<span class="small">Recommended if <100 products</span>
|
|
</span>
|
|
</div>
|
|
<div class="panel-body">
|
|
<ul>
|
|
<li><a t-att-href="prepare_backend_url('product.product_template_action', 'form')">Create your products</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="panel panel-success">
|
|
<div class="panel-heading">
|
|
<span class="panel-title">
|
|
<span class="fa" data-icon=""/>
|
|
<strong>Import a file</strong><br/>
|
|
<span class="small">Recommended if >100 products</span>
|
|
</span>
|
|
</div>
|
|
<div class="panel-body">
|
|
<p>
|
|
We can handle the whole import process
|
|
for you: simply send your Odoo project
|
|
manager a CSV file containing all your
|
|
products.
|
|
</p><p>
|
|
If you want to do it yourself:
|
|
</p>
|
|
<ul>
|
|
<li>Download the <a href="/base_import/static/csv/products.xls">Excel template</a></li>
|
|
<li>Import using the top left button in <a t-att-href="prepare_backend_url('product.product_template_action','list')">the list of products</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</t>
|
|
<t t-call="web_planner.category">
|
|
<t t-set="menu_categorytitle" t-value="'Deployment'"/>
|
|
<t t-set="menu_categoryclasses" t-value="'fa-rocket'"/>
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Initial Inventory'"/>
|
|
<p>
|
|
Making an inventory is the act of matching the
|
|
theoretical quantities of your products in Odoo, to the
|
|
real on-hand quantities in your stock.
|
|
</p>
|
|
<h4>To begin your inventory:</h4>
|
|
<ul>
|
|
<li>Create a new <strong>Inventory Adjustment</strong> (e.g., Starting Inventory) from the <i>Inventory Control</i> menu.</li>
|
|
<li><strong>Select the Location</strong> you want to inventory (one is proposed by default if you only have one warehouse).</li>
|
|
<li>Click on <strong>Start Inventory</strong>, then for each listed Product, enter their quantity in the <i>Real Quantity</i> column</li>
|
|
<li><strong>Validate the inventory</strong>.</li>
|
|
</ul>
|
|
<p>
|
|
All your product have their Quantities set correctly.
|
|
</p>
|
|
<div class="alert alert-info">
|
|
<strong>Import data</strong>
|
|
<p>It is also possible to import your initial inventory from an Excel or CSV file.
|
|
If you want to do that, contact your Odoo project manager.</p>
|
|
</div>
|
|
</t>
|
|
</t>
|
|
<t t-call="web_planner.category">
|
|
<t t-set="menu_categorytitle" t-value="'Daily Operations'"/>
|
|
<t t-set="menu_categoryclasses" t-value="'fa-calendar-o'"/>
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Sales Flow'"/>
|
|
<p>
|
|
In Odoo, inventory management is fully integrated with the sales and
|
|
invoicing process. That means you can automate everything from the initial
|
|
quotation, to the goods delivery and final invoice.
|
|
</p>
|
|
<p>To better understand a complete sales flow, try to follow the following steps.</p>
|
|
<h4>From the Sales application:</h4>
|
|
<ul>
|
|
<li><strong>Create a Quotation</strong> with a customer and some products: for each item, Odoo will check if you have enough stock on hand.</li>
|
|
<li><strong>Transform it to a Sales Order</strong> by clicking on <i>Confirm Sale</i>: this will automatically create a corresponding Transfer Order.</li>
|
|
<li><strong>Use the <span class="fa fa-truck"/> Transfers button</strong> on the Sales Order form to access it (you can of course also retrieve it from the Inventory Dashboard)</li>
|
|
</ul>
|
|
<h4>From the Inventory application:</h4>
|
|
<ul>
|
|
<li>If your products supply chain is properly configured, the transfer should be marked as 'Ready to Transfer'. Otherwise, <strong>Check the availability</strong> manually.</li>
|
|
<li><strong>Validate the Delivery</strong> either by processing it one line at a time by clicking on the <span class="fa fa-gears"/> button, or as a whole with the <i>Validate</i> button</li>
|
|
</ul>
|
|
</t>
|
|
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Purchase Flow'"/>
|
|
<p>Now a similar exercise but for a purchase flow:</p>
|
|
<h4>From the Purchases application:</h4>
|
|
<ul>
|
|
<li><strong>Create a Request for Quotation</strong> (or RFQ for short) to your vendor, add the products and their desired quantities, and send it by fax or email.</li>
|
|
<li><strong>Transform it to a Purchase Order</strong> by clicking on <i>Confirm Order</i>: this will automatically create a corresponding Transfer Order.</li>
|
|
</ul>
|
|
<h4>From the Inventory application:</h4>
|
|
<ul>
|
|
<li>When you receive the ordered products, access the <strong>Incoming Shipments</strong> via the Dashboard.</li>
|
|
<li><strong>Process the products</strong> either manually by clicking on the <span class="fa fa-gears"/> button on the product lines, or scan them with the Odoo Barcode app.</li>
|
|
<li><strong>Validate the Receipt Order</strong> to mark the products as transferred to your stock location.</li>
|
|
</ul>
|
|
<h4>Back to the Purchases application:</h4>
|
|
<ul>
|
|
<li>Find the <strong>original Purchase Order</strong> and print the invoice.</li>
|
|
</ul>
|
|
</t>
|
|
</t>
|
|
<t t-call="web_planner.category">
|
|
<t t-set="menu_categorytitle" t-value="'Periodical Tasks'"/>
|
|
<t t-set="menu_categoryclasses" t-value="'fa-recycle'"/>
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Adapt Reordering Rules'"/>
|
|
<t t-set="page_menutitle" t-value="'Reordering Rules'"/>
|
|
<p>
|
|
A good inventory management aims to optimize stock levels: not too low (or
|
|
you may find yourself out of stock) and not too high (your products occupy
|
|
space and may loose value).
|
|
</p>
|
|
<p>Analyze your stock level at least once a month by generating a few reports:</p>
|
|
<ul>
|
|
<li><strong>Stock Level Forecast</strong> look for rapidly increasing / decreasing stock level compared to last month</li>
|
|
<li><strong>Stock Valuation</strong> look for high inventory value combined with a high product quantity</li>
|
|
</ul>
|
|
<p>Then, <strong>adapt the Reordering Rules</strong> to reduce or increase the stock level (just be careful to only make small changes over time).</p>
|
|
</t>
|
|
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Resolve Procurement Exceptions'"/>
|
|
<t t-set="page_menutitle" t-value="'Procurement Exceptions'"/>
|
|
<p>
|
|
If you configured automatic procurement, Odoo will automatically generate
|
|
Procurements Orders. You usually don't need to worry about them, but
|
|
sometimes, the system can remain blocked without generating a
|
|
corresponding document, usually due to a configuration problem.
|
|
</p>
|
|
<p>
|
|
It is therefore a good idea to check and try to resolve those procurement
|
|
exceptions, accessible from the Schedulers menu (you need the Stock
|
|
Manager role to see it).
|
|
</p>
|
|
<h4>Here are some usual problems and their solutions:</h4>
|
|
<ul>
|
|
<li><strong>No bill of materials defined for production:</strong> you need to create a BoM or indicate that the product can be purchased instead.</li>
|
|
<li><strong>No supplier available for a purchase:</strong> you have to define a supplier in the Procurements tab of the product form.</li>
|
|
<li><strong>No address defined on the supplier partner:</strong> you have to complete an address for the default supplier for the product concerned.</li>
|
|
<li><strong>No quantity available in stock:</strong> you have to create a reordering rule and put it in the order, or manually procure it.</li>
|
|
</ul>
|
|
</t>
|
|
</t>
|
|
<t t-call="web_planner.category">
|
|
<t t-set="menu_categorytitle" t-value="'Advanced'"/>
|
|
<t t-set="menu_categoryclasses" t-value="'fa-bolt'"/>
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Packages'"/>
|
|
<p>
|
|
Packages allows you to ship products by boxes, pallets, packs or whatever logistic unit you may need.
|
|
</p>
|
|
<h4>To use Packages:</h4>
|
|
<ul>
|
|
<li><strong>Activate <i>Record packages used on packing</i></strong> in your <a t-att-href="prepare_backend_url('stock.action_stock_config_settings')">Inventory Settings</a>.</li>
|
|
<li><strong>Activate <i>Technical Features</i></strong> on your user account.</li>
|
|
<li><strong>Use the <i>Configuration > Packages</i></strong> menu to edit or create your Packages</li>
|
|
</ul>
|
|
<p>Once your Packages are defined, you can attribute them to your products via the <i>Inventory</i> tab of the Product form.</p>
|
|
</t>
|
|
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Traceability'"/>
|
|
<p>
|
|
Odoo can run advanced traceability by using Product Lots and Serial
|
|
Numbers, usually identified by bar codes stuck on the products.
|
|
</p>
|
|
<p>
|
|
Lots can be encoded on incoming shipments lines, internal moves and
|
|
outgoing deliveries, and later can be separated into smaller lots
|
|
depending on the quantities ordered, but they will always keep their
|
|
initial lot number so you can track them.
|
|
</p>
|
|
<h4>To use Lot Tracking:</h4>
|
|
<ul>
|
|
<li><strong>Activate <i>Track lots or serial numbers</i></strong> in your <a t-att-href="prepare_backend_url('stock.action_stock_config_settings')">Inventory Settings</a>.</li>
|
|
<li><strong>When you process a Purchase order</strong>, assign a lot number to a group of products by clicking on the <span class="fa fa-cog"/> icon (e.g. 0001)</li>
|
|
</ul>
|
|
<p>The lot number you created will be displayed next to the item's location. To track the lot, go into <strong><i>Traceability > Serial Numbers</i></strong>.</p>
|
|
</t>
|
|
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Routes Management'"/>
|
|
<p>
|
|
Odoo can manage <strong>advanced push / pull routes configuration</strong>, for example:
|
|
</p>
|
|
<ul>
|
|
<li>Manage product manufacturing chains.</li>
|
|
<li>Manage default locations per product.</li>
|
|
<li>Define routes within your warehouse according to business needs, such as Quality Control, After Sales Services or Supplier Returns.</li>
|
|
<li>Help rental management, by generating automated return moves for rented products.</li>
|
|
</ul>
|
|
<p>This is quite complex to set up, so <strong>contact your Projet Manager</strong> and he will take care of this for you.</p>
|
|
</t>
|
|
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'Real-Time Inventory Valuation'"/>
|
|
<t t-set="page_menutitle" t-value="'Inventory Valuation'"/>
|
|
<p>
|
|
Imagine the following situation: you ask your accountant for an inventory
|
|
valuation or the value added by production, he will give you a figure. If
|
|
you ask for the same valuation from your inventory manager, he will
|
|
probably give you an entirely different figure.
|
|
</p>
|
|
<p>That's because by default, Odoo is configured to do a periodic inventory valuation.</p>
|
|
<p>
|
|
The alternative is to use a real-time inventory valuation, which gives a
|
|
complete and permanent coherence between accounting and inventory.Indeed,
|
|
each stock movement will generate a corresponding accounting entry.
|
|
</p>
|
|
<t t-if="not is_module_installed('account')">
|
|
<div class="alert alert-warning">
|
|
<span>You need to install the Accounting app to use real-time inventory valuation.</span>
|
|
</div>
|
|
</t>
|
|
<h4>To activate real-time inventory valuation:</h4>
|
|
<ul>
|
|
<li><strong>In the Accounting app</strong>, set up a General Account for each location that should be valued in your accounts.</li>
|
|
<li><strong>Back in the Inventory app</strong>, select the <i>Perpetual inventory</i> option for Inventory Valuation in the <a t-att-href="prepare_backend_url('stock.action_stock_config_settings')">Inventory Settings.</a></li>
|
|
<li><strong>Define the following accounts</strong>, either on the product category (Accounting Stock Properties tab) or on the product itself (Accounting tab):</li>
|
|
<ul>
|
|
<li>Stock Input Account</li>
|
|
<li>Stock Output Account</li>
|
|
<li>Stock Valuation Account</li>
|
|
</ul>
|
|
</ul>
|
|
</t>
|
|
</t>
|
|
<t t-call="web_planner.page">
|
|
<t t-set="page_title" t-value="'End'"/>
|
|
<t t-set="hide_title" t-value="True"/>
|
|
<t t-set="hide_from_menu" t-value="True"/>
|
|
<t t-set="hide_mark_as_done" t-value="True"/>
|
|
<h1 class="text-center o_planner_trophy" data-icon="" />
|
|
<div class="text-center">
|
|
<h1>Congratulations!</h1>
|
|
<h4>We hope this guide helped you implement Odoo Inventory.</h4>
|
|
<p>Don't hesitate to send us an email to describe your experience or to suggest improvements!</p>
|
|
<p>Once it's fully working, give us some feedback: we love to hear from our customer. It would be great if you can send a photo of your warehouse to <a href="mailto:feedback@mail.odoo.com?subject=Inventory%20Planner" target="_blank">feedback@mail.odoo.com</a></p>
|
|
<p><strong>Enjoy your Inventory management with Odoo!</strong></p>
|
|
<p>- The Odoo Team</p>
|
|
<img src="/web_planner/static/src/img/odoo_logo.png"/>
|
|
</div>
|
|
</t>
|
|
</t>
|
|
</template>
|
|
|
|
<record id="planner_inventory" model="web.planner">
|
|
<field name="name">Inventory planner</field>
|
|
<field name="view_id" ref="inventory_planner"/>
|
|
<field name="menu_id" ref="menu_stock_root"/>
|
|
<field name="planner_application">planner_inventory</field>
|
|
<field name="tooltip_planner"><![CDATA[
|
|
Inventory Configuration: a step-by-step guide.]]>
|
|
</field>
|
|
</record>
|
|
|
|
</odoo>
|