Besides providing custom Salesforce solutions for our clients, Noltic also uses Salesforce, specifically Salesforce Experience Cloud, for internal company management. We have previously used an out-of-the-box solution from Zoho to lead our internal processes like vacation management, invoicing, and corporate hierarchy. But then we decided to start developing our brand-new internal system based on Salesforce like we do for our customers.
Developing our internal system gave us the ability to conveniently manage a bunch of business processes like recruiting, leaves and vacation system, project management, gamification of internal benefits, and employees time reporting scheme. It provides a level of flexibility that cannot be reached otherwise.
A lot of processes were improved by custom integrations. Our system has integrations with Google Calendar to automate meeting arrangements for HR and management departments which helps organize interviews, end-of-probation events, and employee review meetings. HR can set up meetings right in Salesforce, and all of them are automatically added to calendars of the attendees. Some recurring events are added to calendars automatically, so it facilitates the inner processes and minimizes the risk of skipping meetings by mistake.
Integrating with Xero makes the accounting process smoother. Our employees get generated monthly invoices straight on their Portal, so they can stay in tune with the financial flow.
Above that, we implemented a custom Slack integration. It covers almost all the notifying flows. It enables users to get instant messages about new leads getting interested in our services, mentor-mentee cooperation feedback, new job candidate approval notifications, time approval messages, and so on.
One more vital integration is an integration with two currency exchange services. We enabled daily currency rate updates to keep track of the exchange rates for the convenience of the financial flow. We update the national currency rate with the help of the National Bank of Ukraine (NBU), and we use the Open Exchange Rate to update other currencies.
Furthermore, to automate data collection for employees' review and diverse feedback our company uses Survey Force. Our skilled developers' team adaped the Survey Force capabilities and made it more flexible so that it can be used with various standard and custom Salesforce objects and components.
Time reporting functionality
Another crucial feature we implemented in our system is the time reporting and time approval functionality for our employees. We developed special pages such as Time Log and Time Approval page, on the Community site for our employees. The Time Log multifunctional page gives our employees the ability to log their working time with short comments and time spent on the project, shows the leaves with their type and status, notifies the team members about the issues with the time logged, and displays detailed working hours lists.
The Time Approval page enables employees to approve or reject submitted timesheets according to the inner company hierarchy, see the leaves of other employees, and see a general hours overview for the month. Time approvers can be involved in the approval process according to the projects they work on. While rejecting the timesheet, the approver can also add comments, describing the rejection reason.
Moreover, the time to be logged is automatically calculated according to the employee's working hours. Employees can log different hour types, like overtime, which is shown with a special icon. System Administrators are also able to correct the submitted hours if necessary.
For managers and our clients, we set up reporting pages where they can track the work done and time spent on the project. It is also planned to develop a separate client community site, so that our customers have even more opportunities to access the project reports at any time.
Leave Accrual functionality
We also came up with some more sophisticated solutions to meet our needs to track the leaves of our employees. Our team developed the leave accruing system according to the company’s rules and is adjustable to employees’ working hours.
There are 4 types of leaves to be accrued to our workers: vacation, emergency, emergency (50% paid), and unpaid leaves. According to our system, vacations are accrued at the end of every month in the amount of 1.5 days and can be accumulated until the person reaches the maximum annual vacation limit (27 days). All other leaves are accrued once a year on January 31 and are available the whole year.
For newcomers, annual leaves are accrued on the first working day, and vacation is accrued at the end of the month, and is calculated based on the number of days worked in that month. Also, this formula is suitable when someone takes a sabbatical or a long period leave.
As a part of the company benefit system, we add one more vacation day at the end of the month for each year after the third anniversary. The maximum vacation limit also changes with step 1.5 days per year. We have come a long way in finding the truly best approach to this functionality, so the formula of it is really complex and multi-layered.
The formula that we use accrues leaves as hours but is still adjustable to the employees’ working hours. There are cases when employees have different employment types or their employment type changes from part-time to full-time or vice versa. In those situations, the accrual formula enables recalculating the leave hour amount pursuant to the changed daily hours. Part-time employees can’t get the same number of leaves as full-time workers, so we calculate leaves as hours and transfer them into days equivalent to the person’s employment type.
Leave Approval functionality
Every Noltician belongs to either the delivery department or the admin department. When a leave is requested, and it’s approved or rejected, everyone involved is notified about it: including team leads, mentors, and HR. Leaves requests in the delivery department are approved by team leads & mentors based on the following criteria:
1. For each billable project that you are assigned to, the team lead of that project will receive a request to approve/reject your leave.
2. For the non-billable training project that you are assigned to, your mentor will receive a request to approve/reject your leave.
For the leave to be approved - all of the above people need to approve. Such an approval process gives us the ability to keep team leaders informed that an employee has a day off. For the leave to be rejected just one of the above people needs to reject it.
If an employee is assigned to one project, there is only one approver. However, in case the person is assigned to multiple projects, multiple approvals are required. If an employee is not working on a project and is currently being taught by their mentor – the leave for this person is approved by the mentor. The system automates the process so there is no need to remember who to ask for approval, as the system identifies these people for our employees. When the employee from the admin department requests a leave, the mentor will approve or reject it.
In the rare cases when an employee does not have a mentor and is not assigned to any projects, the leave request is passed over to the head of HR. Management reserves the right to approve or reject the leaves and to override approval decisions regarding leaves. There is also a possibility to book more vacation than an employee has accrued. In such cases, additional approval is required by HR.
Managing our internal operations in Salesforce enhances every team member's familiarity with the Salesforce ecosystem, including the admin personnel. And by testing the solutions internally, we can offer even more amazing customizations to our clients based on the path we trailed ourselves.