- Inicio
- Apps
- Specialized Solutions
- Pharmacy Retail Management
Vista previa ilustrativaA build-to-order Dynamics 365 Business Central extension that adds first-expiry-first-out dispensing,
near-expiry alerting and returns, keyboard-fast counter billing, supplier scheme costing and configurable regulatory registers.
ECOSIRE builds it for your Business Central version, installs it, and hands over the AL source.
¿Qué es Pharmacy Retail Management?
A build-to-order Dynamics 365 Business Central extension that adds first-expiry-first-out dispensing, near-expiry alerting and returns, keyboard-fast counter billing, supplier scheme costing and configurable regulatory registers. ECOSIRE builds it for your Business Central version, installs it, and hands over the AL source. 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.
Características clave
Hecho a medida, listo para ti
Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.
- 1
Haces el pedido
Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.
- 2
Creamos e instalamos
ECOSIRE la crea, la configura y la instala en tu Dynamics 365 Business Central.
- 3
En marcha + soporte
Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.
Sobre este producto
A pharmacy loses money in two places that Dynamics 365 Business Central does not watch on its own: the batch that quietly reaches its expiry date on the shelf, and the supplier scheme whose bonus quantity never reaches the cost of the goods you actually sold. Business Central ships genuine item tracking — lot numbers, expiration dates, item tracking lines, and expiration-date checks on posting — but it stops at the level of a distributor. There is no first-expiry-first-out suggestion when a counter assistant scans a strip, no near-expiry worksheet that proposes returns to the supplier while the credit window is still open, no representation of a "buy 10 get 1 free" scheme in the costing chain, and no concept of a schedule-wise sale register that a drug inspector will ask for. Counter staff also cannot work at the pace a queue demands on a standard Sales Order page, which is built for a keyboard-patient back office, not a Saturday evening rush.
Pharmacy Retail Management is an AL extension that ECOSIRE builds for your Business Central tenant to close exactly those gaps. Batch and expiry control is layered on top of native item tracking rather than replacing it: table extensions on Item, Item Ledger Entry and Tracking Specification carry the pharmacy attributes (schedule class, pack size, strip conversion, supplier batch reference), while an event subscriber on the item tracking assist-edit proposes the correct lot by earliest expiry and refuses lots already past their date or inside a configurable quarantine window. A dedicated counter page — a single-screen card with barcode entry, running total, substitution lookup and a keyboard-first layout — posts through the standard sales posting codeunits, so your general ledger, VAT and inventory valuation stay exactly where Microsoft put them. Nothing about the posting routine is forked.
On the purchase side, a scheme table extension records bonus quantity, slab discounts and free-goods lines against purchase lines, and a costing codeunit distributes that value across the received batch so the unit cost you see is the cost you actually paid. A margin-by-batch page then reports realised margin per lot, per supplier and per schedule category, drawing on posted value entries rather than a parallel set of numbers. A job queue entry runs nightly to rebuild near-expiry buckets you define (for example 90, 60 and 30 days), writes a Near-Expiry Worksheet with proposed supplier return lines, and can send the summary through Power Automate. Regulatory registers are defined as configurable register templates over posted ledger entries, exported to Excel or read externally through API pages published on REST API v2.0 and OData v4, which also makes the data available to Power BI and Dataverse without a separate integration project.
This is a build-to-order product, not an existing Microsoft AppSource download. Nothing installs until you request a quotation and we agree the scope. We start with a short scoping call to confirm your Business Central version and deployment (SaaS or on-premises), your counter workflow, your supplier scheme types, and which registers your regulator actually requires — because a register that is correct in one jurisdiction is worthless in another. We then build the extension against your version, install it to your sandbox for UAT with your own item and batch data, and only move to production once you sign off. Typical delivery is one working week from confirmed scope, and you receive the full AL source in your own git repository at handover.
lo que obtienes
- Complete AL extension source code, targeting your Business Central version (SaaS or on-premises), with app.json, permission sets and translation files
- Installation and configuration on your sandbox and production environments, including job queue entries, number series and posting setup
- Technical documentation: object ID ranges, table and page extensions, event subscribers, API page endpoints, and upgrade codeunit notes
- End-user guide for counter staff and purchase staff, plus one live training session recorded for future hires
- UAT script executed on your sandbox against your own item and batch data, with a documented rollback plan before production install
- Post-go-live support window covering defect fixes and configuration adjustments on the delivered scope
- Handover of the private git repository containing the full commit history, branches and build pipeline configuration
- Retest and compatibility pass against the next Business Central release wave during the support window
¿Para quién es esto?
Independent or multi-branch retail pharmacy owner
Runs two to twenty counters and already lives in Business Central for accounting. Loses margin to expired stock and to supplier schemes nobody reconciles. Needs the expiry write-off number to fall, and needs to see which supplier's schemes are actually worth taking, without hiring an in-house AL developer.
Pharmacist-in-charge
Legally accountable for what leaves the counter. Needs schedule-wise and controlled-substance registers that can be produced on demand for an inspection, needs expired lots to be impossible to dispense rather than merely discouraged, and needs an audit trail showing who overrode what and why.
Purchase and inventory manager
Negotiates bonus-quantity and slab schemes with distributors and currently reconciles them in a spreadsheet. Needs the free goods reflected in landed unit cost so reported margin is real, plus a near-expiry worksheet that proposes returns while the supplier credit window is still open.
Business Central partner or internal IT lead
Owns the tenant and answers for every extension installed in it. Needs an AL extension built on event subscribers rather than base-object changes, with documented object ranges, permission sets, API pages and an upgrade codeunit — and the source in a repository they control.
Cómo se compara Pharmacy Retail Management
| Criterio | ECOSIRE | Construcción personalizada | Competidor | Nativo de Dynamics 365 Business Central |
|---|---|---|---|---|
| Batch and expiry control at the counter | Item tracking wired into a fast POS-style sales page with FEFO batch suggestion and hard blocks on expired lots | Achievable, but the FEFO picking logic and counter page are the bulk of the build effort | Usually strong on tracking, weaker on the pharmacy counter workflow itself | Lot no. and expiration date exist on item tracking lines, but no FEFO suggestion and no counter-speed entry |
| Near-expiry visibility | Job queue entry recalculates expiry buckets nightly and writes a Near-Expiry Worksheet plus supplier return proposals | Report and job queue codeunit must be written and tuned per pharmacy | Often a static report with fixed day bands you cannot change | Item Expiration Date is filterable in Item Ledger Entries; no buckets, no worksheet, no alerting |
| Supplier schemes and real margin | Scheme table extension on purchase lines (bonus qty, slab discounts) feeding landed unit cost and a margin-by-batch page | Costing interplay with Business Central's average/FIFO valuation is the hard part and is easy to get wrong | Typically discounts only; bonus-quantity schemes rarely modelled | Line and invoice discounts, item charges; free-goods schemes must be keyed manually |
| Regulatory sale registers | Configurable register definitions (schedule/controlled categories) posted from ledger entries, exported to Excel or via API page | Register formats change by jurisdiction; each variation is another change request | Locked to the markets the publisher targets | No pharmacy register concept; would be built from raw ledger queries |
| Integration surface | API pages on REST API v2.0 for dispensing, batch and register data, usable from Power Automate and Dataverse | Depends entirely on whether the developer bothered to expose API pages | Publisher-defined endpoints; extension usually not permitted | Standard v2.0 endpoints for items, sales and vendors only |
| Fit to your workflow | Scoped to your counter steps, schemes and registers before any AL is written | Fully bespoke, and fully your cost to specify, build and maintain | You adapt the pharmacy to the app, or pay for a customisation on top | You adapt the pharmacy to standard sales order and item tracking pages |
| Upgrade and release-wave handling | Built on event subscribers and extension objects; retested against each release wave in your sandbox | Retesting each wave is an unbudgeted internal task that usually slips | Publisher upgrades on their schedule, which may not match your go-live | Microsoft handles it, because there is nothing extra to upgrade |
| Source code and exit | Full AL source handed over in your git repository, with the app.json and permission sets | You own the code, and the knowledge sits with whoever wrote it | Compiled app only; no source, ongoing subscription | Not applicable |
Preguntas frecuentes sobre Pharmacy Retail Management
How long does delivery take?
This is build-to-order, so nothing is downloadable today. Typical delivery is one working week from confirmed scope — that is, from the point where we have agreed the counter workflow, scheme types, register formats and your Business Central version in writing. Wider scope, unusual regulatory registers, or a hardware integration (label printers, barcode scanners, fiscal devices) can extend that, and we will tell you before you commit rather than after.
Will this work on my Business Central version, and does it support on-premises?
We build against the version you actually run. The extension targets current Business Central release waves on SaaS, and we also build for on-premises deployments — the AL object model is the same, though on-premises installs need your own object ID range and a deployment step through the Business Central Administration Shell rather than the admin centre. We confirm your version, localisation and any other installed extensions during the scoping call, because object ID collisions and event conflicts are cheaper to find then.
Does it replace Business Central's item tracking or sales posting?
No, and deliberately so. The extension sits on top of native item tracking (lot numbers, expiration dates, item tracking lines) and posts through the standard sales posting codeunits. Your inventory valuation, VAT and general ledger behave exactly as Microsoft intended. We add pharmacy-specific fields via table and page extensions and hook behaviour in through event subscribers, so nothing in the base application is modified.
What happens to the extension when Microsoft ships a new release wave?
Because the extension is built on event subscribers and extension objects rather than modified base objects, most release waves require no change at all. During your support window we retest the extension against the next release wave in your sandbox and fix anything the wave breaks. After the window, we offer an annual maintenance option covering the same retest, or you can maintain it yourself — you hold the full AL source, so you are not locked in.
How is support handled after go-live?
The quotation includes a post-go-live support window covering defect fixes and configuration adjustments on the delivered scope — an expiry bucket that needs a different day band, a register column your inspector asked for, a scheme type that behaves differently than the example we were given. New capability outside the agreed scope is quoted separately, so you always know which side of the line a request falls on before work starts.
Can the pharmacy data reach Power BI or an external app?
Yes. We publish API pages on the Business Central REST API v2.0 surface for the dispensing, batch and register data, which makes the same data reachable from Power BI, Power Automate, Dataverse and any external client that can speak OData v4. That is part of the build rather than a later add-on, so a head-office dashboard or a loyalty app does not need a separate integration project.
Do I get the source code?
Yes. At handover you receive the complete AL source — app.json, table and page extensions, codeunits, permission sets, translations and the build pipeline configuration — in a private git repository that you own. Another developer can pick it up and continue, which is the practical difference between this and a compiled AppSource subscription.
Módulos relacionados

