Compare commits
42 Commits
16.0-inter
...
16.0-subs-
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b0a1ff9e57 |
[IMP] subscriptions: overhaul of the basic docs
This commit improves the structure of the Subscription doc and updates its content (recurring products, subscription plans, sales flow) task-3222232 Co-authored-by: Xavier Platteau <xpl@odoo.com> Co-authored-by: Tom Aarab <toaa@odoo.com>" |
||
|
|
67f10d3eca |
[IMP] accounting: update batch payments
closes odoo/documentation#3958 Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com> |
||
|
|
6ae695e477 | [I18N] *: export 16.0 source terms | ||
|
|
09de4c79a3 |
[IMP] Inventory: Update inter-warehouse replenishment
closes odoo/documentation#4043
X-original-commit:
|
||
|
|
13320f490f |
[ADD] sms marketing: added essentials/getting started docs
closes odoo/documentation#4048
X-original-commit:
|
||
|
|
2d7a48a65e |
[IMP] accounting: bank statements in the transactions page
task-3264491 closes odoo/documentation#4036 Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com> |
||
|
|
7c4d8c92d6 |
[FIX] crm: replace old lead scoring content with predictive lead scoring
closes odoo/documentation#4027
X-original-commit:
|
||
|
|
7124542ed9 |
[REF] developer: rewrite sql view as a howto
SQL view was formerly part of the dashboard tutorial which is now obsolete. Since creating a SQL view as a tutorial does not make sense anymore, it has been converted into a simple howto. closes odoo/documentation#4031 Task: 3226581 Signed-off-by: Tiffany Chang <tic@odoo.com> |
||
|
|
e2c880aafe |
[REM] developer: remove references to web_dashboard view
Since odoo/enterprise#31641 the dashboard view no longer exists since it is now replaced with spreadsheet_dashboard, therefore we remove it from the backend Views documentation. Task: 3226581 Part-of: odoo/documentation#4031 |
||
|
|
0a384a2a35 |
[IMP] payment_providers/flutterwave: recommend ticking all checkboxes
task-3254461 closes odoo/documentation#4014 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
a350dd76f0 |
[ADD] pos: how to add/modify customer notes from POS UI
Task ID: 2622090
closes odoo/documentation#4010
X-original-commit:
|
||
|
|
7e4435deb8 |
[IMP] create JavaScript howtos
The JavaScript cheatsheet is outdated, we therefore remove it and replace it by multiple howtos: - Create a view from scratch - Extending an existing view - Create a field from scratch - Extend an existing field - Create a client action There is other subjects to introduce as the web framework is big. Other future contributions will cover them. closes odoo/documentation#3969 Signed-off-by: Dardenne Florent (dafl) <dafl@odoo.com> |
||
|
|
4c623b69b1 |
[ADD] ecommerce: performance monitoring
Adding a doc page on performance monitoring and analysis for eCommerce websites closes odoo/documentation#3866 Taskid: 3246984 Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com> |
||
|
|
78c9a7f26d |
[ADD] field service: default warehouse
task-2948598
closes odoo/documentation#3996
X-original-commit:
|
||
|
|
cc194eb979 |
[ADD] accounting: enablebanking
task-3232701 closes odoo/documentation#3993 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
d694c6c9f5 |
[MOV] accounting: structure of bank sync docs
Part-of: odoo/documentation#3993 |
||
|
|
ee8341402a |
[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#3988
X-original-commit:
|
||
|
|
c4bbd54c5a |
[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#3981
X-original-commit:
|
||
|
|
ca72e32e98 | [I18N] Update translation terms from Transifex | ||
|
|
67bada80e6 |
[IMP] Website: review website translation page
task-3255779 closes odoo/documentation#3973 Signed-off-by: auva-odoo <auva@odoo.com> |
||
|
|
cde27305ee |
[ADD] attendances: hr and attendances categories + hardware page
Task ID: 3251124
closes odoo/documentation#3956
X-original-commit:
|
||
|
|
cd1f3e4510 |
[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#3922
X-original-commit:
|
||
|
|
9b0a54b7f2 |
[IMP] Adyen: additional minimum requirements for users
Adding requirements for users to use Adyen. Forward to master.
closes odoo/documentation#3952
Taskid: 3159712
X-original-commit:
|
||
|
|
a1fce64ce5 |
[IMP] mail plugins: add instructions to gmail plugin
closes odoo/documentation#3944
X-original-commit:
|
||
|
|
fa90d23a90 |
[IMP] sales: menuselection fix
Fixed a menuselection error and deleted instances of second-person pov
Closes task 3116083
closes odoo/documentation#3939
X-original-commit:
|
||
|
|
098ecbcb99 |
[IMP] General: Oauth seemore additions
closes odoo/documentation#3934
X-original-commit:
|
||
|
|
4a7acf8c02 |
[IMP] pos: update fiscal positions page
Task ID: 2862506 closes odoo/documentation#3876 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
de8db5a6a0 |
[IMP] paypal: remove deleted field
Removing no longer used Merchant Account ID field. task-2854184 closes odoo/documentation#3833 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
1ab8e5fb11 |
[FIX] inventory: fix BoM typo
closes odoo/documentation#3910
X-original-commit:
|
||
|
|
9cab0fdb75 |
[IMP] coding_guidelines: fix python code indents
A few python code blocks on the coding guidelines are indented twice
(8 spaces instead of 4), which is not correct.
closes odoo/documentation#3903
X-original-commit:
|
||
|
|
af67aac71f |
[IMP] supported_version: release saas-16.2
closes odoo/documentation#3893
X-original-commit:
|
||
|
|
e89211e451 |
[IMP] accounting: bank transactions
task-3204835 closes odoo/documentation#3760 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
faf5949870 |
[I18N] *: export 16.0 source terms
closes odoo/documentation#3888 Signed-off-by: Martin Trigaux (mat) <mat@odoo.com> |
||
|
|
1904ba574a |
[IMP] Support: Update What can I expect
closes odoo/documentation#3883
X-original-commit:
|
||
|
|
a98372a964 | [I18N] Update translation terms from Transifex | ||
|
|
ab0d9c239d |
[IMP] helpdesk: updated ticketing channels setup
closes odoo/documentation#3505 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
e6fd7db226 |
[IMP] pos: and update kitchen printing
Task ID: 3235139 closes odoo/documentation#3844 Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com> |
||
|
|
b9453515a0 |
[IMP] inventory: fix sendcloud doc
closes odoo/documentation#3774 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
da2e4a1a60 |
[IMP] helpdesk: updated teams and stages setup content
closes odoo/documentation#3503 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
e6aa5dd01b |
[FIX] legal: fix some broken links (pdfs, translations)
1) PDF files are generated and stored at the root of the CURRENT_BRANCH
directory. The links to those files are generated at different levels of
the doctree, which makes it impossible to use a relative path.
For example the same "Enterprise Agreement" doc in EN is published on:
- /16.0/legal/terms/enterprise.html
- /16.0/fr/legal/terms/enterprise.html
As a workaround, use absolute links for the PDFs. They won't work
locally for now. Can be improved later, as long as we don't break
those links located in various depths of the troctree.
2) The legal constracts aren't translated in all availables languages
(yet), so those links are 404s now. Introduced a conf.py variable
`legal_translations` with the list of languages where translated
contracts are indeed available, and falling back to the EN version
otherwise. Some languages don't have *all* the contracts translated, so
some 404 may remain temporarily.
Forward-port of
|
||
|
|
fe08c166bb |
[IMP] pos: take the half-up out of the last note
Task ID: 3184227
closes odoo/documentation#3854
X-original-commit:
|
||
|
|
c24f6eca7a |
[ADD] eCommerce: customer interaction
Adding a page on customer interaction and adding redirects. Forward to master. closes odoo/documentation#3775 Taskid: 3224716 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
12
conf.py
|
|
@@ -213,6 +213,8 @@ sphinx.transforms.i18n.docname_to_domain = (
|
|||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'saas-16.2': "Odoo Online",
|
||||
'saas-16.1': "Odoo Online",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
|
|
@@ -318,6 +320,12 @@ latex_documents = [
|
|||
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
|
||||
]
|
||||
|
||||
# List of languages that have legal translations (excluding EN). The keys must be in
|
||||
# `languages_names`. These translations will have a link to their versions of the legal
|
||||
# contracts, instead of the default EN one. The main legal documents are not part of the
|
||||
# translations since they have legal meaning.
|
||||
legal_translations = ['de', 'es', 'fr', 'nl']
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of the title page.
|
||||
latex_logo = 'static/img/odoo_logo.png'
|
||||
|
||||
|
|
@@ -446,6 +454,10 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
|
|||
)
|
||||
)
|
||||
|
||||
# Dynamic generation of localized legal doc links
|
||||
context['legal_translations'] = legal_translations
|
||||
|
||||
|
||||
def _build_url(_version=None, _lang=None):
|
||||
if app.config.is_remote_build:
|
||||
# Project root like https://www.odoo.com/documentation
|
||||
|
|
|
|||
|
|
@@ -11,6 +11,10 @@ personal email address or an address created by a custom domain.
|
|||
`Microsoft Learn: Register an application with the Microsoft identity platform
|
||||
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/azure`
|
||||
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
|
||||
|
||||
Setup in Microsoft Azure Portal
|
||||
===============================
|
||||
|
||||
|
|
|
|||
|
|
@@ -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/general/calendars/google/google_calendar_credentials`
|
||||
|
||||
Setup in Google
|
||||
===============
|
||||
|
||||
|
|
|
|||
|
|
@@ -26,7 +26,9 @@ This matrix shows the support status of every version.
|
|||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
|
||||
+=================+=============+==========+=============+================+========================+
|
||||
| Odoo saas~16.1 | |green| | N/A | N/A | February 2023 | |
|
||||
| Odoo saas~16.2 | |green| | N/A | N/A | March 2023 | June 2023 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~16.1 | |green| | N/A | N/A | February 2023 | April 2023 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
|
|
|
|||
|
|
@@ -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/transactions
|
||||
bank/reconciliation
|
||||
bank/interbank
|
||||
|
|
|
|||
|
|
@@ -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:`transactions`
|
||||
|
||||
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:`../transactions`
|
||||
|
||||
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:`../transactions`
|
||||
|
||||
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
|
||||
|
|
@@ -1,62 +0,0 @@
|
|||
===============
|
||||
Bank statements
|
||||
===============
|
||||
|
||||
Importing your bank statements allows you to keep track of your bank account transactions and
|
||||
reconcile them with the ones recorded in Odoo.
|
||||
|
||||
We recommend using :doc:`the bank synchronization feature <bank_synchronization>` for more
|
||||
efficiency. However, if you do not want to use it or if your bank is not yet supported, other
|
||||
options exist:
|
||||
|
||||
- Import the bank statement files delivered by your bank;
|
||||
- Register the bank statements manually.
|
||||
|
||||
Import bank statements files
|
||||
============================
|
||||
|
||||
Odoo supports multiple file formats to import bank statements:
|
||||
|
||||
- SEPA recommended Cash Management format (CAMT.053);
|
||||
- Comma-separated values (.CSV);
|
||||
- Open Financial Exchange (.OFX);
|
||||
- Quicken Interchange Format (.QIF);
|
||||
- Belgium: Coded Statement of Account (.CODA).
|
||||
|
||||
To import a file, go to the Accounting dashboard and click on :guilabel:`Import (Statements)` under
|
||||
the :guilabel:`Bank` window, or click on the drop-down menu (:guilabel:`⋮`) button and then on
|
||||
:guilabel:`Import Statement`.
|
||||
|
||||
.. image:: bank_statements/bank-overview.png
|
||||
:align: center
|
||||
:alt: Import a bank statement file in Odoo Accounting
|
||||
|
||||
Next, select the file you want to import and click on :guilabel:`Upload`.
|
||||
|
||||
Once the file uploaded, the **import widget** helps you set formatting options and **map** the
|
||||
different columns you want to import. You also can :guilabel:`test` the bank statement file before
|
||||
importing it to your database.
|
||||
|
||||
.. image:: bank_statements/import-bank-statement.png
|
||||
:align: center
|
||||
:alt: Register bank statements manually in Odoo Accounting
|
||||
|
||||
Register bank statements manually
|
||||
=================================
|
||||
|
||||
If needed, you can also record your bank statements manually. To do so, go to the
|
||||
:guilabel:`Accounting dashboard` and click on the :guilabel:`Create Statements` under the
|
||||
:guilabel:`Bank` window. Alternatively, you can click the drop-down menu (:guilabel:`⋮`) button, and
|
||||
then :guilabel:`New Statement`.
|
||||
|
||||
To ease the reconciliation process, make sure to fill out the :guilabel:`Partner` field. You can
|
||||
also type in the payments’ references in the :guilabel:`Label` field. Add a new line for each
|
||||
transaction written on the original bank statement.
|
||||
|
||||
.. image:: bank_statements/bank-statements-03.png
|
||||
:align: center
|
||||
:alt: Register bank statements manually in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
The **Ending Balance** and the **Computed Balance** should have the same amount. If this is not
|
||||
the case, make sure there are no mistakes in the transactions’ amounts.
|
||||
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
|
@@ -91,7 +91,7 @@ Manage and reconcile bank statements
|
|||
------------------------------------
|
||||
|
||||
The next step is to book the bank statements to finalize the transaction by creating,
|
||||
:doc:`importing <feeds/bank_statements>`, or :doc:`synchronizing <feeds/bank_synchronization>` your
|
||||
:doc:`importing <transactions>`, or :doc:`synchronizing <bank_synchronization>` your
|
||||
:guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and click on the
|
||||
:guilabel:`Reconcile` button.
|
||||
|
||||
|
|
|
|||
|
|
@@ -125,5 +125,5 @@ line*.
|
|||
.. 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`
|
||||
|
|
|
|||
|
|
@@ -4,7 +4,7 @@ Bank and cash accounts
|
|||
|
||||
You can manage as many bank or cash accounts as needed on your database. Configuring them well
|
||||
allows you to have all your banking data up-to-date and ready for :doc:`reconciliation
|
||||
<../../bank/reconciliation/use_cases>` with your journal entries.
|
||||
<../reconciliation/use_cases>` with your journal entries.
|
||||
|
||||
In Odoo Accounting, each bank account has a dedicated journal set to post all entries in a dedicated
|
||||
account. Both the journal and the account are automatically created and configured whenever you add
|
||||
|
|
@@ -33,7 +33,7 @@ To connect your bank account to your database, go to :menuselection:`Accounting
|
|||
follow the instructions.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../bank/feeds/bank_synchronization`
|
||||
:doc:`../bank_synchronization`
|
||||
|
||||
Create a bank account
|
||||
---------------------
|
||||
|
|
@@ -83,7 +83,7 @@ You can edit the accounting information and bank account number according to you
|
|||
|
||||
.. seealso::
|
||||
- :doc:`../../others/multi_currency`
|
||||
- :doc:`../../bank/feeds/bank_statements`
|
||||
- :doc:`../transactions`
|
||||
- :doc:`../../bank/setup/outstanding_accounts`
|
||||
|
||||
Suspense account
|
||||
|
|
@@ -132,5 +132,5 @@ Bank feeds
|
|||
with your database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../bank/feeds/bank_synchronization`
|
||||
- :doc:`../../bank/feeds/bank_statements`
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../transactions`
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,94 @@
|
|||
============
|
||||
Transactions
|
||||
============
|
||||
|
||||
Importing transactions from your bank statements allows keeping track of bank account transactions
|
||||
and reconciling them with the ones recorded in your accounting.
|
||||
|
||||
:doc:`Bank synchronization <bank_synchronization>` automates the process. However, if you do not
|
||||
want to use it or if your bank is not yet supported, other options exist:
|
||||
|
||||
- :ref:`Import bank transactions <transactions/import>` delivered by your bank;
|
||||
- :ref:`Register bank transactions <transactions/register>` manually.
|
||||
|
||||
.. note::
|
||||
:ref:`Grouping transactions by statement <transactions/statements>` is optional.
|
||||
|
||||
.. _transactions/import:
|
||||
|
||||
Import transactions
|
||||
===================
|
||||
|
||||
Odoo supports multiple file formats to import transactions:
|
||||
|
||||
- SEPA recommended Cash Management format (CAMT.053);
|
||||
- Comma-separated values (.CSV);
|
||||
- Open Financial Exchange (.OFX);
|
||||
- Quicken Interchange Format (.QIF);
|
||||
- Belgium: Coded Statement of Account (.CODA).
|
||||
|
||||
To import a file, go to the :guilabel:`Accounting Dashboard`, and in the :guilabel:`Bank` journal,
|
||||
click on :guilabel:`Import Transactions`.
|
||||
|
||||
.. image:: transactions/import-transactions.png
|
||||
:alt: Import bank transactions from the bank journal
|
||||
|
||||
Next, select the file and upload it.
|
||||
|
||||
After setting the necessary formatting options and mapping the file columns with their related Odoo
|
||||
fields, you can run a :guilabel:`Test` and :guilabel:`Import` your bank transactions.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/general/export_import_data`
|
||||
|
||||
.. _transactions/register:
|
||||
|
||||
Register bank transactions manually
|
||||
===================================
|
||||
|
||||
You can also record your bank transactions manually. To do so, go to :guilabel:`Accounting
|
||||
Dashboard`, click on the :guilabel:`Bank` journal, and then on :guilabel:`New`. Make sure to fill
|
||||
out the :guilabel:`Partner` and :guilabel:`Label` fields to ease the reconciliation process.
|
||||
|
||||
.. _transactions/statements:
|
||||
|
||||
Statements
|
||||
==========
|
||||
|
||||
A **bank statement** is a document provided by a bank or financial institution that lists the
|
||||
transactions that have occurred in a particular bank account over a specified period of time.
|
||||
|
||||
In Odoo Accounting, it is optional to group transactions by their related statement, but depending
|
||||
on your business flow, you may want to record them for control purposes.
|
||||
|
||||
.. important::
|
||||
If you want to compare the ending balances of your bank statements with the ending balances of
|
||||
your financial records, *don't forget to create an opening transaction* to record the bank
|
||||
account balance as of the date you begin synchronizing or importing transactions. This is
|
||||
necessary to ensure the accuracy of your accounting.
|
||||
|
||||
To access a list of statements, go to your :guilabel:`Accounting Dashboard`, click on the vertical
|
||||
ellipsis (:guilabel:`⋮`) button next to the bank or cash journal you want to check, then on
|
||||
:guilabel:`Statements`
|
||||
|
||||
Statement creation from the kanban view
|
||||
---------------------------------------
|
||||
|
||||
Open the bank reconciliation view by clicking on the name of the bank journal, and identify the
|
||||
transaction corresponding to the last transaction of your bank statement. Click on the
|
||||
:guilabel:`STATEMENT` button when hovering on the upper separator line.
|
||||
|
||||
.. image:: transactions/statements-kanban.png
|
||||
:alt: A "STATEMENT" button is visible when hovering on the line separating two transactions.
|
||||
|
||||
Fill out the statement's details and save. The newly created statement includes the previous
|
||||
transactions following the last statement.
|
||||
|
||||
Statement creation from the list view
|
||||
-------------------------------------
|
||||
|
||||
Open the list of transactions by clicking on the name of the bank journal and switching to the list
|
||||
view. Select all the transactions corresponding to the bank statement, and, in the
|
||||
:guilabel:`Statement` column, select an existing statement or create a new one by typing its
|
||||
reference, clicking on :guilabel:`Create and edit...`, filling out the statement's details, and
|
||||
saving.
|
||||
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
|
@@ -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>`_
|
||||
|
|
|
|||
|
|
@@ -103,7 +103,7 @@ The frequency of the invoicing and the services/products invoiced are
|
|||
defined on the contract.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/sales/sales/invoicing/subscriptions`
|
||||
- :doc:`/applications/sales/subscriptions`
|
||||
|
||||
Others
|
||||
======
|
||||
|
|
|
|||
|
|
@@ -1,99 +1,71 @@
|
|||
==================================================
|
||||
Batch payments: Batch deposits (checks, cash etc.)
|
||||
==================================================
|
||||
==============================
|
||||
Batch payments by bank deposit
|
||||
==============================
|
||||
|
||||
A **Batch Deposit** groups multiple payments in a single batch. This allows you to deposit several
|
||||
payments into your bank account with a single transaction. This is particularly useful to deposit
|
||||
cash and checks.
|
||||
|
||||
This feature allows you to list several customer payments and print a **deposit slip**. This ticket
|
||||
contains the details of the transactions and a reference to the batch deposit. You can then select
|
||||
this reference during a bank reconciliation to match the single bank statement line with all the
|
||||
transactions listed in the batch deposit.
|
||||
A **batch deposit** is a convenient way to group customer payments and deposit them into your bank
|
||||
account. The feature lets you list multiple payments and generate a detailed deposit slip with a
|
||||
batch reference. This reference can be used when reconciling to match bank statement lines with
|
||||
transactions in the batch deposit.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To activate the feature, go to :menuselection:`Accounting --> Configuration --> Settings -->
|
||||
Customer Payments`, activate **Batch Payments**, and click on *Save*.
|
||||
|
||||
Payment Method Types
|
||||
--------------------
|
||||
|
||||
To record new payments as part of a Batch Deposit, you have to configure first the Journal on which
|
||||
you record them.
|
||||
|
||||
To do so, go to :menuselection:`Accounting --> Configuration --> Journals`, open the Journal
|
||||
you want to edit, click on *Edit*, and open the *Advanced Settings* tab. In the *Payment Method
|
||||
Types* section, enable **Batch Deposit**, and click on *Save*.
|
||||
|
||||
.. image:: batch/batch-journal-settings.png
|
||||
:align: center
|
||||
:alt: Payment Method Types in a journal's advanced settings
|
||||
|
||||
.. note::
|
||||
Your main bank accounts are automatically configured to process batch payments when you activate
|
||||
the feature.
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Payments` and tick
|
||||
:guilabel:`Batch Payments` to activate the feature.
|
||||
|
||||
Deposit multiple payments in batch
|
||||
==================================
|
||||
|
||||
Record payments to deposit in batch
|
||||
-----------------------------------
|
||||
Register payments
|
||||
-----------------
|
||||
|
||||
:doc:`Register the payments <recording>` on the bank account on which you plan to deposit them by
|
||||
opening the *Customer Invoice* for which you received a payment, and clicking on *Register Payment*.
|
||||
There, select the appropriate Journal linked to your bank account and select *Batch Deposit* as
|
||||
Payment Method.
|
||||
Before performing a batch deposit, it is necessary to register each transaction's payment. To do so,
|
||||
open the corresponding customer invoice and click :guilabel:`Register Payment`. In the pop-up
|
||||
window, select the :guilabel:`Journal` linked to your bank account and :guilabel:`Batch Deposit` as
|
||||
the :guilabel:`Payment Method`, and click :guilabel:`Create Payment`.
|
||||
|
||||
.. image:: batch/batch-register-payment.png
|
||||
.. image:: batch/batch-payments.png
|
||||
:align: center
|
||||
:alt: Registering a customer payment as part of a Batch Deposit in Odoo Accounting
|
||||
:alt: Registering a customer payment as part of a batch deposit
|
||||
|
||||
Do this step for all checks or payments you want to process in batch.
|
||||
|
||||
.. note::
|
||||
Make sure to write the payment reference in the **Memo** field.
|
||||
|
||||
Add payments to a Batch Deposit
|
||||
Add payments to a batch deposit
|
||||
-------------------------------
|
||||
|
||||
To add the payments to a Batch Deposit, go to :menuselection:`Accounting --> Customers --> Batch
|
||||
Payments`, and click on *Create*. Next, select the Bank and Payment Method, then click on *Add a
|
||||
line*.
|
||||
To add payments to a batch deposit, go to :menuselection:`Accounting --> Customers --> Batch
|
||||
Payments`, and click :guilabel:`New`. Next, select the :guilabel:`Bank` and choose :guilabel:`Batch
|
||||
Deposit` as the :guilabel:`Payment Method`.
|
||||
|
||||
.. image:: batch/batch-new-inbound.png
|
||||
.. image:: batch/batch-customer-payment.png
|
||||
:align: center
|
||||
:alt: Filling out a new Inbound Batch Payment form on Odoo Accounting
|
||||
:alt: Filling out a new inbound batch payment form
|
||||
|
||||
Select all payments to include in the current Batch Deposit and click on *Select*. You can also
|
||||
record a new payment and add it to the list by clicking on *Create*.
|
||||
Click :guilabel:`Add a line`. In the pop-up window, tick all payments to include in the batch
|
||||
deposit, then click :guilabel:`Select`.
|
||||
|
||||
.. image:: batch/batch-payments-selection.png
|
||||
.. image:: batch/batch-lines-selection.png
|
||||
:align: center
|
||||
:alt: Selection of all payments to include in the Batch Deposit
|
||||
:alt: Selecting all payments to include in the batch deposit
|
||||
|
||||
Once done, click on *Validate* to finalize your Batch Deposit. You can then click on *Print* to
|
||||
download a PDF file to include with the deposit slip that the bank usually requires to fill out.
|
||||
Once done, click :guilabel:`Validate` to finalize the batch deposit.
|
||||
|
||||
Bank Reconciliation
|
||||
.. tip::
|
||||
Click :guilabel:`Print` to download a PDF file to include with the deposit slip.
|
||||
|
||||
Bank reconciliation
|
||||
-------------------
|
||||
|
||||
Once the bank statements are on your database, you can reconcile the bank statement line with the
|
||||
*Batch Payment* reference. To do so, start your **Bank Reconciliation** by going to your Accounting
|
||||
dashboard and clicking on *Reconcile Items* on the related bank account. At the bank statement line,
|
||||
click on *Choose counterpart or Create Write-off* to display more options, open the *Batch Payments*
|
||||
tab, and select your Batch Payment. All related payments are automatically added.
|
||||
Once the bank transactions are on your database, you can reconcile bank statement lines with the
|
||||
batch payment. To do so, go to the :guilabel:`Accounting Dashboard` and click :guilabel:`Reconcile
|
||||
Items` on the related bank account. Go to the :guilabel:`Batch Payments` tab to select a specific
|
||||
batch and click :guilabel:`Validate` to finalize the process.
|
||||
|
||||
.. image:: batch/batch-reconciliation.png
|
||||
:align: center
|
||||
:alt: Reconciling the batch payment with all its transactions
|
||||
|
||||
.. note::
|
||||
The *Batch Payments* tab won't appear if a Partner is selected for this bank statement line.
|
||||
|
||||
.. image:: batch/batch-bank-reconciliation.png
|
||||
:align: center
|
||||
:alt: Reconciliation of the Batch Payment with all its transactions
|
||||
|
||||
If a check, or a payment, couldn't be processed by the bank and is missing, remove the related
|
||||
payment before validating the bank reconciliation.
|
||||
If a specific payment could not be processed by the bank or is missing, remove the related
|
||||
payment before reconciling.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`recording`
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
|
@@ -26,6 +26,8 @@ They can be applied in various ways:
|
|||
Configuration
|
||||
=============
|
||||
|
||||
.. _fiscal_positions/mapping:
|
||||
|
||||
Tax and Account Mapping
|
||||
-----------------------
|
||||
|
||||
|
|
|
|||
|
|
@@ -5,6 +5,14 @@ Adyen
|
|||
`Adyen <https://www.adyen.com/>`_ is a Dutch company that offers several online payment
|
||||
possibilities.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- :doc:`../payment_providers`
|
||||
|
||||
.. note::
|
||||
Adyen works only with customers processing **more** than **10 million annually** or invoicing a
|
||||
**minimum** of **1.000** transactions **per month**.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
|
|
|
|||
|
|
@@ -17,9 +17,12 @@ Configuration on Flutterwave Dashboard
|
|||
`/payment/flutterwave/webhook` in the :guilabel:`URL` text field.
|
||||
| For example: `https://yourcompany.odoo.com/payment/flutterwave/webhook`.
|
||||
#. Fill the :guilabel:`Secret hash` with a password that you generate and save its value for later.
|
||||
#. Make sure all the remaining checkboxes are ticked.
|
||||
#. Make sure *all* the remaining checkboxes are ticked.
|
||||
#. Click on **Save** to finalize the configuration.
|
||||
|
||||
.. image:: flutterwave/flutterwave-settings.png
|
||||
:alt: Flutterwave settings
|
||||
|
||||
.. _payment_providers/flutterwave/configure_odoo:
|
||||
|
||||
Configuration on Odoo
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 18 KiB |
|
|
@@ -19,7 +19,6 @@ Credentials tab
|
|||
Odoo needs your **API Credentials** to connect with your PayPal account, which comprise:
|
||||
|
||||
- **Email**: your login email address in Paypal.
|
||||
- **Merchant Account ID**: the code of the merchant account used to identify your Paypal account.
|
||||
- **PDT Identity Token**: the key used to verify the authenticity of transactions.
|
||||
- **Use IPN**: whether you want to use Instant Payment Notification. Already checked, you don't have
|
||||
to change it.
|
||||
|
|
@@ -27,8 +26,6 @@ Odoo needs your **API Credentials** to connect with your PayPal account, which c
|
|||
You can copy your credentials from your Paypal account and paste them into the related fields under
|
||||
the **Credentials** tab.
|
||||
|
||||
To retrieve the **Merchant Account ID**, log into your Paypal account and go to
|
||||
:menuselection:`Account menu --> Account Settings --> Business information`.
|
||||
|
||||
To set the **PDT Identity Token**, switch to :ref:`developer mode <developer-mode>` and retrieve the
|
||||
token by following the configuration step :ref:`paypal/enable-pdt`.
|
||||
|
|
|
|||
|
|
@@ -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:`/applications/general/calendars/outlook/outlook_calendar`
|
||||
- :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:`/applications/general/calendars/google/google_calendar_credentials`
|
||||
- :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
|
||||
|
|
|
|||
|
|
@@ -5,6 +5,10 @@ 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,6 +5,10 @@ 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
|
||||
=============================================
|
||||
|
||||
|
|
|
|||
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/inventory_adjustments
|
||||
management/delivery
|
||||
management/incoming
|
||||
|
|
|
|||
|
|
@@ -1,11 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
========================
|
||||
Replenishment strategies
|
||||
========================
|
||||
|
||||
.. 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 |
|
|
@@ -8,5 +8,6 @@ Warehouses
|
|||
:titlesonly:
|
||||
:glob:
|
||||
|
||||
warehouses/warehouses_locations
|
||||
warehouses/resupply_warehouses
|
||||
warehouses/warehouse_replenishment_transfer
|
||||
warehouses/warehouses_locations
|
||||
|
|
|
|||
|
|
@@ -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,71 +0,0 @@
|
|||
=========================
|
||||
Inter-warehouse transfers
|
||||
=========================
|
||||
|
||||
When owning several warehouses, goods might need to be transferred from one warehouse to another.
|
||||
This type of transfer is called an *inter-warehouse transfer*. While physically performing the
|
||||
inter-warehouse transfer might be simple, the administrative part can be complex. Fortunately, Odoo
|
||||
comes with an intuitive flow that helps save time when registering inter-warehouse transfers.
|
||||
|
||||
Create an internal transfer
|
||||
===========================
|
||||
|
||||
The following paragraphs detail a sample inter-warehouse transfer, referred to as an *internal
|
||||
transfer*, use case. The sample use case assumes that the user has already configured their second
|
||||
warehouse.
|
||||
|
||||
To transfer eight units of a product from the first warehouse to another one, proceed as follows:
|
||||
|
||||
From the :guilabel:`Inventory` dashboard, select an internal movement operation of one of the two
|
||||
warehouses. To do so, click on the three vertical dots icon on the top right corner of the
|
||||
operation card and select :guilabel:`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 planned transfer form, select the :guilabel:`Source Location` (in this case, the first
|
||||
warehouse) and the :guilabel:`Destination Location` (in this case, the second warehouse).
|
||||
|
||||
Next, add the products that will be transferred by clicking on :guilabel:`Add a line`, then click
|
||||
on :guilabel:`Save` and :guilabel:`Mark as ToDo` once done. After that, Odoo puts the transfer in
|
||||
the :guilabel:`Waiting` status. Then, click on :guilabel:`Reserve` to reserve the number of
|
||||
products in the source warehouse.
|
||||
|
||||
.. image:: inter_warehouse/planned-internal-transfer.png
|
||||
:align: center
|
||||
:alt: View of the internal transfer form.
|
||||
|
||||
.. note::
|
||||
If :guilabel:`Immediate Transfer` was selected instead of :guilabel:`Planned Transfer`, Odoo
|
||||
processes the transfer automatically after the :guilabel:`Validate` button is clicked on the
|
||||
internal transfer form.
|
||||
|
||||
It is also possible to manually transfer each product:
|
||||
|
||||
#. On the :guilabel:`Inventory` dashboard, open the souce location's internal transfer operation
|
||||
page.
|
||||
|
||||
.. image:: inter_warehouse/in-progress-internal-transfer.png
|
||||
:align: center
|
||||
:alt: View of the dashboard with a zoom of the pending internal transfer.
|
||||
|
||||
#. Open the desired transfer order form.
|
||||
|
||||
.. image:: inter_warehouse/internal-transfers-list.png
|
||||
:align: center
|
||||
:alt: View of the pending internal transfers list.
|
||||
|
||||
#. Click on the pencil icon in the lower right corner to open the operation details window. In this
|
||||
new window, the quantity of products can be manually set.
|
||||
|
||||
.. 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::
|
||||
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 a *backorder* should be created.
|
||||
|
||||
- Create a backorder if it is expected that the remaining products will be processed later.
|
||||
- Do not create a backorder if the remaining products will not be supplied/received.
|
||||
|
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 |