Skip to main content
Thailand e-Tax Invoice & Receipt — An ECOSIRE-built AL extension that turns posted Business Central sales invoices, credit me — 1/1Illustrative preview

An ECOSIRE-built AL extension that turns posted Business Central sales invoices,

credit memos, and receipts into digitally signed Thai e-Tax Invoice & Receipt documents, delivers them to the buyer and your accredited channel, and keeps a compliant archive. Built to order for your Business Central version and your Thai tax setup.

What is Thailand e-Tax Invoice & Receipt?

An ECOSIRE-built AL extension that turns posted Business Central sales invoices, credit memos, and receipts into digitally signed Thai e-Tax Invoice & Receipt documents, delivers them to the buyer and your accredited channel, and keeps a compliant archive. Built to order for your Business Central version and your Thai tax setup. 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

Table and page extensions on `Sales Invoice Header`, `Sales Cr.Memo Header`, and receipt documents carrying e-Tax status, authority reference, signing timestamp, certificate serial, and rejection reason
Dedicated `E-Tax Document` table holding one lifecycle row per issued document, linked back to the posted Business Central document it came from
XML payload composed from Business Central master data — customer Tax Registration No., 13-digit Tax ID, branch code, VAT Business and Product Posting Groups, unit of measure, line and VAT amounts
Digital signing against your ETDA-recognised certificate via HSM, PKCS#12 store, or your signing provider's API, with the certificate serial recorded on the document
Event subscriber on `OnAfterPostSalesDoc` that queues issuance asynchronously, so a provider outage never blocks posting
`Job Queue Entry` driven submission with retry, back-off, and native Business Central error visibility for your administrator
Rejection handling that writes the authority's reason onto the document and drives a guided correction workflow — credit memo and re-issue, or a corrected document referencing the original
One posting produces both the machine format (signed XML) and the human-readable buyer copy from a single source of truth
Configurable document-type coverage: tax invoice, receipt, tax invoice/receipt, credit note, debit note, and abbreviated tax invoice where in scope
API pages on REST API v2.0 / OData v4 exposing e-Tax status and document retrieval to Power Platform, Dataverse, or your archive of record
Compliant archiving of the signed payload and PDF with retention metadata, keeping the signature independently verifiable after the fact
Separate permission sets for issue, re-issue, and cancel, so segregation of duties survives an audit question
Setup page mapping your VAT posting setup and dimensions to the Thai tax fields, keeping tax logic in configuration rather than in code
Full audit trail of every submission attempt, response, status change, and acting user, queryable inside Business Central with no database export
Built and tested for current Business Central release waves on both SaaS and on-premises, with the signing path selected to suit the deployment

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Dynamics 365 Business Central.

  3. 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

Thailand's e-Tax Invoice & Receipt regime does not accept a PDF that merely looks like a tax invoice. The document must carry a digital signature backed by a certificate from an ETDA-recognised authority, must exist in a defined XML structure alongside the human-readable copy the buyer actually reads, must carry the seller's and buyer's 13-digit Tax IDs and branch codes exactly as registered, and must be retained in a form an auditor can reopen years later with the signature still verifiable. Dynamics 365 Business Central ships strong VAT posting, posting groups, and document numbering — but out of the box it has no concept of a Thai e-Tax payload, no signing pipeline, no submission channel, and no way to record that a specific posted document was accepted, rejected, or later cancelled. Teams close the gap with a spreadsheet, a service-bureau portal, and a person who re-keys invoice lines twice a day. That person is the compliance control, and they are also the single point of failure.

We build a per-tenant AL extension (or an AppSource-targeted app where you prefer that packaging) that makes e-Tax issuance a consequence of posting rather than a separate chore. Table and page extensions on Sales Invoice Header, Sales Cr.Memo Header, and your receipt documents add the fields the regime cares about: e-Tax status, authority reference, signing timestamp, certificate serial, rejection reason, and correction linkage. A dedicated E-Tax Document table holds one row per issued document with its full lifecycle. Codeunits do the real work: one composes the XML from Business Central master data (customer Tax Registration No., branch code, VAT Business and Product Posting Groups, unit of measure, line amounts, VAT amount, withholding where it applies), one handles signing against your certificate — HSM, PKCS#12 store, or your signing provider's API — and one handles transport to your ETDA-accredited service provider or the channel your tax advisor has approved. An event subscriber on OnAfterPostSalesDoc queues the document instead of blocking the posting routine, so a network outage at the provider never stops your users from invoicing.

