diff --git a/content/applications/services/helpdesk/advanced/track_and_bill.rst b/content/applications/services/helpdesk/advanced/track_and_bill.rst index 6568fae26..cd45bca9d 100644 --- a/content/applications/services/helpdesk/advanced/track_and_bill.rst +++ b/content/applications/services/helpdesk/advanced/track_and_bill.rst @@ -2,12 +2,14 @@ Track and bill time =================== -Odoo *Helpdesk* provides teams with the ability to track the amount of hours spent working on a -ticket, and to bill a customer for that time. Through integrations with the *Sales*, *Timesheets*, -*Project* and *Accounting* applications, customers can be charged once the work is completed, or -before it has even begun. +.. |SO| replace:: :abbr:`SO (sales order)` -.. warning:: +Odoo **Helpdesk** provides teams with the ability to track the amount of hours spent working on a +ticket, and to bill a customer for that time. Through integrations with the **Sales**, +**Timesheets**, **Project** and **Accounting** applications, customers can be charged once the work +is completed, or before it has even begun. + +.. danger:: Since the *Track & Bill Time* features require integration with other applications, enabling them may result in the installation of additional modules or applications. @@ -19,19 +21,19 @@ Configure track and bill time features ====================================== Before a customer can be invoiced for support services, the *Track & Bill Time* features **must** be -enabled on each *Helpdesk* team individually. +enabled on each **Helpdesk** team individually. Enable track and bill time on a helpdesk team --------------------------------------------- -To view and enable the *Track & Bill Time* features on a *Helpdesk* team, first navigate to +To view and enable the *Track & Bill Time* features on a **Helpdesk** team, first navigate to :menuselection:`Helpdesk app --> Configuration --> Helpdesk Teams`. Then, select a team from the list, or create a :doc:`new one <../../helpdesk>`. This reveals a team's settings page. On the team's settings page, scroll to the :guilabel:`Track & Bill Time` section. Check the boxes labeled :guilabel:`Timesheets` and :guilabel:`Time Billing`. -Once the :guilabel:`Timesheets` box is checked, a new field appears, labeled :guilabel:`Project`. +After the :guilabel:`Timesheets` box is checked, a new field appears, labeled :guilabel:`Project`. .. note:: If this is the first time this feature has been enabled on this database, the page may need to be @@ -45,7 +47,6 @@ drop-down menu, type a name for the project, and then click :guilabel:`Create` f menu beneath. .. image:: track_and_bill/track-bill-enable-settings.png - :align: center :alt: View of a helpdesk team settings page emphasizing the track and bill time settings. .. _helpdesk/configure-service-products: @@ -53,11 +54,11 @@ menu beneath. Configure service products ~~~~~~~~~~~~~~~~~~~~~~~~~~ -When the :guilabel:`Time Billing` feature is enabled, a new product is created in the *Sales* app +When the :guilabel:`Time Billing` feature is enabled, a new product is created in the **Sales** app called *Service on Timesheets*. This product can be found under :menuselection:`Sales app--> -Products --> Products`. Then, search for `Service on Timesheets` in the :guilabel:`Search...` bar. -This is the product that is used when invoicing for *post-paid support services* **after** they have -been completed. +Products --> Products`. Then, search for `Service on Timesheets` in the search bar. This is the +product that is used when invoicing for *post-paid support services* **after** they have been +completed. Select :guilabel:`Service on Timesheets` from the product page. This reveals the product detail form. The product is configured with the :guilabel:`Product Type` set to :guilabel:`Service` and the @@ -65,7 +66,6 @@ form. The product is configured with the :guilabel:`Product Type` set to :guilab the product record, such as the :guilabel:`Cost` or :guilabel:`Sales Price`. .. image:: track_and_bill/track-bill-product-based-on-timesheets.png - :align: center :alt: View of a service product with the invoicing policy set to 'Based on timesheets'. In order to invoice for support services **before** the work has been completed (also known as @@ -80,19 +80,17 @@ This means an invoice can be generated and payment can be received for this prod timesheets entries have been recorded for these services. .. image:: track_and_bill/track-bill-product-prepaid-fixed.png - :align: center :alt: View of a service product with the invoicing policy set to 'prepaid/fixed'. -Finally, set the :guilabel:`Sales Price`, and confirm that the :guilabel:`Unit of Measure` is set to +Finally, set the :guilabel:`Sales Price`, and confirm that the unit of measure is set to :guilabel:`Hours`. Invoice prepaid support services ================================ When support services are billed on a fixed price, an invoice can be created before any work is -completed on the issue. In this case, a service product with the *Invoicing Policy* set to -*Prepaid/Fixed Price* would be used, just like :ref:`the section above -`. +completed on the issue. In this case, a service product with the :guilabel:`Invoicing Policy` set to +*Prepaid/Fixed Price* is used, like :ref:`the section above `. Create a sales order with prepaid product ----------------------------------------- @@ -103,34 +101,35 @@ click :guilabel:`New` to reveal a blank quotation form. Then, fill out the quotation form with the customer information. -Go to the :guilabel:`Order Lines` tab of the quotation and click :guilabel:`Add a Product`. Then, -select the *prepaid services product* configured in the steps above. Update the :guilabel:`Quantity` -field with the number of hours. +Go to the :guilabel:`Order Lines` tab of the quotation and click :guilabel:`Add a product`. Then, +select the *prepaid services product* when :ref:`configuring the service product +`. Update the :guilabel:`Quantity` field with the number of +hours. After updating any other necessary information, :guilabel:`Confirm` the quotation. This converts the -quotation into an :abbr:`SO (sales order)`. +quotation into an |SO|. Create and send an invoice for prepaid services ----------------------------------------------- -Once the :abbr:`SO (sales order)` has been confirmed, click the :guilabel:`Create Invoice` button. -This opens a :guilabel:`Create invoices` pop-up window. +After the |SO| has been confirmed, click the :guilabel:`Create Invoice` button. This opens a +:guilabel:`Create invoice(s)` pop-up window. If no down payment is collected, the :guilabel:`Create Invoice` type can remain as :guilabel:`Regular Invoice`. If a :doc:`down payment <../../../sales/sales/invoicing/down_payment>` is collected, choose between either :guilabel:`Down payment (percentage)` or :guilabel:`Down payment (fixed amount)`. -When the necessary information has been entered, click :guilabel:`Create Draft Invoice`. +When the necessary information has been entered, click :guilabel:`Create Draft`. The invoice can then be sent to the customer for payment. Create helpdesk ticket for prepaid services ------------------------------------------- -To create a *Helpdesk* ticket for prepaid services, navigate to :menuselection:`Helpdesk` and click -the :guilabel:`Tickets` button to reveal a specific team's pipeline. Click :guilabel:`New` to create -a new ticket. +To create a **Helpdesk** ticket for prepaid services, navigate to :menuselection:`Helpdesk` and +click the :guilabel:`Tickets` button to reveal a specific team's pipeline. Click :guilabel:`New` to +create a new ticket. On the blank ticket form, create a ticket :guilabel:`Title`, and enter the :guilabel:`Customer` information. @@ -141,7 +140,8 @@ the most recent prepaid sales order item that has time remaining. Track hours on helpdesk ticket ------------------------------ -Time spent working on a *Helpdesk* ticket is tracked on the *Timesheets* tab on the specific ticket. +Time spent working on a **Helpdesk** ticket is tracked on the **Timesheets** tab on the specific +ticket. On the ticket detail form, click on the :guilabel:`Timesheets` tab and click :guilabel:`Add a line`. Choose an :guilabel:`Employee`, add a :guilabel:`Description` of the task, and enter the number of @@ -151,48 +151,50 @@ As new lines are added to :guilabel:`Timesheets` tab, the :guilabel:`Remaining H at the bottom-right of the tab, is automatically updated. .. image:: track_and_bill/track-bill-remaining-hours-total.png - :align: center :alt: View of the timesheets tab on a ticket with an emphasis on the remaining hours on an SO. .. note:: If the number of hours on the :guilabel:`Timesheets` tab exceeds the number of hours sold, the :guilabel:`Remaining Hours of SO` turns red. + .. image:: track_and_bill/exceeded-hours-sold.png + :alt: An example of a ticket with the number of hours exceeding the hours remaining. + As hours are added to the :guilabel:`Timesheets` tab, they are automatically updated in the -:guilabel:`Delivered` field on the :abbr:`SO (sales order)`, as well. +:guilabel:`Delivered` field on the |SO|, as well. Invoice post-paid support services ================================== When support services are billed based on the amount of time spent on an issue, an invoice cannot be created before the total number of hours required to solve the problem have been entered on a -timesheet. In this case, a service product with the *Invoicing Policy* set to *Based on Timesheets* -would be used, like the one created in :ref:`the section above -`. +timesheet. In this case, a service product with the :guilabel:`Invoicing Policy` set to +:guilabel:`Based on Timesheets` is used, like the one that is automatically created after :ref:`the +Time Billing ` feature is enabled. Create a sales order with a time-tracked product ------------------------------------------------ -To invoice a customer for post-paid support services, first create a sales order (SO) with the -*support services product*. To do this, go to :menuselection:`Sales app --> Orders --> Quotations`. -Then, click :guilabel:`New` to reveal a blank quotation form. +To invoice a customer for post-paid support services, first create a |SO| with the *Service on +Timesheets* product. To do this, go to :menuselection:`Sales app --> Orders --> Quotations`. Then, +click :guilabel:`New` to reveal a blank quotation form. Fill out the quotation with the customer information. -On the :guilabel:`Order Lines` tab, click :guilabel:`Add a Product`. Select the post-paid services -product configured in the steps above. After updating any other necessary information, -:guilabel:`Confirm` the quotation. +On the :guilabel:`Order Lines` tab, click :guilabel:`Add a product`. Select the :guilabel:`Service +on Timesheets` product. After updating any other necessary information, :guilabel:`Confirm` the +quotation. .. important:: Unlike with the prepaid services quotation, Odoo does **not** allow an invoice to be created at - this time. That is because no services have been performed; in other words, nothing has been - delivered, therefore, there is nothing to invoice. + this time. Since services were **not** performed, nothing was delivered, so there is nothing to + invoice. Create a helpdesk ticket for time-tracked services -------------------------------------------------- -To record a *Timesheet* entry for time-tracker services, go to the :menuselection:`Helpdesk` app, -and select the appropriate team for which these services apply. +To record a timesheet entry for time-tracked services, go to the :menuselection:`Helpdesk` app, and +select the appropriate team for which these services apply. If there is already an existing ticket for this issue, select it from the Kanban view. This opens the ticket details form. If there is no existing ticket for this customer issue, click @@ -200,7 +202,7 @@ the ticket details form. If there is no existing ticket for this customer issue, ticket details form. After selecting or creating a ticket, go to the :guilabel:`Sales Order Item` drop-down menu. Select -the :abbr:`SO (sales order)` created in the previous step. +the |SO| created in the previous step. Track support hours on a ticket ------------------------------- @@ -212,26 +214,23 @@ service, click on the :guilabel:`Timesheets` tab of the ticket. Click :guilabel:`Add a Line` to record a new entry. Select an :guilabel:`Employee` from the drop-down menu, and record the time spent in the :guilabel:`Hours Spent` column. -Repeat these steps as needed until all time spent on the issues has been recorded. +Repeat these steps until all timesheet entries have been recorded. .. image:: track_and_bill/track-bill-record-timesheet-hours.png - :align: center :alt: View of the timesheets tab on a helpdesk ticket. Create an invoice for hours tracked on a ticket ----------------------------------------------- -After the customer's issue has been solved, and it is determined no new timesheet entries need to be -made, an invoice can be created, and the customer can be billed. +If no new timesheets are needed, then create an invoice and send it to the customer. -To do this, return to the :abbr:`SO (sales order)` by clicking on the :guilabel:`Sales Order` smart -button at the top of the ticket. +To do this, return to the |SO| by clicking on the :guilabel:`Sales Order` smart button at the top of +the ticket. Before creating the invoice, confirm that the number in the :guilabel:`Delivered` column matches the total number of :guilabel:`Hours Spent` listed in the :guilabel:`Timesheets` tab on the ticket. .. image:: track_and_bill/track-bill-delivered-timesheet-hours.png - :align: center :alt: View of a sales order with emphasis on the delivered column. Then, click :guilabel:`Create Invoice`. This opens a :guilabel:`Create invoice(s)` pop-up window. @@ -243,11 +242,7 @@ payment (percentage)` or :guilabel:`Down payment (fixed amount)`. .. important:: Use the :guilabel:`Timesheets Period` field if this invoice should **only** include timesheets from a certain time period. If this field is left blank, **all** applicable timesheets that have - not yet been invoiced will be included. - -.. image:: track_and_bill/track-bill-create-invoice-timesheets-period.png - :align: center - :alt: View of create invoices pop up showing timesheets period fields. + not yet been invoiced are included. When the necessary information has been entered, click :guilabel:`Create Draft`. The invoice can then be reviewed, edited, and sent to the customer for payment. diff --git a/content/applications/services/helpdesk/advanced/track_and_bill/exceeded-hours-sold.png b/content/applications/services/helpdesk/advanced/track_and_bill/exceeded-hours-sold.png new file mode 100644 index 000000000..eb44a10f0 Binary files /dev/null and b/content/applications/services/helpdesk/advanced/track_and_bill/exceeded-hours-sold.png differ diff --git a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-create-invoice-timesheets-period.png b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-create-invoice-timesheets-period.png deleted file mode 100644 index 4be95292c..000000000 Binary files a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-create-invoice-timesheets-period.png and /dev/null differ diff --git a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-delivered-timesheet-hours.png b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-delivered-timesheet-hours.png index 9cefac5d6..3711d9836 100644 Binary files a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-delivered-timesheet-hours.png and b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-delivered-timesheet-hours.png differ diff --git a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-based-on-timesheets.png b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-based-on-timesheets.png index d40506d3c..ea053a2d6 100644 Binary files a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-based-on-timesheets.png and b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-based-on-timesheets.png differ diff --git a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-prepaid-fixed.png b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-prepaid-fixed.png index 55923df47..98c6ad5bc 100644 Binary files a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-prepaid-fixed.png and b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-product-prepaid-fixed.png differ diff --git a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-record-timesheet-hours.png b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-record-timesheet-hours.png index f3155ec26..ba7d43dfb 100644 Binary files a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-record-timesheet-hours.png and b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-record-timesheet-hours.png differ diff --git a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-remaining-hours-total.png b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-remaining-hours-total.png index 49903404b..1f5840ecc 100644 Binary files a/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-remaining-hours-total.png and b/content/applications/services/helpdesk/advanced/track_and_bill/track-bill-remaining-hours-total.png differ