A build-to-order Dynamics 365 Business Central extension that runs memberships, freezes, class bookings, trainer commissions, door access logs and retail POS inside your existing BC company. ECOSIRE scopes, builds, installs and supports it — typically 2-4 weeks from confirmed scope. Built to order by ECOSIRE for Dynamics 365 BC (build-to-order) — indicative price from $499.00 USD; request a quote for a scoped proposal.
Illustrative previewA build-to-order Dynamics 365 Business Central extension that runs memberships,
freezes, class bookings, trainer commissions, door access logs and retail POS inside your existing BC company.
ECOSIRE scopes, builds, installs and supports it — typically 2-4 weeks from confirmed scope.
No DIY setup — a working app, built, installed and supported by ECOSIRE.
Start with a one-time build price. We scope it with you at kickoff.
ECOSIRE builds, configures and installs it on your Dynamics 365 Business Central.
You go live in about 2–4 weeks, with a post-launch support window.
A fitness club is a recurring-revenue business wearing a retail business's clothes, and Dynamics 365 Business Central out of the box is built for neither. BC gives you customers, items, sales invoices and a general ledger — but it has no concept of a membership that renews monthly, freezes for six weeks while a member is injured, and resumes with a pro-rated charge. It has no class calendar, no waitlist, no capacity ceiling per studio, and no notion that a personal trainer earns 40% of a PT session but a flat fee per group class. Clubs end up bolting a standalone gym platform onto Business Central and reconciling by CSV: the membership system says one thing about deferred revenue, the G/L says another, and finance spends the first week of every month proving which one is right.
What we build is a native AL extension — installed as a per-tenant extension, or packaged as an AppSource app where you want it in your own tenant — that puts the club's operating model inside Business Central rather than beside it. Membership plans are a setup table driving a recurring billing engine that generates sales invoices or collection lines from a Job Queue Entry, with deferral schedules so an annual membership recognises revenue across twelve periods instead of landing in one. Freezes, cancellations and upgrades are posted transactions with their own no. series and audit trail, not silent field edits. Class scheduling uses a resource and capacity model: studios and trainers are Resource records, each class instance carries its own capacity, booking status and waitlist, and bookings post attendance which feeds both member usage reporting and trainer pay. Commissions are calculated by a dedicated codeunit that reads the posted attendance and PT session ledger and produces purchase invoices or payroll-ready journal lines against each trainer's vendor or resource card — configurable per plan, per class type and per trainer tier.
Technically it is conventional, deliberately. Table extensions and page extensions hang club fields off Customer, Item, Resource and Sales Header rather than duplicating master data; business logic lives in codeunits with event publishers so your future customisations subscribe instead of patching shipped code; and integration runs through API pages exposed on REST API v2.0 / OData v4 under a service-to-service OAuth registration. Door and access events land in an access log table through those API pages — the turnstile asks Business Central whether a member is current, and the answer derives from live membership status, not a nightly export. Retail sales of supplements, apparel and day passes post as ordinary BC sales lines against your existing item, inventory, dimension and posting-group setup, so stock and margin stay in one ledger. Permission sets ship per role (front desk, trainer, club manager, finance), and where you want dashboards or member messaging beyond BC, the same API surface is consumable from Power Apps, Power Automate and Dataverse. We build against current Business Central release waves, for SaaS or on-premises depending on where your BC actually lives.
This is build-to-order, and that is the honest framing: there is no download button and no instant install. We start with a scoping call, map your plan structures, class types, commission rules and access hardware, and write a fixed scope document. From confirmed scope, typical delivery is 2-4 weeks — build in a sandbox, UAT on your staging environment with a copy of your data, then a scheduled install into production with a documented rollback. You receive the AL source for your version, a git repository handover, technical and end-user documentation, a training session for front-desk and finance staff, and a post-go-live support window for defects and configuration adjustments. Because you hold the source, the extension stays yours — extend it in-house later, or bring us back for the next wave.
Runs three to fifteen locations on one Business Central company and needs per-site revenue, attendance and trainer cost without a separate database per club. Buys this to retire the standalone gym platform whose numbers never reconcile to the G/L.
Owns the monthly close and is tired of proving whether the membership system or Business Central holds the truth. Needs deferred revenue on annual plans handled in the G/L, freezes and pro-rations as auditable postings, and trainer pay derived from posted attendance rather than a spreadsheet.
Sells class packs and PT packages more than open-gym memberships. Needs capacity ceilings, waitlists, no-show rules and package balance tracking, plus a booking API the existing member app can call, without buying a full enterprise club platform.
Already runs Business Central and refuses to add another system to reconcile. Wants a native AL extension with source code, event publishers, documented API pages and clean permission sets — something the in-house team can maintain after handover.
| Criterion | ECOSIRE | Custom Build | Competitor | Dynamics 365 Business Central Native |
|---|---|---|---|---|
| Fit to your club's actual rules | Plans, freeze policy, commission scheme and no-show rules built to your written scope | Exactly your rules, but every rule is a decision your team must specify and test | Fit to the vendor's model; you adapt your policies to the app | No membership, class or commission concepts exist to configure |
| Time to a working system | Typically 2-4 weeks from confirmed scope: sandbox build, UAT, then install | Months of internal AL work, gated on developer availability | Installs in a day, then weeks of workarounds where the model does not match | Available immediately, but only invoicing and inventory — the club logic is missing |
| Revenue recognition and G/L accuracy | Deferral schedules on multi-period plans; freezes and pro-rations post as documents | Achievable, but deferral and pro-ration logic is what DIY builds most often get wrong | Often billed in the app and summarised into BC, leaving a monthly reconciliation | Manual deferral entries and journal adjustments every period |
| Access control integration | API pages on REST API v2.0 with OAuth; the turnstile queries live membership status | You design and build the API surface and the auth model yourself | Usually supported for the vendor's own hardware list; anything else is a middleware project | No access control surface; membership state is not modelled at all |
| Trainer pay | Commission codeunit reads posted attendance, outputs purchase invoices or journal lines | Buildable, though commission edge cases are where DIY projects usually overrun | Commission report inside the app, then rekeyed or imported into finance | Spreadsheet, then manual purchase invoices per trainer per month |
| Ownership of the code | Full AL source plus git repository handover; maintain in-house or with any partner | You own it entirely — and you own all of its maintenance | Licensed binary; you cannot read or change the logic | Microsoft's code; extendable only around the edges |
| Ongoing cost shape | Fixed build price, then an optional support and release-wave compatibility arrangement | Salary or contractor cost for as long as the extension lives | Perpetual per-user or per-member subscription regardless of usage | Included in your BC licence, with the gap paid for in staff time |
| Extending it later | Event publishers throughout; new features subscribe rather than patch shipped code | Depends entirely on how disciplined the original build was | Limited to the vendor's roadmap and the extension points they chose to expose | Standard BC extensibility, but you would be building the club logic from zero |
No — this is build-to-order, not an AppSource download. We start with a scoping call to map your membership plans, class types, commission rules and access hardware, then produce a fixed scope document. From confirmed scope, typical delivery is 2-4 weeks: build in a sandbox, UAT on your staging environment with your data, then a scheduled production install with a documented rollback plan. Complex access-control integrations or multi-country billing can extend that, and we tell you before you commit rather than after.
Your post-go-live support window covers defect fixes and configuration adjustments. Beyond that we offer an ongoing support and compatibility arrangement that revalidates the extension against each release wave, updates the application manifest and target version, and fixes anything the platform deprecates. Because you receive the full AL source and the git repository, your own team can also do this work — nothing about the delivery locks you to us.
Access control is exposed through API pages on REST API v2.0 with service-to-service OAuth, so any controller that can make an authenticated HTTPS call can ask Business Central whether a member is current and post entry and exit events back. Whether your specific hardware connects directly or needs a small middleware bridge is determined during scoping and priced into the fixed scope, rather than discovered mid-build.
Both. For BC online we deliver a per-tenant extension installed through the admin centre, or package it for your own AppSource listing if that is your route. For on-premises we publish the same AL extension to your service tier. The install procedure and documentation differ slightly between the two, so we confirm your version and deployment type during scoping and build for what you actually run.
Commissions are computed by a dedicated codeunit reading the posted attendance and PT session ledger, so pay derives from what actually happened rather than a manually maintained sheet. The shipped shape supports percentage-of-session revenue, flat fee per group class and tiered rates by trainer level, configurable per plan and per class type. If your scheme is unusual — split commissions on co-taught classes, retention bonuses, referral splits — bring it to the scoping call and we build the rule into the codeunit instead of asking you to change how you pay staff.
You receive the full AL source for your version plus a git repository handover with commit history. The extension uses table and page extensions against standard Business Central objects rather than replacing them, and the business logic ships with event publishers so future work subscribes instead of forking. If you later want another partner to maintain it, or bring it in-house, the technical documentation and object map are written for exactly that.
Recurring billing generates real Business Central sales documents, so revenue posts through your existing customer, dimension and posting-group setup. Annual and multi-month plans use deferral schedules so revenue is recognised across the periods they cover rather than landing entirely in the month of sale. Freezes and cancellations post as documents that adjust the schedule, which means the deferred revenue balance and the membership register agree without a reconciliation spreadsheet.

A true finite-capacity APS engine for Dynamics 365 Business Central that builds optimized, executable schedules respecting machines, labor, tooling and material availability simultaneously. Built, installed and supported by ECOSIRE as a per-tenant AL extension.

A build-to-order AL extension that supercharges Business Central's native MRP/MPS with demand-driven forecasting, bulk SKU parameter management, and supply-vs-demand pegging — so planners replan thousands of items in minutes. Built, installed as a per-tenant extension, and supported by ECOSIRE.


A custom-built AL extension that adds an AI Copilot to Business Central — natural-language queries over your ledger data, anomaly and fraud detection, cash-flow forecasting and automated variance narratives. Built, installed per-tenant and supported by ECOSIRE.
A build-to-order Dynamics 365 Business Central extension that runs memberships, freezes, class bookings, trainer commissions, door access logs and retail POS inside your existing BC company. ECOSIRE scopes, builds, installs and supports it — typically 2-4 weeks from confirmed scope.