Skip to main content
Gym & Fitness Club Management — A build-to-order Dynamics 365 Business Central extension that runs memberships, freezes, clas — 1/1Illustrative preview

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 one working week from confirmed scope.

What is Gym & Fitness Club Management?

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 one working week from confirmed scope. Built to order by ECOSIRE for Dynamics 365 BC (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Membership plan setup table driving a recurring billing engine that generates sales invoices or collection lines from a scheduled `Job Queue Entry`, with configurable billing cycles, joining fees and minimum-term rules
Freeze, resume, upgrade, downgrade and cancellation posted as documents with their own no. series and audit trail, including pro-rated charge or credit calculated on the resume date
Deferral schedule support so annual and multi-month memberships recognise revenue across the periods they cover instead of hitting a single accounting period
Class scheduling built on BC `Resource` records for studios and trainers, with per-instance capacity, recurrence patterns, cancellation windows and automatic waitlist promotion
Booking and attendance ledger that posts each member's actual usage, feeding both no-show policy enforcement and trainer commission calculation
Trainer commission codeunit supporting percentage-of-session, flat-fee-per-class and tiered rates, producing purchase invoices or payroll-ready journal lines against the trainer's vendor or resource card
Personal-training package tracking: sessions sold, sessions consumed, expiry dates and remaining balance on the member card with drill-down to every posted session
Access control log table with API pages so turnstiles, RFID readers and door controllers query live membership status over REST API v2.0 and write entry and exit events back into Business Central
Retail POS lane for supplements, apparel and day passes posting standard BC sales lines against your existing item, inventory, dimension and posting-group setup
API pages on REST API v2.0 / OData v4 for memberships, classes, bookings and access events, authenticated by service-to-service OAuth, ready for a member app, web portal or Power Platform flow
Event publishers and subscribers throughout the business logic so your own extensions hook in without modifying shipped objects
Role-tailored permission sets for front desk, trainer, club manager and finance, plus role-centre extensions surfacing expiring memberships, today's classes and unpaid dues
Multi-location support via BC dimensions and responsibility centres so each site reports its own revenue, attendance and trainer cost while consolidating in one company
Automated dunning and expiry notifications driven by job queue entries, with member communication routed through BC email or a Power Automate flow you control

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Dynamics 365 Business Central.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

About this Product

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 one working week — 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.

What you get

  • Full AL source code for the extension, built and tested against your specific Business Central version and release wave
  • Installation and configuration on your environment — sandbox first, then production — including permission set assignment and job queue setup
  • Technical documentation: object ID ranges, table and page extension map, codeunit responsibilities, event publisher list and API page endpoint reference
  • End-user guide covering the membership lifecycle, class scheduling, bookings, commission runs and POS, plus a live training session for front-desk and finance staff
  • UAT on your staging environment using a copy of your real data, with a written test script and a signed-off acceptance checklist
  • Documented rollback plan and a scheduled production install window, so the extension can be removed cleanly if late findings surface
  • Git repository handover with full commit history, so your team or another partner can maintain and extend the code independently
  • Post-go-live support window for defect fixes and configuration adjustments, with agreed response times

Who this is for

Multi-site club operator

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.

Finance manager or controller

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.

Boutique studio group owner

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.

IT lead or BC-side consultant

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.

How Gym & Fitness Club Management Compares

CriterionECOSIRECustom BuildCompetitorDynamics 365 Business Central Native
Fit to your club's actual rulesPlans, freeze policy, commission scheme and no-show rules built to your written scopeExactly your rules, but every rule is a decision your team must specify and testFit to the vendor's model; you adapt your policies to the appNo membership, class or commission concepts exist to configure
Time to a working systemTypically one working week from confirmed scope: sandbox build, UAT, then installMonths of internal AL work, gated on developer availabilityInstalls in a day, then weeks of workarounds where the model does not matchAvailable immediately, but only invoicing and inventory — the club logic is missing
Revenue recognition and G/L accuracyDeferral schedules on multi-period plans; freezes and pro-rations post as documentsAchievable, but deferral and pro-ration logic is what DIY builds most often get wrongOften billed in the app and summarised into BC, leaving a monthly reconciliationManual deferral entries and journal adjustments every period
Access control integrationAPI pages on REST API v2.0 with OAuth; the turnstile queries live membership statusYou design and build the API surface and the auth model yourselfUsually supported for the vendor's own hardware list; anything else is a middleware projectNo access control surface; membership state is not modelled at all
Trainer payCommission codeunit reads posted attendance, outputs purchase invoices or journal linesBuildable, though commission edge cases are where DIY projects usually overrunCommission report inside the app, then rekeyed or imported into financeSpreadsheet, then manual purchase invoices per trainer per month
Ownership of the codeFull AL source plus git repository handover; maintain in-house or with any partnerYou own it entirely — and you own all of its maintenanceLicensed binary; you cannot read or change the logicMicrosoft's code; extendable only around the edges
Ongoing cost shapeFixed build price, then an optional support and release-wave compatibility arrangementSalary or contractor cost for as long as the extension livesPerpetual per-user or per-member subscription regardless of usageIncluded in your BC licence, with the gap paid for in staff time
Extending it laterEvent publishers throughout; new features subscribe rather than patch shipped codeDepends entirely on how disciplined the original build wasLimited to the vendor's roadmap and the extension points they chose to exposeStandard BC extensibility, but you would be building the club logic from zero

Frequently Asked Questions about Gym & Fitness Club Management

How long does delivery take, and can I download it today?

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 one working week: 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.

What happens when Microsoft ships a new Business Central release wave?

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.

Will this work with my turnstiles and door readers?

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.

Does it run on Business Central SaaS, on-premises, or both?

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.

How are trainer commissions calculated, and can I model my own scheme?

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.

Do I own the code, and what stops me being locked in?

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.

How does membership revenue appear in the general ledger?

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.

Request a quote

Gym & Fitness Club Management

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 one working week from confirmed scope.

  • Membership plan setup table driving a recurring billing engine that generates sales invoices or collection lines from a scheduled `Job Queue Entry`, with configurable billing cycles, joining fees and minimum-term rules
  • Freeze, resume, upgrade, downgrade and cancellation posted as documents with their own no. series and audit trail, including pro-rated charge or credit calculated on the resume date
  • Deferral schedule support so annual and multi-month memberships recognise revenue across the periods they cover instead of hitting a single accounting period
  • Class scheduling built on BC `Resource` records for studios and trainers, with per-instance capacity, recurrence patterns, cancellation windows and automatic waitlist promotion

Request a Quotation

Tell us about your Gym & Fitness Club Management requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.