- Home
- Apps
- Specialized Solutions
- Cleaning Services Management for Business Central
Illustrative previewA build-to-order Dynamics 365 Business Central AL extension that runs recurring cleaning job schedules,
site checklists and inspections, supplies consumption, staff hours and contract invoicing inside your existing Business Central company.
ECOSIRE scopes, builds, installs and supports it — it is not an AppSource download.
What is Cleaning Services Management for Business Central?
A build-to-order Dynamics 365 Business Central AL extension that runs recurring cleaning job schedules, site checklists and inspections, supplies consumption, staff hours and contract invoicing inside your existing Business Central company. ECOSIRE scopes, builds, installs and supports it — it is not an AppSource download. 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
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your Dynamics 365 Business Central.
- 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
Commercial cleaning is a recurring-service business, and Business Central was not designed around recurring service. A cleaning firm servicing 120 sites on nightly, three-times-weekly and monthly frequencies has to answer four questions every day: who is due where, what has to be done at each site, what supplies went out of the store, and what gets invoiced at month end. In standard Business Central you can approximate parts of that with Service Management contracts, Jobs, and Recurring Sales Lines, but the pieces do not join up. Service Contract lines have no notion of a per-site task list a supervisor signs off. Resource Ledger Entries capture hours but not which cleaner was rostered against which site visit. Item consumption on a cleaning round has no home other than a manual negative adjustment. And the moment a client adds a floor or drops a Saturday visit mid-contract, the recurring invoice and the schedule drift apart, because nothing links them.
We build a per-tenant AL extension (or an AppSource-targeted app if you prefer that packaging) that adds the missing service layer directly into your Business Central company. The core is a Site Contract table extending the Customer with sites, service frequencies and contract lines, plus a schedule engine that expands those frequencies into dated Cleaning Visit records through a Job Queue Entry running a scheduling codeunit — typically nightly, with a configurable horizon of one working week. Each generated visit carries a Checklist Template resolved from the site: task lines, required evidence, and pass/fail criteria. Supervisors complete inspections against the same records, and a weighted score writes back to the visit, so you can report site quality per customer, per supervisor, per month.
Technically it is a normal, upgrade-safe Business Central extension. New tables and pages carry your object range; existing surfaces get table extensions and page extensions rather than modified base objects — a Site FactBox on the Customer Card, contract fields on the Sales Invoice, a Cleaning Visits part on the Resource Card. Business logic lives in codeunits behind event subscribers on the standard publishers (sales posting, item journal posting, resource ledger posting), so a Business Central release-wave upgrade does not break the extension's behaviour. Supplies post through Item Journal lines against a site-specific dimension, so cost per site falls out of standard Business Central dimension analysis rather than a parallel report. Staff hours post as Resource Ledger Entries with the visit as source, keeping payroll export and job costing on the standard rails. Recurring contract invoicing runs as a second job queue codeunit that reads the period's completed visits plus the contract's fixed lines, builds Sales Invoices in a batch, and either leaves them for review or posts them per a setup flag — with a full audit trail from invoice line back to visit.
Everything is reachable from outside Business Central. We expose API pages on the API v2.0 endpoint (custom apiPublisher/apiGroup) for visits, checklists and site contracts, so a Power App or a mobile crew form can read the night's schedule and write completion and photo evidence back; OData v4 web services cover the reporting side for Power BI. Dataverse virtual tables are available where you already run Power Platform, and the same API is what a third-party workforce app would integrate against. Permission sets ship with the extension — an Operations set that can generate schedules and edit contracts, a Supervisor set that can complete visits and inspections, and a read-only set for account managers — so you are not handing SUPER to field staff. The extension targets current Business Central release waves and runs on SaaS online or on-premises.
This is build-to-order, and we are explicit about what that means. Nothing downloads today. You book a scoping call, we walk your site and contract structure, your existing Business Central setup and your invoicing rules, and we come back with a fixed scope and a quotation. From confirmed scope, typical delivery is one working week: we develop against your Business Central version, deploy to a sandbox for UAT with your real contract data, iterate on the checklist and invoicing rules with your operations lead, then install to production with a documented rollback. You receive the AL source code, the git repository, technical and user documentation, a training session, and a post-go-live support window. Because it is your extension rather than a shared marketplace app, the checklist model, frequency rules and invoice layout are shaped to how your firm actually operates.
What you get
- Complete AL extension source code, built and tested against your specific Business Central version (SaaS online or on-premises)
- Installation and configuration on your production environment, including job queue entries, number series, dimensions and permission sets
- Technical documentation: object range, table and page inventory, event subscribers used, API endpoints, and the scheduling and invoicing algorithms
- End-user guide covering contract setup, schedule generation, checklist completion, inspections, supplies posting and the monthly invoicing run
- Live training session for operations, supervisory and finance users, recorded for future staff
- UAT deployment to a Business Central sandbox with your real contract data, plus a documented rollback plan for the production install
- Post-go-live support window covering defect fixes and configuration questions through your first live invoicing cycles
- Git repository handover with full commit history, branch structure and build pipeline notes, so any AL developer can maintain it
Who this is for
Operations Director, commercial cleaning contractor
Runs recurring site contracts across shifts and needs one schedule that reflects real frequencies, holidays and mid-term changes, instead of a spreadsheet rebuilt every month by the one coordinator who understands it.
Contract Supervisor / Area Manager
Visits sites to inspect quality and sign off work. Needs the site's checklist and history on a device, a scored inspection stored against the visit, and evidence that survives a client dispute three months later.
Finance Manager / Controller
Owns the month-end invoicing run. Needs recurring contract billing that agrees to the visits actually delivered, drill-back from every invoice line to its source, and cost per site posting through standard Business Central dimensions rather than a side spreadsheet.
Business Central partner or in-house IT lead
Responsible for keeping the tenant upgradeable. Needs an extension that touches base objects only through table/page extensions and event subscribers, ships its own permission sets, and arrives with source code and documentation rather than a black box.
How Cleaning Services Management for Business Central Compares
| Criterion | ECOSIRE | Custom Build | Competitor | Dynamics 365 Business Central Native |
|---|---|---|---|---|
| Fit to your contract and checklist model | Built around your actual frequencies, site structure and inspection criteria after a scoping walkthrough | Same potential fit, but you write the spec and carry the design risk yourself | Fixed data model; you adapt your operations to the app's assumptions | No cleaning-specific model — Service Contracts and Jobs approximated by hand |
| Recurring schedule generation | Job queue codeunit expands frequencies with holiday and closure calendars, idempotent on re-run | Achievable, but idempotency and calendar edge cases are where DIY builds overrun | Usually present, though frequency rules and holiday handling are rarely configurable enough | Recurring Sales Lines and Service Contracts generate documents, not dated site visits |
| Cost per site | Supplies via Item Journals and hours via Resource Ledger Entries, both dimension-tagged to the site | Depends on whether the developer posts through standard ledgers or invents parallel tables | Often held in the app's own tables, so margin analysis lives outside Business Central reporting | Possible with manual dimension discipline, but nothing links consumption to a specific visit |
| Upgrade safety across release waves | Table/page extensions plus event subscribers only; no base object modification | Quality varies — modified base objects and direct base-table writes are common in rushed builds | Generally upgrade-safe, but you wait for the vendor's release-wave update on their timetable | Nothing to break, because nothing exists |
| External and mobile access | API v2.0 pages and OData v4 shipped with the extension, plus Dataverse virtual tables for Power Platform | Only if the API layer was specified and paid for up front, which it frequently is not | A vendor mobile app adopted as-is, with its own licence and its own UX | Standard Business Central APIs exist but expose no cleaning visit or checklist entities |
| Code ownership and maintainability | Full AL source and git repository handed over at go-live, with technical documentation | You own it, subject to whatever documentation the developer actually produced | Closed source; every change is a vendor feature request | Not applicable |
| Time to a working system | one working week from confirmed scope, including sandbox UAT with your real data | Typically three to six months once discovery, hiring and rework are counted honestly | Install in a day, then weeks of process compromise to fit the app's model | Immediate, but the operational gaps stay in spreadsheets indefinitely |
| Ongoing cost shape | One build cost plus an optional support agreement; no per-user subscription on the extension itself | Build cost plus the standing cost of keeping an AL developer available for changes | Recurring per-user or per-tenant subscription for as long as you use it | No additional cost, and no additional capability |
Frequently Asked Questions about Cleaning Services Management for Business Central
Is this available to download from Microsoft AppSource today?
No. This is a build-to-order extension — nothing installs instantly. You book a scoping call, we agree a fixed scope and quotation, then we develop, test and install it on your Business Central environment. If AppSource packaging matters to you, we can target that instead of a per-tenant extension; say so during scoping, because it changes the object range and validation requirements.
How long does delivery take?
Typical delivery is one working week from confirmed scope. That covers development against your Business Central version, sandbox deployment for UAT with your own contract data, iteration on checklist and invoicing rules with your operations lead, and the production install with a rollback plan. Very large contract structures, unusual invoicing rules or a Power Apps crew front end can extend that — we state the realistic timeline in the quotation, not after you have signed.
What happens with support and Business Central release-wave updates?
The build includes a post-go-live support window for defect fixes and configuration questions covering your first live invoicing cycles, and we offer an ongoing support agreement beyond that. Because business logic sits in event subscribers and base objects are only extended, release-wave updates are normally non-breaking; where Microsoft deprecates a publisher we use, we update the extension. We recommend validating each major wave on your sandbox first, and we do that validation for you under a support agreement.
Will this work with our existing Business Central setup, or do we have to change how we work?
It builds on your existing setup. Customers, Items, Resources, dimensions, number series and posting groups stay as they are — the extension adds sites, contracts, visits, checklists and the invoicing run on top. Supplies post through standard Item Journals and hours through Resource Ledger Entries, so your existing costing, analysis and payroll export keep working. During scoping we review your current configuration and flag anything that needs cleaning up before go-live.
Can field staff and supervisors use it without a full Business Central licence?
The extension exposes API pages on API v2.0 and OData v4 web services specifically so a Power App, mobile form or third-party workforce app can read the schedule and write completion, checklist results and evidence back. Licensing for those users depends on your Microsoft agreement and the front end you choose — we walk through the options during scoping so there are no licensing surprises after the build.
Do we own the code?
Yes. You receive the complete AL source code and the git repository with full commit history at handover, along with technical documentation. Any competent AL developer — yours, ours, or a third party — can maintain and extend it. You are not locked into ECOSIRE to change a checklist or an invoicing rule.
Does it run on Business Central on-premises as well as online?
Yes. We build against your specific version and target either SaaS online or on-premises. Job queue entries, API pages and OData services work in both, though on-premises deployments need the web service endpoints published and reachable if you plan to use a mobile front end. We confirm the deployment target during scoping because it affects how we package and install.
Related Modules

