Walk into any RMG factory in Gazipur, any corporate office in Gulshan, or any hospital in Sylhet, and you will see a biometric attendance machine mounted on the wall.
In Bangladesh, ZKTeco and Virdi dominate this market. The hardware is incredibly cheap, durable, and reliable. However, the moment the HR team sits down to calculate payroll at the end of the month, the nightmare begins.
The free desktop software included with these devices is often archaic. It requires an HR executive to manually download data via a USB drive or local network, export it to Excel, and spend three days manually calculating late fines, overtime (OT), and weekend allowances. This manual process is highly prone to human error and deliberate manipulation.
At BengalTech Solutions, we build Custom HR & Payroll Software that completely bypasses this legacy desktop software. In this technical guide, we explain how we engineer real-time integrations that push physical fingerprint data directly into a modern Cloud Web Application.
"The goal of biometric integration is to make attendance invisible. An employee scans their finger, and milliseconds later, your cloud database knows they are 12 minutes late."
Table of Contents
- The Problem with Legacy Desktop Software
- The Modern Solution: ADMS and the Push Protocol
- The Legacy Solution: TCP/IP Polling (Middleware)
- Processing Raw Punches into Meaningful Attendance
- The Business ROI of Cloud Integration
The Problem with Legacy Desktop Software
If you have a multi-branch company—for example, a head office in Banani and three factories in Narayanganj—managing attendance using the default ZKTime software is nearly impossible.
You must install the software on a local Windows PC at every single branch. Because these PCs are not connected to a central cloud, HR in Banani cannot see who is absent in Narayanganj until someone manually emails the Excel sheet at the end of the day. Furthermore, if the hard drive on the local PC crashes, months of attendance data evaporate.
The Modern Solution: ADMS and the Push Protocol
The most elegant way to integrate biometric devices with a Custom Web Application is by utilizing ADMS (Automatic Data Master Server).
When purchasing a biometric device in Bangladesh, always ask the vendor: "Does this model support ADMS or Push SDK?"
How ADMS Works
Instead of a local PC asking the device for data, the device is configured to push data directly to your Cloud Server's IP address or Domain Name.
- You connect the ZKTeco device to the office WiFi or a router.
- You enter the URL of your cloud server (e.g.,
http://api.yourcompany.com/iclock/cdata) into the device settings. - Every time an employee scans their finger, the device immediately makes an HTTP POST request to your API, sending the Employee ID and Timestamp.
At BengalTech, we build the API endpoints (using Laravel or Node.js) to receive these Push requests, authenticate the device, and write the raw punch data directly into a secure PostgreSQL database.
The Legacy Solution: TCP/IP Polling (Middleware)
What if your company already invested 500,000 BDT into older ZKTeco devices that do not support ADMS? You cannot throw them away.
For older devices, we use the TCP/IP Pull method. These devices can only communicate over a Local Area Network (LAN). To connect them to the cloud, we build a lightweight "Middleware" script (often written in Python or Node.js).
This middleware is installed on a cheap Raspberry Pi or a constantly running office PC. Every 5 minutes, the script connects to the biometric device via the local IP address (e.g., 192.168.1.201), downloads the latest attendance logs, and securely transmits them to your cloud Web Application via a standard REST API.
Processing Raw Punches into Meaningful Attendance
Getting the data into the cloud is only step one. A biometric machine is stupid; it only knows that Employee #105 scanned their finger at 09:12 AM and again at 06:15 PM. It does not know if that was a late entry, an early exit, or an overtime shift.
This is where Custom Business Logic becomes critical. Your web application must process these "raw punches" against your company's specific shift policies:
- Shift Mapping: If an employee punches in at 02:00 PM, the software must determine if they are late for the Morning Shift or early for the Evening Shift.
- Grace Periods: Automatically ignoring late marks if the employee arrives within a 15-minute grace period.
- Overtime Calculation: Automatically calculating OT hours (e.g., 1.5x regular pay) only if the employee punches out at least 2 hours after their shift ends.
- Missing Punches: Flagging anomalies (e.g., an "In" punch with no "Out" punch) and sending an automated alert to the Line Manager for manual correction.
The Business ROI of Cloud Integration
By integrating your biometric devices with a custom cloud platform, the ROI for a Bangladeshi business is immediate:
- Zero Payroll Manipulation: Local HR staff can no longer edit Excel sheets to cover up late arrivals for their friends.
- Instant Centralized Reporting: The CEO can open a dashboard on their phone at 9:30 AM and see exactly how many factory floor workers are absent across all five branches.
- Payroll Automation: Because the attendance data is mathematically perfect, calculating monthly payroll takes exactly 5 seconds, rather than 5 days.
Stop fighting with legacy desktop software. If you want to integrate your physical biometric devices directly into a highly secure, custom HR web application, contact BengalTech Solutions today. We bridge the gap between hardware and the cloud.
Frequently Asked Questions
ADMS is a feature in modern ZKTeco biometric devices that allows the device to automatically push attendance logs (punches) to a remote server over the internet (via HTTP), rather than waiting for a local computer to pull the data via a LAN cable.
If you are using the older "Pull" method (where the server requests data from the device), yes, you need a static IP at the office. If you use the modern ADMS "Push" method, the device only needs internet access (even a mobile hotspot works) to push data to your cloud server (which has a static IP/Domain).
Yes, but it requires building a lightweight local middleware (a Windows service or a Raspberry Pi script) that sits on the same local network as the device. This middleware pulls data via the ZK-TCP protocol and then pushes it via REST API to your cloud application.
The default desktop software is rigid. It cannot handle complex, multi-layered approval workflows (e.g., HR manager + Line Manager approval for overtime), it cannot easily integrate with custom ERPs for payroll, and it makes managing multi-branch offices across Bangladesh incredibly difficult.
A robust custom HR platform with automated attendance calculation, payroll generation, and real-time biometric integration typically ranges from 300,000 to 1,500,000 BDT depending on the complexity of your company's leave and shift policies.