The rest of the design is about what happens when things go wrong, because that is where most e-invoicing projects fail. Submission runs through a Job Queue Entry, so retries, back-off, and error visibility are native Business Central behaviour your administrator already knows how to read. A rejection lands back on the document as a status and a readable reason, with an action that walks the user through the correct remedy — a credit memo and re-issue, or a corrected document referencing the original — rather than letting someone quietly patch the XML by hand. The signed payload and the buyer-facing PDF are both retained, linked to the posted document, and exposed through API pages (REST API v2.0 / OData v4) so Power Platform flows, a Dataverse-connected portal, or your archive of record can pull them without touching the database. Permission sets keep issue, re-issue, and cancel as separate rights, which is what your auditor asks about first.

Everything is built for current Business Central release waves and works on SaaS as well as on-premises, with the signing component chosen to match: a SaaS tenant calls an external signing service, an on-premises deployment can use a local certificate store or HSM directly. Document composition, status lifecycle, job queue behaviour, API surface, and archiving are identical either way, so a group running both deployment models gets one pattern rather than two.

This is build-to-order, not an AppSource download. After a scoping call we confirm your Business Central version and deployment model, your accredited service provider or signing arrangement, which document types are in scope (tax invoice, receipt, tax invoice/receipt, credit note, debit note, abbreviated tax invoice), how your customer master carries Tax IDs and branch codes today, and what your retention obligation looks like. We then build the extension against your setup, deliver it to a sandbox for UAT with your finance team and tax advisor, and go live with a rollback plan in hand. Typical delivery is one working week from confirmed scope. You receive the full AL source for your Business Central version and the git repository — the compliance logic sitting between your ledger and the Revenue Department is not something you should have to rent back from a vendor.

What you get

  • Complete AL extension source code, compiled and tested against your specific Business Central version and deployment model
  • Installation and configuration on your sandbox and production environments, including permission sets, job queue entries, and provider/certificate wiring
  • Technical documentation: object ranges, table and codeunit design, event subscribers, API page contracts, and integration points for your developers
  • End-user guide covering issuance, status monitoring, rejection handling, correction workflow, and archive retrieval, plus a live training session for your finance team
  • UAT on a staging or sandbox environment with your finance team and tax advisor against real document scenarios, with a documented rollback plan
  • Post-go-live support window for defect fixes and configuration adjustment while your first real filing cycles run
  • Git repository handover with full commit history, so your team or any other partner can maintain and extend the extension
  • Deployment runbook covering re-publishing after a Business Central update wave and re-validating the signing path

Who this is for

Finance Manager / Controller, Thailand

Owns the VAT filing and the relationship with the tax advisor. Needs every posted invoice, receipt, and credit note to reach an accepted state, needs rejections visible the same day rather than at month end, and needs to answer 'show me this document exactly as it was signed' without calling IT.

Accounts Receivable Team Lead

Runs daily invoicing in Business Central and is the person currently re-keying documents into a service-bureau portal. Needs issuance to be a by-product of posting, a clear queue of what failed and why, and a correction path that never involves editing XML by hand.

IT Manager / Business Central Administrator

Responsible for the environment through every release wave. Needs a proper AL app with declared dependencies, permission sets, and job queue entries — not a customisation that breaks on the next update — and needs the source in a repository they control.

Regional Finance Lead / Shared Services

Operates Business Central across several countries and treats Thailand as one of many local obligations. Needs a consistent extension pattern, API access for group reporting, and an archive that satisfies the Thai retention requirement without standing up a separate local system.

How Thailand e-Tax Invoice & Receipt Compares

CriterionECOSIRECustom BuildCompetitorDynamics 365 Business Central Native
Time to a working solutionone working week from confirmed scope, built against your version and providerMonths of internal AL work competing with your team's existing backlogInstalls in a day, then weeks fitting your data and provider to its assumptionsNever — Business Central has no Thai e-Tax concept at all
Fit to your tax and master data setupMapped to your actual VAT posting setup, Tax IDs, branch codes, and document typesExact fit, if the developer understands both AL and the ETDA specificationFits the vendor's assumed data model; gaps become manual workaroundsVAT posting only; no Thai-specific fields exist
Source code ownershipFull AL source and git repository handed to you at deliveryYou own it outright, and you own every future fix as wellClosed source; you rent the compliance logic indefinitelyNot applicable
Signing and provider integrationBuilt for your certificate arrangement and accredited provider, SaaS or on-premisesWhatever your team has time to integrate and test properlyUsually tied to the vendor's own service or a short partner listNo signing capability whatsoever
Rejection and correction handlingStatus, reason, and a guided credit-memo or corrected-document flow with linkage recordedCommonly deferred to phase two, then handled by email and spreadsheetVaries widely; often a portal notification outside Business CentralNo submission, so no rejection concept
Resilience under provider outageAsynchronous job queue with retry and back-off; posting is never blockedDepends entirely on whether the team designed for failureOften synchronous, so a provider outage stops invoicingNot applicable
Update wave maintenanceOptional support covering re-validation each wave, or maintain it yourself with the sourceYour team re-validates against every wave and every spec changeVendor handles it, on the vendor's timeline and priceNothing to maintain, and nothing to rely on
Downstream access and reportingAPI pages on REST API v2.0 / OData v4 for Power Platform, Dataverse, and archivesBuilt only if scoped and funded up frontOften a closed portal with limited exportStandard Business Central APIs, carrying no e-Tax data

