Client
A Chinese startup founder commissioned Elinext to build a web application for managing payroll across different jurisdictions.
Challenge
In our era of increased mobility, employees often get relocated, go on business trips or work remotely abroad. But taxes and deductions for social security vary from country to country, so employers need an accounting expert in each location. And this can cost a lot.
One Chinese entrepreneur came up with a solution: simplifying international accounting with a sleek digital tool. He looked for a developer, interviewed a few candidates, including Elinext, and eventually went with us.
Process
The client walked us through the broad strokes. There were neither designs nor proper functionality descriptions available. Joined by a business analyst, our team pried into the product idea, documented the desired functionality, and provided rough price and timeline estimates.
The client visited our head office six weeks later to brainstorm the functionality with us. Once we agreed on the initial vision of the minimum viable product (MVP), the work began in one-week sprints.
Narrowing Down the MVP
That initial vision, however, would never come to fruition as it was conceived (which is typical for startups).
The client had to refine his vision down the line. We had to pause the project more than once to let him sort out how the application should work. And, on top of that, our client’s investor would occasionally pitch in with his own requests. There weren’t many, but some turned out to be quite challenging.
One of the most difficult changes to implement on the go was the change in the access control model. In the original requirements, permissions were tied to user roles. But, in the middle of the project, the client requested to move to claim-based permissions, which took us some doing.
Exchanging Data Between Two Worlds
Based in China, the client wanted first to build an employer-employee bridge between his home country and the European Union. And that’s what made up for the main technological challenge: enabling data processing between the two jurisdictions.
Both China and the EU regulate data processing — and, in both cases, citizens' personal data must be stored locally. So, we had to use Amazon Web Services (AWS) with a data center in Frankfurt am Main and a Chinese analog with one in Beijing. But how to pair the two?
We set up two data processing systems mirroring each other and bound them together directly. To do so, we had to work out a complex communication map as shown in the picture below.
Module Integration
The complex system of roles and features posed another challenge.
Overall, the platform has six modules: Overview, Organization, Payroll, Requests, Calendar, and Reports. And it took us some doing to sync them with five user roles, each with unique permission levels. Those included the super admin, employer, accounting service provider, referent, and employee.
Product
The product is a software-as-a-service (SaaS). It offers a web platform on which employers, local accounting service providers, and employees work together. And it all starts with a landing page.
The Landing Page as a Starting Point
Our team designed and built the landing page. It includes information like the product overview, pricing plans, company details, and more. On top of that, we integrated the page with an admin panel that allows administrators to publish and manage articles.
But most importantly, users can sign in or request a demo from the landing page. Here’s how it goes: you fill out a form to get the demo. If you like how the application works, you sign up for one of the plans available and get an invitation email with credentials. With these credentials, you can log in and use the platform.
Administering the Platform
The user logged in as a super administrator has all the permissions required to manage the platform. But the main business activity reserved for them is connecting accounting service providers with employers.
Once a company has signed up for the platform, it can add employees and set their payroll status to active. The administrator of the platform will then choose an accounting service provider from a list and appoint that provider to that particular employee.
Organizational Toolbox
There are two types of organization-level accounts in the system: the employer and the accounting service provider. All the tools available to them are organized into six modules.
The key information about the account and activities performed within it reside in the Overview module. Depending on the type of user, it will show different data.
In the Organization module, the employer can set up the company account and add users to act on its behalf. These users can configure the company structure, adding branches, employees, and more.
The Payroll module is probably the most important one. It enables company representatives to activate payroll for employees added to the Organization module. They can configure a payroll with parameters like the payout frequency and date, the start date of a pay period, bonuses, and others.
All the dates related to the payroll, such as payout dates, vacations, and holidays, automatically pop into the Calendar module.
The service company has its own dashboard. It can upload payout reports for the employer to review in the Reports module. In addition, this module shows payroll analytics and request history.
Employee Profiles
Besides the administrator user, the employer can create two types of employee-level users.
One is the employee, and it’s very simple. Whenever an employee needs to take a sick leave, schedule vacation time or talk to their supervisor, they can do so through the Requests module. They create a request, attach any relevant documents, and submit it.
The request will appear in the account of another user type: the referent. This role is attributed to a supervisor like a manager or someone in HR. They will process the request and, if necessary, contact the sender for more details.
Once the request has been approved, the referent creates a new event in the system (e.g. vacation, travel cost compensation). And this person can use the application to monitor attendance, sick leaves, holidays, bonuses, and other matters related to each employee within the system.
To simplify communication between the two user types, we created a live chat feature. This is a useful tool when the users need to discuss something quickly.
Results
The product is still in the making. And the development has actually been paused until the client raises additional funds. However, it gave us a chance to learn to make databases in drastically different jurisdictions work together. Check out our other projects: