Many online loyalty modules fail because of one core oversight: point inflation and simple database schemas. At Unfiltered Code, we designed the UFC Loyalty Module for WooCommerce around mathematical fairness and transactional transparency. Rather than storing a simple single "total integer" on user metadata, our plugin utilizes a fully audited, structured ledger approach with a First-In, First-Out (FIFO) queue architecture.
1. Behind the Code: FIFO Points Redemption
Why FIFO? Because loyalty points should represent chronological value. If you grant customers points with a 365-day expiry limit, you must deduct points starting from the oldest active earned balances. Our plugin calculates deductions using the database schema directly, scanning the wp_ufc_loyalty_history ledger sequentially to deduct points from earlier valid transactions, keeping accounting clean and preventing system loopholes.
2. Detailed Product Triggers & Shortcodes
Standard loyalty modules apply uniform points per dollar across the entire store. UFC Loyalty allows you to open any WooCommerce product editor and define custom points multiplier fields. It also features clean shortcodes out-of-the-box:
[ufc_loyalty_points]: Seamlessly displays the current user's active, usable points balance anywhere on the frontend.[ufc_loyalty_history]: Generates a beautiful, responsive historical ledger table where users can monitor exact dates, earned quantities, deductions, and point statuses.
⚙️ Interactive UFC Loyalty Settings Simulator
📋 FIFO Queue Deductions Simulation Ledger
| Date Earned | Transaction Details | Earned | Status / Expiry |
|---|---|---|---|
| 2026-01-10 | Simulated Sign-up Bonus Points | 50 pts | Active (FIFO Next deduction) |
| 2026-03-14 | Order #1822 Purchase Points | 150 pts | Active |
3. Operational Ledger Audit (Admin Panel)
Honest systems require administrative double-checks. The UFC Loyalty module is designed with a full back-end adjustment console, allowing site managers to safely manually reward or adjust points balances for customer service requests, logging every edit securely with administrator ID stamps in the ledger.