Skip to content

Commit 433fb9d

Browse files
committed
[ADD] rental: service products page
1 parent a369cb7 commit 433fb9d

23 files changed

+341
-0
lines changed

content/applications/sales/rental.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,5 +139,6 @@ Odoo always uses two rules to compute the price of a product when a rental order
139139

140140
.. toctree::
141141
rental/products
142+
rental/service_products
142143
rental/manage_deposits
143144

Lines changed: 340 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,340 @@
1+
================
2+
Service products
3+
================
4+
5+
The **Rental** app is a comprehensive tool that enables users to manage the scheduling, pricing, and
6+
inventory for both physical goods (products) and non-physical goods (services) within a single
7+
platform.
8+
9+
This flexibility allows for combining products and services like bike rentals with guided tours, or
10+
booking a studio with a photographer.
11+
12+
This document will cover how to configure a rental service to automatically sync with staff shifts,
13+
track timesheet hours, and set up and link project tasks based on a rental order.
14+
15+
Settings
16+
========
17+
18+
To configure default settings on rental products, navigate to :menuselection:`Reantal app -->
19+
Configuration --> Settings`.
20+
21+
.. image:: service_products/rental-settings.png
22+
:alt: Sammple of Rental app configuration settings.
23+
24+
In the :guilabel:`Rental` section, under the :guilabel:`Default Delay Costs` subsection, fill in the
25+
:guilabel:`Apply after` field.
26+
27+
.. note::
28+
For finer control, configure the costs of late returns for the :guilabel:`Per Hour` and
29+
:guilabel:`Per Day` fields at the product level. If the defaults apply to all products, leave the
30+
:guilabel:`Product` field blank.
31+
32+
In the :guilabel:`Default Padding Time` section, fill in the :guilabel:`Padding` field.
33+
34+
Next, enable :guilabel:`Rental Transfers`. In the :guilabel:`Rent Online` section, fill in the
35+
:guilabel:`Minimal Rental Duration` field and designate :guilabel:`Unavailability days`. Click
36+
:guilabel:`Save` to apply the changes.
37+
38+
App integration configuration
39+
=============================
40+
41+
To allow for workflow efficiency and automation when creating a service product and rental order,
42+
the following Odoo apps and configuration are reccomended.
43+
44+
Project app settings
45+
--------------------
46+
47+
Install the **Project** app and enable :guilabel:`Project stages` and :guilabel:`Timesheets`. Refer
48+
to the :doc:`Project management <../../services/planning>` page for more information.
49+
50+
Planning app settings
51+
---------------------
52+
53+
Install the **Planning** app and configure employee shifts and roles. Refer to the :doc:`Project
54+
management <../../services/planning>` for instructions on setting up your employees and shifts.
55+
56+
Sales app settings
57+
------------------
58+
59+
Install the **Sales** app. Navigate to :menuselection:`Sales app --> Configuration --> Settings`.
60+
In the :guilabel:`Quotations & Orders` section, tick the :guilabel:`Online Signature`,
61+
:guilabel:`Online Payment`, and :guilabel:`Quotation Templates` checkboxes.
62+
63+
In the :guilabel:`Default Template` field, click the :guilabel:`Quotation templates` to customize
64+
quotation templates to use.
65+
66+
Sign app settings
67+
-----------------
68+
69+
Install the **Sign** app. Refer to the :doc:`Sign <../../productivity/sign>` page for instructions
70+
on uploading a rental agreement for the business to use.
71+
72+
Rental services
73+
===============
74+
75+
To view all products that can be rented in the database, navigate to :menuselection:`Rentals app -->
76+
Products`. By default, the :guilabel:`Rental` filter appears in the search bar, and the view is
77+
Kanban. Remove the filter, then click the search bar. From the preset filters, select
78+
:guilabel:`Services`. All the configured services appear.
79+
80+
Each Kanban card displays the name and rental price of the service.
81+
82+
.. _rental/service_products/service:
83+
84+
Create a new service product
85+
============================
86+
87+
To set up a new rental service, go to the :menuselection:`Rental app --> Products` and then click
88+
:guilabel:`New`. In the new product window, the :guilabel:`Rental` checkbox is already ticked by
89+
default.
90+
91+
.. image:: service_products/service-product.png
92+
:alt: Sample of a configured service product in the Rental app.
93+
94+
Tick the :guilabel:`Sales` checkbox to enable the :guilabel:`Create on Order` and
95+
:guilabel:`Invoicing Policy` fields. Select the :guilabel:`Product Type` as a :guilabel:`Service`.
96+
97+
In the :guilabel:`Create on Order` dropdown menu, select :guilabel:`Project & Task`.
98+
99+
.. important::
100+
The **Project** and the **Sales** apps must be installed for the :guilabel:`Project & Task`
101+
option and the :guilabel:`Project Template` field to be available.
102+
103+
In the :guilabel:`Invoicing Policy` drop-down menu, select :guilabel:`Based on Timesheets`.
104+
105+
Tick the :guilabel:`Plan Services` checkbox and either create a new role or select a pre-existing
106+
one. To create a new role, type in the name of the role in the blank field and click
107+
:guilabel:`Create and edit` that appears.
108+
109+
In the :guilabel:`Create Planning Role` pop-up window, enter the role's name. Select an option for
110+
the :guilabel:`Services` and :guilabel:`Resources`, and click :guilabel:`Save`.
111+
112+
.. image:: service_products/create-planning-role-window.png
113+
:alt: Sample of the Create Planning Role window for a servuce product in the Rental app.
114+
115+
Click the :guilabel:`Rental prices` tab and in the :guilabel:`Pricing` section, click :guilabel:`Add
116+
a price` to enter a new rental rate. Choose a *pricing period* (:dfn:`the unit of duration of the
117+
rental`) in the Period column, or create a new pricing period by typing in the name and clicking
118+
Create and edit.
119+
120+
.. tip::
121+
Customize rental rate time periods by navigating to :menuselection:`Rental app --> Configuration
122+
--> Rental periods`.
123+
124+
.. image:: service_products/new-rental-period.png
125+
:alt: Sample of a Create Period pop up window in the Rental app.
126+
127+
Next, enter the :guilabel:`Price` for that specific :guilabel:`Period`. To apply the configured
128+
rental rate to an existing pricelist, click in the :guilabel:`Pricelist` column and select the
129+
desired list from the drop-down menu.
130+
131+
In the :guilabel:`Reservations` section, fill in the :guilabel:`Hourly Fine`, :guilabel:`Daily
132+
Fine`, and the :guilabel:`Reserve product` time. These values are automatically populated from the
133+
:guilabel:`Default Delay Costs` section, provided they have been configured in the
134+
::menuselection:`Rental app --> Configuration --> Settings`.
135+
136+
Click the :icon:`fa-cloud-upload` :guilabel:`(Save manually)` icon near the top to save.
137+
138+
.. example::
139+
A photography studio rents out their photographers on a hourly and daily basis. They want to add
140+
new four hour package for $750.
141+
142+
All reservations require 24 hours notice to reserve a photographer, but they do not charge a
143+
fines if the reservations go over the agreed time. Instead they default to their hourly fee.
144+
145+
Create a new pricing period by navigating to :menuselection:`Rental app --> Configuration -->
146+
Rental periods`. Click :guilabel:`New` and configure a the period for four hours.
147+
148+
Navigate to the :guilabel:`Photographer` service product and in the :guilabel:`Rental prices`
149+
tab, add the four hour period set at $750. Manually save to apply changes.
150+
151+
.. image:: service_products/example-4hrs-rental-period.png
152+
:alt: Sample of the Rental prices tab of service product in the Rental app.
153+
154+
Create a rental order with a service product
155+
============================================
156+
157+
Naviagte to the **Rental** app which to opens the Rental Orders dashboard. Click :guilabel:`New` to
158+
open a new rental order form.
159+
160+
Enter the :guilabel:`Customer` field, and select a :guilabel:`Quotation Template`, if applicable.
161+
162+
Next, set the desired rental duration in the :guilabel:`Rental period` field. To adjust the rental
163+
duration, click the first date in the :guilabel:`Rental period` field, and select the range of dates
164+
and times to represent the rental duration from the pop-up calendar form that appears.
165+
166+
.. image:: service_products/rental-period-field-popup.png
167+
:alt: Sample of the rental period field calendar pop-up window in the Rental app.
168+
169+
Once complete, click :guilabel:`Apply` in the calendar pop-up form. Following that, the pop-up form
170+
disappears, and the designated time period of the rental is represented in the :guilabel:`Duration`
171+
field.
172+
173+
Next, add a rental service in the :guilabel:`Order Lines` tab, by clicking :guilabel:`Add a product`
174+
and selecting the desired rental service to add to the form. Enter the desired amount in the
175+
:guilabel:`Quantity` column.
176+
177+
.. note::
178+
If a rental product is added before the Rental period field has been properly configured, the
179+
user can still adjust the Rental period field accordingly. Select the desired range of dates to
180+
represent the duration of the rental, then click Update Rental Prices in the Duration field.
181+
182+
.. image:: service_products/rental-update-rental-prices.png
183+
:alt: Sample of the Duration field with the Update Rental Prices option in the Rental app.
184+
185+
Doing so reveals a Confirmation pop-up window. If everything is correct, click Ok, and Odoo
186+
recalculates the rental price accordingly.
187+
188+
.. image:: service_products/rental-order-form.png
189+
:alt: Sample of a rental order for a service product in the Rental app.
190+
191+
Once all information has been entered correctly on the rental order form, click :guilabel:`Send` to
192+
email the quotation to the customer. When the customer approves the quotation, click
193+
:guilabel:`Confirm`. A banner displays on the rental order stating its current status.
194+
195+
Entering time for the rental order
196+
==================================
197+
198+
.. important::
199+
For the appropriate smart buttons to display, the **Project** and **Timesheet** apps are needed.
200+
The selected service product on the rental order must be :ref:`properly configured
201+
<rental/service_products/service>` to integrate with the **Project** and **Timesheet** apps.
202+
203+
Navigate to the rental orders by :menuselection:`Rental app --> Orders --> Orders` and select the
204+
desired rental order. At the top of the rental order form are the :guilabel:`Tasks`,
205+
:guilabel:`Recorded`, and :guilabel:`Planned` smart buttons.
206+
207+
Click the :guilabel:`Tasks` smart button to view a Kanban view of all the associated tasks that were
208+
automatically created when confirming the rental order. Click the desired task, then select the
209+
:guilabel:`Timesheets` tab.
210+
211+
.. image:: service_products/rental-order-task-card.png
212+
:alt: Sample of a project task card for the rental order in the Rental app.
213+
214+
Click :guilabel:`Add a line` to enter the number of hours worked on the task manually. Click on the
215+
:guilabel:`Sales Order` smart button to return to the rental order.
216+
217+
.. image:: service_products/rental-task-timesheets-tab.png
218+
:alt: Sample of a a task timesheet tab for a rental order in the Rental app.
219+
220+
.. note::
221+
Once time is added to :guilabel:`Timesheets` tab of a task, the status of the rental order is
222+
automatically changed to :guilabel:`Picked-up` and the :guilabel:`Return` button appears.
223+
224+
225+
Create an invoice
226+
=================
227+
228+
Navigate to the desired invoice by navigating to **Rental** app and on the :guilabel:`Rental Orders`
229+
dashboard, in the :guilabel:`INVOICE STATUS` section, click :guilabel:`To Invoice` to view all the
230+
rental orders that require to be sent.
231+
232+
.. image:: service_products/invoice-status-section.png
233+
:alt: Sample of the INVOICE STATUS section in the Rental app.
234+
235+
Click on the desired rental order and click :guilabel:`Create Invoice`. Select :guilabel:`Regular
236+
invoice` from the :guilabel:`Create invoice(s)` window and click :guilabel:`Create Draft`.
237+
238+
.. image:: service_products/create-invoices.png
239+
:alt: Sample of Create invoices window in the Rental app.
240+
241+
If all the details are correct, click :guilabel:`Confirm`. Click :guilabel:`Send` to email the
242+
invoice to the customer or :guilabel:`Print` and then click :guilabel:`Pay` if the customer is in
243+
person.
244+
245+
In the :guilabel:`Pay` pop-up window, select a :guilabel:`Journal` and click :guilabel:`Create
246+
Payment`.
247+
248+
.. image:: service_products/pay-popup.png
249+
:alt: Sample of the Pay pop-up window in the Rental app.
250+
251+
252+
Click on the :guilabel:`Payments` smart button that appears on the top of the rental order. Click
253+
:guilabel:`Validate` on the Payment page.
254+
255+
.. image:: service_products/payment-validate.png
256+
:alt: Sample of the Payment page in the Rental app.
257+
258+
Use the breadcrumbs to return to the rental order.
259+
260+
Customer signature
261+
==================
262+
263+
Odoo allows you to request that the customer sign a rental agreement outlining the arrangement
264+
between the company and the customer before they pick up the rental products. Such documents can
265+
ensure everything is returned on-time and in its original condition.
266+
267+
.. note::
268+
Requesting a signature can be done during any stage of the order. This feature also requires the
269+
**Sign** app.
270+
271+
If signatures are required, go to the **Rental** app and from the default :guilabel:`Rental Orders`
272+
dashboard, select the desired rental order. To go the :icon:`fa-cog` :guilabel:`(Actions)` icon, and
273+
click :guilabel:`Request Signature`.
274+
275+
.. image:: service_products/request-signature.png
276+
:alt: The Action drop-down menu for requesting a signature in the Rental app.
277+
278+
A :guilabel:`New Signature Request` pop-up window displays. Select the desired document from the
279+
:guilabel:`Template` drop-down menu.
280+
281+
.. image:: service_products/new-signature-request.png
282+
:alt: Sample of the New Signature Request pop-up window in the Rental app.
283+
284+
Doing so reveals a :guilabel:`New Signature Request` pop-up window. Upon confirming the information
285+
in the :guilabel:`New Signature Request` pop-up form, click :guilabel:`Send` to initiate the signing
286+
process.
287+
288+
.. image:: service_products/new-signature-request-message.png
289+
:alt: Sample of the New Signature Request message in the Rental app.
290+
291+
A link to the signature request will appear in the chatter of the rental order. The document is
292+
accessible to the customer via the customer portal or email.
293+
294+
Signing a document from a email link
295+
------------------------------------
296+
297+
When a customer clicks :guilabel:`Sign document`, a separate page is then revealed, showcasing the
298+
document to be signed. The customer begins the process by clicking :guilabel:`Click` to start.
299+
300+
The app guides the signee to the required signature locations and allows them to create electronic
301+
signatures to complete the form.
302+
303+
.. image:: service_products/adopt-signature-popup.png
304+
:alt: Sample of a customer signature with the Auto option chosen.
305+
306+
The adopt your signature pop-up window that appears in the Odoo Rental application. Once the
307+
document has been signed and completed, click :guilabel:`Validate & Send Completed Document` at the
308+
bottom of the document.
309+
310+
Odoo presents the option to download the signed document for record-keeping purposes, if necessary.
311+
312+
.. image:: service_products/validate-send-doc-button.png
313+
:alt: Sample of a signed document with the Validate & Send Completed Document button.
314+
315+
.. seealso::
316+
`Odoo Tutorials: Sign <https://www.odoo.com/slides/sign-61>`_.
317+
318+
Pickup products
319+
===============
320+
321+
When a customer picks up the product, navigate to the appropriate rental order, click
322+
:guilabel:`Pickup`, and then click :guilabel:`Validate` in the :guilabel:`Validate a pickup` pop-up
323+
form that appears.
324+
325+
.. image:: service_products/pickup-popup.png
326+
:alt: Sample of a service product pick up pop-up window in the Rental.
327+
328+
Doing so places a :guilabel:`Picked-up` status banner on the rental order.
329+
330+
Return products
331+
===============
332+
333+
When a customer returns the products, navigate to the appropriate rental order, click
334+
:guilabel:`Return`, and validate the return by clicking :guilabel:`Validate` in the
335+
:guilabel:`Validate a return` pop-up form that appears.
336+
337+
.. image:: service_products/validate-a-return-window.png
338+
:alt: Sample of returning a service product in the Rental app.
339+
340+
Doing so places a :guilabel:`Returned` status banner on the rental order.
19.4 KB
Loading
7.32 KB
Loading
5.41 KB
Loading
13.3 KB
Loading
3.25 KB
Loading
3.88 KB
Loading
15 KB
Loading
4.43 KB
Loading

0 commit comments

Comments
 (0)