Fetching latest headlines…
Integrating ETimeOffice Attendance API with Python and Django
NORTH AMERICA
🇺🇸 United StatesMay 10, 2026

Integrating ETimeOffice Attendance API with Python and Django

1 views0 likes0 comments
Originally published byDev.to

If you’ve worked with biometric attendance systems, you already know the hardest part usually isn’t the device itself — it’s the integration layer.

Different vendors expose different APIs, date formats, authentication methods, and response structures. One of the systems I recently worked with was ETimeOffice, and I wanted a cleaner way to interact with its attendance APIs directly from Python and Django applications.

So I built:

pyetimeoffice

A lightweight Python integration library for working with the ETimeOffice API.

GitHub: https://github.com/KSreethul/pyetimeoffice

PyPI: https://pypi.org/project/pyetimeoffice/

Why I Built It

In HRMS and attendance systems, we often need to:

  • Download punch records
  • Process in/out attendance logs
  • Sync attendance with HRMS platforms
  • Handle employee punch data programmatically
  • Normalize inconsistent API response formats

While integrating ETimeOffice into Django-based HRMS systems, I noticed the same boilerplate code being repeated everywhere:

  • HTTP Basic authentication setup
  • Date formatting
  • API request handling
  • Response parsing
  • Datetime normalization

So I wrapped those operations into a reusable Python package.

Features

pyetimeoffice currently supports:

  • DownloadPunchData API
  • DownloadPunchDataMCID API
  • DownloadInOutPunchData API
  • Automatic datetime parsing
  • Date range validation
  • HTTP Basic authentication
  • Easy integration with Django applications

Installation

Install directly from PyPI:

pip install pyetimeoffice

Quick Example

from pyetimeoffice import ETimeOfficeAPI

api = ETimeOfficeAPI(
    username="your_username",
    password="your_password",
    base_url="https://api.etimeoffice.com/api/",
)

data = api.download_punch_data(
    from_date="25/03/2025_00:00",
    to_date="25/03/2025_12:22",
    emp_code="ALL",
)

print(data)

Example Use Cases

This library can be useful for:

  • Django HRMS integrations
  • Attendance synchronization
  • Payroll processing systems
  • Employee tracking systems
  • ERP integrations
  • Attendance analytics dashboards

Built for Django & HRMS Workflows

I mainly work with Django-based HRMS and CRM systems, so the library was designed to fit naturally into backend workflows.

Typical integration flow:

  1. Fetch attendance logs from ETimeOffice
  2. Normalize punch timestamps
  3. Map employee codes
  4. Store records in Django models
  5. Generate attendance reports

Future Plans

Some features planned for future releases:

  • Async API support
  • Retry mechanisms
  • Pagination helpers
  • Webhook/event support
  • Better filtering utilities
  • Additional biometric vendor integrations

Open Source

The project is fully open source and contributions are welcome.

GitHub Repository:
https://github.com/KSreethul/pyetimeoffice

If you’re working on attendance systems, HRMS platforms, or biometric integrations, I’d love feedback and suggestions.

django #hrms #attendance

Comments (0)

Sign in to join the discussion

Be the first to comment!