|
1 | | -## WalletE |
| 1 | +# WalletE - Electronic Wallet System for ERPNext |
2 | 2 |
|
3 | | -WalletE |
| 3 | +<div align="center"> |
| 4 | + <h2>Electronic Wallet for ERPNext</h2> |
| 5 | + <p>Transform your business with a powerful electronic wallet system integrated seamlessly with ERPNext</p> |
| 6 | +</div> |
4 | 7 |
|
5 | | -#### License |
| 8 | +## Overview |
6 | 9 |
|
7 | | -MIT |
| 10 | +**WalletE** is a comprehensive electronic wallet solution integrated with ERPNext. At first glance, an electronic wallet appears to be just an alternative to traditional payment methods like cash and cards, but in reality, it's much more powerful—it's the beginning of a digital transformation for your business. |
| 11 | + |
| 12 | +This Frappe application provides a complete wallet management system that enables businesses to offer electronic wallet services to their customers, creating new revenue streams, improving customer loyalty, and simplifying administrative processes. |
| 13 | + |
| 14 | +## Why Electronic Wallet? |
| 15 | + |
| 16 | +### 🎯 Powerful Marketing Tool |
| 17 | + |
| 18 | +Electronic wallets create a strong competitive advantage by: |
| 19 | + |
| 20 | +- **Building Customer Loyalty**: Create a high level of loyalty between you and your customers |
| 21 | +- **Increasing Retention**: Enable you to increase customer retention rates |
| 22 | +- **Larger Shopping Baskets**: Increase the average shopping basket size |
| 23 | +- **Promotional Campaigns**: Enable powerful offers like cashback, discounts, or gifts |
| 24 | +- **FOMO Creation**: With balance expiration dates, create a sense of urgency (Fear Of Missing Out) |
| 25 | +- **Customer Relationship Insights**: Enable you to understand relationships between your customers |
| 26 | + |
| 27 | +### 💳 Acts Like Credit Cards (But Better) |
| 28 | + |
| 29 | +Since customers don't pay directly at the point of purchase, electronic wallets function like credit cards—but even stronger: |
| 30 | + |
| 31 | +- **Reduced Spending Awareness**: Credit cards reduce the feeling of spending value, but wallets can completely eliminate this feeling since you've already paid upfront for what you're currently buying |
| 32 | +- **Prepaid Advantage**: Customers have already committed funds, making purchases feel "free" |
| 33 | + |
| 34 | +### 📋 Simplifies Administrative Procedures |
| 35 | + |
| 36 | +Electronic wallets streamline various administrative processes: |
| 37 | + |
| 38 | +- **Return Management**: Simplify return processes that often encounter problems: |
| 39 | + - Store cash shortages |
| 40 | + - Card refund commissions |
| 41 | + - Customer dissatisfaction issues when returning items |
| 42 | +- **Automated Reconciliation**: Seamless integration with ERPNext accounting system |
| 43 | + |
| 44 | +### 💰 Provides Interest-Free Liquidity for Companies |
| 45 | + |
| 46 | +Some companies face liquidity problems and may be forced to borrow from banks. With electronic wallets, you can: |
| 47 | + |
| 48 | +- **Utilize Prepaid Cash**: Benefit from cash in wallets as if it were an advance payment |
| 49 | +- **No Interest Payments**: Access liquidity without paying any interest |
| 50 | +- **Improved Cash Flow**: Better cash flow management |
| 51 | + |
| 52 | +### 💵 New Revenue Stream |
| 53 | + |
| 54 | +Electronic wallets create additional revenue opportunities: |
| 55 | + |
| 56 | +- **Abandoned Wallets**: Similar to abandoned shopping carts, abandoned wallets often represent significant income for wallet-owning companies |
| 57 | +- **Expiration Policies**: Link wallets to transaction expiration dates (e.g., 6 months or 1 year). If this period passes, the funds become company profit |
| 58 | +- **Unused Balances**: Generate revenue from inactive or forgotten wallet balances |
| 59 | + |
| 60 | +## Features |
| 61 | + |
| 62 | +### Core Functionality |
| 63 | + |
| 64 | +- **Wallet Management**: Create and manage customer wallets with active/inactive status |
| 65 | +- **Wallet Entries**: Record wallet transactions including: |
| 66 | + - **Wallet Payment**: Top-up wallets from various payment methods |
| 67 | + - **Wallet Transfer**: Transfer funds between wallets |
| 68 | +- **POS Integration**: Seamless integration with Point of Sale (POS) system |
| 69 | +- **Sales Invoice Integration**: Use wallet balance for invoice payments |
| 70 | +- **Real-time Balance Tracking**: Accurate wallet balance calculations |
| 71 | +- **Multi-Company Support**: Support for multiple companies |
| 72 | +- **GL Entry Integration**: Automatic General Ledger entries for all wallet transactions |
| 73 | + |
| 74 | +### Technical Features |
| 75 | + |
| 76 | +- **ERPNext Integration**: Deep integration with ERPNext accounting system |
| 77 | +- **Account Mapping**: Link wallets to receivable accounts |
| 78 | +- **Payment Method Support**: Integration with various payment modes |
| 79 | +- **Balance Validation**: Real-time balance checks before transactions |
| 80 | +- **Transaction History**: Complete audit trail of all wallet transactions |
| 81 | +- **Custom POS Enhancements**: Enhanced POS interface for wallet payments |
| 82 | + |
| 83 | +## Installation |
| 84 | + |
| 85 | +### Prerequisites |
| 86 | + |
| 87 | +- Frappe Framework installed |
| 88 | +- ERPNext installed |
| 89 | +- Payments app installed |
| 90 | + |
| 91 | +### Installation Steps |
| 92 | + |
| 93 | +1. **Get the app**: |
| 94 | + ```bash |
| 95 | + bench get-app wallete |
| 96 | + ``` |
| 97 | + |
| 98 | +2. **Install on your site**: |
| 99 | + ```bash |
| 100 | + bench --site [your-site-name] install-app wallete |
| 101 | + ``` |
| 102 | + |
| 103 | +3. **Run migrations**: |
| 104 | + ```bash |
| 105 | + bench --site [your-site-name] migrate |
| 106 | + ``` |
| 107 | + |
| 108 | +4. **Restart bench**: |
| 109 | + ```bash |
| 110 | + bench restart |
| 111 | + ``` |
| 112 | + |
| 113 | +## Usage |
| 114 | + |
| 115 | +### Setting Up Wallets |
| 116 | + |
| 117 | +1. **Create a Wallet Account**: |
| 118 | + - Go to Accounts → Chart of Accounts |
| 119 | + - Create a new Account with type "Receivable" |
| 120 | + - This account will hold wallet balances |
| 121 | + |
| 122 | +2. **Create Customer Wallets**: |
| 123 | + - Navigate to WalletE → Wallet |
| 124 | + - Create a new Wallet for each customer |
| 125 | + - Link it to the customer and the wallet account |
| 126 | + - Set status to "Active" |
| 127 | + |
| 128 | +3. **Configure Payment Methods**: |
| 129 | + - Go to Accounts → Mode of Payment |
| 130 | + - Enable "Is Wallet Payment" checkbox for wallet-enabled payment methods |
| 131 | + |
| 132 | +### Wallet Operations |
| 133 | + |
| 134 | +#### Wallet Payment (Top-up) |
| 135 | +- Navigate to WalletE → Wallet Entry |
| 136 | +- Select Transaction Type: "Wallet Payment" |
| 137 | +- Choose the payment method (Source of Payment) |
| 138 | +- Select the target wallet (To Wallet) |
| 139 | +- Enter the amount and submit |
| 140 | + |
| 141 | +#### Wallet Transfer |
| 142 | +- Navigate to WalletE → Wallet Entry |
| 143 | +- Select Transaction Type: "Wallet Transfer" |
| 144 | +- Choose source wallet (Source of Payment) |
| 145 | +- Select destination wallet (To Wallet) |
| 146 | +- Enter the amount and submit |
| 147 | + |
| 148 | +#### Using Wallet in POS |
| 149 | +- When creating a POS Invoice, select "Wallet" as a payment method |
| 150 | +- The system automatically deducts from customer's wallet balance |
| 151 | +- Real-time balance validation ensures sufficient funds |
| 152 | + |
| 153 | +#### Using Wallet in Sales Invoice |
| 154 | +- Wallet balance can be used to pay Sales Invoices |
| 155 | +- System automatically checks available balance |
| 156 | +- Supports partial payments from wallet |
| 157 | + |
| 158 | +## API Reference |
| 159 | + |
| 160 | +### Get Customer Wallet Balance |
| 161 | + |
| 162 | +```python |
| 163 | +wallet_balance = frappe.call( |
| 164 | + "wallete.wallete.wallete.doctype.wallet.wallet.get_customer_wallet_balance", |
| 165 | + customer="CUST-00001", |
| 166 | + exclude_invoice=None |
| 167 | +) |
| 168 | +``` |
| 169 | + |
| 170 | +**Parameters:** |
| 171 | +- `customer` (str): Customer name |
| 172 | +- `exclude_invoice` (str, optional): POS Invoice name to exclude from balance calculation |
| 173 | + |
| 174 | +**Returns:** |
| 175 | +- `float`: Available wallet balance |
| 176 | + |
| 177 | +## Requirements |
| 178 | + |
| 179 | +- ERPNext |
| 180 | +- Payments app |
| 181 | +- Frappe Framework |
| 182 | + |
| 183 | +## License |
| 184 | + |
| 185 | +LGPL V.3 |
| 186 | + |
| 187 | +## Support |
| 188 | + |
| 189 | +For support, feature requests, or bug reports, please contact: |
| 190 | +- **Email**: alaa@rukn-software.com |
| 191 | + |
| 192 | +## Contributing |
| 193 | + |
| 194 | +Contributions are welcome! Please feel free to submit a Pull Request. |
| 195 | + |
| 196 | +## Related Projects |
| 197 | + |
| 198 | +This application integrates with: |
| 199 | +- [ERPNext](https://github.com/frappe/erpnext) - Open source ERP system |
| 200 | +- [Payments](https://github.com/frappe/payments) - Payment gateway integration |
| 201 | + |
| 202 | +## Roadmap |
| 203 | + |
| 204 | +Future enhancements may include: |
| 205 | +- Mobile wallet application |
| 206 | +- Wallet expiration management |
| 207 | +- Advanced analytics and reporting |
| 208 | +- Cashback and reward programs |
| 209 | +- Customer relationship insights |
| 210 | +- Multi-currency wallet support |
| 211 | + |
| 212 | +--- |
| 213 | + |
| 214 | +**WalletE** - Revolutionizing payment experiences, one wallet at a time. |
0 commit comments