CAD / PLM Integration Connector
A per-tenant Business Central extension that syncs your CAD/PLM system (SolidWorks PDM, Autodesk Vault, Siemens Teamcenter) with BC items, BOMs, and engineering changes — built, installed, and supported by ECOSIRE.

Car Rental & Fleet Management
A build-to-order AL extension that turns Dynamics 365 Business Central into a working car rental system: vehicle availability, rental agreements and rates, check-out/check-in with damage capture, traffic fine and toll recharges, and preventive fleet maintenance. ECOSIRE builds, installs and supports it after you request a quotation.

Construction Project Accounting for Business Central
Job costing, progress billing and subcontractor management purpose-built for general and specialty contractors, delivered as a per-tenant AL extension ECOSIRE builds, installs and supports on your Business Central environment.

Country E-Invoicing & Tax Compliance for Manufacturers
A per-tenant Business Central (AL) extension that wires country-specific e-invoicing and tax clearance — ZATCA Phase-2, UAE, Peppol, Egypt and India GST (IRN/QR + e-way bill) — directly into your manufacturing and sales documents. Built, installed and supported by ECOSIRE.
Cleaning Services Management for Business Central
A build-to-order Dynamics 365 Business Central AL extension that runs recurring cleaning job schedules, site checklists and inspections, supplies consumption, staff hours and contract invoicing inside your existing Business Central company. ECOSIRE scopes, builds, installs and supports it — it is not an AppSource download.
- Site Contract tables extending Customer, with multiple sites per customer, per-site service frequency (daily, weekday, N-times-weekly, fortnightly, monthly, ad-hoc) and contract start/end dates
- Schedule generation codeunit run from a `Job Queue Entry` on a configurable rolling horizon, idempotent so re-running never duplicates visits
- Public-holiday and site-closure calendars applied during expansion, with configurable skip-or-shift behaviour per contract
- Checklist Templates resolved per site and visit type, with task lines, mandatory-evidence flags and pass/fail criteria copied onto the visit at generation time