
Since odoo/documentation#903, the guideline for the location of new resource (images, downloadable files, RST includes...) files is to place those inside the directory of the RST page that references them. For example, if `doc1.rst` has a reference to `image.png` and to `download.zip`, the file structure should look like this: ├── parent_doc/ │ └── doc1/ │ │ └── image.png │ │ └── download.zip │ └── doc1.rst │ └── doc2.rst ├── parent_doc.rst Before this commit, most of the resource files were still located inside 'media' directories holding all the resource files referenced by RST pages located at the same level as these directories. In the example above, a single 'media' directory would hold all the resource files referenced by both `doc1.rst` and `doc2.rst`. Doing so prevented us from figuring out easily which resource file was referenced by which RST page and, thus, lead to unused resource files piling up in the repository. It also made it more complicated to define codeowners regex rules because a team could not simply be assigned to `/some_page.*` but needed to be assigned to both `/some_page\.rst` and to the location of 'media'. In order to help new content writers figure out the guideline when taking examples from other RST pages, this commit retroactively applies the guideline to existing resource files and 'media' directories. The left-over resource files that are not referenced by any RST page are removed. task-2497965 closes odoo/documentation#2006 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
61 lines
2.2 KiB
ReStructuredText
61 lines
2.2 KiB
ReStructuredText
========================================
|
|
Invoicing Time and Material to Customers
|
|
========================================
|
|
Track the exact time spent on a task and give customers the ability to sign their worksheet
|
|
report onsite. Invoice customers as soon as the work is complete, leaving you, and the customer,
|
|
with the confidence that they will be charged for the exact right hours and material used.
|
|
|
|
Get the exact time spent on a task
|
|
==================================
|
|
Click on *Start* to launch the timer. You can *Pause* at any moment and *Resume* when you would like
|
|
to continue.
|
|
|
|
.. image:: invoicing_time/im1.png
|
|
:align: center
|
|
:alt: Timesheet Timer in Odoo Field Service
|
|
|
|
Click on *Stop* once the work is done to confirm the total time spent and add a description.
|
|
|
|
.. image:: invoicing_time/im2.png
|
|
:align: center
|
|
:alt: Timesheet Timer in Odoo Field Service
|
|
|
|
Sign and send reports & validate stock-picking
|
|
==============================================
|
|
Now, fill your *Worksheet* and add the used products clicking on *Products*.
|
|
|
|
.. image:: invoicing_time/im3.png
|
|
:align: center
|
|
:alt: Sign and send reports in Odoo Field Service
|
|
|
|
Click on *Start* if you need to record additional time for the same activity. The time recorded will
|
|
be added to the already created and signed worksheet. Then, create a new invoice for the time added.
|
|
|
|
*Mark as done* to close the task and to invoice your intervention. It also validates the
|
|
stock-picking keeping your inventory up-to-date.
|
|
|
|
*Sign Report* generates a detailed worksheet report for the customer to sign. Send it through email
|
|
clicking on *Send Report*.
|
|
|
|
Invoice your time and material
|
|
===============================
|
|
Under :menuselection:`All Tasks --> To Invoice`, find a list of all tasks marked as done but that
|
|
have not been invoiced.
|
|
Convenient feature as it allows accountants to easily access all finished tasks at once.
|
|
|
|
.. image:: invoicing_time/im4.png
|
|
:align: center
|
|
:alt: Invoice Tasks in Odoo Field Service
|
|
|
|
|
|
.. tip::
|
|
Invoice all tasks at once selecting them all and going to :menuselection:`Action -->
|
|
Create Invoice`.
|
|
|
|
.. image:: invoicing_time/im5.png
|
|
:align: center
|
|
:alt: Invoice Task in Odoo Field Service
|
|
|
|
.. seealso::
|
|
* :doc:`/applications/services/project/advanced/feedback`
|