Tìm hiểu module Rental trên Odoo 13

Trân Lê

Xin chào cả nhà! Hôm nay, mình sẽ chia sẻ về module Rental - một module mới toanh vừa xuất hiện trên Odoo 13 phiên bản Enterprise. Chúng ta cùng bắt đầu nhé!


Rental là gì?

Cho thuê sản phẩm, hàng hóa là một dịch vụ phổ biến có tại nhiều doanh nghiệp. Khách hàng phải trả phí để được sử dụng sản phẩm, hàng hóa trong một khoảng thời gian nhất định. Sản phẩm cho thuê vẫn là một tài sản của doanh nghiệp, vì thế sau khi kết thúc thời hạn thuê, doanh nghiệp sẽ thu hồi sản phẩm từ khách hàng. 


Nhìn chung, người tiêu dùng đang có xu hướng giảm mua sắm những thứ ít dùng đến, thay vào đó họ sẽ thuê khi cần, dẫn đến loại dịch vụ thuê mướn ngày càng phát triển mạnh mẽ. Nắm bắt được nhu cầu của doanh nghiệp, Odoo đã phát triển module Rental để phục vụ cho loại dịch vụ này.

Cách sử dụng module Rental

Cấu hình

Bật cấu hình rental trên form sản phẩm


Sau khi cài đặt module Rental, chúng ta sẽ thấy trên form view của sản phẩm xuất hiện một trường thông tin mới: Can be rented. Khi tick vào ô này, tab Rental sẽ xuất hiện và giúp chúng ta cấu hình thông tin thuê mướn cho sản phẩm này.

Cấu hình sản phẩm thuê

Xác định mức giá thuê


Phần Rental Pricing dùng để xác định giá thuê của sản phẩm, chúng ta có thể dùng đơn vị giờ, ngày, tuần hoặc tháng. Bảng giá thuê này rất quan trọng, vì Odoo đang viết thuật toán để tính giá thuê rẻ nhất cho khách hàng, dựa trên các dòng giá mà chúng ta cấu hình ở đây. 


Theo cấu hình như trên, nếu người dùng thuê 1 bộ bàn ghế trong 12 giờ, thay vì lấy 12 x 50,000đ (giá thuê 1 giờ) = 600,000đ, Odoo sẽ mặc định lấy giá 1 x 500,000đ (giá thuê 1 ngày) = 500,000đ.


Tương tự, nếu khách hàng thuê 1 bộ bàn ghế trong 8 ngày, thay vì lấy  2 x 2,500,000đ (giá thuê 1 tuần) = 5,000,000đ, Odoo sẽ tính theo giá thuê 1 ngày (8 x 500,000đ = 4,000,000đ) để bảo đảm giá rẻ nhất cho khách hàng.


Xác định các mức….phạt!


Tất nhiên, Odoo cũng quan tâm đến quyền lợi của người cho thuê, nên phần Reservations giúp chúng ta cấu hình phí phạt khi khách hàng trả hàng trễ so với thỏa thuận ban đầu. Ta có thể quy định phí phạt theo giờ (Extra hour) hoặc theo ngày (Extra day). 


Thời gian đệm giữa hai lượt thuê


Trường thông tin Security Time được định nghĩa là “Thời gian đệm giữa hai lượt thuê”. Ví dụ sản phẩm Bộ bàn ghế cần 30 phút để vệ sinh sau mỗi lần khách thuê, chúng ta sẽ cấu hình Security Time của sản phẩm này là 00:30. Tuy nhiên, tính năng này hiện tại chưa hoàn thiện. Ta vẫn có thể tạo đơn thuê khác ngay sau khi khách trả hàng.


Ngoài việc cấu hình trên từng sản phẩm, ta còn phải vào menu Configuration > Settings để cài đặt thông tin chung cho module Rental.


Cấu hình chung cho toàn module Rental    

