ZeduloPayslips
A desktop application for generating employee payslips from Excel templates. Built with Python, openpyxl, and Tkinter.
๐ Features
Generate payslips for multiple employees from a master spreadsheet
Customizable Excel templates for payslip formatting
Automatic calculation of taxes, SSF contributions, and net pay
Batch processing across multiple months
Export payslips to PDF for distribution
Email payslips via Thunderbird (no SMTP credentials required)
Desktop integration with application menu launcher
Linux-native installation with venv
๐๏ธ Project Structure
๐ง Prerequisites
Python 3.10+
python3-venv
LibreOffice (for XLSX โ PDF conversion)
Thunderbird (for payslip emailing)
Linux desktop environment (GNOME, KDE, XFCE, etc.)
๐ Installation
Quick Install (For fresh setups)
Quick Update (For existing installations)
To update the app to the latest version without losing your data or settings:
โ ๏ธ Note: Your configuration and generated payslips are not affected by updates.
What the Installer Does
Checks system dependencies (Python, LibreOffice)
Creates application directory at
~/.zedulopayslips/Copies project files to app directory
Creates Python virtual environment
Installs dependencies from
requirements.txtCreates desktop entry for application menu integration
Updates desktop database for immediate access
After installation, find ZeduloPayslips in your application menu!
๐ฆ Dependencies
openpyxl - Excel file manipulation
openpyxl-image-loader - Image preservation in templates
Pillow - Image processing
tkinter - Desktop UI (included with Python)
Additional dependencies in
requirements.txt๐ฏ Usage
Launch ZeduloPayslips from your application menu
Configure paths in Settings:
Employee spreadsheet filepath
Payslip template filepath
Output folder for generated payslips
Select month(s) to generate
Click Generate Payslips
XLSX files are generated, then converted to PDF automatically
Review PDFs, open folder, or email individual payslips
Use Send All Emails to batch-open Thunderbird compose windows
๐ Detailed UI Guide: See docs/USAGE.md for workflow diagrams, config field explanations, and troubleshooting.
โ๏ธ Configuration
Configuration stored in
~/.zedulopayslips/config.json:๐๏ธ Uninstallation
This removes:
Application directory (
~/.zedulopayslips/)Desktop entry
Virtual environment
๐ ๏ธ Development
Setting up development environment
๐ License
MIT License
๐ Acknowledgments
Idea Brainstorming & Tax calculation QA by:
Uses openpyxl for spreadsheet processing. Uses LibreOffice for XLSX โ PDF conversion. Uses Thunderbird for mailing without managing sensitive email credentials. Inspired by payroll management needs.
๐ Support & Contact
For issues, questions, or feature requests:
๐ง Email: Joel Opoku or jopoku@zedulo.com
๐ GitHub Issues: Open an issue
Feedback and contributions are welcome.
0 likes ยท 21 views ยท Mar 19, 2026
Developed a desktop app for generating payslips using Python, openpyxl, and Tkinter.
Timeline
Feb 12, 2026 - Feb 19, 2026