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 $499.00 USD; request a quote for a scoped proposal.
Vista previa ilustrativaA 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.
Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.
Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.
ECOSIRE la crea, la configura y la instala en tu Dynamics 365 Business Central.
Sales en vivo en unas 2–4 semanas, con un periodo de soporte posterior al lanzamiento.
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 two to eight weeks. 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 two to four weeks: 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.
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.
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.
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.
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.
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Nativo de Dynamics 365 Business Central |
|---|---|---|---|---|
| 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 | Two to four weeks 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 |
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.
Typical delivery is two to four weeks 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.
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.
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.
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.
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.
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.

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.

Crop, livestock and farm-input cost management with harvest batch traceability for agribusiness — built as a per-tenant Business Central extension, installed 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 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.