Ở đây, mình sẽ giải thích ý nghĩa của một số cấu hình trong phần này:

  • Default Padding Time chính là trường Security Time trên form sản phẩm mà mình đã đề cập trong phần trước. Nếu ta cấu hình tại đây, giá trị này sẽ được lấy xuống sản phẩm mỗi lần ta tạo một sản phẩm mới. 

  • Tương tự với các thông tin Default Delay Costs. Giá trị Per HourPer Day chính là trường Extra Hour, Extra Day trên form sản phẩm. 

  • Tuy nhiên, các bạn lưu ý rằng có 2 trường quan trọng ở mục này là Apply after ___ hoursProduct:

    • Apply after ___ hours chính là thời gian “du di” cho khách hàng. Ví dụ, công ty mình rất yêu khách hàng, nên sẽ không phạt thêm phí nếu thời gian trả hàng trễ chưa vượt quá 2 giờ đồng hồ. Mình sẽ cấu hình là: Apply after 2 hours.

    • Vậy nếu khách hàng trả hàng trễ hơn thời gian “du di” thì phí phạt sẽ được thêm vào đơn hàng như thế nào? Đầu tiên, mình sẽ phải cấu hình một sản phẩm “Phí phạt” vào trường Product. Khi khách trả hàng trễ, hệ thống sẽ tự động tính toán giá trị cần phạt và sản phẩm “Phí phạt” này sẽ được tự động thêm vào đơn hàng.


  • Digital Documents là một tính năng giúp khách hàng kí văn bản trên thiết bị điện tử. Trường Default Document chính là văn bản mặc định được chọn khi chúng ta bấm vào nút Sign Document trên đơn hàng để khách hàng kí tên, tuy nhiên ta vẫn có thể chọn lại văn bản khác.



    Tình huống minh họa

 

Công ty mình cho thuê thiết bị tổ chức sự kiện: màn hình LED, máy chiếu, âm thanh, ánh sáng, bàn ghế, v.v…

Khách hàng Nguyễn Văn A cần thuê 20 bộ bàn ghế và 1 máy chiếu để tổ chức sự kiện, thời gian từ 08:00 ngày 26/11 đến 22:00 ngày 27/11. Chúng ta sẽ tạo một đơn thuê mới cho khách hàng này nhé!

Cách tạo một đơn thuê mới


Về bản chất, Rental order là một Sale Order. Nên các bước tạo đơn thuê cũng giống hệt như tạo một đơn bán hàng. Ta cũng có các bước cơ bản như sau:

Bước 1: Vào module Rental, menu Orders > Orders, bấm vào nút Create để tạo một đơn thuê mới.

Bước 2: Nhập thông tin khách hàng, chọn sản phẩm thuê.

Bước 3: Ngay khi chọn một sản phẩm “Can be rented”, một hộp thoại mới sẽ xuất hiện, cho phép chúng ta nhập thời gian thuê, số lượng và đơn giá thuê (được hệ thống tính tự động, tuy nhiên ta vẫn có thể nhập con số mình muốn). Sau đó bấm nút Add. Lặp lại cho đến khi hoàn tất toàn bộ sản phẩm cho đơn hàng này, và hãy nhớ bấm nút Save nhé!

Nhập thời gian thuê và hệ thống sẽ tự tính giá

Bước 4: Gửi email báo giá đến khách hàng Nguyễn Văn A, bằng cách bấm nút Send by Email

Bước 5: Khi khách hàng đã đồng ý với báo giá này, ta có thể bấm nút Confirm để xác nhận đơn hàng.

Bước 6: Khi khách hàng đã đến nhận hàng, ta sẽ bấm nút PickUp và điền số lượng (và mã serial của sản phẩm nếu có Track by Serial Number) mà khách hàng đã nhận. Nhớ bấm Validate nhé! Sau khi khách đã lấy hàng, các sản phẩm đó sẽ được tự động chuyển đến một location dạng internal, có tên là Rental. Nếu vào kiểm tra Current stock của location Rental này, ta sẽ biết được có bao nhiêu sản phẩm đang được khách thuê.

Validate đơn thuê khi khách hàng đến lấy sản phẩm

Bước 7: Khi khách hàng trả hàng, ta bấm nút Return và điền số lượng khách trả. Lúc này, sản phẩm sẽ được chuyển từ location Rental về lại stock location.

Bước 8: Cuối cùng, ta sẽ tạo hóa đơn để khách hàng thanh toán đơn hàng bằng cách bấm nút Create InvoiceRegister Payment cho hóa đơn này.


