A build-to-order Frappe app that turns a submitted ERPNext Sales Invoice into a signed, ETDA-compliant Thai e-Tax Invoice or Receipt — machine format for the Revenue Department, human-readable PDF for the customer, and a full archive for audit. ECOSIRE builds, installs and supports it after you request a quotation. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.
Illustrative previewA build-to-order Frappe app that turns a submitted ERPNext Sales Invoice into a signed,
ETDA-compliant Thai e-Tax Invoice or Receipt — machine format for the Revenue Department, human-readable PDF for the customer, and a full archive for audit.
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 ERPNext.
You go live in about 2–4 weeks, with a post-launch support window.
Thai VAT registrants who opt into e-Tax Invoice & Receipt carry an obligation that native ERPNext was never designed for. Core ERPNext gives you a Sales Invoice, a print format and a Sales Taxes and Charges Template — it does not produce a digitally signed electronic document in the structured format the Revenue Department expects, it has no concept of a signing certificate or timestamp, no submission and acknowledgement lifecycle, no rejection-and-correction path, and no tamper-evident archive that survives a records inspection. Finance teams fill that gap with a spreadsheet, a third-party portal and a lot of re-keying: the invoice is posted once in ERPNext, then typed again somewhere else, and the two versions drift. The month you are audited is the month that drift becomes expensive.
We build a proper Frappe app — its own repository, its own module, migrated with bench migrate like any other app — rather than a pile of loose customizations that a version upgrade wipes out. The app introduces DocTypes for the compliance layer: a Thailand E-Tax Settings single for the company profile, tax ID, branch code and issuing options; a Thailand E-Tax Certificate holding the signing credential reference and validity window; and a Thailand E-Tax Document that is the per-transaction record of what was generated, signed, delivered and acknowledged, with its own workflow states and a link back to the source Sales Invoice or Payment Entry. Nothing about the accounting posting changes — your GL, VAT reports and receivables stay pure ERPNext.
Generation hangs off hooks.py doc events. on_submit of Sales Invoice enqueues document generation on the Frappe background worker so the user is never blocked by a signing or network round trip; the tax mapping is derived from your existing master data (Customer tax ID and branch, Item tax templates, Sales Taxes and Charges rows) rather than re-entered, and a validate hook fails the submit early with a clear message when a mandatory Thai field is missing — a missing customer tax ID should stop the invoice, not the filing. One posting yields both outputs: the machine-readable structured document for the authority, and the human-readable PDF built from a dedicated Frappe Print Format so the customer sees the same numbers, with both artifacts attached to the record as File documents.
Digital signing is applied to the generated document before delivery, with the certificate handled server-side and never exposed to the browser. A scheduler event polls outstanding submissions and reconciles status; a rejection creates a linked correction document and reopens the workflow with the reason recorded, so nobody has to guess why a document bounced. Delivery to the customer runs through Frappe's Email Queue with the artifacts attached. Access is controlled by dedicated roles and a role profile — an AP clerk can generate and view, only a Tax Officer can sign or void — and whitelisted methods plus the standard Frappe REST API let an external portal or an in-house tool trigger generation and read status without database access. Client scripts add the buttons and status indicators to the Sales Invoice form so the whole thing lives where your finance team already works. Built and regression-tested for Frappe/ERPNext v15 and v16.
This is build-to-order, not a marketplace download. You request a quotation, we run a short scoping call, and we confirm scope in writing: which document types you issue, your certificate and service-provider arrangement, branch structure, delivery channels and any print-format requirements. From confirmed scope, typical delivery is two to four weeks. We build against your ERPNext version, deploy to a staging site for UAT with your own invoices, then go live with a rollback plan. You receive the full source code and the git repository — the app is yours, and you are never locked to us to keep it running.
Owns the e-Tax Invoice & Receipt obligation and is tired of invoices being posted in ERPNext and then re-typed into a separate portal. Needs one posting to produce both the customer's document and the authority's, with a status they can check without asking IT.
Runs a multi-company ERPNext instance where only the Thai entities carry the e-Tax obligation. Needs company- and branch-scoped settings, certificates and naming series so Thai compliance never leaks into the other books.
Will live with this app after go-live. Cares that it is a real app with DocTypes, hooks and tests rather than customizations that vanish on migrate, that the source and git history are handed over, and that whitelisted methods exist for the integrations they already maintain.
Answers to the auditor. Needs a tamper-evident archive, an audit trail showing who signed and when, a clear correction path for rejected documents, and permissions that keep signing authority separate from invoice entry.
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Thai e-Tax document generation | Structured machine format plus human-readable PDF from one ERPNext posting | Possible, but the format and lifecycle are designed from scratch by your team | Often a generic e-invoicing shell that still needs Thai-specific work | Not available — ERPNext ships a print format, not an electronic tax document |
| Digital signing | Server-side signing, certificate held in a dedicated DocType and never exposed to the browser | Depends entirely on how carefully the in-house developer handles the credential | Varies; some delegate signing to an external portal you must operate separately | No concept of a signing certificate or a signed document |
| Fit to your ERPNext data | Tax mapping derived from your Customer, Item tax template and taxes table — no re-keying | Fits by definition, at the cost of your team's build time | Assumes a standard setup; branch codes and custom fields usually need rework | The master data exists, but nothing consumes it for e-Tax purposes |
| Rejection and correction workflow | Reason recorded, linked correction document created, workflow reopened for a human decision | Usually deferred to phase two and handled in a spreadsheet until then | Frequently a blind retry or a status flag with no correction path | No submission lifecycle exists to reject against |
| Audit trail and archiving | Tamper-evident archive; every generation, signing and delivery logged by user and timestamp | Only as good as the logging someone remembered to add | Basic status history; archive retention often left to the customer | Standard document versioning only — not a compliance archive |
| Upgrade safety | Real Frappe app with DocTypes, hooks and `bench run-tests` unit tests; verified on v15 and v16 | Often Server Scripts and Customize Form tweaks that a migrate erases | Depends on the vendor's release cadence and their support for your version | Nothing to break, because nothing is there |
| Source code and ownership | Full source and private git repository handed over — extend or fork freely | You own it, and you also own every future fix | Typically licensed and closed; extensions go through the vendor | Open source, but the capability does not exist |
| Time and cost to production | Two to four weeks from confirmed scope, fixed quotation, UAT and rollback plan included | Months of internal effort plus the compliance research nobody budgets for | Fast to install, then slow while the gaps close through change requests | Immediate, but leaves the obligation unmet |
This is build-to-order — there is no instant download. After you request a quotation we run a short scoping call and confirm the scope in writing. From confirmed scope, typical delivery is two to four weeks, covering build, UAT on a staging site with your own data, and go-live. Complex multi-branch or multi-channel scopes can run longer, and we tell you that before you commit rather than after.
The quotation includes a post-go-live support window for defect fixes and configuration adjustments on the delivered scope. Because you receive the full source code and git repository, your own team can maintain and extend it. Beyond the included window we offer an optional annual maintenance arrangement covering compatibility with new Frappe/ERPNext releases and changes to Thai e-Tax requirements — quoted separately, so you are never locked in.
No. The signing certificate and any service-provider arrangement remain yours — we do not resell certificates or act as an intermediary. The app is built to integrate with the certificate and channel you already have or are procuring, and configuring that integration is part of the scoping call so there are no surprises during the build.
It is a proper Frappe app in its own repository with its own DocTypes, hooks and tests — not a set of Customize Form tweaks or Server Scripts that a migrate overwrites. We build against your current version (v15 or v16) and ship unit tests you can run with `bench run-tests`. Moving to a future major version is a compatibility exercise, covered under the optional maintenance arrangement or quoted as a small piece of work.
No. The compliance layer sits alongside the accounting layer. Your Sales Invoice, GL entries, VAT reports and receivables remain standard ERPNext; the app reads that data, generates and signs the electronic document, and records the lifecycle on its own DocType. If you ever uninstall the app, your books are unaffected.
Rejections are handled explicitly rather than retried blindly. The reason is recorded on the original `Thailand E-Tax Document`, a linked correction document is created, and the workflow reopens so a person decides what to fix. A scheduler event keeps outstanding submissions reconciled and surfaces failures in a queue your accountant can see, instead of leaving them buried in an error log.
Yes. The app exposes whitelisted methods alongside the standard Frappe REST API, so a customer portal, POS or in-house tool can request generation and read status over authenticated HTTP without direct database access. Endpoint scope and authentication are agreed during scoping and documented in the technical handover.

