Compare commits
24 Commits
14.0-suppo
...
14.0-iot_h
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
c6e3853edf |
[IMP] iot: add documentation regarding HTTPS certificate
Also include details/troubleshoot/solutions for redundant support issues: - Error code details for HTTPS certificate generation (see: https://github.com/odoo/odoo/pull/114993 ) - DNS issue with HTTPS domain OPW-3227004 |
||
|
|
5ef339fe82 |
[l10n_mx] Update exempt tax configuration.
In Mexico there are two 0% taxes, 0% VAT and 0% exempt VAT. This change makes the tip clearer so users do not confuse both taxes. Forward to master. closes odoo/documentation#2515 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
b0911a00ad |
[MOV] calendar: "Calendar" app from "Misc" to "Productivity"
To improve the structure of the documentation, the "Miscellaneous" section should be limited as much as possible. This commit: - renames "Calendars" into "Calendar" (as the app name) - moves the app from the "Miscellaneous" section to the "Productivity" section - fixes the wrong file structure to follow the toc (e.g. general/calendars/outlook/outlook_calendar -> productivity/calendar/outlook) task-3217827 closes odoo/documentation#4032 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
3056c7b62d |
[IMP] odoo_theme: design improvements
Revamp of the side menu; Round all borders for consistency with the buttons; Improve .sig-* and .o_code elements; Improve sphinx-tabs hover effect; task-3046383 closes odoo/documentation#3264 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
620e3c33ef |
[IMP] odoo_theme: general cleanup
A general reorganization of the code was needed for more clarity. The different markup styles have been grouped together under a common "chapter", comments have been rewritten and example pages have been added for context. Some levels have been removed Where there were too many for no reason. By removing one level of styles (e.g.: `#wrap`) we avoid needing to force overrides or adding `!important` to our code. ⌙ e.g.: before commit 9ef86cd93d8c6fc0fd96b437f629237e7a562c6e, `.o_spoilers .accordion-body >:first-child` was being involuntarily overridden. task-3046383 Part-of: odoo/documentation#3264 |
||
|
|
877d1de3c2 |
[IMP] odoo_theme: tweak the HTML structure of TOC entries
task-3046383 Part-of: odoo/documentation#3264 |
||
|
|
281a893540 |
[IMP] extensions/custom_admonitions: tweak the HTML structure of dfn
The structure of the `dfn` role is changed from its default `<em class="dfn">text</em>` to `<span class="dfn"><span>text</span></span>` to ease the styling. task-3046383 Part-of: odoo/documentation#3264 |
||
|
|
e98cf5f54a |
[MOV] live chat: structure
task-3269837 closes odoo/documentation#4101 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
ce4a0c3e35 |
[MOV] website: structure
As a first step to update the doc - at last! - we first need to update its structure. task-3269837 Part-of: odoo/documentation#4101 |
||
|
|
380a5499de |
[ADD] tests: image size checker
closes odoo/documentation#3831 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
1b640a7a30 |
[ADD] Quality: add Create quality alerts
closes odoo/documentation#3715 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
bbbca62f6f |
[IMP] Inventory: Update dropshipping
closes odoo/documentation#3607 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
cbb0e49204 | [I18N] Update translation terms from Transifex | ||
|
|
728a462762 |
[IMP] purchase: update reordering rules config doc
closes odoo/documentation#3444 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
6ea2eb29fb |
[IMP] Inventory: Update inter-warehouse replenishment
closes odoo/documentation#3967 Signed-off-by: John Holton (hojo) <hojo@odoo.com> |
||
|
|
1ce7166f49 |
[IMP] tutorials: add warning about mutable global variables
The whole concept of multi-tenancy is not really approached within the tutorial. This commit adds a warning about never using mutable global variables within odoo to seed the idea in the reader's mind. task-3059110 closes odoo/documentation#3970 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
82378f7cb6 | [I18N] Update translation terms from Transifex | ||
|
|
71ede7a3d4 |
[IMP]: add manual valuation section
Add images and manual valuation add ref tag and retitle doc to sentence case Remove trailing whitespaces update explanation closes odoo/documentation#3948 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
62e5a356d3 |
[ADD] accounting: enablebanking
task-3232701 closes odoo/documentation#3858 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
166a11ec1b |
[MOV] accounting: structure of bank sync docs
Part-of: odoo/documentation#3858 |
||
|
|
0124878dd4 |
[ADD] attendances: hr and attendances categories + hardware page
Task ID: 3251124 closes odoo/documentation#3930 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
86940f0a17 |
[IMP] Adyen: additional minimum requirements for users
Adding requirements for users to use Adyen. Forward to master. closes odoo/documentation#3919 Taskid: 3159712 Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com> |
||
|
|
aa4e5d7a01 |
[IMP] General: Oauth seemore additions
closes odoo/documentation#3931 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
415a817c57 |
[IMP] ePoS: vulgarise the SSL ePos issue
SSL/HTTPS topic is complicated for most of Odoo customers as it is quite technical. This PR should help them guide them to better understand the issue and how to fix it themselves. Support can't be provided to each device, browsers and OS. But we did add some guides regarding the more "popular" ones and some "keyword" to search online for the others. closes odoo/documentation#3223 Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com> Co-authored-by: Loredana Perazzo <lrpz@odoo.com> |
|
|
@@ -11,6 +11,10 @@ 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/productivity/calendar/outlook`
|
||||
|
||||
Setup in Microsoft Azure Portal
|
||||
===============================
|
||||
|
||||
|
|
|
|||
|
|
@@ -71,7 +71,7 @@ way to verify the ownership of your domain name is by adding a DNS record. You c
|
|||
other providers.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/websites/website/optimize/seo`
|
||||
- :doc:`/applications/websites/website/pages/seo`
|
||||
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
|
||||
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
|
||||
|
||||
|
|
|
|||
|
|
@@ -11,6 +11,10 @@ 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/productivity/calendar/google`
|
||||
|
||||
Setup in Google
|
||||
===============
|
||||
|
||||
|
|
|
|||
|
|
@@ -18,6 +18,7 @@ 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,6 +8,7 @@ Bank and cash
|
|||
:titlesonly:
|
||||
|
||||
bank/setup
|
||||
bank/feeds
|
||||
bank/bank_synchronization
|
||||
bank/bank_statements
|
||||
bank/reconciliation
|
||||
bank/interbank
|
||||
|
|
|
|||
|
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,6 +1,8 @@
|
|||
======================================
|
||||
Bank synchronization: automatic import
|
||||
======================================
|
||||
:show-content:
|
||||
|
||||
====================
|
||||
Bank synchronization
|
||||
====================
|
||||
|
||||
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
||||
automatically into your database.
|
||||
|
|
@@ -15,9 +17,12 @@ To connect to the banks, Odoo uses multiple web-services:
|
|||
|
||||
- **Plaid**: United States of America and Canada
|
||||
- **Yodlee**: Worldwide
|
||||
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
|
||||
- **Ponto**: Europe (:doc:`more information <ponto>`)
|
||||
- **EnableBanking**: Scandinavian countries
|
||||
- :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`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
|
@@ -196,7 +201,9 @@ 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.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`bank_statements`
|
||||
* :doc:`ponto`
|
||||
* :doc:`saltedge`
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
bank_synchronization/saltedge
|
||||
bank_synchronization/ponto
|
||||
bank_synchronization/enablebanking
|
||||
|
|
@@ -0,0 +1,36 @@
|
|||
==============
|
||||
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.
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
|
@@ -1,6 +1,6 @@
|
|||
======================================
|
||||
Ponto as bank synchronization provider
|
||||
======================================
|
||||
=====
|
||||
Ponto
|
||||
=====
|
||||
|
||||
**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>`_.
|
||||
|
||||
.. note::
|
||||
You can find more information about bank synchronization :doc:`on this page
|
||||
<bank_synchronization>`.
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../bank_statements`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
|
@@ -115,10 +115,3 @@ 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 as bank synchronization provider
|
||||
==========================================
|
||||
=========
|
||||
Salt Edge
|
||||
=========
|
||||
|
||||
**Salt Edge** is a third-party provider that aggregates banking information
|
||||
from your bank accounts. It supports ~5000 institutions in more than 50
|
||||
|
|
@@ -8,12 +8,15 @@ 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.
|
||||
|
||||
Salt Edge is a free third-party provider.
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../bank_statements`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
|
@@ -103,9 +106,3 @@ 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 |
|
|
@@ -1,13 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
==========
|
||||
Bank feeds
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
feeds/bank_statements
|
||||
feeds/bank_synchronization
|
||||
feeds/ponto
|
||||
feeds/saltedge
|
||||
|
|
@@ -122,5 +122,5 @@ second time.
|
|||
.. seealso::
|
||||
|
||||
- :doc:`use_cases`
|
||||
- :doc:`../feeds/bank_synchronization`
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../../receivables/customer_invoices/cash_discounts`
|
||||
|
|
|
|||
|
|
@@ -102,4 +102,4 @@ right and validate all related payments :
|
|||
:align: center
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../feeds/bank_synchronization`
|
||||
:doc:`../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 <../feeds/bank_statements>`.
|
||||
manually and :doc:`upload the bank statements manually <../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/feeds/bank_synchronization>` for more information about this bank
|
||||
:doc:`Click here <../../bank/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/feeds/bank_synchronization`
|
||||
* :doc:`../feeds/bank_statements`
|
||||
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../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/feeds/bank_synchronization>` for more information about this feature.
|
||||
:doc:`Click here <../../bank/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/feeds/bank_synchronization`
|
||||
* :doc:`../../bank/bank_synchronization`
|
||||
* :doc:`../../../fiscal_localizations`
|
||||
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
||||
|
|
|
|||
|
|
@@ -174,8 +174,9 @@ 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 *Exento* instead of *Tasa* within the **Factor Type**
|
||||
field.
|
||||
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.
|
||||
|
||||
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,6 +17,10 @@ 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
|
||||
=============
|
||||
|
||||
|
|
|
|||
|
|
@@ -10,6 +10,5 @@ Miscellaneous
|
|||
general/export_import_data
|
||||
general/email_communication
|
||||
general/voip
|
||||
general/calendars
|
||||
general/in_app_purchase
|
||||
general/developer_mode
|
||||
|
|
|
|||
|
|
@@ -1,6 +1,10 @@
|
|||
=====
|
||||
OAuth
|
||||
=====
|
||||
======================================
|
||||
Microsoft Azure sign-in authentication
|
||||
======================================
|
||||
|
||||
Due to specific requirements in Azure's OAuth implementation,
|
||||
Microsoft Azure OAuth identification is NOT compatible with Odoo at the moment.
|
||||
Due to specific requirements in Azure's OAuth implementation, Microsoft Azure OAuth identification
|
||||
is NOT compatible with Odoo at the moment.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../productivity/calendar/outlook`
|
||||
- :doc:`/administration/maintain/azure_oauth`
|
||||
|
|
|
|||
|
|
@@ -8,6 +8,10 @@ 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:`../../productivity/calendar/google`
|
||||
- :doc:`/administration/maintain/google_oauth`
|
||||
|
||||
.. _google-sign-in/configuration:
|
||||
|
||||
Configuration
|
||||
|
|
@@ -42,7 +46,7 @@ OAuth consent screen
|
|||
:align: center
|
||||
:alt: Google oauth consent selection menu
|
||||
|
||||
#. Choose one of the options **(Internal / External)** as instructed, and click on *Create*.
|
||||
#. Choose the option for :guilabel:`internal`, and click on :guilabel:`Create`.
|
||||
|
||||
.. image:: google/consent.png
|
||||
:align: center
|
||||
|
|
|
|||
|
|
@@ -1,11 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
=========
|
||||
Calendars
|
||||
=========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
calendars/outlook/outlook_calendar
|
||||
calendars/google/google_calendar_credentials
|
||||
|
|
@@ -58,4 +58,4 @@ can change the Language to any previously installed language and click
|
|||
:align: center
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../../websites/website/publish/translate`
|
||||
* :doc:`../../websites/website/configuration/translate`
|
||||
|
|
|
|||
9
content/applications/hr.rst
Normal file
|
|
@@ -0,0 +1,9 @@
|
|||
:nosearch:
|
||||
|
||||
===============
|
||||
Human resources
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
|
||||
hr/attendances
|
||||
19
content/applications/hr/attendances.rst
Normal file
|
|
@@ -0,0 +1,19 @@
|
|||
: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
|
||||
57
content/applications/hr/attendances/hardware.rst
Normal file
|
|
@@ -0,0 +1,57 @@
|
|||
========
|
||||
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.
|
||||
BIN
content/applications/hr/attendances/hardware/rfid-reader.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
|
@@ -10,7 +10,6 @@ Warehouse Management
|
|||
|
||||
management/products
|
||||
management/warehouses
|
||||
management/replenishment_strategies
|
||||
management/delivery
|
||||
management/incoming
|
||||
management/misc
|
||||
|
|
|
|||
|
|
@@ -1,109 +1,80 @@
|
|||
==================================================================
|
||||
Send Products to Customers Directly from Suppliers (Drop-shipping)
|
||||
==================================================================
|
||||
=============================================================
|
||||
Use dropshipping to ship directly from suppliers to customers
|
||||
=============================================================
|
||||
|
||||
What is 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.
|
||||
|
||||
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.
|
||||
Configure products to be dropshipped
|
||||
====================================
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
Points to be Considered while Implementing Drop-Shipping
|
||||
========================================================
|
||||
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.
|
||||
|
||||
- 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.
|
||||
.. image:: dropshipping/sold-purchased-checkboxes.png
|
||||
:align: center
|
||||
:alt: Enable the "Can be Sold" and "Can be Purchased" checkboxes on the product form.
|
||||
|
||||
- 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!
|
||||
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.
|
||||
|
||||
- To protect your customers from bad experiences.
|
||||
Test drop-shipping companies for yourself beforehand and list the best ones.
|
||||
.. image:: dropshipping/product-vendor-config.png
|
||||
:align: center
|
||||
:alt: The product form with a vendor specified.
|
||||
|
||||
- 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.
|
||||
Finally, select the :guilabel:`Inventory` tab and enable the :guilabel:`Dropship` checkbox in the
|
||||
:guilabel:`Routes` section.
|
||||
|
||||
- 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.
|
||||
.. 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)`.
|
||||
|
||||
.. tip::
|
||||
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>`__.
|
||||
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.
|
||||
|
||||
Configure Drop-Shipping
|
||||
=======================
|
||||
.. image:: dropshipping/dropship-sales-order.png
|
||||
:align: center
|
||||
:alt: A dropship sales order with the Purchase smart button in the top right corner.
|
||||
|
||||
Activate the functionality in the *Purchase* application by going to :menuselection:`Configuration
|
||||
--> Settings`.
|
||||
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.
|
||||
|
||||
.. image:: dropshipping/dropshipping_01.png
|
||||
:align: center
|
||||
.. image:: dropshipping/dropship-purchase-order.png
|
||||
:align: center
|
||||
:alt: A dropship purchase order with the Receipt smart button in the top right corner.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
.. image:: dropshipping/dropshipping_02.png
|
||||
:align: center
|
||||
.. image:: dropshipping/validate-dropship-receipt.png
|
||||
:align: center
|
||||
:alt: Validate the dropship receipt after delivery.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
.. 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
|
||||
.. image:: dropshipping/view-all-dropship-orders.png
|
||||
:align: center
|
||||
:alt: Click the green button on the Dropship card to view all dropship orders.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 9.5 KiB |
|
|
@@ -1,11 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
====================
|
||||
Inventory Adjustment
|
||||
====================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
replenishment_strategies/virtual_warehouses
|
||||
|
|
@@ -1,53 +0,0 @@
|
|||
===============================
|
||||
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
|
||||
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
|
@@ -11,4 +11,3 @@ Valuation Methods
|
|||
reporting/inventory_valuation_config
|
||||
reporting/using_inventory_valuation
|
||||
reporting/integrating_landed_costs
|
||||
/applications/finance/accounting/others/inventory/avg_price_valuation
|
||||
|
|
|
|||
|
|
@@ -1,7 +1,9 @@
|
|||
=================================
|
||||
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.
|
||||
|
|
@@ -27,32 +29,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,
|
||||
|
|
@@ -81,10 +83,11 @@ 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 <using_inventory_valuation>`
|
||||
:doc:`Using the inventory valuation
|
||||
</applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation>`
|
||||
|
||||
.. note::
|
||||
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, the numerical
|
||||
|
|
|
|||
|
|
@@ -1,77 +1,130 @@
|
|||
=============================
|
||||
Using the inventory valuation
|
||||
=============================
|
||||
=========================
|
||||
Using inventory valuation
|
||||
=========================
|
||||
|
||||
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.
|
||||
*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.
|
||||
|
||||
In this documentation, we will explain how the inventory valuation works
|
||||
in Odoo.
|
||||
In Odoo, this process can be conducted manually— by warehouse employees physically counting the
|
||||
products— or automatically through the database.
|
||||
|
||||
Inventory valuation: the basics
|
||||
===============================
|
||||
.. 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.
|
||||
|
||||
Receive a product
|
||||
-----------------
|
||||
|
||||
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).
|
||||
For example, consider an physical product, a simple *table*, which is categorized as `Office
|
||||
Furniture` in the product form's :guilabel:`Product Category` field.
|
||||
|
||||
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.
|
||||
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`.
|
||||
|
||||
.. tip::
|
||||
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.
|
||||
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.
|
||||
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_02.png
|
||||
:align: center
|
||||
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.
|
||||
|
||||
.. note::
|
||||
You need access rights on the accounting module to see that button.
|
||||
.. image:: using_inventory_valuation/purchase-order.png
|
||||
:align: center
|
||||
:alt: Purchase order with 10 tables products valued at $10 each.
|
||||
|
||||
In this case, I can see that the 10 tables entered the stock for a total
|
||||
value of $100.
|
||||
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.
|
||||
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_03.png
|
||||
:align: center
|
||||
.. image:: using_inventory_valuation/valuation-smart-button.png
|
||||
:align: center
|
||||
:alt: Valuation smart button on a receipt.
|
||||
|
||||
I can also easily access the accounting entry that has been generated
|
||||
(in case of automated inventory valuation).
|
||||
.. important::
|
||||
:ref:`Developer mode <developer-mode>` must be turned on to see the *Valuation* smart button.
|
||||
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_04.png
|
||||
:align: center
|
||||
.. 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.
|
||||
|
||||
Deliver a product
|
||||
-----------------
|
||||
|
||||
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.
|
||||
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)`
|
||||
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_05.png
|
||||
:align: center
|
||||
.. image:: using_inventory_valuation/decreased-stock-valuation.png
|
||||
:align: center
|
||||
:alt: Decreased stock valuation after a product is shipped.
|
||||
|
||||
The inventory valuation report
|
||||
------------------------------
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
.. image:: using_inventory_valuation/use_inventory_valuation_06.png
|
||||
:align: center
|
||||
.. 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.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
|
@@ -9,3 +9,4 @@ Warehouses
|
|||
:glob:
|
||||
|
||||
warehouses/difference_warehouse_location
|
||||
warehouses/warehouse_replenishment_transfer
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,150 @@
|
|||
========================================================
|
||||
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.
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
|
@@ -9,6 +9,5 @@ Concepts
|
|||
:glob:
|
||||
|
||||
concepts/use-routes
|
||||
concepts/inter_warehouse
|
||||
concepts/cross_dock
|
||||
concepts/stock_warehouses
|
||||
|
|
|
|||
|
|
@@ -1,129 +0,0 @@
|
|||
=========================
|
||||
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.
|
||||
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 17 KiB |