A comprehensive web-based cheque printing solution designed for Indian banks with multi-language support, bulk printing capabilities, and integrated financial tools.
- Multi-Bank Support: Pre-configured templates for major Indian banks
- Axis Bank
- ICICI Bank
- HDFC Bank
- PDCCB Pune
- Union Bank
- Single & Bulk Printing: Print individual cheques or bulk print from Excel files
- Multi-Language Support: English, Hindi (เคนเคฟเคเคฆเฅ), and Marathi (เคฎเคฐเคพเค เฅ)
- Cheque Types: Bearer, Order, Crossed, Payee, Payee Not Negotiable, Cancel, Self
- Customizable Styling: Configure prefix/suffix for payee, amount, and amount in words
- Front & Back Printing: Support for both sides of the cheque
- Auto Amount Conversion: Automatic conversion of numbers to words in multiple languages
- EMI Calculator: Calculate loan EMIs with detailed amortization schedule
- Support for variable EMI increases
- Pre-payment options
- Interest and principal breakdown
- EMI Cheque Printing: Generate post-dated cheques for EMI payments
- Envelope Printing: Print addresses on envelopes
- Responsive Bootstrap 5 design
- Toggle controls for selective field printing
- Date picker with Indian date format (DD-MM-YYYY)
- Real-time preview before printing
- Sample Excel template for bulk operations
- PHP 7.4 or higher
- Web server (Apache/Nginx) or PHP built-in server
- Modern web browser (Chrome, Firefox, Edge)
- Node.js and npm (for building assets)
-
Clone the repository
git clone https://github.com/codersandip/cheque-print.git cd cheque-print -
Install dependencies
npm install
-
Build assets
npm run build
Or on Windows:
build.bat
-
Start the server
Using PHP built-in server:
php -S localhost:8000
Or configure your Apache/Nginx to point to the project directory.
-
Access the application
Open your browser and navigate to:
http://localhost:8000
- Navigate to the home page (
index.php) - Select your preferred language (English/Hindi/Marathi)
- Choose the cheque type and bank
- Enter the date, payee name, and amount
- Toggle fields you want to print (Name/Amount/Date)
- Click "Print" to preview and print
- Toggle "Single Cheque Print" switch to enable bulk mode
- Download the sample Excel template
- Fill in the cheque details in the Excel file
- Upload the file
- Set the number of pages
- Click "Print" to generate all cheques
- Navigate to EMI Calculator (
emi-calculator.php) - Enter loan amount, interest rate, and tenure
- Set EMI start date
- (Optional) Add yearly EMI increase percentage
- (Optional) Add yearly pre-payment amount
- Click "Calculate EMI" to view the amortization schedule
- Navigate to Cheque Styling (
cheque-style.php) - Set prefix/suffix for:
- Payee name
- Amount
- Amount in words
- Choose cheque alignment (Center/Left/Right)
- Click "Save" to store preferences
cheque-print/
โโโ assets/
โ โโโ css/ # Stylesheets
โ โโโ js/ # JavaScript files
โ โโโ images/ # Images and icons
โ โโโ Sample.xlsx # Sample Excel template
โโโ build/ # Webpack build output
โโโ layout/
โ โโโ css.php # CSS includes
โ โโโ js.php # JavaScript includes
โ โโโ navbar.php # Navigation bar
โโโ index.php # Main cheque printing page
โโโ cheque-back.php # Cheque back printing
โโโ cheque-style.php # Styling configuration
โโโ emi-calculator.php # EMI calculator
โโโ emi-cheque-print.php # EMI cheque printing
โโโ envelope-print.php # Envelope printing
โโโ package.json # NPM dependencies
โโโ webpack.config.js # Webpack configuration
โโโ build.bat # Windows build script
- PHP: Server-side scripting
- Bootstrap 5.3: Responsive UI framework
- jQuery 3.7: DOM manipulation and AJAX
- Font Awesome 6.7: Icons
- Gijgo: Date picker component
- Moment.js: Date manipulation
- to-words: Number to words conversion
- SheetJS (xlsx): Excel file processing
- Dropzone: File upload handling
- Webpack 5: Module bundler
- CSS Loader: CSS processing
- Style Loader: Style injection
To add support for a new bank, edit the bank selection dropdown in index.php:
<select class="form-control form-control-sm" id="chequeFormBank">
<option value="Your Bank Name">Your Bank Name</option>
</select>Then create corresponding CSS styles for the bank's cheque layout.
Language support is handled through the to-words library. Current supported locales:
en-IN- English (India)hi-IN- Hindi (India)mr-IN- Marathi (India)
The main cheque printing interface with toggle controls and bank selection.
Detailed EMI calculation with amortization schedule showing principal, interest, and balance.
Excel-based bulk cheque printing for multiple transactions.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Sandip Tawhare
- Bootstrap team for the amazing UI framework
- Font Awesome for the comprehensive icon set
- All open-source contributors whose libraries made this project possible
For support, please open an issue in the GitHub repository.
- Add more Indian bank templates
- Support for demand drafts
- Digital signature integration
- Cloud storage for cheque records
- Mobile app version
- PDF export functionality
- Multi-user support with authentication
- Cheque printing history and tracking
Note: This software is designed for legitimate business use. Please ensure compliance with your bank's policies and local regulations when using cheque printing software.