A build-to-order 2Checkout (Verifone) payment integration for ERPNext, giving global digital-goods sellers card acceptance, 45+ local payment methods, multi-currency checkout, and reconciled invoices. ECOSIRE scopes, builds, installs, and supports it on your ERPNext v15/v16 instance.

A build-to-order ERPNext application for anonymous 360-degree reviews — configurable peer, manager, report and self rater groups, weighted competency scoring, and aggregated gap-analysis and heatmap reports. ECOSIRE scopes, builds, installs and supports it on your Frappe/ERPNext v15/v16 instance.

A build-to-order ERPNext app that detects abandoned webshop and POS carts, then runs multi-channel WhatsApp, email, and SMS recovery and win-back sequences with dynamic cart content and coupon injection. ECOSIRE scopes, builds, installs, and supports it for your v15/v16 instance.

A build-to-order ERPNext app for running B2B account-based campaigns: define target-account lists, sequence outreach calls, auto-distribute them to agents, and score account engagement across every contact. ECOSIRE designs, builds, installs and supports it after you confirm scope.
A build-to-order Frappe app that turns a submitted ERPNext Sales Invoice into a signed, ETDA-compliant Thai e-Tax Invoice or Receipt — machine format for the Revenue Department, human-readable PDF for the customer, and a full archive for audit. ECOSIRE builds, installs and supports it after you request a quotation.