SYSTEM FEATURES
Loan Tracking
Invenicum’s loan tracking system helps you monitor items lent to team members, clients, or friends. Track who has what, when it’s due back, and automatically update inventory.
Overview
Automated Stock
Inventory adjusts automatically when items are loaned or returned.
Return Reminders
Dashboard highlights loans expiring today or overdue.
Borrower Profiles
Store contact details and comprehensive loan history.
Digital Vouchers
Generate formatted loan receipts for physical or digital tracking.
How It Works
Creating a Loan
When you lend an item, Invenicum creates a loan record and decrements the item’s quantity.
Select Item
Navigate to the asset and verify sufficient quantity.
Form Entry
Enter Name (req), Email (opt), and Phone (opt).
Set Due Date
Define the expected return date for tracking.
LoanService.createLoan(containerId, loan)
// POST /containers/{containerId}/loans
// Backend:
// 1. Validates quantity
// 2. Decrements stock
// 3. Status set to 'active'Loan States
Item is currently loaned out and unavailable for other uses.
Loan completed. actualReturnDate is timestamped and stock is restored.
Returning Items
LoanService.returnLoan(containerId, loanId)
// PUT /containers/{id}/loans/{id}/return
// Backend automatically increments stockDeleting Loans
Loans can be deleted if created by mistake (lib/data/services/loan_service.dart:86).
Creator Only
No Auto-Restoration
Dashboard Integration
The main dashboard (lib/data/models/dashboard_stats.dart:13) provides loan insights:
Loans Expiring Today
Shows all active loans with expectedReturnDate matching today’s date. Click to view details or mark as returned.
Top Loaned Items
Highlights your most frequently borrowed assets, helping identify high-demand items that may need additional purchases.
Container-Specific Stats
Voucher System
Each loan generates a unique formatted voucher ID (lib/data/models/loan.dart:19):
Notifications and Reminders
Dashboard Alerts
Expiring Today
Dedicated “Loans Expiring Today” widget on Home.
Overdue
Calculated client-side: expectedReturnDate < now.
Future Roadmap
- Email reminders to borrowers 24h before due date.
- Automatic notifications when loans become overdue.
- Recurring loan patterns for regular equipment sharing.
Loan Statistics
Access detailed analytics per container (lib/data/services/loan_service.dart:101):
GET /containers/{containerId}/loans-stats
Best Practices
Before Loaning
- Verify Quantity: Ensure stock before creation.
- Document Condition: Add notes on any damage.
- Realistic Dates: Account for holidays/weekends.
- Contact Info: Always get borrower email/phone.
Managing Active
- Daily Review: Check dashboard every morning.
- Communicate: Contact 1-2 days before due date.
- Inspect: Verify item condition matches loan notes.
- Sync: Mark returned as soon as they arrive.
High-Value Items
- Approval: Require admin approval workflow.
- Shorter Terms: 3-5 day maximum loans.
- Photos: Attach pre-loan images to notes.
- Insurance: Record relevant details in notes.
Limitations
No Partial Returns
Must return all units at once. Workaround: Create separate loans per unit.
Single Item Per Loan
Each loan tracks exactly one inventory item. Workaround: Create multiple loans.
No Late Fees
System tracks overdue status but doesn’t calculate financial penalties.
Manual Notifications
Borrowers aren’t automatically emailed; notifications are managed through Alerts.