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.

Access: The application is available at https://requisition.roadiq.org

Quick Start

  1. Access the Application: Navigate to https://requisition.roadiq.org
  2. Prepare Files: Ensure you have the Database Excel (db_final.xlsx) and Salary Excel (salary.xlsx) files ready
  3. Upload Files: Use the upload form to select your files
  4. Run Pipeline: Click "Run Pipeline" and wait for processing (typically 10-30 seconds)
  5. 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

  1. Access the Application

    Navigate to https://requisition.roadiq.org

  2. Upload Required Files
    • Select Database Excel file (db_final.xlsx) - Required
    • Select Salary Excel file (salary.xlsx) - Required
    • Optionally select RBI Adapter Template - Optional
  3. Run Pipeline

    Click the "Run Pipeline" button. Processing typically takes 10-30 seconds.

  4. 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

"Pipeline failed" Error
  • 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
Files Not Downloading
  • Check file permissions on server
  • Verify run_id and filename are correct
  • Try refreshing the results page
Slow Processing
  • 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