Trên đây là các bước trong quy trình cơ bản của việc tạo đơn thuê mướn. Rất đơn giản phải không nào? Bây giờ mình sẽ giới thiệu cách quản lý các đơn thuê của khách hàng nhé!


Cách quản lý đơn thuê

Có nhiều cách để quản lý đơn thuê, cách đơn giản và trực quan nhất là vào menu Schedule.

Dễ dàng quản lý các đơn thuê bằng menu Schedule

Tại đây ta có thể xem tất cả đơn thuê mướn theo khoảng thời gian (theo ngày, tuần, tháng hoặc năm). Màu sắc thể hiện trạng thái của đơn hàng: Reserved (xanh nhạt), Picked Up (vàng), Returned (xanh đậm) và Late Return (đỏ). Khi rê chuột đến một đơn hàng, ta sẽ xem được chi tiết của đơn hàng đó. 


Ngoài cách này, ta có thể vào menu Orders > Orders, nơi này sẽ liệt kê tất cả các đơn thuê. Tận dụng các bộ lọc (Filter, Group by), chúng ta sẽ dễ dàng lọc những đơn hàng theo tiêu chí mình cần (Ví dụ: đơn nào phải trả vào hôm nay, đơn nào trễ hạn, v.v…) 

Filter đơn hàng theo trạng thái để dễ theo dõi

Những hạn chế hiện tại của module Rental

Module Rental có tiềm năng để phát triển và trở thành một module trọng yếu trên Odoo, tuy nhiên điều này cũng đồng nghĩa với việc còn nhiều hạn chế cần phải khắc phục. Mình sẽ nêu một vài điểm trừ mà mình tổng hợp được trong quá trình tìm hiểu nhé!

  1. Trên menu Rental > Configuration > Settings > Default Delay Costs, trường Per Hour không được lấy giá trị xuống khi tạo sản phẩm mới.

  2. Tính năng Default Padding Time chưa hoạt động.

  3. Trường hợp mình tạo hóa đơn trước khi khách hàng đến lấy hoặc trả sản phẩm, nếu khách hàng muốn gia hạn thời gian thuê, mình có thể chỉnh sửa thời gian thuê trên đơn hàng. Giá trị mới sẽ được ghi nhận trên hệ thống, tuy nhiên khi bấm Save thì đơn hàng không được cập nhật.  

  4. Tính năng Reserve trên Rental không hoạt động như reserve hàng trên Inventory. Ví dụ: Công ty mình có 2 máy chiếu để cho thuê. Khách hàng A đặt đơn thuê 2 máy này vào ngày 26/11. Khi confirm đơn này, trạng thái đơn hàng sẽ chuyển sang Reserved. Tuy nhiên, ta vẫn có thể confirm một đơn hàng khác cho thuê 2 máy chiếu này vào ngày 26/11. Suy ra: hệ thống không hề giữ hàng khi một đơn thuê chuyển sang trạng thái Reserved.

  5. Hiện tại Odoo chỉ hỗ trợ tính phí phạt khi khách hàng trả hàng trễ, chứ chưa hỗ trợ tính phí cộng thêm khi khách hàng lấy hàng sớm hơn giao ước.

  6. Ở một số doanh nghiệp, họ cho phép khách hàng mua chính sản phẩm đang thuê. Tuy nhiên module Rental chưa hỗ trợ tính năng này. Khách hàng bắt buộc phải trả hàng trước khi ta tạo đơn bán sản phẩm đó.

  7. Sản phẩm track by lot chưa được hỗ trợ cho module Rental.


Kết luận

Mặc dù còn vài hạn chế, nhưng với tốc độ phát triển mạnh mẽ của Odoo, mình tin module này sẽ sớm được hoàn thiện và bổ sung thêm những tính năng hữu ích cho người dùng. Trên đây là những gì mình đã tìm hiểu được về module Rental. Nếu có câu hỏi nào cần thảo luận, mọi người cứ thoải mái để lại bình luận bên dưới bài viết này nhé! Hẹn gặp lại cả nhà vào những bài chia sẻ sau!