A build-to-order AL extension that issues GRA E-VAT compliant invoices directly from Dynamics 365 Business Central, with tax mapping driven by your existing master data. ECOSIRE builds, installs and supports it after you request a quotation. 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 AL extension that issues GRA E-VAT compliant invoices directly from Dynamics 365 Business
Central, with tax mapping driven by your existing master data.
ECOSIRE builds, installs and supports it after you request a quotation.
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.
Ghana's E-VAT regime moved invoicing from something you print to something the Ghana Revenue Authority has to acknowledge before the document is valid. Finance teams running Dynamics 365 Business Central usually discover the gap at month end: the posted sales invoice is correct in the general ledger, but there is no fiscalised counterpart, no GRA reference on the customer's copy, and no defensible record of what was transmitted. The stopgap is a second system — a portal, a spreadsheet, or a third-party desktop tool — where someone re-keys invoices that Business Central already holds. That re-keying is where VAT rate mistakes, missing TIN details, duplicate submissions and unreconciled credit notes come from, and it is invisible to the ERP until an auditor asks.
Business Central out of the box handles Ghanaian VAT arithmetic well enough — VAT Posting Setup, VAT business and product posting groups, VAT statements and the VAT Entry ledger are all there. What it has no concept of is a document that must be registered externally, carry a state (queued, accepted, rejected), and be legally incomplete until the authority responds. There is no field to hold the GRA reference, no retry when a submission times out, no correction workflow when a document is rejected, and no archive of the exact payload that was sent. Localisation apps published for other markets do not fill this in for Ghana, and building it as one-off customisation tends to end up as code in a single company's tenant with no upgrade story.
We build this as a Business Central AL extension — delivered as a per-tenant extension or an AppSource-format app, whichever fits your deployment — that treats fiscalisation as a first-class document lifecycle. Table extensions on Sales Invoice Header, Sales Cr.Memo Header and their posted counterparts carry the E-VAT status, GRA reference, timestamp and response digest. Codeunit event subscribers on the posting flow (OnAfterPostSalesDoc and related publishers) hand the posted document to a submission codeunit rather than blocking the post itself, so a slow or unavailable authority endpoint never stops a shipment or a period close. A dedicated setup page maps your VAT posting groups, item and G/L account classifications, unit-of-measure codes and customer TIN fields onto the codes the E-VAT schema expects, so the mapping lives in configuration rather than in code. A Job Queue Entry drains the outbound queue on your schedule, applies bounded retries with backoff, and writes every attempt to an audit log. One posting produces both outputs: the human-readable invoice — a report layout carrying the GRA reference and verification code for the customer — and the machine format transmitted to the authority, derived from the same posted data so the two can never disagree.
Rejections are treated as a workflow, not an error dialog. A rejected document lands in an exceptions list with the authority's reason code and message resolved into readable text, an assignable owner, and a guided correction path — amend and resubmit, or issue a corrective credit note that carries the reference of the document it corrects. Nothing is silently retried into a duplicate. Every submission, response, retry and correction is retained with its payload in an archive table with its own permission set, so an audit question is answered from inside Business Central instead of from someone's inbox. Read access is exposed through API pages (REST API v2.0 / OData v4) so Power BI, a Power Automate flow or a Dataverse-connected app can report on compliance status without anyone opening a page.
This is build-to-order, not a download. It starts with a short scoping call where we confirm your Business Central version and deployment (SaaS or on-premises), your VAT setup, which document types are in scope, and the GRA credentials and endpoints your entity uses. From confirmed scope, typical delivery is two to four weeks: we build against your release wave, install and configure it on your sandbox, run UAT with your finance team on real documents, then deploy to production with a rollback plan. You receive the AL source, the git repository, technical and user documentation, a training session, and a post-go-live support window during which we fix anything the live environment surfaces.
Owns the VAT return and the audit file. Needs every posted sales invoice to have a matching GRA acknowledgement, wants rejections visible and assignable rather than sitting in someone's email, and needs to answer an audit query from inside Business Central instead of reconstructing it from a portal.
Issues invoices and credit notes daily and cannot afford a compliance step that slows posting or forces re-keying into a second system. Needs the customer's copy to carry the GRA reference automatically and a clear, guided path when a document comes back rejected.
Responsible for the environment through release waves and update cycles. Wants a supportable AL extension with proper permission sets, job queue configuration, telemetry and source code in a repository — not undocumented customisation that blocks the next upgrade.
Runs Ghana alongside other jurisdictions in one Business Central tenant or across companies. Needs the Ghanaian E-VAT obligation handled per-company without disturbing VAT setup elsewhere, and needs compliance status reportable centrally through Power BI.
| Criterion | ECOSIRE | Custom Build | Competitor | Dynamics 365 Business Central Native |
|---|---|---|---|---|
| Fit to your Ghanaian VAT setup | Mapping built and tested against your actual posting groups and master data during UAT | Fits exactly, but only because your team spends the discovery effort themselves | Generic mapping assumptions; you adapt your setup to the app's expectations | VAT arithmetic only — no concept of an externally registered document |
| Rejection handling | Exceptions list with readable reason codes, assignable owner and guided correction | Whatever the internal build had budget for, often just an error log | Usually a status field and a manual resubmit button | No rejection concept exists |
| Duplicate submission risk | Idempotent on posted document number; retries and restarts cannot double-register | Depends entirely on whether the developer designed for it | Varies by vendor; often untested under job queue restart | Not applicable — no submission mechanism |
| Effect on posting performance | Decoupled via job queue; a slow endpoint never blocks posting or period close | Frequently built inline first, which surfaces as slow posting at month end | Mixed; some apps call the authority synchronously on post | Fast, but produces no compliant document |
| Source code and ownership | Full AL source and git repository handed over; no lock-in | You own it, and you also own every future fix and release-wave test | Closed binary; changes require a vendor roadmap request | Microsoft-owned platform code |
| Release wave upgrades | Built for your wave; ongoing agreement covers compatibility with new waves | Regression testing falls to your team each wave | Vendor updates on their schedule, not yours | Handled by Microsoft, but the gap remains unaddressed |
| Audit evidence | Immutable archive of every payload, response and correction, permission-set gated | Often a log table added late, after the first audit question | Typically status and reference only, not the transmitted payload | VAT Entries only; no record of what was transmitted |
| Reporting outside the ERP | API pages on REST v2.0 / OData v4 for Power BI, Power Automate and Dataverse | Possible, but usually deprioritised out of the first release | Rarely exposed; reporting stays inside the vendor's pages | Standard BC APIs, which carry no E-VAT status to report on |
This is a build-to-order extension, not an AppSource download. Typical delivery is two to four weeks from confirmed scope — that is, from the point where we have agreed the document types in scope, your Business Central version and deployment model, your VAT setup, and your GRA credentials and endpoints. The timeline covers development against your release wave, installation and configuration on your sandbox, UAT with your team, and production deployment. Scope that includes unusual document flows, multi-company rollout or additional integrations can extend it, and we tell you that during scoping rather than afterwards.
You get a post-go-live support window included, during which we fix defects and adjust configuration based on what real operation surfaces. Beyond that we offer an ongoing support and maintenance agreement covering GRA schema or endpoint changes, compatibility with new Business Central release waves, and enhancement work. Because you receive the full AL source and the git repository, you are never locked in — your own team or another partner can maintain it if you prefer.
Yes. On SaaS we deliver it as a per-tenant extension, or in AppSource format where your governance requires that; the same codebase targets on-premises deployments. We build against your current release wave and confirm the target platform and application versions during scoping, so what you install matches what you actually run.
No. Fiscalisation is decoupled from posting. Event subscribers on the posting flow enqueue the document rather than calling the authority inline, and a Job Queue Entry drains that queue on your schedule with bounded retries. If the GRA endpoint is slow or unavailable, invoices still post and ship; the documents sit in a queue with visible status and are submitted once the endpoint responds.
It goes into an exceptions list with the authority's reason code translated into readable text, and an assignable owner. From there you either amend and resubmit, or issue a corrective credit note that automatically carries the reference of the document it corrects — so the correction chain stays intact for audit. Nothing is silently retried into a duplicate, because submissions are idempotent on the posted document number.
Generally no. The extension reads your existing VAT posting groups, VAT product posting groups and customer master data, and maps them onto the E-VAT code set through a configuration page. Where your current setup is ambiguous for E-VAT purposes — for example a single posting group covering rates that the authority distinguishes — we identify that during scoping and agree the mapping or the minimal setup change with you before we build.
Yes. Compliance status and archive summaries are exposed through API pages using REST API v2.0 / OData v4, so Power BI can build a submission dashboard, Power Automate can raise an alert when the exceptions list grows, and Dataverse-connected apps can read the same data. Everything is under its own permission set, so read access can be granted without granting invoicing rights.

Configurable, rule-based approval matrices for every Business Central document type, with per-workflow approvers, amount limits, delegation, and email/mobile responses. Built and installed by ECOSIRE as a per-tenant AL extension.

A build-to-order AL extension that brings Adyen's 150+ global payment methods and unified settlement reconciliation into Business Central accounts receivable, complementing the first-party D365 Commerce Adyen connector.

A build-to-order Business Central extension that registers affiliates and referrers, attributes sales to referral codes and links, calculates tiered commission, and posts payouts as vendor invoices — installed per-tenant and supported by ECOSIRE.

A build-to-order AL extension that adds localized, multi-country African payroll to your Business Central tenant — per-country PAYE and statutory deductions, multi-currency multi-entity runs, statutory filing exports, and employee self-service payslips.
A build-to-order AL extension that issues GRA E-VAT compliant invoices directly from Dynamics 365 Business Central, with tax mapping driven by your existing master data. ECOSIRE builds, installs and supports it after you request a quotation.