Sometimes someone else comes up with a brilliant idea and I have to feature it. Check Gerardo’s fantastic app and learn how to turn testing into competitive game. Check out the video:

In this video, Erik explores a fascinating gamification app for Business Central created by fellow MVP Gerard Renería. The app turns user testing into a competitive game — complete with points, badges, achievements, and a leaderboard. Erik installs the app, earns points by performing common Business Central tasks, and even extends the app with a custom achievement trigger, all while getting caught up in the competitive spirit of climbing the leaderboard.
The Concept: Making Testing a Game
The idea is brilliantly simple: what if you could motivate Business Central users to test more by turning their testing activities into a game? Gerard Renería built a complete app that awards points when users perform specific actions in Business Central — creating sales quotes, posting orders, registering vendors, and more. There’s a leaderboard, badges (complete with Unicode emoji icons), and an achievement system to keep users engaged and competitive.
Getting Started with the App
Erik grabbed the source code from Gerard’s GitHub repository, dropped it into a new app project, and launched it with F5. After running the demo data setup (which populates achievements and seed data), the app is ready to go.
The app adds a new role called the Gaming User, backed by a dedicated profile and Role Center with menu items for the gamification features.
The Gaming Profile
Opening “My Gaming Experience” shows your player profile with:
- Your name and rank (e.g., “Novice”)
- Total points
- Badges earned
- Department points breakdown (Sales, Finance, Service)
Earning Points Through Business Central Tasks
The Achievement Guide lists all the actions that earn points. Erik started with something straightforward: creating a sales quote.
After creating a simple sales quote for customer Adatum — selling five Paris chairs — and releasing it, Erik headed back to check his profile: 25 points earned, one badge unlocked, and a spot on the leaderboard.
Going for the Big Deal
The achievement guide revealed a “Big Deal” achievement for posting a sales order with an amount over 10,000. Erik reopened his quote, bumped up the chair quantity significantly, converted it to an order, and posted it with ship and invoice.
The result? 625 points and three badges — though still only fourth place on the leaderboard, since demo users already had a head start.
Diversifying with Finance Points
Noticing he had zero finance points, Erik checked the achievement guide and found he could earn points by registering a new vendor. A quick vendor creation later, he had 60 finance points and was gaining on the competition.
Extending the App with a Custom Achievement
This is where things get really interesting from a developer perspective. Erik wanted to add a brand new achievement type: creating a customer posting group.
The Extensible Enum Pattern
The trigger types in the app are defined as an extensible enum, which means you can add new trigger types without modifying the original app’s code. Erik noted he could have created a separate extension app, but for demonstration purposes, he added directly to the source.
He added a new enum value for “Customer Posting Group Created” to the trigger type enum.
Subscribing to the Right Event
To figure out how to wire up the new trigger, Erik used “Find All References” on an existing trigger (contact created) to locate the Achievement Event codeunit. This codeunit subscribes to table events (like OnAfterInsert) and calls the gamification engine to process achievements.
Erik praised the code quality — clean layout, proper comments, and good use of labels. He copied the pattern from an existing event subscriber and adapted it for the Customer Posting Group table’s OnAfterInsert event:
// Subscribe to Customer Posting Group - OnAfterInsert
// If not RunTrigger then exit
// Process the achievement for the new trigger type
Setting Up the Achievement
With the code in place, Erik configured the achievement in the Gaming Admin Achievement Setup:
- Trigger Type: Customer Posting Group Created
- Points: 450
- Department: Sales
- Difficulty: Expert
- Frequency: One time only
- Description: “Create a new customer posting group”
- Badge Icon: A rock climber emoji (🧗) — found via a Unicode explorer
After creating a new customer posting group, the achievement fired and Erik earned his 450 points plus a shiny new badge.
The Competitive Spirit Takes Over
Throughout the video, Erik couldn’t help but get caught up in the game — constantly checking the leaderboard, strategizing which achievements to tackle next, and trying to overtake the demo users. This is exactly the behavior the app is designed to encourage, and it clearly works!
Erik kept selling chairs to Adatum and posting invoices, trying to claw his way up the rankings. The Unicode emoji badges — from trophies to rock climbers — added a delightful visual element that Erik particularly appreciated.
Key Takeaways
- Gamification works: Even knowing it’s a demo, Erik found himself genuinely motivated to earn more points and climb the leaderboard
- Well-architected for extension: The use of extensible enums and clean event-based architecture makes it easy to add custom achievement triggers
- Clean code matters: Well-structured code with proper comments and labels made it straightforward to understand and extend
- Unicode badges are a nice touch: Using emoji characters for badge icons is creative, fun, and requires no image assets
- Practical application: This approach could genuinely help consultants and project managers get users to test more thoroughly during UAT phases
Conclusion
Gerard Renería’s gamification app for Business Central is a creative and well-executed solution to a common problem: getting users to actually test the system. The app is cleanly coded, easy to extend, and — most importantly — it works. Erik’s genuine enthusiasm and competitive drive during the demo are proof that gamification can motivate even experienced developers. Check out Gerard’s blog post and GitHub repository (linked below the video) for the full source code. This is a great example of how a clever idea, well implemented, can make a real difference in Business Central projects.