Frequently Asked Questions about Thailand e-Tax Invoice & Receipt

How long does delivery take?

This is a build-to-order extension, so nothing ships the moment you click. Typical delivery is one working week from confirmed scope — the clock starts once we have agreed your Business Central version and deployment model, your accredited service provider or signing arrangement, the document types in scope, and the state of your customer master data. Complex scenarios (several legal entities, unusual withholding treatment, a signing provider we have not integrated before) can extend that, and we tell you before you commit, not after.

Is this an AppSource app I can install today?

No. We build it for your environment, deliberately. Thai e-Tax issuance depends on which accredited service provider you use, how your certificate is held, how your customer master carries Tax IDs and branch codes, and which document types you actually issue. We package it as a per-tenant extension by default, or as an AppSource-targeted app if you prefer that governance model, and either way you receive the source and the git repository.

What about support and Business Central update waves?

Every engagement includes a post-go-live support window for defects and configuration adjustment while your first real filing cycles run. Beyond that we offer an ongoing support and maintenance arrangement covering re-compilation and re-validation against each Business Central release wave, changes to the ETDA or Revenue Department specification, and provider API changes. Because you hold the source and the repository, you can equally maintain it in-house or with another partner — there is no lock-in built into the code.

Does it work on Business Central SaaS as well as on-premises?

Yes, with the signing path chosen to match. On SaaS, signing is performed by calling your accredited signing service or provider API from the extension, since a SaaS tenant cannot host a local certificate store. On-premises, the extension can use a local PKCS#12 store or an HSM directly. Document composition, status lifecycle, job queue behaviour, API pages, and archiving are identical in both cases.

What happens when a document is rejected?

The rejection comes back onto the Business Central document as a status and a readable reason, and the document sits in a failed queue rather than disappearing. From there the extension drives the correct remedy — a credit memo and re-issue, or a corrected document referencing the original — and records the linkage so the audit trail shows what replaced what. Nobody edits a signed payload by hand; that path does not exist in the design.

Can we get the e-Tax data out of Business Central for our own systems?

Yes. The extension exposes API pages built on REST API v2.0 / OData v4 covering e-Tax status and document retrieval, so Power Platform flows, a Dataverse-connected portal, a group reporting warehouse, or your archive of record can read them without direct database access. If you need a particular payload shape for an existing downstream system, raise it during scoping and we build it into the API surface.

Do we need to change how our team works in Business Central?

Very little. Users post sales invoices, credit memos, and receipts exactly as they do now — issuance is triggered by an event subscriber on posting and runs asynchronously through a job queue entry. The genuinely new work is monitoring: someone owns the failed-document queue and works rejections. We cover that role explicitly in the user guide and the training session, because a compliance feature nobody watches is not a compliance feature.

Request a quote

Thailand e-Tax Invoice & Receipt

An ECOSIRE-built AL extension that turns posted Business Central sales invoices, credit memos, and receipts into digitally signed Thai e-Tax Invoice & Receipt documents, delivers them to the buyer and your accredited channel, and keeps a compliant archive. Built to order for your Business Central version and your Thai tax setup.

  • Table and page extensions on `Sales Invoice Header`, `Sales Cr.Memo Header`, and receipt documents carrying e-Tax status, authority reference, signing timestamp, certificate serial, and rejection reason
  • Dedicated `E-Tax Document` table holding one lifecycle row per issued document, linked back to the posted Business Central document it came from
  • XML payload composed from Business Central master data — customer Tax Registration No., 13-digit Tax ID, branch code, VAT Business and Product Posting Groups, unit of measure, line and VAT amounts
  • Digital signing against your ETDA-recognised certificate via HSM, PKCS#12 store, or your signing provider's API, with the certificate serial recorded on the document

Request a Quotation

Tell us about your Thailand e-Tax Invoice & Receipt requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.