All Projects → frappe → biometric-attendance-sync-tool

frappe / biometric-attendance-sync-tool

Licence: GPL-3.0 license
A simple tool for syncing Biometric Attendance data with your ERPNext server

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to biometric-attendance-sync-tool

JGetFund
Mac OS 开机自动执行脚本,爬取基金数据。
Stars: ✭ 15 (-84.21%)
Mutual labels:  python-script
sink
Uses Facebook profile pictures to provide high resolution photos for your Google contacts
Stars: ✭ 31 (-67.37%)
Mutual labels:  sync
ib-historical-data
Interactive Brokers TWS API -- Historical data downloader
Stars: ✭ 40 (-57.89%)
Mutual labels:  python-script
drive
Google Drive client for the commandline
Stars: ✭ 6,470 (+6710.53%)
Mutual labels:  sync
twitter-to-rss
Simple python script to parse twitter feed to generate a rss feed.
Stars: ✭ 15 (-84.21%)
Mutual labels:  python-script
sync
The main repository for P2P-Sync
Stars: ✭ 15 (-84.21%)
Mutual labels:  sync
WiCrackFi
Python Script to help/automate the WiFi hacking exercises.
Stars: ✭ 61 (-35.79%)
Mutual labels:  python-script
dice-simulator
A Python simple Dice Simulator just for fun
Stars: ✭ 17 (-82.11%)
Mutual labels:  python-script
SyncPro
SyncPro is a Windows app for synchronizing files between various online storage providers (OneDrive, Google Drive, Amazon S3, etc.)
Stars: ✭ 39 (-58.95%)
Mutual labels:  sync
ChristmasSpiritBreaker-andNewYearsToo
Python script which automatically sends Christmas/New Year's messages from a custom messages list on Whatsapp, Facebook Messenger or via SMS in a given time range, to a custom contacts list. Time to work smart, not hard.
Stars: ✭ 81 (-14.74%)
Mutual labels:  python-script
DeviceSync-for-OS-X
Calendar synchronization between iOS and OS X using USB
Stars: ✭ 12 (-87.37%)
Mutual labels:  sync
djangify
A Python script that converts HTML Files / Templates to Django compatible HTML Templates.
Stars: ✭ 54 (-43.16%)
Mutual labels:  python-script
seedboxsync
Script for sync operations between your NAS and your seedbox.
Stars: ✭ 17 (-82.11%)
Mutual labels:  sync
Video-Engine-Dash
A Dash plugin for playing back video and optionally syncing video to timestamped CSV Data
Stars: ✭ 26 (-72.63%)
Mutual labels:  sync
php-task
Interface library for the PHPTask library
Stars: ✭ 23 (-75.79%)
Mutual labels:  sync
ob bulkstash
Bulk Stash is a docker rclone service to sync, or copy, files between different storage services. For example, you can copy files either to or from a remote storage services like Amazon S3 to Google Cloud Storage, or locally from your laptop to a remote storage.
Stars: ✭ 113 (+18.95%)
Mutual labels:  sync
synx
Better sync package for Go.
Stars: ✭ 20 (-78.95%)
Mutual labels:  sync
erpnext ocr
🐍 ⚗️ Optical Character Recognition using tesseract within Frappe.
Stars: ✭ 58 (-38.95%)
Mutual labels:  erpnext
glacier-upload
A simple python script to upload files to AWS Glacier vaults
Stars: ✭ 106 (+11.58%)
Mutual labels:  python-script
MEGA Manager
Cloud syncing manager for multiple MEGA cloud storage accounts with syncing, data gathering, compresssion and optimization capabilities.
Stars: ✭ 29 (-69.47%)
Mutual labels:  sync

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

  • Python 3.6+

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

  • You need to make a copy of local_config.py.template file and rename it to local_config.py
  • Please fill in the relevant sections in this file as per the comments in it.
  • Below are the delineation of the keys contained in local_config.py:
    • ERPNext connection configs:
      • ERPNEXT_API_KEY: The API Key of the ERPNext User

      • ERPNEXT_API_SECRET: The API Secret of the ERPNext User

        Please refer to this link to learn how to generate API key and secret for a user in ERPNext. The ERPNext User who's API key and secret is used, needs to have at least the following permissions:

        1. Create Permissions for 'Employee Checkin' DocType.
        2. Write Permissions for 'Shift Type' DocType.
      • ERPNEXT_URL: The web address at which you would access your ERPNext. eg:'https://yourcompany.erpnext.com', 'https://erp.yourcompany.com'

      • ERPNEXT_VERSION: The base version of your ERPNext app. eg: 12, 13, 14

    • This script's operational configs:
      • PULL_FREQUENCY: The time in minutes after which a pull for punches from the biometric device and push to ERPNext is attempted again.
      • LOGS_DIRECTORY: The Directory in which the logs related to this script's whereabouts are stored.

        Hint: For most cases you can leave the above two keys unchanged.

      • IMPORT_START_DATE: The date after which the punches are pushed to ERPNext. Expected Format: YYYYMMDD.

        For some cases you would have a lot of old punches in the biometric device. But, you would want to only import punches after certain date. You could set this key appropriately. Also, you can leave this as None if this case does not apply to you.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].