Weladee is a service "In The Cloud" to manage employee attendance. It's developed to be simple, fast and cheap to use for any small company (or even big ones). The primary market of this service is Thailand for now (2018), we started to deploy customers in Cambodia too.
Take a look at https://www.weladee.com
Because employee lateness and absenteeism cost a lot of money to your company. Weladee provides a very easy way to reduce it.
See how much lateness costs you with our simulation page: https://www.weladee.com/simulation
Odoo module for Weladee
This Odoo module create the link between Weladee and your Odoo 14.0 instance.
You will be able to synchronize departments, employees and attendance. Import expenses, timesheet, leave, holidays, ... from Weladee to your Odoo instance.
The idea is to use Weladee a HRMS addon to Odoo. So mostof the data is collected in Weladee and then imported to Odoo.
There are 3 exceptions:
These 3 data can be sent to Weladee from Odoo and vice versa.
In case of conflict, the most recent data will be used. It shouldn't be a problem because the data is not often updated. The HR operator should decice which app to use to update the data. Create employee on Weladee is probably the best move.
This data is sent from Weladee to Odoo. Weladee feeds Odoo with HRMS data.
gRPC is used to communicate with weladee server. The http2 protocol and stream push between client and server offer excellent performances. The communication between Odoo & Weladee is encrypted with SSL3 and TLS 1.3 certificate.
Sample calls:
To connect your Odoo instance to weladee server you need an api key. The api key is available when you create an account at https://www.weladee.com/register
Weladee is free to subscribe with 3 months trial period or even 100% free for company with less than 5 employees.
It's ready for Odoo 14. gRPC code is compatible python 3.
import grpc
import . from weladee_pb2
import . from weladee_pb2_grpc
# Weladee grpc server address is grpc.weladee.com:22443
address = "grpc.weladee.com:22443"
# Define a secure channel with embedded public certificate
creds = grpc.ssl_channel_credentials(certificate)
channel = grpc.secure_channel(address, creds)
This code retrieve the list of departments and add a holiday to Weladee.
# Connect from Odoo
# Place here the token specific to each company. It's called api_key in table company
authorization = [("authorization", "bc7f3c00-bfa4-4ac2-810b-a11dca5ec48e")]
stub = weladee_pb2_grpc.OdooStub(channel)
# List all departments
print("Departments")
for dept in stub.GetDepartments(myrequest, metadata=authorization):
print(dept)
# Add new holiday
newHoliday = weladee_pb2.HolidayOdoo()
newHoliday.Holiday.date = 20170918
newHoliday.Holiday.name_english = "Company holiday"
newHoliday.odoo.odoo_id = 9
try:
result = stub.AddHoliday(newHoliday, metadata=authorization)
print (result.id)
except Exception as e:
print("Add holiday failed",e)
Simple code parsing a stream of log events that need to be synchronized with Odoo.
# List of attendance to sync
print("Attendance to sync")
i=0
for att in stub.GetNewAttendance(weladee_pb2.Empty(), metadata=authorization):
i+=1
logging.log(i,att)
If records have been deleted on Weladee, you will call gRPC function GetDeleted. It will return all IDs of deleted record for a specific table.
GetDeleted is called on the following tables:
(c) 2022 Frontware International Co,Ltd.