CPCL Requisition Pipeline - Documentation
Complete guide to using the CPCL Requisition Pipeline web application for automating requisition generation.
Overview
The CPCL Requisition Pipeline is a Flask-based web application that automates the CPCL requisition generation process. It processes employee database and salary files through a comprehensive 5-step pipeline to generate requisition forms, identify missing employees, and create RBI adapter upload files.
Quick Start
- Access the Application: Navigate to https://requisition.roadiq.org
- Prepare Files: Ensure you have the Database Excel (db_final.xlsx) and Salary Excel (salary.xlsx) files ready
- Upload Files: Use the upload form to select your files
- Run Pipeline: Click "Run Pipeline" and wait for processing (typically 10-30 seconds)
- Download Results: Download all generated artifacts from the results page
The 5-Step Pipeline
1Clean Database
Input: Raw database Excel file (db_final.xlsx)
Process: Normalizes hyphens in employee names (column B), formats consistently
Output: formatted_db_revised.xlsx
Purpose: Ensures consistent employee name formatting for matching across files
2Generate Requisition
Input: Cleaned database + Salary Excel file
Process:
- Matches employees between database and salary
- Generates CPCL requisition form with proper formatting
- Handles number-to-words conversion for amounts
- Applies Excel formatting (borders, fonts, alignment)
Output: CPCL_Requisition_Form_salary_[date].xlsx
Purpose: Creates the main requisition document for processing
3Highlight Missing Employees
Input: Salary file + Requisition + Cleaned database
Process:
- Compares employees across all three sources
- Highlights missing employees in salary file
- Generates summary of missing employees
Output:
- salary_highlighted.xlsx (with visual highlights)
- missing_employees_summary_[date].txt (detailed report)
Purpose: Identifies discrepancies and missing data
4Remove Processed Employees
Input: Original salary file + Generated requisition
Process:
- Removes employees that were included in requisition
- Creates new salary file with remaining employees
- Generates removal summary
Output:
- salary_remaining_[date].xlsx (for next batch)
- employee_removal_summary_[date].txt
Purpose: Prepares data for next batch processing cycle
5RBI Adapter Upload File
Input: Generated requisition + Optional RBI template
Process:
- Converts requisition data to RBI adapter format
- Uses provided template or built-in header layout
- Formats for RTGS upload
Output: RBI_Adaptor_Upload_[date].xlsx
Purpose: Creates file ready for RBI system upload
File Formats
Database File (db_final.xlsx)
- Format: Excel (.xlsx)
- Required Column: Column B should contain employee names
- Processing: Employee names are normalized (hyphens standardized)
- Required: Yes
Salary File (salary.xlsx)
- Format: Excel (.xlsx)
- Required Header: Must contain "Particulars" in first column
- Expected Columns:
- Employee Name
- Opening
- Transactions_Debit
- Transactions_Credit
- Closing
- Dynamic Detection: Header row is automatically detected
- Required: Yes
RBI Template (optional)
- Format: Excel (.xls or .xlsx)
- Purpose: Defines header layout for RBI adapter file
- Default: Built-in header layout used if not provided
- Required: No
Usage Guide
Step-by-Step Instructions
- Access the Application
Navigate to https://requisition.roadiq.org
- Upload Required Files
- Select Database Excel file (db_final.xlsx) - Required
- Select Salary Excel file (salary.xlsx) - Required
- Optionally select RBI Adapter Template - Optional
- Run Pipeline
Click the "Run Pipeline" button. Processing typically takes 10-30 seconds.
- Download Results
After processing completes, download all generated artifacts:
- Cleaned DB (formatted_db_revised.xlsx)
- Requisition (CPCL_Requisition_Form_salary_[date].xlsx)
- Highlighted Salary (salary_highlighted.xlsx)
- Missing Employees Summary (missing_employees_summary_[date].txt)
- Remaining Salary (salary_remaining_[date].xlsx)
- Employee Removal Summary (employee_removal_summary_[date].txt)
- RBI Adapter Upload (RBI_Adaptor_Upload_[date].xlsx)
Output Files Explained
formatted_db_revised.xlsx
Cleaned database file with normalized employee names. Use this for future processing to ensure consistency.
CPCL_Requisition_Form_salary_[date].xlsx
The main requisition form ready for processing. Contains all matched employees with proper formatting.
salary_highlighted.xlsx
Original salary file with missing employees highlighted in color. Helps identify data discrepancies.
missing_employees_summary_[date].txt
Text report listing all employees missing from salary vs requisition vs database. Useful for data reconciliation.
salary_remaining_[date].xlsx
Salary file containing only employees not included in the current requisition. Use this for the next batch processing.
employee_removal_summary_[date].txt
Text report listing all employees removed from the salary file (included in requisition). Useful for tracking.
RBI_Adaptor_Upload_[date].xlsx
File formatted for RBI adapter upload. Ready to be uploaded to the RBI system for RTGS processing.
Troubleshooting
Common Issues
- Check error.txt in the run directory (if accessible)
- Verify file formats match expected structure
- Ensure files are valid Excel files (.xlsx or .xls)
- Check that required columns exist in files
- Check file permissions on server
- Verify run_id and filename are correct
- Try refreshing the results page
- Large files (>10MB) may take longer
- Processing time depends on number of employees
- Wait for processing to complete (check browser status)
File Format Issues
- Database file: Ensure column B contains employee names
- Salary file: Ensure "Particulars" header exists in first column
- File type: Must be .xlsx or .xls format
Security & Privacy
- HTTPS: All connections are encrypted via SSL/TLS
- File Storage: Files are stored temporarily in isolated run directories
- Access: Only authorized users can access the application
- Data: Files are processed server-side and not shared with third parties
Performance
- Processing Time: Typically 10-30 seconds for normal files
- File Size Limits: No hard limit, but very large files (>100MB) may be slow
- Concurrent Requests: Handles multiple requests efficiently
- Memory Usage: Moderate - processes files in memory
Support
For issues, questions, or feature requests:
- Check error messages in the application
- Review file formats and structure
- Contact the development team
Version Information
Current Version: 1.0.0
Status: ✅ Production Ready
Last Updated: February 2026