School Cafeteria POS
Complete cafeteria management for K-12 schools â integrated with Odoo POS
A comprehensive Odoo module that extends the Point of Sale with student identification, prepaid wallet accounts, spending controls, and parent notifications. Built for school cafeterias, canteens, and lunch programs using Odoo POS.
Screenshots
Student Records
Manage all students with photos, cards, and parent contacts
Student Detail
Wallet balance, meal plan, daily limits, and spending rules
Meal Plans
Configure subscription plans with daily limits and category restrictions
Scan Student Card
Cashier clicks Scan Card and enters the student barcode in Odoo POS
Student Info Card
Photo, name, grade, balance, and daily limit shown after scan
Parent Portal
Parents view balances and transactions at /my/cafeteria
Key Features
Student Wallet
Prepaid cafeteria balance for each student. Auto-deducted at POS when student scans their card.
Card Scan Integration
Scan student barcode/QR cards directly in Odoo POS. Instant student lookup with photo and balance.
Meal Plans
Monthly, semester, or annual meal plans with bonus credits. Auto-activate and track expiry.
Spending Controls
Set daily limits, restrict products, limit purchase times, and control allowed categories per student or plan.
Email Notifications
Real-time email alerts on every purchase. Daily summaries and low-balance warnings.
Parent Portal
Parents log in to view balances, transaction history, and submit recharge requests via /my/cafeteria.
Installation
- Copy the
school_cafeteriafolder to your Odoo addons directory. - Update the apps list (Apps → Update Apps List).
- Install the module (Apps → Search "School Cafeteria POS" → Install).
- The Student Wallet payment method and cash journal are auto-configured on install.
Configuration Guide
1. Create Students
Navigate to School Cafeteria → Operations → Students and create student records. Each student gets an auto-generated student code, card UID, and prepaid wallet.
- Upload a photo for visual identification at POS.
- Link a Parent/Guardian contact (res.partner) for email notifications.
- Set daily limit, forbidden products, and purchase time windows as needed.
- Optional: assign a Meal Plan for automatic daily limits and category restrictions.
2. Print Student ID Cards
From the student form, click Print → Student Card. The printed card includes the student name, photo, grade, and a barcode matching their card UID.
If a card is lost, click Replace Card to generate a new UID while disabling the old one.
3. Configure Meal Plans (Optional)
Go to School Cafeteria → Configuration → Meal Plans. Define plans with:
- Price and Credit Amount (bonus credits included).
- Duration in months (auto-calculates expiry).
- Daily Limit â overrides the student's individual limit while the plan is active.
- Allowed Categories â restricts purchases to specific product categories.
4. POS Setup
The Student Wallet payment method is created automatically. To use it in a POS register:
- Go to POS → Configuration → POS Registers.
- Open your POS register and add Student Wallet to the Payment Methods list.
- The corresponding cash journal (STUW) and split transactions are set up automatically.
User Guide
Daily POS Operation
- Open POS â Start a POS session for your cafeteria register.
- Add Products â Select the items the student wants to purchase.
- Scan Student Card â Click the "Scan Card" button (or the icon in the top bar), then enter the student's barcode or code. The student's photo, name, grade, balance, and today's spent amount appear.
- Verify â Check that the balance is sufficient and no spending rules are violated. The customer field is auto-populated.
- Payment â Click Payment, select Student Wallet as the payment method, and validate the order. The wallet balance is deducted atomically on the server.
- Notification â The parent receives an email receipt with the purchase details and updated balance.
Parent Portal Guide
Access
Parents with portal access can log in and visit /my/cafeteria to view:
- Current wallet balance
- Transaction history (purchases and recharges)
- Daily spending summary
Recharge
Parents can submit recharge requests from the portal. An administrator reviews and approves the request, which credits the student's wallet.
Low balance alerts are sent automatically via email when the balance drops below the configured threshold (default: 30 EGP).
How It Works
1. Set Up Students
Create student records with name, grade, photo, and parent contact. Each student gets a unique card UID and wallet.
2. Configure Meal Plans
Define meal plans with price, credit amount, duration, daily limit, and allowed product categories.
3. Print Cards
Print student ID cards with embedded barcode/QR code. Cards can be replaced if lost.
4. Scan at POS
Cashier opens Odoo POS, adds products, clicks "Scan Card" and enters the student code. Balance and restrictions are checked instantly.
5. Payment
Select "Student Wallet" payment method. Balance is deducted atomically on the server. Parent gets notified.
6. Parent Portal
Parents top up wallets via the portal. Admins approve recharge requests and manage accounts.
Additional Screenshots
Odoo Dashboard
Recharge Requests
Dependencies
Requires Odoo Point of Sale, Portal, and Discuss (Mail) modules. Compatible with Odoo 19.0 Community and Enterprise editions.
License: OPL-1 — $199 USD on Odoo Apps Store
الوثائق باللغة العربية
نظام كافتيريا المدارس - دليل الاستخدام
التثبيت
- انسخ مجلد
school_cafeteriaإلى مجلد الإضافات في Odoo. - حدّث قائمة التطبيقات (Apps â Update Apps List).
- ثبّت الوحدة (Apps â بحث "School Cafeteria POS" â Install).
- يتم إنشاء طريقة الدفع "Student Wallet" والحساب النقدي المرتبط بها تلقائياً.
الإعداد
- إنشاء الطلاب: اذهب إلى School Cafeteria â Operations â Students. أدخل اسم الطالب، صورته (اختياري)، بيانات الصف، وبيانات ولي الأمر للتواصل عبر البريد الإلكتروني. يتم إنشاء رمز طالب فريد ومحفظة مسبقة الدفع تلقائياً.
- خطط الوجبات (اختياري): اذهب إلى School Cafeteria â Configuration â Meal Plans. حدد سعر الخطة، المبلغ الائتماني، المدة، والحد اليومي.
- بطاقات الطلاب: من نموذج الطالب، انقر Print â Student Card لطباعة بطاقة تعريف مع باركود.
- إعداد نقاط البيع: اذهب إلى POS â Configuration â POS Registers، أضف "Student Wallet" إلى قائمة طرق الدفع.
الاستخدام اليومي في الكاشير
- افتح جلسة نقاط بيع (POS) للسجل المخصص للكافتيريا.
- اختر المنتجات التي يريد الطالب شراءها.
- انقر زر "Scan Card" وأدخل الباركود أو رمز الطالب. ستظهر صورة الطالب واسمه ورصيده.
- اختر طريقة الدفع "Student Wallet" وأكمل الطلب. يتم خصم الرصيد تلقائياً.
- يتلقى ولي الأمر إشعاراً عبر البريد الإلكتروني بتفاصيل الشراء والرصيد المتبقي.
بوابة أولياء الأمور
يمكن لأولياء الأمور تسجيل الدخول إلى بوابة Odoo وزيارة /my/cafeteria لعرض الرصيد الحالي، سجل المعاملات، وتقديم طلبات إعادة شحن المحفظة. يتم إرسال تنبيهات عند انخفاض الرصيد عن الحد المحدد (افتراضياً: 30 جنيهاً).
للحصول على الدعم الفني، يرجى التواصل عبر البريد الإلكتروني: appmob82@gmail.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module