How adityagupta-07/payslip-processor works
Payslip Processor turns an Excel payroll workbook into employee-specific payslips and a combined master PDF, with individual PDFs password-protected using employee PANs. The user selects a workbook in the GUI; the pipeline loads it, identifies employee data, renders Word payslips, converts and combines PDFs, then protects the individual files. The graph follows calls visible in the sampled source and capabilities documented in the README. The password-protection implementation was not sampled, so its internal steps are not expanded.
Main entry points: pipeline.py Batch pipeline · docx_generator.py Payslip renderer · pdf_converter.py PDF converter · excel_reader.py Excel reader
Components 15
User interface
- GUI
src/gui.py
Payroll processing
- Batch pipeline
src/pipeline.py - Output paths
src/directories.py - Excel reader
src/excel_reader.py - Employee parser
src/employee_parser.py - Employee data
src/config.py
Document generation
- Payslip renderer
src/docx_generator.py - ID template
src/templates/docx/template_id.docx - No-ID template
src/templates/docx/template_no_id.docx
PDF delivery
- PDF converter
src/pdf_converter.py - PDF protection
src/password_protect_pdf.py - Generated files
Other components
- User
- Excel workbook
- LibreOffice
Connections 19
- User → GUI: selects workbook
- User → Excel workbook: provides
- GUI → Batch pipeline: starts processing
- Batch pipeline → Output paths: creates output directories
- Batch pipeline → Excel reader: loads workbook
- Excel workbook → Excel reader: read by
- Batch pipeline → Employee parser: extracts employees
- Excel reader → Employee parser: provides sheet
- Employee parser → Employee data: populates
- Batch pipeline → Payslip renderer: renders payslips
- Employee data → Payslip renderer: provides values
- Payslip renderer → ID template: uses when ID present
- Payslip renderer → No-ID template: uses when ID absent
- Payslip renderer → Generated files: writes Word files
- Batch pipeline → PDF converter: converts and combines
- PDF converter → LibreOffice: converts DOCX
- PDF converter → Generated files: writes PDFs
- Batch pipeline → PDF protection: protects individual PDFs
- PDF protection → Generated files: writes protected PDFs