Cheque
A complete cheque management solution built for Frappe Framework and ERPNext. Supports cheque collection, deposits, status tracking, bank clearing, bounced cheques, and automated accounting workflows.
- Author: AhmedAbokhatwa
- Repository: https://github.com/AhmedAbokhatwa/cheque
- GitHub stars: 0
- Forks: 2
- License: MIT
- Category: Accounting
- Maintenance: Actively Maintained
- Frappe versions: develop
Install Cheque
bench get-app https://github.com/AhmedAbokhatwa/cheque
Add the Frappe Gems badge to your README
Maintain Cheque? Paste this into your README:
[](https://frappegems.com/gems/apps/AhmedAbokhatwa/cheque)
About Cheque
Cheque Manager — Full Cheque Lifecycle Management for ERPNext
Tagline
Automate your cheque accounting from receipt to bank clearance — with full Arabic support.
Short Description (for the marketplace listing card)
A complete cheque management system for ERPNext that automates the full lifecycle of both received and issued cheques — from receipt voucher creation, through deposit slip batching, all the way to bank reconciliation. Every stage generates the correct journal entries automatically.
Full Description
What is Cheque Manager?
Cheque Manager is a standalone ERPNext extension that covers the complete operational and accounting lifecycle of cheques inside a company. Whether you receive cheques from customers or issue cheques to suppliers, every stage — from the moment a cheque enters the company until it clears the bank or bounces — is tracked, logged, and accounted for automatically.
Built for the Arabic-speaking ERPNext community, every print format supports bilingual Arabic/English output, and the accounting terminology follows the standard Arabic Chart of Accounts structure used in Egypt, Saudi Arabia, and the wider MENA region.
Core Workflow
Received Cheques
Cheque Receipt (سند قبض)
↓
Cheque (أوراق القبض)
↓
Cheque Deposit Slip (حافظة شيكات)
↓
Bank Statement Import → Auto Reconciliation
↓
Collected or Returned (Bounced)
Issued Cheques
Cheque (أوراق الدفع)
↓
Mark as Cleared → Dr Notes Payable / Cr Bank
↓
Optional: Bank Charges Entry
Key Features
📋 Cheque Receipt (سند قبض)
- Issue a formal bilingual Arabic/English receipt voucher every time a cheque is received
- Amount split into pounds and piastres dynamically
- Auto-creates the linked Cheque record on submit
- Printable in two copies (company + customer) on a single page
🏦 Cheque Deposit Slip (حافظة الشيكات)
- Group multiple cheques into a single bank deposit batch
- Smart "Load Expected Cheques" button — filters by company, date range, and status, excludes cheques already in another slip
- Live preview of suggested cheques with total before confirming
- On submit, triggers
deposit_cheque()on every cheque in the batch — no duplicated accounting logic - Prints two copies (company + bank) with signature blocks
⚙️ Full Lifecycle Status Machine
Every status transition is validated and generates the correct double-entry journal:
| Transition | Debit | Credit |
|---|---|---|
| Receive | Bills Receivable | Customer |
| Deposit | Cheques Under Collection | Bills Receivable |
| Collect | Bank | Cheques Under Collection |
| Return (bounce) | Bills Receivable | Cheques Under Collection |
| Return to Party | Customer | Bills Receivable |
| Send with Agent | Cheques Under Settlement | Bills Receivable |
| Collect via Agent | Cash | Cheques Under Settlement |
| Collect Direct (Agent) | Cash | Bills Receivable |
| Send for Discount | Cheques for Discount | Bills Receivable |
| Discounted | Bank + Discount Expense | Cheques for Discount |
| Endorse | Third Party | Bills Receivable |
| Issue | Supplier | Notes Payable |
| Clear Issued | Notes Payable | Bank |
| Bounce Issued | Notes Payable | Supplier |
| Bank Charges | Bank Charges Expense | Bank |
🔄 Bank Statement Auto-Reconciliation
- Hook into ERPNext's standard Bank Transaction (after Bank Statement Import)
- Auto-matches
Bank Transaction.reference_number→Cheque.cheque_number - Deposit > 0 → Cheque marked Collected, Bank Transaction marked Reconciled
- Bounce keyword in description/withdrawal → Cheque marked Returned
- Manual reconcile button for cases where reference numbers don't match exactly
- Deposit Slip status recalculates automatically: Completed / Partially Completed / Bounced / Processing
📊 Reports
- Cheque Status Report — all cheques bucketed by status (Returned, Collected, Endorsed, Under Collection, Due for Collection, Issued Outstanding/Paid/Bounced) with donut chart
- Cheque Aging Report — receivables aging by party in 0–30 / 31–60 / 61–90 / 90+ day buckets (Pro)
- Cheque Audit Log — full field-level change history from Frappe's native Version system (Enterprise)
🔔 Due Date Reminders
- Daily scheduled job alerts Accounts Managers of:
- Cheques overdue (past due date, not yet deposited)
- Cheques due today
- Cheques due within 3 days
- Notification delivered via Frappe's Notification Log (in-app)
🖨️ Bilingual Print Formats
Three professional print formats included: - Cheque Print — full cheque card with complete transaction log - Cheque Receipt (سند قبض) — single-page bilingual print: Arabic copy on top, English copy below, separated by a cut line (✂). Matches the standard MENA paper receipt form layout with dynamic pound/piastre split, amount in words, cheque details, and signature blocks for Cashier, Receiver, and Finance Manager - Cheque Deposit Slip (حافظة شيكات) — clean black-and-white bank deposit authorization with signature blocks
🔐 Approval Workflow (Enterprise)
- Define an approval threshold amount per company in Cheque Settings
- Cheques above the threshold are held at Pending Approval after submit — no journal entry created
- Accounts Manager can Approve (triggers the JE) or Reject (with reason logged in remarks)
- All status transitions blocked while a cheque is pending or rejected
Installation
bench get-app cheque https://github.com/AhmedAbokhatwa/cheque
bench --site your-site install-app cheque
bench --site your-site migrate
bench restart
On install, the app automatically: - Creates the required Chart of Accounts entries (Bills Receivable, Cheques Under Collection, Notes Payable, etc.) for every existing company - Pre-fills Cheque Settings with those accounts - Creates a Free plan Cheque Subscription for every company - Adds the Cheques workspace to the ERPNext sidebar
Requirements
- Frappe / ERPNext v15 or v16+
- Python 3.10+
Related Accounting apps for Frappe & ERPNext
- Books — Free Accounting Software
- Lending — Open Source Lending software
- Payments — A payments app for frappe
- Banking — Load your bank transactions into ERPNext and reconcile them with your vouchers.
- Erpnext Quota — App to manage ERPNext Site, User, Company and Space limitations
- Utility Billing — The Utility Billing & Property Management App is a powerful addition to ERPNext, designed to streamline utility billing, property leasing, and tenant management. Ideal for municipal utilities, real estate managers, and property developers.
- Expense Request — ERPNext Expense Requests
- Vendor Payments — A frappe app that has workflows and reports to make payments to vendors by a company and track them