[REF][MOV] documentation apocalypse

Prior to this commit, the Odoo documentation was mainly split between
two repositories: odoo/odoo/doc and odoo/documentation-user. Some bits
of documentation were also hosted elsewhere (e.g., wiki, upgrade, ...).
This was causing several problems among which:
  - The theme, config, Makefile, and similar technical resources had to
    be duplicated. This resulted in inconsistent layout, features, and
    build environments from one documentation to another.
  - Some pages did not fit either documentation as they were relevant
    for both users and developers. Some were relevant to neither of the
    two (e.g., DB management).
  - Cross-doc references had to be absolute links and they broke often.
  - Merging large image files in the developer documentation would bloat
    the odoo/odoo repository. Some contributions had to be lightened to
    avoid merging too many images (e.g., Odoo development tutorials).
  - Long-time contributors to the user documentation were chilly about
    going through the merging process of the developer documentation
    because of the runbot, mergebot, `odoo-dev` repository, etc.
  - Some contributors would look for the developer documentation in the
    `odoo/documentation-user` repository.
  - Community issues about the user documentation were submitted on the
    `odoo/odoo` repository and vice-versa.

Merging all documentations in one repository will allow us to have one
place, one theme, one work process, and one set of tools (build
environment, ...) for all of the Odoo docs.

As this is a good opportunity to revamp the layout of the documentation,
a brand new theme replaces the old one. It features a new way to
navigate the documentation, centered on the idea of always letting the
reader know what is the context (enclosing section, child pages, page
structure ...) of the page they are reading. The previous theme would
quickly confuse readers as they navigated the documentation and followed
cross-application links.

The chance is also taken to get rid of all the technical dangling parts,
performance issues, and left-overs. Except for some page-specific JS
scripts, the Odoo theme Sphinx extension is re-written from scratch
based on the latest Sphinx release to benefit from the improvements and
ease future contributions.

task-2351938
task-2352371
task-2205684
task-2352544

Closes #945
This commit is contained in:
Antoine Vandevenne (anv)
2021-04-30 12:40:29 +02:00
committed by Antoine Vandevenne (anv)
parent eac5e9f865
commit e3fee2cf46
2471 changed files with 39885 additions and 60126 deletions
@@ -0,0 +1,148 @@
==========================================================
How to track costs of purchases, expenses, subcontracting?
==========================================================
Overview
========
Thanks to analytical accounting we can track costs of purchases,
expenses and subcontracting in the accounting module.
We'll take the following example. We sold a consulting package for a
customer. The package is all inclusive meaning no extra cost can be
added. We would however like to follow which cost were attached to this
transaction as we need to pay for purchases, expenses, and
subcontracting costs related to the project.
Configuration
=============
The following modules needs to be installed to track cost. Enter the app
module and install the following apps:
+---------------------------------+---------------------------------+---------------------------------+
| .. image:: media/purchase01.png | .. image:: media/purchase02.png | .. image:: media/purchase03.png |
+=================================+=================================+=================================+
+---------------------------------+---------------------------------+---------------------------------+
Please note that the applications provided by these apps only allows us
to **track** the costs. We won't be able to automatically re invoice
those costs to our customers. To track and **re invoice costs** you
should install the Sales management app as well.
.. image:: media/purchase04.png
:align: center
Enable Analytical accounting
----------------------------
Next step is to activate the analytical accounting. In the accounting
app, select :menuselection:`Configuration --> Settings` and thick the Analytic
accounting box.
.. image:: media/purchase05.png
:align: center
Moreover, scroll down and tick the **Analytic accounting for purchases**
box.
.. image:: media/purchase06.png
:align: center
Don't forget to save your changes.
Create an Analytical account.
=============================
First of all you should create an Analytical account on which you can
point all your expenses. Enter the accounting app, select
:menuselection:`Configuration --> Analytic Accounts`. Create a new one. In this
case we will call it "consulting pack" for our customer Smith&Co.
.. image:: media/purchase07.png
:align: center
We will point all our costs to this account to keep track of them.
Record an expense
=================
We start by booking an expense. Our
IT technician had to take a train to go see our customer. He paid for
his ticket himself.
Create an expense product
-------------------------
We first need to create an expense product. Enter the **Expense** module,
Click on :menuselection:`Configuration --> Expense Products`. Create a new product
called Train ticket and set the cost price to 15.50 euros. Make sure the **Can be
expensed** box is ticked.
.. image:: media/purchase08.png
:align: center
Book the expense
----------------
Enter the Expense module, click on :menuselection:`My expenses --> Create`. Select the
Train ticket product and link it to the analytical account discussed
above.
.. image:: media/purchase09.png
:align: center
Submit to manager and wait for the manager to approve and post the
journal entries.
Create a Purchase Order linked to the analytical account
========================================================
Purchase Product
----------------
We also need to buy a software for our customers. In the purchase app
create a purchase order for the software product.
Within the line we can link the product's cost with the analytical
account. Specify the order line and select the correct analytical
account. Confirm the sale.
.. image:: media/purchase10.png
:align: center
Accept the delivery and enter the invoice. Once the invoice is entered the cost
price (**Vendor Price** field) will be booked in the analytical account.
Subcontracting
--------------
The purchase module can be used in the same way as seen previously to
handle subcontracting. if we purchase a service from another company we
can re invoice this cost by linking the purchase order line to the
correct analytical account. We simply need to create the correct vendors
product.
.. note::
You can also track cost with timesheets, see: :doc:`timesheets`
Track costs in accounting
=========================
Now that everything is booked and points to the analytical account.
Simply open it to check the costs related to that account.
Enter the accounting module, click on :menuselection:`Advisers --> Analytic Accounts
--> Open Charts`.
Select "consulting pack - Smith" and click on the cost and revenue
button to have an overview of all cost linked to the account.
.. image:: media/purchase11.png
:align: center
.. note::
If you would like to have the revenue as well you should
invoice the Consulting Pack in the Invoice menu and link the invoice
line to this same analytical account.