Skip to content

ZKBioTime or Direct Device Integration: Which to Use

There are two ways to get biometric attendance into your ERP: keep ZKBioTime as the middle layer, or integrate the ZKTeco devices directly without it. Here is when each approach wins.

By Karani Geoffrey, Founder & CEO, Upeosoft
In short

Use ZKBioTime when you want its shift management, leave, and rich attendance reports as a ready-made layer between your devices and payroll. Integrate ZKTeco devices directly - without ZKBioTime - when ERPNext or your Frappe app already owns shifts and attendance, and you only need raw punches, so a middle layer would just add cost and another system to maintain.

Key takeaways
  • Two architectures: devices -> ZKBioTime -> ERP, or devices -> direct integration -> ERP.
  • ZKBioTime adds a ready-made layer for shifts, rosters, leave, and attendance reports.
  • Direct integration pulls raw punches straight from the device into ERPNext, skipping ZKBioTime.
  • Choose ZKBioTime when its rostering and reports genuinely add value you would otherwise build.
  • Choose direct integration when your ERP already owns shift and attendance logic - avoid paying twice.
  • It comes down to where the attendance intelligence should live and how many systems you want to maintain.

Two ways to get punches into your ERP

Every biometric-attendance setup answers the same question: how do clock-ins on the wall reach the system that pays people? There are two architectures.

The first keeps ZKBioTime in the middle: ZKTeco devices feed ZKBioTime, which manages shifts, leave, and attendance and produces reports, and you then integrate ZKBioTime into ERPNext or your Frappe app. The second goes direct: a connector reads raw punches straight from the devices and posts them into ERPNext, and there is no ZKBioTime at all - your ERP does the shift and attendance work itself. Neither is universally right; they suit different situations.

What ZKBioTime adds as a middle layer

ZKBioTime is a mature attendance platform, and that maturity is exactly what you are choosing when you keep it in the stack.

  • Ready-made shift, roster, and schedule management without building it yourself.
  • Built-in leave and holiday handling alongside attendance.
  • Rich, purpose-built attendance and exception reports.
  • A dedicated place for HR to manage attendance separate from the ERP.
  • Proven handling of many devices and branches out of the box.

What direct integration gives you instead

Going direct strips the stack back to two layers - devices and your ERP - and lets ERPNext own the intelligence.

  • One source of truth: attendance lives where payroll already lives.
  • One fewer system to license, host, update, and back up.
  • Shift and attendance rules defined once, in the ERP, not duplicated.
  • A simpler pipeline with fewer places for data to get out of step.
  • Full control to shape attendance logic to your exact ERPNext workflows.

The real question: where should the intelligence live?

Strip away the products and the decision is about one thing - where the attendance intelligence belongs. Shifts, grace periods, overtime rules, leave: something has to own them. Either ZKBioTime owns them and hands processed attendance to your ERP, or your ERP owns them and just needs the raw punches.

If you keep ZKBioTime, its logic is the master and ERPNext consumes the result. If you go direct, ERPNext is the master and the devices are dumb sensors. Deciding which you want first makes the architecture obvious - the products follow from that, not the other way around.

A simple way to choose

You rarely need both a full attendance platform and an ERP that also does attendance. Use ZKBioTime when its rostering, leave, and reports genuinely add value you would otherwise have to build, when it is already deployed and working, or when HR wants a dedicated attendance system. Go direct when ERPNext or your Frappe app already owns shifts and attendance, when you want a single source of truth and fewer systems to maintain, or when ZKBioTime would only duplicate what your ERP does.

The test is duplication: if both systems would be doing the same attendance work, drop one. If ZKBioTime is doing real work your ERP cannot, keep it.

How Upeosoft helps you decide

At Upeosoft we build both architectures, so we have no reason to push you toward one. We look at your shift complexity, whether ZKBioTime is already in place, what your ERPNext or Frappe app already handles, and how many systems you want to run - then recommend the setup that is simplest to operate for your business.

Sometimes that means a clean ZKBioTime-to-ERPNext integration; sometimes it means pulling straight from the devices and letting ERPNext do everything. If you are choosing between the two, talk to us and we will map the approach that fits how you actually work.

Frequently asked questions

What is the actual difference between the two approaches?

In the ZKBioTime approach, the devices feed ZKBioTime, which manages shifts, leave, and attendance, and then you integrate ZKBioTime into your ERP. In the direct approach, you skip ZKBioTime entirely - a connector reads raw punches straight from the ZKTeco devices and posts them into ERPNext, which then does the shift and attendance logic itself. The question is whether you want a dedicated attendance layer or want your ERP to own that job.

When does keeping ZKBioTime make more sense?

When its features earn their place. If you have complex rostering, many shift patterns, detailed leave management, and staff or auditors who rely on ZKBioTime's specific reports, it gives you a mature, ready-made attendance layer you would otherwise have to build. It is also sensible when ZKBioTime is already deployed and working well - there is no need to tear out something that does its job.

When is direct device integration the better choice?

When your ERPNext or Frappe app is already the home of shifts, attendance, and payroll. In that case ZKBioTime largely duplicates logic your ERP has, so keeping it means maintaining two systems and paying for one you barely use. Pulling raw punches straight into ERPNext gives you a single source of truth and one system to maintain, which is simpler and usually cheaper to run.

Is direct integration harder to build than integrating ZKBioTime?

Not necessarily - it is a different kind of work. ZKTeco devices expose their punch data through an SDK or protocol, and a direct connector reads from that and writes to ERPNext. Integrating ZKBioTime instead means working with its API. Neither is inherently harder; the real difference is what you have to maintain afterwards. Direct means one integration and one system; ZKBioTime means an integration plus the ZKBioTime platform itself.

Can I switch approaches later if I choose wrong?

Yes, though it is work you would rather avoid. Because the raw punch data always originates on the devices, you can later add ZKBioTime in front, or remove it and go direct, without losing history if it is handled carefully. Still, it is better to make the call deliberately up front based on where you want attendance logic to live, rather than switching mid-stream and re-mapping employees and rules.

Karani Geoffrey
Karani Geoffrey
Founder & CEO, Upeosoft

Karani Geoffrey is the Founder & CEO of Upeosoft, a software and automation company rooted in Kenya. He builds custom software, AI systems, and production-grade ERPNext for businesses across East Africa, and writes about the Kenyan realities - eTIMS, M-Pesa, SHIF, unreliable internet and power - that make or break real systems.

Next step

Want this working in your business?

Upeosoft builds and hardens the systems behind this article - for real Kenyan operations, with eTIMS, M-Pesa and offline realities handled.

Keep reading

Access Control & Biometrics

ZKBioTime: When to Integrate It (and When Not To)

Integrating ZKBioTime with your ERP or payroll is powerful, but not always worth it. This is an honest guide to when integration pays off and when you should just use ZKBioTime as-is.

6 min readRead article →
Access Control & Biometrics

What Is ZKBioTime? A Plain-English Guide

ZKBioTime is ZKTeco's time-and-attendance software: it collects punches from biometric devices and turns them into shifts, timesheets, and attendance reports. Here is what it is and who needs it.

5 min readRead article →
Access Control & Biometrics

ZKBioTime Integration with Frappe: The Advantages

Integrating ZKBioTime with Frappe pushes verified attendance out of ZKBioTime and into your Frappe app, where it drives payroll, HR, and reporting with no manual re-entry. Here are the advantages.

6 min readRead article →