Compare commits
1 Commits
fvz-odoo-p
...
14.0-suppo
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
32b5167bd0 |
[IMP] support: clarification of what's not included
task-3027584 |
|
|
@@ -11,10 +11,6 @@ personal email address or an address created by a custom domain.
|
|||
For more information, visit `Microsoft's documentation <https://learn.microsoft.com/en-us/azure/
|
||||
active-directory/develop/quickstart-register-app>`_ on setting up OAuth in Azure.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/azure`
|
||||
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
|
||||
|
||||
Setup in Microsoft Azure Portal
|
||||
===============================
|
||||
|
||||
|
|
|
|||
|
|
@@ -11,10 +11,6 @@ email address or an address created by a custom domain.
|
|||
For more information, visit `Google's documentation
|
||||
<https://support.google.com/cloud/answer/6158849>`_ on setting up OAuth.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/google`
|
||||
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
|
||||
|
||||
Setup in Google
|
||||
===============
|
||||
|
||||
|
|
|
|||
|
|
@@ -18,7 +18,6 @@ Discover our user guides and configuration tutorials per application.
|
|||
applications/sales
|
||||
applications/websites
|
||||
applications/inventory_and_mrp
|
||||
applications/hr
|
||||
applications/marketing
|
||||
applications/services
|
||||
applications/productivity
|
||||
|
|
|
|||
|
|
@@ -8,7 +8,6 @@ Bank and cash
|
|||
:titlesonly:
|
||||
|
||||
bank/setup
|
||||
bank/bank_synchronization
|
||||
bank/bank_statements
|
||||
bank/feeds
|
||||
bank/reconciliation
|
||||
bank/interbank
|
||||
|
|
|
|||
|
|
@@ -1,36 +0,0 @@
|
|||
==============
|
||||
Enable Banking
|
||||
==============
|
||||
|
||||
**Enable Banking** is a third-party provider aggregating banking information from bank accounts all
|
||||
in one place. It offers non-intrusive connectivity to ASPSPs' official APIs across Europe without
|
||||
storing data.
|
||||
|
||||
.. image:: enablebanking/enablebanking.png
|
||||
:align: center
|
||||
:alt: Enable Banking logo
|
||||
|
||||
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
|
||||
import them into your database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- `Enable Banking website <https://enablebanking.com/>`_
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Link bank accounts with Odoo
|
||||
----------------------------
|
||||
|
||||
#. Start synchronization by clicking on :menuselection:`Accounting --> Configuration -->
|
||||
Add a Bank Account`;
|
||||
#. Select your bank;
|
||||
#. Make sure you give your consent to share your account information with Odoo by clicking
|
||||
:guilabel:`Continue authentication`;
|
||||
|
||||
.. image:: enablebanking/enablebankingauth.png
|
||||
:align: center
|
||||
:alt: Enable Banking authentication page
|
||||
|
||||
#. Finally, you are redirected to your bank's login page.
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 15 KiB |
13
content/applications/finance/accounting/bank/feeds.rst
Normal file
|
|
@@ -0,0 +1,13 @@
|
|||
:nosearch:
|
||||
|
||||
==========
|
||||
Bank feeds
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
feeds/bank_statements
|
||||
feeds/bank_synchronization
|
||||
feeds/ponto
|
||||
feeds/saltedge
|
||||
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
|
@@ -1,8 +1,6 @@
|
|||
:show-content:
|
||||
|
||||
====================
|
||||
Bank synchronization
|
||||
====================
|
||||
======================================
|
||||
Bank synchronization: automatic import
|
||||
======================================
|
||||
|
||||
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
||||
automatically into your database.
|
||||
|
|
@@ -17,12 +15,9 @@ To connect to the banks, Odoo uses multiple web-services:
|
|||
|
||||
- **Plaid**: United States of America and Canada
|
||||
- **Yodlee**: Worldwide
|
||||
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Europe
|
||||
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
|
||||
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries
|
||||
|
||||
.. seealso::
|
||||
:doc:`bank_statements`
|
||||
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
|
||||
- **Ponto**: Europe (:doc:`more information <ponto>`)
|
||||
- **EnableBanking**: Scandinavian countries
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
|
@@ -201,9 +196,7 @@ You can update your credentials by going to :menuselection:`Accounting Dashboard
|
|||
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
|
||||
credentials and click on the :guilabel:`Update Credentials` button.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
bank_synchronization/saltedge
|
||||
bank_synchronization/ponto
|
||||
bank_synchronization/enablebanking
|
||||
.. seealso::
|
||||
* :doc:`bank_statements`
|
||||
* :doc:`ponto`
|
||||
* :doc:`saltedge`
|
||||
|
|
@@ -1,6 +1,6 @@
|
|||
=====
|
||||
Ponto
|
||||
=====
|
||||
======================================
|
||||
Ponto as bank synchronization provider
|
||||
======================================
|
||||
|
||||
**Ponto** is a service that allows companies and professionals to aggregate their accounts in one
|
||||
place and directly see all their transactions within one app. It is a third-party solution that is
|
||||
|
|
@@ -16,9 +16,9 @@ into your database.
|
|||
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
|
||||
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../bank_statements`
|
||||
.. note::
|
||||
You can find more information about bank synchronization :doc:`on this page
|
||||
<bank_synchronization>`.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
|
@@ -115,3 +115,10 @@ and we advise you to contact Ponto directly.
|
|||
.. important::
|
||||
Using an institution in beta is beneficial for Ponto, it allows them to have real
|
||||
feedback on the connection with the institution.
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :doc:`bank_synchronization`
|
||||
* :doc:`saltedge`
|
||||
* :doc:`bank_statements`
|
||||
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
|
@@ -1,6 +1,6 @@
|
|||
=========
|
||||
Salt Edge
|
||||
=========
|
||||
==========================================
|
||||
Salt Edge as bank synchronization provider
|
||||
==========================================
|
||||
|
||||
**Salt Edge** is a third-party provider that aggregates banking information
|
||||
from your bank accounts. It supports ~5000 institutions in more than 50
|
||||
|
|
@@ -8,15 +8,12 @@ countries.
|
|||
|
||||
.. image:: saltedge/saltedge-logo.png
|
||||
:align: center
|
||||
:width: 50%
|
||||
:alt: Salt Edge Logo
|
||||
|
||||
Odoo can synchronize directly with your bank to get all bank statements imported
|
||||
automatically into your database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../bank_statements`
|
||||
Salt Edge is a free third-party provider.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
|
@@ -106,3 +103,9 @@ In case you already have a connection with the same credentials present on your
|
|||
and this synchronization was created with Odoo, you will normally be able to find it by going to
|
||||
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
|
||||
*Update Credentials* to reactivate the connection.
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :doc:`bank_synchronization`
|
||||
* :doc:`ponto`
|
||||
* :doc:`bank_statements`
|
||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
|
@@ -122,5 +122,5 @@ second time.
|
|||
.. seealso::
|
||||
|
||||
- :doc:`use_cases`
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../feeds/bank_synchronization`
|
||||
- :doc:`../../receivables/customer_invoices/cash_discounts`
|
||||
|
|
|
|||
|
|
@@ -102,4 +102,4 @@ right and validate all related payments :
|
|||
:align: center
|
||||
|
||||
.. seealso::
|
||||
:doc:`../bank_synchronization`
|
||||
* :doc:`../feeds/bank_synchronization`
|
||||
|
|
|
|||
|
|
@@ -25,7 +25,7 @@ Add a new Bank Account
|
|||
======================
|
||||
|
||||
You can either connect your bank account to your Odoo database, or configure your bank account
|
||||
manually and :doc:`upload the bank statements manually <../bank_statements>`.
|
||||
manually and :doc:`upload the bank statements manually <../feeds/bank_statements>`.
|
||||
|
||||
Bank Synchronization
|
||||
--------------------
|
||||
|
|
@@ -37,7 +37,7 @@ To synchronize a new bank account, go to :menuselection:`Accounting --> Configur
|
|||
instructions on-screen.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <../../bank/bank_synchronization>` for more information about this bank
|
||||
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this bank
|
||||
synchronization.
|
||||
|
||||
.. image:: bank_accounts/bank_accounts_connect.png
|
||||
|
|
@@ -90,6 +90,6 @@ how the bank statements are recorded and posted in the **Bank Statements** secti
|
|||
:alt: Advanced configuration of a bank account in Odoo Accounting
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../bank_statements`
|
||||
- `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
||||
* :doc:`../../bank/feeds/bank_synchronization`
|
||||
* :doc:`../feeds/bank_statements`
|
||||
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
||||
|
|
|
|||
|
|
@@ -55,7 +55,7 @@ Connect your bank account to your database and have your bank statements synced
|
|||
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <../../bank/bank_synchronization>` for more information about this feature.
|
||||
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this feature.
|
||||
|
||||
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
||||
your database, you may also configure your bank account manually by clicking on *Create it*, and
|
||||
|
|
@@ -188,6 +188,6 @@ Send yourself a sample invoice by email to make sure everything is correctly con
|
|||
.. seealso::
|
||||
* :doc:`../../bank/setup/bank_accounts`
|
||||
* :doc:`chart_of_accounts`
|
||||
* :doc:`../../bank/bank_synchronization`
|
||||
* :doc:`../../bank/feeds/bank_synchronization`
|
||||
* :doc:`../../../fiscal_localizations`
|
||||
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
||||
|
|
|
|||
|
|
@@ -174,9 +174,8 @@ Do the same for all the sales taxes that the company needs, either those that co
|
|||
Odoo, or those that you add that are necessary for your company bill.
|
||||
|
||||
.. tip::
|
||||
For the 0% VAT tax, select the option :guilabel:`Tasa` within the :guilabel:`Factor Type` field.
|
||||
For the 0% VAT **exempt** tax, select the option :guilabel:`Exento` instead of :guilabel:`Tasa`
|
||||
within the :guilabel:`Factor Type` field.
|
||||
For the 0% VAT tax, select the option *Exento* instead of *Tasa* within the **Factor Type**
|
||||
field.
|
||||
|
||||
When registering a payment, Odoo will carry out the movement of taxes from the **Cash Basis
|
||||
Transition Account** to the account set in the **Definition** tab. For such movement, a tax base
|
||||
|
|
|
|||
|
|
@@ -17,10 +17,6 @@ possibilities.
|
|||
- :ref:`payment_acquirers/add_new`
|
||||
- :doc:`../payment_acquirers`
|
||||
|
||||
.. note::
|
||||
Adyen works only with customers processing **more** than **10 million annually** or invoicing a
|
||||
**minimum** of **1.000** transactions **per month**.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
|
|
|
|||
|
|
@@ -1,10 +1,6 @@
|
|||
======================================
|
||||
Microsoft Azure sign-in authentication
|
||||
======================================
|
||||
=====
|
||||
OAuth
|
||||
=====
|
||||
|
||||
Due to specific requirements in Azure's OAuth implementation, Microsoft Azure OAuth identification
|
||||
is NOT compatible with Odoo at the moment.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
|
||||
- :doc:`/administration/maintain/azure_oauth`
|
||||
Due to specific requirements in Azure's OAuth implementation,
|
||||
Microsoft Azure OAuth identification is NOT compatible with Odoo at the moment.
|
||||
|
|
|
|||
|
|
@@ -8,10 +8,6 @@ with their Google account.
|
|||
This is particularly helpful if your organization uses Google Workforce and you want the employees
|
||||
within your organization to connect to Odoo with their Google Accounts.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
|
||||
- :doc:`/administration/maintain/google_oauth`
|
||||
|
||||
.. _google-sign-in/configuration:
|
||||
|
||||
Configuration
|
||||
|
|
@@ -46,7 +42,7 @@ OAuth consent screen
|
|||
:align: center
|
||||
:alt: Google oauth consent selection menu
|
||||
|
||||
#. Choose the option for :guilabel:`internal`, and click on :guilabel:`Create`.
|
||||
#. Choose one of the options **(Internal / External)** as instructed, and click on *Create*.
|
||||
|
||||
.. image:: google/consent.png
|
||||
:align: center
|
||||
|
|
|
|||
|
|
@@ -5,10 +5,6 @@ Synchronize Google Calendar with Odoo
|
|||
Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go
|
||||
in both directions). This integration helps organize your schedule so you never miss a meeting.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/google`
|
||||
- :doc:`/administration/maintain/google_oauth`
|
||||
|
||||
Setup in Google
|
||||
===============
|
||||
|
||||
|
|
|
|||
|
|
@@ -5,10 +5,6 @@ Synchronize Outlook Calendar with Odoo
|
|||
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
|
||||
appointments across all related applications.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/azure`
|
||||
- :doc:`/administration/maintain/azure_oauth`
|
||||
|
||||
Register the application with Microsoft Azure
|
||||
=============================================
|
||||
|
||||
|
|
|
|||
|
|
@@ -1,9 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
===============
|
||||
Human resources
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
|
||||
hr/attendances
|
||||
|
|
@@ -1,19 +0,0 @@
|
|||
:nosearch:
|
||||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
|
||||
===========
|
||||
Attendances
|
||||
===========
|
||||
|
||||
**Odoo Attendances** functions as a time clock. Employees check in and check out of work, while
|
||||
managers can see who is available at any given time.
|
||||
|
||||
.. seealso::
|
||||
`Odoo Tutorials: Attendances <https://www.odoo.com/slides/slide/attendances-684>`_
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
attendances/hardware
|
||||
|
|
@@ -1,57 +0,0 @@
|
|||
========
|
||||
Hardware
|
||||
========
|
||||
|
||||
Kiosk management
|
||||
================
|
||||
|
||||
A kiosk is a self-service station that allows employees to check in and check out for work shifts.
|
||||
|
||||
There are two ways to set up a kiosk:
|
||||
|
||||
- **Laptop and desktop PC**
|
||||
|
||||
Running a kiosk in a web browser is the cheapest and most flexible option. You can print employee
|
||||
badges with any thermal or inkjet printer compatible with your web browser.
|
||||
|
||||
- **Tablet and mobile phone (Android or iOS)**
|
||||
|
||||
Tablets and mobile phones take up much less space, and their touchscreens are easy to use.
|
||||
Consider putting them in a secure stand at the front desk or mounting them securely on a wall.
|
||||
|
||||
.. tip::
|
||||
We recommend using an iPad together with the `Heckler Design WindFall Stand
|
||||
<https://hecklerdesign.com/products/windfall-stand-for-ipad>`_
|
||||
|
||||
RFID key fob readers
|
||||
====================
|
||||
|
||||
Employees can scan personal RFID key fobs with an RFID reader to manage check-ins and check-outs
|
||||
quickly and easily.
|
||||
|
||||
.. image:: hardware/rfid-reader.jpg
|
||||
:align: center
|
||||
:width: 40%
|
||||
:alt: An RFID key fob is placed on an RFID reader
|
||||
|
||||
.. tip::
|
||||
We recommend using the `Neuftech USB RFID Reader <https://neuftech.net/Neuftech-USB-RFID-Reader-ID-Kartenleseger%C3%A4t-Kartenleser-Kontaktlos-Card-Reader-f%C3%BCr-EM4100>`_.
|
||||
|
||||
.. note::
|
||||
An IoT box is **not** required.
|
||||
|
||||
Barcode scanners
|
||||
================
|
||||
|
||||
Employees can scan the barcode on their employee badges to manage check-ins and check-outs quickly
|
||||
and easily. The kiosk mode works with most USB barcode scanners connected directly to a computer.
|
||||
Bluetooth barcode scanners are also supported natively.
|
||||
|
||||
.. tip::
|
||||
We recommend using the `Honeywell product line
|
||||
<https://sps.honeywell.com/us/en/products/productivity/barcode-scanners>`_. If the barcode
|
||||
scanner is connected directly to a computer, it must be configured to use the computer's keyboard
|
||||
layout.
|
||||
|
||||
.. note::
|
||||
An IoT box is **not** required.
|
||||
|
Before Width: | Height: | Size: 34 KiB |
|
|
@@ -10,6 +10,7 @@ Warehouse Management
|
|||
|
||||
management/products
|
||||
management/warehouses
|
||||
management/replenishment_strategies
|
||||
management/delivery
|
||||
management/incoming
|
||||
management/misc
|
||||
|
|
|
|||
|
|
@@ -1,80 +1,109 @@
|
|||
=============================================================
|
||||
Use dropshipping to ship directly from suppliers to customers
|
||||
=============================================================
|
||||
==================================================================
|
||||
Send Products to Customers Directly from Suppliers (Drop-shipping)
|
||||
==================================================================
|
||||
|
||||
Dropshipping is an order fulfillment strategy that allows sellers to have items shipped directly
|
||||
from suppliers to customers. Normally, a seller purchases a product from a supplier, stores it in
|
||||
their inventory, and ships it to the end customer once an order is placed. With dropshipping, the
|
||||
supplier is responsible for storing and shipping the item. This benefits the seller by reducing
|
||||
inventory costs, including the price of operating warehouses.
|
||||
What is Drop-Shipping?
|
||||
======================
|
||||
|
||||
Configure products to be dropshipped
|
||||
====================================
|
||||
Drop-Shipping is a system that allows orders taken from your store to be
|
||||
shipped straight from your supplier to your customer. On a usual
|
||||
delivery system, products are sent from your supplier to your warehouse
|
||||
to be put in stock and then shipped to your customers after ordering.
|
||||
|
||||
To use dropshipping as a fulfillment strategy, navigate to the :guilabel:`Purchase` app and select
|
||||
:menuselection:`Configuration --> Settings`. Under the :guilabel:`Logistics` heading, click the
|
||||
:guilabel:`Dropshipping` checkbox, and :guilabel:`Save` to finish.
|
||||
With drop-shipping, no item is stocked. When a customer places an order
|
||||
in your shop, the item is delivered straight from the supplier to the
|
||||
customer. Therefore, the product doesn't need to get through your
|
||||
warehouse.
|
||||
|
||||
Next, go to the :guilabel:`Sales` app, click :menuselection:`Products --> Products` and choose an
|
||||
existing product or select :guilabel:`Create` to configure a new one. On the product page, make sure
|
||||
that the :guilabel:`Can be Sold` and :guilabel:`Can be Purchased` checkboxes are enabled.
|
||||
Points to be Considered while Implementing Drop-Shipping
|
||||
========================================================
|
||||
|
||||
.. image:: dropshipping/sold-purchased-checkboxes.png
|
||||
:align: center
|
||||
:alt: Enable the "Can be Sold" and "Can be Purchased" checkboxes on the product form.
|
||||
- Use drop-shipping only for the products you can't or don't want to keep in stock.
|
||||
One reason is that you'll always make smaller
|
||||
margins on items that are drop-shipped, so you should keep it
|
||||
only for items that take up a lot of space in your warehouse.
|
||||
|
||||
Click on the :guilabel:`Purchase` tab and specify a vendor and the price that they sell the product
|
||||
for. Multiple vendors can be added, but the vendor at the top of the list will be the one
|
||||
automatically selected for purchase orders.
|
||||
- Drop-shipping is best for niche products.
|
||||
Chances are that products that are in high demand are being offered by large suppliers at a
|
||||
fraction of the price you'll be able to charge, so using a more
|
||||
costly shipping method won't be financially rewarding. But if
|
||||
your product is unique, then it makes sense!
|
||||
|
||||
.. image:: dropshipping/product-vendor-config.png
|
||||
:align: center
|
||||
:alt: The product form with a vendor specified.
|
||||
- To protect your customers from bad experiences.
|
||||
Test drop-shipping companies for yourself beforehand and list the best ones.
|
||||
|
||||
Finally, select the :guilabel:`Inventory` tab and enable the :guilabel:`Dropship` checkbox in the
|
||||
:guilabel:`Routes` section.
|
||||
- Make sure time is not against you.
|
||||
Drop-shipping should take a reasonable amount of time and surely not more than it would have taken you to handle it all by yourself. It's also nice to be able
|
||||
to provide your customers with a tracking number.
|
||||
|
||||
.. image:: dropshipping/enable-dropship-route.png
|
||||
:align: center
|
||||
:alt: Enable the Dropship option in the product inventory tab.
|
||||
|
||||
Fulfill orders using dropshipping
|
||||
=================================
|
||||
|
||||
When a customer completes an online purchase for a dropshipped product, a sales order will be
|
||||
automatically created with an associated request for quotation (:abbr:`RFQ (Request for Quotation)`)
|
||||
for the supplier. Sales orders can be viewed in the :guilabel:`Sales` app by selecting
|
||||
:menuselection:`Orders --> Orders`. Click the :guilabel:`Purchase` smart button at the top right of
|
||||
a sales order to view the associated :abbr:`RFQ (Request for Quotation)`.
|
||||
- Items have to be available from your supplier.
|
||||
It's good to know if
|
||||
the product you're selling is available upstream. If you don't
|
||||
have that information, inform your customers that you don't hold
|
||||
the item in stock and that it's subject to availability from a
|
||||
third party.
|
||||
|
||||
.. tip::
|
||||
Dropship sales orders can also be created manually through the :guilabel:`Sales` app by selecting
|
||||
:menuselection:`Orders --> Orders --> Create` and adding a product configured for dropshipping.
|
||||
For more information and insights about Drop-Shipping, you can read our
|
||||
blog: `*What is drop-shipping and how to use
|
||||
it* <https://www.odoo.com/blog/business-hacks-1/post/what-is-drop-shipping-and-how-to-use-it-250>`__.
|
||||
|
||||
.. image:: dropshipping/dropship-sales-order.png
|
||||
:align: center
|
||||
:alt: A dropship sales order with the Purchase smart button in the top right corner.
|
||||
Configure Drop-Shipping
|
||||
=======================
|
||||
|
||||
Once the :abbr:`RFQ (Request for Quotation)` is confirmed, it becomes a purchase order and a
|
||||
dropship receipt is created and linked to it. The receipt can be viewed by clicking the
|
||||
:guilabel:`Receipt` smart button in the top right corner of the purchase order form.
|
||||
Activate the functionality in the *Purchase* application by going to :menuselection:`Configuration
|
||||
--> Settings`.
|
||||
|
||||
.. image:: dropshipping/dropship-purchase-order.png
|
||||
:align: center
|
||||
:alt: A dropship purchase order with the Receipt smart button in the top right corner.
|
||||
.. image:: dropshipping/dropshipping_01.png
|
||||
:align: center
|
||||
|
||||
The dropship receipt will list the supplier in the :guilabel:`Receive From` section and the customer
|
||||
in the :guilabel:`Destination Location` section. Upon delivery of the product to the customer, click
|
||||
on the :guilabel:`Validate` button at the top left of the dropship receipt to confirm the delivered
|
||||
quantity.
|
||||
Then, go to the *Inventory* app, in :menuselection:`Configuration --> Settings` to
|
||||
activate the *Multi-Step Routes* feature. It will allow you to make
|
||||
the *Route* field appear on the sale order lines to specify you send a
|
||||
product via drop-shipping.
|
||||
|
||||
.. image:: dropshipping/validate-dropship-receipt.png
|
||||
:align: center
|
||||
:alt: Validate the dropship receipt after delivery.
|
||||
.. image:: dropshipping/dropshipping_02.png
|
||||
:align: center
|
||||
|
||||
To view all dropship orders, simply navigate to the :guilabel:`Inventory` dashboard and click the
|
||||
teal :guilabel:`# TO PROCESS` button on the :guilabel:`Dropship` card.
|
||||
Now, in the *Sales* app, go to :menuselection:`Products --> Products`. Select the
|
||||
product you would like to drop-ship and add a vendor pricelist which
|
||||
contains the right supplier, via the purchase tab.
|
||||
|
||||
.. image:: dropshipping/view-all-dropship-orders.png
|
||||
:align: center
|
||||
:alt: Click the green button on the Dropship card to view all dropship orders.
|
||||
.. image:: dropshipping/dropshipping_03.png
|
||||
:align: center
|
||||
|
||||
Send Products from the Suppliers Directly to the Customers
|
||||
==========================================================
|
||||
|
||||
Create a *Sales Order* and add the product on which you just set the
|
||||
vendor. Add the *Route* field thanks to the widget on the right of the
|
||||
sale order line. Now, you are able to specify that your products’ route
|
||||
is *Drop-Shipping*.
|
||||
|
||||
.. image:: dropshipping/dropshipping_04.png
|
||||
:align: center
|
||||
|
||||
.. image:: dropshipping/dropshipping_05.png
|
||||
:align: center
|
||||
|
||||
Once the sale order is confirmed, Odoo automatically generates a
|
||||
*Request for Quotation* for the supplier who will proceed to the
|
||||
drop-shipping. You can find it in the *Purchase* app, with the sale
|
||||
order as *Source Document*.
|
||||
|
||||
.. image:: dropshipping/dropshipping_06.png
|
||||
:align: center
|
||||
|
||||
Once this *Purchase Order* is confirmed, a *Receipt Order* is
|
||||
created and linked to it. The source location is the vendor location and
|
||||
the destination location is the customer location. Then, the product
|
||||
won’t go through your own stock when you validate the dropship document.
|
||||
|
||||
.. image:: dropshipping/dropshipping_07.png
|
||||
:align: center
|
||||
|
||||
You can also easily access the dropship document directly from your
|
||||
inventory dashboard.
|
||||
|
||||
.. image:: dropshipping/dropshipping_08.png
|
||||
:align: center
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 3.2 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 9.5 KiB |
|
|
@@ -0,0 +1,11 @@
|
|||
:nosearch:
|
||||
|
||||
====================
|
||||
Inventory Adjustment
|
||||
====================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
replenishment_strategies/virtual_warehouses
|
||||
|
|
@@ -0,0 +1,53 @@
|
|||
===============================
|
||||
Resupply from another Warehouse
|
||||
===============================
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
In order to be able to resupply from another warehouse, you need to
|
||||
activate \*multi-step routes\*.
|
||||
|
||||
.. image:: virtual_warehouses/virtual-warehouses-settings.png
|
||||
:align: center
|
||||
:alt: Enable Multi-Step Routes in an Odoo database's settings
|
||||
|
||||
You can then access your warehouses via :menuselection:`Inventory --> Configuration -->
|
||||
Warehouses`.
|
||||
Enter the warehouse which should be resupplied by another one. You will
|
||||
have the possibility to directly indicate through which warehouse it
|
||||
gets resupplied.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_02.png
|
||||
:align: center
|
||||
|
||||
By activating this option, a new route will now be available on your
|
||||
products \*Supply Product from Second warehouse\*. It can now be
|
||||
selected, along with either a \*reordering rule\* or a \*make to
|
||||
order\*.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_03.png
|
||||
:align: center
|
||||
|
||||
For the demonstration, I set a reordering rule with a minimum of 5 units
|
||||
in stock and a maximum of 10 units in stock, having currently 0 units on
|
||||
hand. I will run the scheduler by going to :menuselection:`Inventory --> Operations -->
|
||||
Run scheduler`.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_04.png
|
||||
:align: center
|
||||
|
||||
The system automatically creates two pickings, one \*delivery order\*
|
||||
from my Second Warehouse which contains the necessary products, and a
|
||||
receipt in my main warehouse WH/Stock for the same products. The source
|
||||
document is the \*reordering rule\* which triggered the route \*Supply
|
||||
Product from Second warehouse\*.
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_05.png
|
||||
:align: center
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_06.png
|
||||
:align: center
|
||||
|
||||
.. image:: virtual_warehouses/virtual_warehouses_07.png
|
||||
:align: center
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
|
@@ -11,3 +11,4 @@ Valuation Methods
|
|||
reporting/inventory_valuation_config
|
||||
reporting/using_inventory_valuation
|
||||
reporting/integrating_landed_costs
|
||||
/applications/finance/accounting/others/inventory/avg_price_valuation
|
||||
|
|
|
|||
|
|
@@ -1,9 +1,7 @@
|
|||
=================================
|
||||
Inventory valuation configuration
|
||||
Inventory Valuation Configuration
|
||||
=================================
|
||||
|
||||
.. _inventory/inventory_valuation_config:
|
||||
|
||||
All of a company's stock on-hand contributes to the valuation of its inventory. That value should
|
||||
be reflected in the company's accounting records to accurately show the value of the company and
|
||||
all of its assets.
|
||||
|
|
@@ -29,32 +27,32 @@ between locations in a company's inventory.
|
|||
need to be periodically checked to ensure accuracy, and adjustments may be needed on an ongoing
|
||||
basis depending on the needs and priorities of the business.
|
||||
|
||||
Types of accounting
|
||||
Types of Accounting
|
||||
-------------------
|
||||
|
||||
Accounting entries will depend on the accounting mode: *Continental* or *Anglo-Saxon*.
|
||||
Accounting entries will depend on the accounting mode: Continental or Anglo-Saxon.
|
||||
|
||||
.. tip::
|
||||
Verify the accounting mode by activating the :ref:`developer-mode` and navigating to
|
||||
:menuselection:`Accounting --> Configuration --> Settings`.
|
||||
Verify the accounting mode by activating the :ref:`developer-mode`
|
||||
and navigating to :menuselection:`Accounting --> Configuration --> Settings`.
|
||||
|
||||
In *Anglo-Saxon* accounting, the costs of goods sold (COGS) are reported when products are sold or
|
||||
In Anglo-Saxon accounting, the costs of goods sold (COGS) are reported when products are sold or
|
||||
delivered. This means that the cost of a good is only recorded as an expense when a customer is
|
||||
invoiced for a product. *Interim Stock Accounts* are used for the input and output accounts, and are
|
||||
both *Asset Accounts* in the balance sheet.
|
||||
invoiced for a product. Interim Stock Accounts are used for the input and output accounts, and are
|
||||
both Asset Accounts in the Balance Sheet.
|
||||
|
||||
In *Continental* accounting, the cost of a good is reported as soon as a product is received into
|
||||
stock. Additionally, a single *Expense* account is used for both input and output accounts in
|
||||
the balance sheet.
|
||||
In Continental accounting, the cost of a good is reported as soon as a product is received into
|
||||
stock. Additionally, a *single* Expense account is used for both input and output accounts in
|
||||
the Balance Sheet.
|
||||
|
||||
Costing methods
|
||||
Costing Methods
|
||||
---------------
|
||||
|
||||
Below are the three costing methods that can be used in Odoo for inventory valuation.
|
||||
|
||||
- **Standard Price**: is the default costing method in Odoo. The cost of the product is manually
|
||||
defined on the product form, and this cost is used to compute the valuation. Even if the purchase
|
||||
price on a purchase order differs, the valuation will still use the cost defined on the product
|
||||
price on a Purchase Order differs, the valuation will still use the cost defined on the product
|
||||
form.
|
||||
- **Average Cost (AVCO)**: calculates the valuation of a product based on the average cost of that
|
||||
product, divided by the total number of available stock on-hand. With this costing method,
|
||||
|
|
@@ -83,11 +81,10 @@ valuation method should apply.
|
|||
Under the :guilabel:`Inventory Valuation` heading are two labels: :guilabel:`Costing Method` and
|
||||
:guilabel:`Inventory Valuation`. Pick the desired :guilabel:`Costing Method` using the drop-down
|
||||
menu (e.g. :guilabel:`Standard`, :guilabel:`Average Cost (AVCO)`, or :guilabel:`First In First Out
|
||||
(FIFO)`) and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
|
||||
(FIFO)` and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Using the inventory valuation
|
||||
</applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation>`
|
||||
:doc:`Using the inventory valuation <using_inventory_valuation>`
|
||||
|
||||
.. note::
|
||||
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, the numerical
|
||||
|
|
|
|||
|
|
@@ -1,130 +1,77 @@
|
|||
=========================
|
||||
Using inventory valuation
|
||||
=========================
|
||||
=============================
|
||||
Using the inventory valuation
|
||||
=============================
|
||||
|
||||
*Inventory valuation* is a quintessential accounting procedure that calculates the value of on-hand
|
||||
stock. Once determined, the inventory valuation amount is then incorporated into a company's overall
|
||||
value.
|
||||
Inventory valuation refers to how you value your stock. It’s a very
|
||||
important aspect of a business as the inventory can be the biggest asset
|
||||
of a company.
|
||||
|
||||
In Odoo, this process can be conducted manually— by warehouse employees physically counting the
|
||||
products— or automatically through the database.
|
||||
In this documentation, we will explain how the inventory valuation works
|
||||
in Odoo.
|
||||
|
||||
.. seealso::
|
||||
:ref:`Inventory valuation configuration <inventory/inventory_valuation_config>`
|
||||
|
||||
Understand the basics of inventory valuation
|
||||
============================================
|
||||
|
||||
In order to understand how moving products in and out of stock affects the company's overall value,
|
||||
consider the following product and stock moves scenario below.
|
||||
Inventory valuation: the basics
|
||||
===============================
|
||||
|
||||
Receive a product
|
||||
-----------------
|
||||
|
||||
For example, consider an physical product, a simple *table*, which is categorized as `Office
|
||||
Furniture` in the product form's :guilabel:`Product Category` field.
|
||||
Each time a product enters or leaves your stock, the value of your
|
||||
inventory is impacted. The way it is impacted depends on the
|
||||
configuration of your product (more info here).
|
||||
|
||||
Navigate to the the product category itself by going to :menuselection:`Inventory app -->
|
||||
Configuration --> Product Categories`, and on the form, set the :guilabel:`Costing Method` as `First
|
||||
In First Out (FIFO)` and the :guilabel:`Inventory Valuation` field as `Automated`.
|
||||
Let’s take an example with a product - a table - configured with a
|
||||
*FIFO costing method* and an automated inventory valuation.
|
||||
|
||||
I purchase 10 tables at a cost of $10.
|
||||
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_01.png
|
||||
:align: center
|
||||
|
||||
When I’ll confirm the receipt of the products, the value of my inventory
|
||||
will be impacted. If I want to know what this impact is, I can click on
|
||||
the valuation stat button.
|
||||
|
||||
.. tip::
|
||||
Alternatively access the :guilabel:`Product Categories` dashboard by clicking on the
|
||||
:guilabel:`internal link` arrow on the individual product's form, by hovering over the
|
||||
:guilabel:`Product Category` field.
|
||||
The consignment feature allows you to set owners on your stock (discover
|
||||
more about the consignment feature). When you receive products that are
|
||||
owned by another company, they are not taken into account in your
|
||||
inventory valuation.
|
||||
|
||||
Next, assume 10 tables are purchased at a price of $10.00, each. The :abbr:`PO (Purchase Order)` for
|
||||
those tables will show the subtotal of the purchase as $100, plus any additional costs or taxes.
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_02.png
|
||||
:align: center
|
||||
|
||||
.. image:: using_inventory_valuation/purchase-order.png
|
||||
:align: center
|
||||
:alt: Purchase order with 10 tables products valued at $10 each.
|
||||
.. note::
|
||||
You need access rights on the accounting module to see that button.
|
||||
|
||||
After selecting :guilabel:`Validate` on the :abbr:`PO (Purchase Order)`, use the
|
||||
:guilabel:`Valuation` smart button to view how the value of inventory was impacted.
|
||||
In this case, I can see that the 10 tables entered the stock for a total
|
||||
value of $100.
|
||||
|
||||
.. image:: using_inventory_valuation/valuation-smart-button.png
|
||||
:align: center
|
||||
:alt: Valuation smart button on a receipt.
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_03.png
|
||||
:align: center
|
||||
|
||||
.. important::
|
||||
:ref:`Developer mode <developer-mode>` must be turned on to see the *Valuation* smart button.
|
||||
I can also easily access the accounting entry that has been generated
|
||||
(in case of automated inventory valuation).
|
||||
|
||||
.. tip::
|
||||
The :doc:`consignment </applications/inventory_and_mrp/inventory/management/misc/owned_stock>`
|
||||
feature allows ownership to items in stock. Thus, products owned by other companies are not
|
||||
accounted for in the host company's inventory valuation.
|
||||
|
||||
The :guilabel:`Stock Valuation` dashboard then displays valuation of all products in the shipment,
|
||||
along with their quantities and valuation. In the example of 10 tables being purchased, the
|
||||
:guilabel:`Total Value` column of the dashboard would display a calculated valuation of $100.
|
||||
|
||||
.. image:: using_inventory_valuation/stock-valuation-product.png
|
||||
:align: center
|
||||
:alt: Stock valuation page depicting the products within a shipment.
|
||||
|
||||
In Odoo, automatic inventory valuation records are also recorded in the *Accounting* app. To access
|
||||
these accounting entries, navigate to :menuselection:`Accounting --> Journal Entries`, and look for
|
||||
inventory valuation entries with the `STJ` prefix in the :guilabel:`Journal` and :guilabel:`Number`
|
||||
columns, respectively.
|
||||
|
||||
.. image:: using_inventory_valuation/inventory-valuation-entry.png
|
||||
:align: center
|
||||
:alt: Accounting entry for the inventory valuation of 10 tables.
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_04.png
|
||||
:align: center
|
||||
|
||||
Deliver a product
|
||||
-----------------
|
||||
|
||||
In the same logic, when a table is shipped to a customer and leaves the warehouse, the stock
|
||||
valuation decreases. The :guilabel:`Valuation` smart button on the :abbr:`DO (Delivery Order)`,
|
||||
likewise, displays the stock valuation record as it does on a :abbr:`PO (Purchase Order)`
|
||||
In the same logic, when a table will be delivered, the stock valuation
|
||||
will be impacted and you will have access to a similar information.
|
||||
|
||||
.. image:: using_inventory_valuation/decreased-stock-valuation.png
|
||||
:align: center
|
||||
:alt: Decreased stock valuation after a product is shipped.
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_05.png
|
||||
:align: center
|
||||
|
||||
The inventory valuation report
|
||||
------------------------------
|
||||
|
||||
To view the current value of all products in the warehouse, go to :menuselection:`Inventory app -->
|
||||
Reporting --> Inventory Valuation`. The records in the table are organized by product, and selecting
|
||||
a product's drop-down menu displays detailed records with the :guilabel:`Date`,
|
||||
:guilabel:`Quantity`, and :guilabel:`Total Value` of the inventory.
|
||||
The summary of this is accessible via the inventory valuation report
|
||||
(accessible from :menuselection:`Inventory --> Reporting --> Inventory Valuation`). It gives
|
||||
you, product per product, the value of your stock. By clicking on the
|
||||
button *Inventory At Date*, you can have the same information for a
|
||||
past date.
|
||||
|
||||
.. image:: using_inventory_valuation/inventory-valuation-products.png
|
||||
:align: center
|
||||
:alt: Inventory valuation report showing multiple products.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`Inventory At Date` button, located in the top-left corner of the :guilabel:`Stock
|
||||
Valuation` dashboard, shows the inventory valuation of products available during a prior
|
||||
specified date.
|
||||
|
||||
Update product unit price
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
For any company: lead times, supply chain failures, and other risk factors can contribute to
|
||||
invisible costs. Although Odoo attempts to accurately represent the stock value, *manual valuation*
|
||||
serves as an additional tool to update the unit price of products.
|
||||
|
||||
.. important::
|
||||
Manual valuation is intended for products that can be purchased and received for a cost greater
|
||||
than 0, or have product categories set with :guilabel:`Costing Method` set as either `Average
|
||||
Cost (AVCO)` or `First In First Out (FIFO)`.
|
||||
|
||||
.. image:: using_inventory_valuation/add-manual-valuation.png
|
||||
:align: center
|
||||
:alt: Add manual valuation of stock value to a product.
|
||||
|
||||
Create manual valuation entries on the :guilabel:`Stock Valuation` dashboard by first navigating to
|
||||
:menuselection:`Inventory app --> Reporting --> Inventory Valuation`, and then click the little gray
|
||||
drop-down icon to the left of a product's name, to then reveal stock valuation line items below as
|
||||
well as a teal :guilabel:`+ (plus)` button on the right.
|
||||
|
||||
Click the teal :guilabel:`+ (plus)` button to open up the :guilabel:`Product Revaluation` form,
|
||||
where updates to the calculation of inventory valuation can be made, by increasing or decreasing the
|
||||
unit price of each product.
|
||||
|
||||
.. image:: using_inventory_valuation/product-revaluation.png
|
||||
:align: center
|
||||
:alt: Product revaluation form adding a value of $1.00 with the reason being inflation.
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_06.png
|
||||
:align: center
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
|
@@ -9,4 +9,3 @@ Warehouses
|
|||
:glob:
|
||||
|
||||
warehouses/difference_warehouse_location
|
||||
warehouses/warehouse_replenishment_transfer
|
||||
|
|
|
|||
|
|
@@ -1,150 +0,0 @@
|
|||
========================================================
|
||||
Transfer products between warehouses using replenishment
|
||||
========================================================
|
||||
|
||||
For companies that use multiple warehouses, it is often necessary to transfer items between them.
|
||||
This is referred to as an *inter-warehouse transfer*. Odoo *Inventory* handles the administrative
|
||||
process of inter-warehouse transfers to ensure that inventory counts remain accurate during and
|
||||
after the transfer. This document will detail the method for conducting an inter-warehouse transfer
|
||||
using replenishment.
|
||||
|
||||
Configure warehouses for inter-warehouse replenishment
|
||||
======================================================
|
||||
|
||||
First, ensure the :guilabel:`Multi-Step Routes` setting is enabled by navigating to
|
||||
:menuselection:`Inventory --> Configuration --> Settings`, and then check the box under the
|
||||
:guilabel:`Warehouse` tab. This will provide additional configuration options when creating a second
|
||||
warehouse that are needed for inter-warehouse replenishment.
|
||||
|
||||
By default, Odoo comes with a main warehouse already configured. If an additional warehouse has not
|
||||
already been created, do so now from the :guilabel:`Inventory` module by selecting
|
||||
:menuselection:`Configuration --> Warehouses --> Create`. Otherwise, select the warehouse that
|
||||
products will be transferred to from the :guilabel:`Warehouses` page and then click :guilabel:`Edit`
|
||||
to change its settings. Configure the warehouse as follows:
|
||||
|
||||
- :guilabel:`Warehouse`: choose a name that is not already being used for another warehouse (e.g.
|
||||
`Alternative Warehouse`)
|
||||
- :guilabel:`Short Name`: choose a short name by which the warehouse will be identified (e.g.
|
||||
`ALT_WH`)
|
||||
|
||||
Click :guilabel:`Save` and the new warehouse will be created. In addition, a new :guilabel:`Resupply
|
||||
From` field will appear on the warehouse's form. Click :guilabel:`Edit` and then check the box next
|
||||
to the warehouse that will be used to resupply the warehouse that is currently being configured.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/new-warehouse-configuration.png
|
||||
:align: center
|
||||
:alt: A warehouse settings form configured to allow resupplying between warehouses.
|
||||
|
||||
.. note::
|
||||
For the purposes of this demonstration, the warehouse that products are transferred from
|
||||
(outgoing) will be titled "San Francisco", and the warehouse that products are transferred to
|
||||
(incoming) will be titled "San Francisco 2".
|
||||
|
||||
Configure products for inter-warehouse replenishment
|
||||
====================================================
|
||||
|
||||
Products must also be configured properly in order for them to be transferred between warehouses.
|
||||
Navigate to :menuselection:`Inventory --> Products --> Products` and select an existing product or
|
||||
:guilabel:`Create` a new one, if necessary.
|
||||
|
||||
Then, on the product form, go to the :guilabel:`Inventory` tab and enable the checkbox for
|
||||
:guilabel:`X: Supply Product from Y`, with *X* being the warehouse receiving the transferred
|
||||
products and *Y* being the warehouse that products are transferred from.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/product-transfer-configuration.png
|
||||
:align: center
|
||||
:alt: Enable the checkbox to resupply one warehouse from another.
|
||||
|
||||
Replenish one warehouse from another
|
||||
====================================
|
||||
|
||||
Starting in the :menuselection:`Inventory` module, select :menuselection:`Products --> Products` and
|
||||
then choose the product that will be replenished. Click the :guilabel:`Replenish` button on the top
|
||||
left of the product page and fill out the pop-up form as follows:
|
||||
|
||||
- :guilabel:`Quantity`: the number of units that will be sent to the warehouse being replenished
|
||||
- :guilabel:`Scheduled Date`: the date that the replenishment is scheduled to take place
|
||||
- :guilabel:`Warehouse`: the warehouse that will be replenished
|
||||
- :guilabel:`Preferred Routes`: select `X: Supply Product from Y`, with *X* being the warehouse to
|
||||
be replenished and *Y* being the warehouse that the product will be transferred from
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/product-replenishment-form.png
|
||||
:align: center
|
||||
:alt: The form for replenishing a product.
|
||||
|
||||
Click :guilabel:`Confirm` and a delivery order will be created for the outgoing warehouse along with
|
||||
a receipt for the warehouse that will receive the product. Depending on the configuration settings
|
||||
for the outgoing and incoming warehouses, processing delivery orders and receipts will require
|
||||
between one and three steps. This document will detail how to process one-step deliveries and
|
||||
receipts.
|
||||
|
||||
Process the delivery order
|
||||
--------------------------
|
||||
|
||||
The first stage of a replenishment order is processing the delivery from the warehouse that the
|
||||
product is being transferred from. On the :menuselection:`Inventory` dashboard, select the
|
||||
:guilabel:`X to Process` button on the :guilabel:`Delivery Orders` card for the outgoing warehouse,
|
||||
then the delivery order created for the replenishment. On the delivery order page, click the
|
||||
:guilabel:`Check Availability` button in the top left to reserve the quantity of the product to be
|
||||
transferred. Once the delivery has been dispatched, click the :guilabel:`Validate` button to
|
||||
register the quantities shipped.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/delivery-orders-card.png
|
||||
:align: center
|
||||
:alt: The delivery orders card for the outgoing warehouse.
|
||||
|
||||
Process the receipt
|
||||
-------------------
|
||||
|
||||
Once the goods arrive at the incoming warehouse, the receipt created for that warehouse must be
|
||||
processed as well. Return to the :menuselection:`Inventory` dashboard and select the :guilabel:`X to
|
||||
Process` button on the :guilabel:`Receipts` card for the incoming warehouse, then the receipt
|
||||
created for the replenishment. On the receipt page, click the :guilabel:`Validate` button in the top
|
||||
left of the page to register the quantities received.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/receipts-card.png
|
||||
:align: center
|
||||
:alt: The delivery orders card for the outgoing warehouse.
|
||||
|
||||
After processing the receipt, the products transferred will now appear in the inventory of the
|
||||
incoming warehouse. The stock numbers for both warehouses can be viewed by returning to the product
|
||||
page and selecting the :guilabel:`X Units On Hand` button at the top of the screen.
|
||||
|
||||
Automate inter-warehouse replenishment
|
||||
======================================
|
||||
|
||||
Using reordering rules, it is possible to automate the process of replenishing one warehouse from
|
||||
another.
|
||||
|
||||
To get started, navigate to :menuselection:`Inventory --> Products --> Products`, and then
|
||||
choose the product that will be replenished. From the product page, select the :guilabel:`Reordering
|
||||
Rules` smart button at the top of the form, and then on the next page, click :guilabel:`Create` to
|
||||
configure the form as follows:
|
||||
|
||||
- :guilabel:`Location`: the location that the reordering rule will replenish when triggered, in this
|
||||
case, the incoming warehouse
|
||||
- :guilabel:`Min Quantity`: when the quantity on hand at the incoming warehouse falls below this
|
||||
number, the reordering rule will be triggered
|
||||
- :guilabel:`Max Quantity`: when the reordering rule is triggered, the product will be replenished
|
||||
at the incoming warehouse up to this quantity
|
||||
- :guilabel:`Multiple Quantity`: specify if the product should be replenished in batches of a
|
||||
certain quantity; for example, a product could be replenished in batches of 20
|
||||
- :guilabel:`UoM`: the unit of measure used for reordering the product; this value can simply be
|
||||
`Units`, or a specific unit of measurement for weight, length, etc.
|
||||
|
||||
.. image:: warehouse_replenishment_transfer/reordering-rule-configuration.png
|
||||
:align: center
|
||||
:alt: A fully configured reordering rule.
|
||||
|
||||
Finish by clicking :guilabel:`Save` and the reordering rule will be created. Now, when the scheduler
|
||||
runs automatically each day, a transfer will be created for each reordering rule that has been
|
||||
triggered.
|
||||
|
||||
.. tip::
|
||||
To manually trigger reordering rules, start from the :menuselection:`Inventory` module and select
|
||||
:menuselection:`Operation --> Run Scheduler`, then click the green :guilabel:`Run Scheduler`
|
||||
button in the pop-up that appears.
|
||||
|
||||
After the scheduler runs, a delivery order and receipt will be created for the outgoing and incoming
|
||||
warehouses, respectively. Both the delivery order and receipt should be processed using the same
|
||||
method as detailed above.
|
||||
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
|
@@ -9,5 +9,6 @@ Concepts
|
|||
:glob:
|
||||
|
||||
concepts/use-routes
|
||||
concepts/inter_warehouse
|
||||
concepts/cross_dock
|
||||
concepts/stock_warehouses
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,129 @@
|
|||
=========================
|
||||
Inter-warehouse transfers
|
||||
=========================
|
||||
|
||||
When owning several warehouses, you might need to transfer goods from one warehouse to another.
|
||||
Proceeding to such behavior is called *inter-warehouse transfers*. If this action is physically
|
||||
easy to perform, the administrative part can be arduous. Fortunately, Odoo comes with an intuitive
|
||||
flow that helps save time when registering those transfers.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
First of all, go to :menuselection:`Configuration --> Settings` and enable **Storage Locations**.
|
||||
Then, hit save.
|
||||
|
||||
.. image:: inter_warehouse/feature-storage-location.png
|
||||
:align: center
|
||||
:alt: Enabling the storage location feature in Odoo Inventory.
|
||||
|
||||
.. important::
|
||||
If you want to manage several routes within your warehouses, then enable **Multi-Step Routes**
|
||||
and check :doc:`use-routes`.
|
||||
|
||||
Creating a new warehouse
|
||||
========================
|
||||
|
||||
The next step is to create your new warehouse. To do so, go to :menuselection:`Configuration -->
|
||||
Warehouse Management --> Warehouses` and click on **Create**.
|
||||
|
||||
Fill out a **Warehouse Name** and a **Short Name**. The short name is five characters maximum.
|
||||
|
||||
.. image:: inter_warehouse/create-new-warehouse.png
|
||||
:align: center
|
||||
:alt: Short name field of a warehouse on Odoo Inventory.
|
||||
|
||||
.. important::
|
||||
The **Short Name** appears on your transfer orders and other warehouse documents. We recommend
|
||||
using an understandable one (e.g.: WH/[first letters of location]).
|
||||
|
||||
Now, go back to your dashboard. There, new operations related to your warehouse have been
|
||||
automatically generated.
|
||||
|
||||
.. image:: inter_warehouse/new-transfer-types.png
|
||||
:align: center
|
||||
:alt: Inventory app dashboard displaying new transfer type for the recently created warehouse.
|
||||
|
||||
Creating a new inventory
|
||||
========================
|
||||
|
||||
If you create a new warehouse, you might already have an existing inventory in it. In that case, you
|
||||
should create an inventory in Odoo. If this is not the case, you can skip this step.
|
||||
|
||||
Into the inventory application, select :menuselection:`Operations --> Inventory Adjustment`.
|
||||
Then, create a new inventory by clicking on **Create**. Fill in the **Inventory Reference**,
|
||||
**Date** and make sure to select the right warehouse and location.
|
||||
|
||||
.. image:: inter_warehouse/annual-inventory.png
|
||||
:align: center
|
||||
:alt: View of the inventory adjustment form before hitting the start button.
|
||||
|
||||
Next, click on **Start Inventory**. You will be able to input your existing products in the new
|
||||
window. Select add an item and indicate the **Real Quantity** available in the warehouse.
|
||||
The theoretical quantity can not be changed as it represents a computed one from purchase and sales
|
||||
orders.
|
||||
|
||||
.. image:: inter_warehouse/in-progress-annual-inventory.png
|
||||
:align: center
|
||||
:alt: View of the actual physical inventory of the new warehouse.
|
||||
|
||||
.. tip::
|
||||
Don't forget to validate your inventory once you have recorded the state of all your products.
|
||||
|
||||
Create an internal transfer
|
||||
===========================
|
||||
|
||||
The final step is to create your internal transfer. If you want to transfer eight units of a product
|
||||
from your first warehouse to another one, proceed as follows:
|
||||
|
||||
From your dashboard, select an internal movement of one of the two warehouses. To do so, click on
|
||||
:menuselection:`Manage --> Planned Transfer`.
|
||||
|
||||
.. image:: inter_warehouse/internal-transfer-choice.png
|
||||
:align: center
|
||||
:alt: View of the choice between planned transfer and immediate transfer.
|
||||
|
||||
On the new window, select the source location zone (in this case, your "old" warehouse) and the
|
||||
destination location zone (in this case, your "new" warehouse).
|
||||
|
||||
Add the products you want to transfer by clicking on **Add an Item**, then click on **Save** and
|
||||
**Mark as TODO** once you are done.
|
||||
|
||||
.. image:: inter_warehouse/planned-internal-transfer.png
|
||||
:align: center
|
||||
:alt: View of the internal transfer form.
|
||||
|
||||
If you selected **Immediate Transfer**, Odoo processes the transfer automatically after you clicked
|
||||
on **Validate**.
|
||||
|
||||
If you select **Mark as TODO**, Odoo puts the transfer in **Waiting Availability** status.
|
||||
Click on **Reserve** to reserve the number of products in your source warehouse.
|
||||
|
||||
It is also possible to manually transfer each product:
|
||||
|
||||
- Via your dashboard, select the transfer order in the source location.
|
||||
|
||||
.. image:: inter_warehouse/in-progress-internal-transfer.png
|
||||
:align: center
|
||||
:alt: View of the dashboard with a zoom of the pending internal transfer.
|
||||
|
||||
- Select the right transfer order.
|
||||
|
||||
.. image:: inter_warehouse/internal-transfers-list.png
|
||||
:align: center
|
||||
:alt: View of the pending internal transfers list.
|
||||
|
||||
- Click on the little pencil logo in the lower right corner to open the operation details window.
|
||||
In this new window you can manually indicate how many products you process.
|
||||
|
||||
.. image:: inter_warehouse/backorder.png
|
||||
:align: center
|
||||
:alt: View of a backorder pop-up window because all products are not moved at the same time.
|
||||
|
||||
.. note::
|
||||
If you decide to process the transfer order partially (e.g., a part of the products can't be
|
||||
shipped yet due to an unexpected event), Odoo automatically asks if you wish to create a
|
||||
**backorder**.
|
||||
|
||||
- Create a backorder if you expect to process the remaining products later.
|
||||
- Do not create a backorder if you will not supply/receive the remaining products.
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 9.4 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
|
@@ -8,4 +8,3 @@ Quality control
|
|||
:titlesonly:
|
||||
|
||||
quality_control/quality_control_points
|
||||
quality_control/quality_alerts
|
||||
|
|
|
|||
|
|
@@ -1,79 +0,0 @@
|
|||
=====================
|
||||
Create quality alerts
|
||||
=====================
|
||||
|
||||
Configuring quality control points is a great way to ensure that quality checks are performed at
|
||||
routine stages during specific operations. However, quality issues can often appear outside of these
|
||||
scheduled checks. Using Odoo *Quality*, users can create quality alerts for issues that are not
|
||||
detected by automated processes.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Add quality control points <quality_control_points>`
|
||||
|
||||
Find and fill out the quality alerts form
|
||||
=========================================
|
||||
|
||||
In some situations, it is necessary to manually create quality alerts within the *Quality* module.
|
||||
|
||||
.. example::
|
||||
A helpdesk user who is notified of a product defect by a customer ticket can create an alert that
|
||||
brings the issue to the attention of the relevant quality team.
|
||||
|
||||
To create a new quality alert, start from the :menuselection:`Quality` module and select
|
||||
:menuselection:`Quality Control --> Quality Alerts --> Create`. The quality alert form can then be
|
||||
filled out as follows:
|
||||
|
||||
- :guilabel:`Title`: choose a concise, yet descriptive title for the quality alert
|
||||
- :guilabel:`Product`: the product about which the quality alert is being created
|
||||
- :guilabel:`Product Variant`: the specific variant of the product that has the quality issue, if
|
||||
applicable
|
||||
- :guilabel:`Lot`: the lot number assigned to the product
|
||||
- :guilabel:`Work Center`: the work center where the quality issue originated
|
||||
- :guilabel:`Picking`: the picking operation during which the quality issue originated
|
||||
- :guilabel:`Team`: the quality team that will be notified by the quality alert
|
||||
- :guilabel:`Responsible`: the individual responsible for managing the quality alert
|
||||
- :guilabel:`Tags`: classify the quality alert based on user-created tags
|
||||
- :guilabel:`Root Cause`: the cause of the quality issue, if known
|
||||
- :guilabel:`Priority`: assign a priority between one and three stars to ensure more
|
||||
urgent issues are prioritized
|
||||
|
||||
The tabs at the bottom of the form can be used to provide additional information to quality teams:
|
||||
|
||||
- :guilabel:`Description`: provide additional details about the quality issue
|
||||
- :guilabel:`Corrective Actions`: the method for fixing affected products
|
||||
- :guilabel:`Preventive Actions`: procedures for preventing the issue from occurring in
|
||||
the future
|
||||
- :guilabel:`Miscellaneous`: the product vendor (if applicable), the company that produces
|
||||
the product, and the date assigned
|
||||
|
||||
.. image:: quality_alerts/quality-alert-form.png
|
||||
:align: center
|
||||
:alt: An example of a completed quality alert form.
|
||||
|
||||
Add quality alerts during the manufacturing process
|
||||
===================================================
|
||||
|
||||
Odoo enables manufacturing employees to create quality alerts within a work order without accessing
|
||||
the *Quality* module. From the work order tablet view, click the :guilabel:` ☰ ` hamburger menu
|
||||
icon in the top left corner and select :guilabel:`Quality Alert`.
|
||||
|
||||
.. image:: quality_alerts/work-order-tablet-view-menu-button.png
|
||||
:align: center
|
||||
:alt: Access the work order menu.
|
||||
|
||||
The quality alert form can then be filled out as detailed in the previous section. After saving the
|
||||
form, a new alert will appear on the :guilabel:`Quality Alerts` dashboard that can be found through
|
||||
the :menuselection:`Quality --> Quality Control` menu.
|
||||
|
||||
Manage existing quality alerts
|
||||
==============================
|
||||
|
||||
By default, quality alerts are organized in a kanban board view. The stages of the kanban board are
|
||||
fully configurable and alerts can be moved from one stage to the next by dragging and dropping or
|
||||
from within each alert. Additional options are available for viewing alerts, including graph,
|
||||
calendar, and pivot table views.
|
||||
|
||||
.. tip::
|
||||
Filter alerts based on diverse criteria like date assigned or date closed. Alerts can also be
|
||||
grouped by quality team, root cause, or other parameters found under the :guilabel:`Filters`
|
||||
button menu.
|
||||