PayTabs Payment Gateway for Business Central
A custom-built AL extension that embeds PayTabs MENA payment processing inside Microsoft Dynamics 365 Business Central — invoice payment links, card and local payment methods, webhook confirmation, automatic ledger reconciliation and refunds — installed and supported by ECOSIRE on your tenant.

Peppol E-Invoicing Connector for Business Central
A per-tenant AL extension that connects Business Central to the Peppol access-point network — outbound BIS 3 / XRechnung / FatturaPA generation, certified access-point delivery, inbound receipt and posting, and SMP participant lookup. Built, installed and supported by ECOSIRE on your tenant.

Point of Sale (Retail POS) for Business Central
A custom-built omnichannel retail POS extension for Dynamics 365 Business Central, with offline mode and real-time inventory and finance integration. Built, installed as a per-tenant AL extension, and supported by ECOSIRE on your own BC environment.

Poultry Farm Management for Dynamics 365 Business Central
A build-to-order AL extension that gives Dynamics 365 Business Central a real poultry operating model: flock and batch registers, daily feed and mortality logs, egg and bird production with grading, and per-flock profitability. ECOSIRE scopes, builds, installs and supports it for your tenant.
Pharmacy Retail Management
A build-to-order Dynamics 365 Business Central extension that adds first-expiry-first-out dispensing, near-expiry alerting and returns, keyboard-fast counter billing, supplier scheme costing and configurable regulatory registers. ECOSIRE builds it for your Business Central version, installs it, and hands over the AL source.
- First-expiry-first-out lot suggestion injected into item tracking through an event subscriber, with hard blocking of expired and quarantine-window lots at posting
- Table extensions on Item, Item Ledger Entry and Tracking Specification carrying schedule class, pack size, strip-to-pack conversion and supplier batch reference
- Keyboard-first counter billing page with barcode entry, running total and generic substitution lookup, posting through the standard sales posting codeunits
- Configurable near-expiry buckets (for example 90/60/30 days) rebuilt nightly by a job queue entry and surfaced on a Near-Expiry Worksheet