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

Pre-requisites

Usage

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.

GUI

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

CLI

The erpnext_sync.py file is the "backbone" of this project. Apart from Windows _(which has its own wrapper erpnext_sync_win.py)_, 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 local_config.py

    Make a copy of and rename local_config.py.template file. Learn More

  3. Run this script using python3 erpnext_sync.py

UNIX

There's a Wiki for this.

Windows

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 erpnext_sync_win.py install
  4. Done

Update the installed windows service

python erpnext_sync_win.py 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 gui.py located) by
    cd biometric-attendance-sync-tool
  3. Run the following commands:

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

Resources

License

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