Biometric Attendance Sync Tool (For ERPNext)

Python Scripts to poll your biometric attendance system (BAS) for logs and sync with your ERPNext instance

Table of Contents



There's two ways you can use this tool. If accessing the CLI is a bit of a pain for you, the GUI has a simple form to guide you through the process.

Under /releases, for a particular release download the biometric-attendance-sync-tool-[version]-[distribution].zip and unzip it's contents. Now from the location of the unzipped files, you can go ahead with the CLI or GUI method.


Run the attendance-sync file from the folder; This should setup all it's dependencies automatically and start the GUI.


The file is the "backbone" of this project. Apart from Windows _(which has its own wrapper, this file can be directly used to set up the sync tool. Further information provided in the /Wiki.

Setup Specifications (For CLI)

  1. Setup dependencies

    cd biometric-attendance-sync-tool
      && python3 -m venv venv
      && source venv/bin/activate
      && pip install -r requirements.txt
  2. Setup

    Make a copy of and rename file. Learn More

  3. Run this script using python3


There's a Wiki for this.


Installing as a Windows service

  1. Install pywin32 using pip install pywin32
  2. Got to this repository's Directory
  3. Install the windows service using python install
  4. Done

Update the installed windows service

python update

Stop the windows service

net stop ERPNextBiometricPushService

To see the status of the service

mmc Services.msc

Setting up config

TODO: fill this section with more info to help Non-Technical Individuals.

To build executable file for GUI

Linux and Windows:

  1. Activate virtual environment.
  2. Navigate to the repository folder (where located) by
    cd biometric-attendance-sync-tool
  3. Run the following commands:

    pip install pyinstaller
    python -m PyInstaller --name="attendance-sync" --windowed --onefile
  4. The executable file attendance-sync created inside dist/ folder.



This project is licensed under GNU General Public License v3.0