A Canadian payroll extension for Dynamics 365 Business Central that calculates CPP, EI and federal/provincial income tax, then produces CRA-ready T4, T4A, ROE and PD7A remittance outputs. Built to order by ECOSIRE for your tenant, your provinces and your pay cycles. 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 Canadian payroll extension for Dynamics 365 Business Central that calculates CPP,
EI and federal/provincial income tax, then produces CRA-ready T4, T4A, ROE and PD7A remittance outputs. Built to order by
ECOSIRE for your tenant, your provinces and your pay cycles.
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.
Canadian employers running Dynamics 365 Business Central hit the same wall every year. Business Central ships strong general ledger, dimensions, bank reconciliation and vendor payment plumbing, but the Canadian localization does not calculate statutory payroll. There is no CPP contribution engine, no EI premium calculation, no federal and provincial income tax deduction logic honouring TD1 and TD1-provincial claim codes, and no T4, T4A or Record of Employment output. Finance teams end up exporting hours to a third-party payroll bureau, keying a summary journal back into the general ledger by hand, and rebuilding year-end boxes in a spreadsheet each January — with no audit trail linking a T4 box back to the pay run that produced it.
We build a payroll and year-end AL extension for your tenant. Deduction tables live in versioned setup tables (CPP Rate Setup, EI Rate Setup, Tax Bracket Setup) keyed by tax year and province of employment, so an annual CRA rate change is a data entry rather than a redeployment. A calculation codeunit implements the CRA's cumulative-averaging and bonus-tax methods, applies year-to-date pensionable and insurable earnings ceilings, prorates the CPP basic exemption by pay frequency, respects per-employee CPP and EI exemption flags, and handles QPP, QPIP, the Quebec provincial tax table and the reduced Quebec federal EI rate where the province of employment is QC. Earnings and deduction codes carry posting setup so each pay run posts one fully dimensioned journal to the correct G/L accounts, employer-cost accruals included. The employee card gains a table extension and page extension for SIN, province of employment, TD1 claim amounts, exemption flags, pay group and direct deposit banking, all gated by a dedicated permission set so payroll data is not visible to the whole finance team.
Year-end and interim outputs are generated from the same posted pay-run ledger that produced the general ledger entries — never re-keyed. T4 and T4A slips build box by box from a configurable box mapping table (boxes 14, 16, 18, 22, 24, 26, 44, 52 and the other-information codes), with a preview page for review, employee PDF slips, the CRA XML return for electronic filing, and an amended/cancelled slip path. Records of Employment assemble insurable hours and earnings across the correct number of pay periods for the employee's pay frequency, with reason codes and comments, ready for ROE Web. PD7A remittance summaries roll employee and employer CPP, EI and income tax by remitting period and remitter type, reconciling against posted G/L balances. Payslips render as PDF for email, and bank files export in CPA Standard 005 format with a header layout configured per your financial institution. Recurring work — payslip distribution, remittance reminders, ROE generation on termination — runs through job queue entries. API pages published over the REST API v2.0 / OData v4 endpoint expose pay runs, employee YTD balances and slip data to Power BI, Power Automate and Dataverse, so an HR system of record can feed employee changes in without double entry.
This is a build-to-order product, not a Microsoft AppSource download. After a scoping call we confirm your pay frequencies, provinces of employment, earnings and benefit codes, taxable benefit treatment, union or pension deductions, G/L posting map, bank file format and Business Central deployment model — SaaS online or on-premises. We then develop against your release wave, deliver as a per-tenant extension (or prepare an AppSource submission package if you want it published under your own publisher account), and install first on a sandbox copy of production. You run a parallel payroll against your current provider's register to the cent before anything posts to the live general ledger. Typical delivery is 2 to 4 weeks from confirmed scope, and year-end T4 work should be scheduled well ahead of the CRA filing deadline. You receive the full AL source and the git repository, so you are never locked to us.
Runs payroll for 50 to 500 employees across one or more provinces and is tired of re-keying a bureau's summary journal into Business Central every cycle. Wants statutory deductions and the general ledger posting to come from one system with a traceable audit trail from slip back to pay run.
Owns T4, T4A and ROE accuracy and signs off on the electronic return personally. Needs a box-by-box mapping they can inspect, a working amended-slip path, and slips that reconcile to posted G/L balances instead of a spreadsheet rebuilt every January.
Maintains the tenant and approves what gets installed. Cares that the extension uses event subscribers rather than base-application changes, ships with permission sets, survives release wave upgrades, and arrives with full source and a git repository.
Wants employee master data, pay history and direct deposit in one place, with API pages feeding Power BI headcount and labour-cost reporting and Power Automate driving onboarding and termination workflows.
| Criterion | ECOSIRE | Custom Build | Competitor | Dynamics 365 Business Central Native |
|---|---|---|---|---|
| Canadian statutory calculation (CPP, EI, income tax) | Purpose-built calculation codeunit with CRA cumulative averaging, YTD ceilings and per-employee exemptions | You build and validate the whole engine yourself, Quebec QPP and QPIP included | Usually present, but the logic is compiled and you cannot inspect or adjust it | Not available — Business Central does not calculate Canadian statutory deductions |
| T4, T4A and ROE output | Slips, CRA XML return and ROE Web export generated from the posted pay-run ledger with an inspectable box map | Box mapping and XML schema work is a substantial project of its own | Often included, but box mapping is fixed and amended slips can need vendor intervention | None — year-end forms are rebuilt outside Business Central |
| General ledger integration | One fully dimensioned posting batch with employer-cost accruals, from the same ledger that feeds the slips | Depends entirely on how carefully you build the posting routine | Varies; many post a summary journal that loses employee-level and dimension detail | Manual journal entry from a payroll bureau's summary report |
| Source code and ownership | Full AL source and git repository handed over at delivery | You own it, and you own every future fix | Compiled extension only; you depend on the vendor's roadmap | Not applicable |
| Fit to your earnings, benefit and deduction codes | Scoped to your actual codes, union and pension deductions and taxable benefit treatment before development starts | Exact fit by definition, at full development cost and timeline | Configuration within the vendor's model; unusual deductions may not fit at all | No payroll model to configure |
| Release wave upgrade safety | Event subscribers and table/page extensions only, with compatibility testing available under maintenance | Upgrade risk grows with every base-application touch point you add | Vendor handles it, on the vendor's schedule and sometimes behind the release | Nothing to break, and nothing to use |
| Data and reporting access | API pages over REST API v2.0 / OData v4 for Power BI, Power Automate and Dataverse | You design and publish the endpoints yourself | Often a fixed report set; API access may be limited or licensed separately | Payroll data lives outside Business Central entirely |
| Cost and time to value | Fixed scope, typically 2 to 4 weeks from confirmed scope, parallel run included | Months of development plus your own compliance validation burden | Fast to install, then a recurring per-employee subscription plus configuration effort | No licence cost, but no capability — you keep paying an external bureau |
This is a build-to-order extension, not an instant download. Typical delivery is 2 to 4 weeks from confirmed scope — from the point where your pay frequencies, provinces of employment, earnings and deduction codes, G/L posting map and bank file format are agreed in writing. Multi-province or Quebec-inclusive scopes and complex union or pension deductions sit at the longer end. Year-end T4 implementations should start well ahead of the CRA filing deadline so a parallel run fits comfortably before your first live slip.
Rates live in versioned setup tables keyed by tax year, so the annual refresh is a data entry task your payroll team can perform with no code change or redeployment. We seed the current-year tables at delivery and document the update procedure in the user guide. If the CRA changes a calculation method rather than a rate or ceiling, that is a code change and we handle it under a support or maintenance agreement.
Delivery includes a post-go-live support window with a named engineer covering defect fixes on the delivered scope. Beyond that we offer an optional annual maintenance agreement covering compatibility testing against Business Central's two yearly major release waves, CRA calculation-method changes, and T4/T4A XML schema revisions. You also receive the full AL source and git repository, so your own team or another partner can maintain it if you prefer.
Yes. The extension is written in AL using event subscribers and table and page extensions rather than base-application modification, so it installs cleanly on Business Central online as a per-tenant extension and on-premises against the same release wave. Tell us your deployment model and current version at the scoping call — the bank file export and any file-system integration are the main areas where the two deployments need different plumbing, and we configure that accordingly.
We recommend it and build the schedule around it. We install on a sandbox copy of your production environment, load year-to-date balances for your employees, and reconcile at least one full pay period — gross, each deduction, employer cost and net — against your current provider's register to the cent. Nothing posts to the live general ledger until that reconciliation is signed off.
No. ECOSIRE builds it for your tenant after a scoping call, because Canadian payroll configuration — earnings codes, taxable benefit treatment, union and pension deductions, the G/L posting map, bank file layout — differs enough between employers that a generic install would need heavy configuration anyway. If you want the result published to AppSource under your own publisher account, we can prepare the submission package as part of the engagement.
The extension publishes API pages over the Business Central REST API v2.0 / OData v4 endpoint for pay runs, employee year-to-date balances and slip data. Those endpoints are consumable from Power BI, Power Automate flows and Dataverse, so labour-cost and headcount dashboards read live data and an HR system of record can push employee changes in without double entry. Access is controlled by the extension's permission sets like any other Business Central API.

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 Canadian payroll extension for Dynamics 365 Business Central that calculates CPP, EI and federal/provincial income tax, then produces CRA-ready T4, T4A, ROE and PD7A remittance outputs. Built to order by ECOSIRE for your tenant, your provinces and your pay cycles.