Files
odoo_source/addons/stock/data/web_planner_data.xml
T

358 lines
26 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 accompany you through the initial configuration of Odoo Inventory.</p>
<p>It may take you a few hours, but in the end you will understand:</p>
<ul>
<li>The basics of a good inventory management</li>
<li>The best way to make a good and efficient inventory of your stock</li>
<li>How to manage your customers orders, from the initial quotation to the final delivery and invoice</li>
<li>How to request quotations from your suppliers and manage incoming shippments</li>
<li>And many other inventory procedures like stock forecast, automatic procurement and traceability</li>
</ul>
<p>For help on any subject, dont hesitate to contact our Experts by using the <span class="fa fa-question-circle"/> button on the top bar.</p>
<img src="/web_planner/static/src/img/fabien_pinckaers.jpg" class="pull-left mb32"/>
<div class="pull-left ml8">
<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>To 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>
<p>You'll also see a new <i>Internal Transfers</i> thumbnail, which is used to move products from one warehouse to another (or from one location to another, see tip below).</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).
Contact your Odoo Project Manager for more information.
</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 (or Suppliers).
</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><strong>You can also use our API</strong> to load data automatically through scripts: take a look at our <a href="https://www.odoo.com/documentation/" target="_blank">Technical 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 are not subject to inventory management.</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>
<p>Though both are giving you an indication of your stock, these numbers are calculated differently:</p>
<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&amp;model=product.uom&amp;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="alert alert-success">
<h4>You can now import your Products, by either:</h4>
<ul>
<li><strong>Creating each one manually</strong>, the easiest way if you only have a few.</li>
<li><strong>Using the Import function,</strong> available from the <a t-att-href="prepare_backend_url('product.product_template_action_product')">Products list view</a>.</li>
<li><strong>Or better yet</strong>, by sending your Odoo Project Manager the file containing all your data (CSV, XLS, XLSX or ODS). He will gladly do the importation for you.</li>
</ul>
</div>
<div class="alert alert-info">
<span><strong>You can also use our API</strong> to load data automatically through scripts: take a look at our <a href="https://www.odoo.com/documentation/" target="_blank">Technical Documentation</a> for more information.</span>
</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="'Make your Inventory'"/>
<p>
Making an inventory is the act of matching the theoretical quantities of
your products encoded in Odoo, to the real, on-hand quantities available in your stock.
</p>
<h4>Before starting, make sure:</h4>
<ul>
<li>That all your Products are created in Odoo, with the correct unit.</li>
<li>That your Warehouses and Locations are properly configured.</li>
</ul>
<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 (it's usually more efficient to work location per location).</li>
<li>Select <strong>All products</strong> to automatically create an inventory line for each product.</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> when you're sure everything is properly encoded.</li>
</ul>
<p>You will now see that for each Product, the Quantity on Hand has changed to the value you entered during the inventory.</p>
<div class="alert alert-info">
<strong>Theoretical Quantities</strong>
<p>If you come from another inventory management software, you can enter your previous stock values as Theoretical Quantity in Odoo. If not, it should be left at 0.</p>
<br/>
<strong>Recurrent Inventory</strong>
<p>
You should make your inventory at least once per year, to avoid a too
big discrepancy between the stock in Odoo and what's actually in your
inventory. Simply create a new Inventory Adjustment for each
Warehouse / Location, and follow the same method as for your initial inventory.
</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 manage 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 exercise.</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="&#xe006;" />
<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>