A configurable VAT/sales-tax return preparation and statutory reporting pack for ERPNext that maps your ledgers to box-by-box returns across multiple jurisdictions. ECOSIRE builds, installs, and supports it for your ERPNext instance after a scoping call. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.
Illustrative previewA configurable VAT/sales-tax return preparation and statutory reporting pack for ERPNext that maps your ledgers
to box-by-box returns across multiple jurisdictions.
ECOSIRE builds, installs, and supports it for your ERPNext instance after a scoping call.
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.
Finance teams filing VAT or sales-tax returns across more than one country quickly hit the edge of what ERPNext gives out of the box. Native ERPNext tracks tax through the Sales Taxes and Charges and Purchase Taxes and Charges tables and can produce a generic tax report, but it has no concept of a jurisdiction-specific return layout — the numbered boxes of a UK VAT100, a UAE FTA VAT201, an EU-style return, or a country SAF-T file. Teams end up exporting the General Ledger to spreadsheets every period, hand-mapping tax accounts to return boxes, and manually reasoning about reverse-charge, import VAT, and partial exemption. That work is slow, error-prone, and impossible to audit cleanly.
The VAT/Tax Return Filing & Reports Pack is a proper Frappe app (its own module, DocTypes, and hooks.py) that ECOSIRE builds to your jurisdictions. At its core is a configurable mapping layer: a Tax Return Template DocType defines the boxes for a given country and return type, and child-table rules map each box to a set of tax accounts, tax rates, item tax templates, and transaction directions (sale/purchase, standard/reduced/zero/exempt, domestic/import/reverse-charge). A Tax Return transaction DocType then runs against a selected company and period, aggregates the underlying GL Entry and tax-detail rows through that mapping, and produces a box-by-box return you can review, adjust, lock, and export. Reverse-charge and import VAT are handled explicitly — the mapping can post both the output and input legs of a reverse charge to the correct boxes so the net is correct without double counting.
Technically, the pack is built for Frappe/ERPNext v15 and v16. Aggregation runs in whitelisted server-side methods (parameterized queries, never string-built SQL), exposed over the Frappe REST API so returns can be generated or fetched programmatically. hooks.py doc events guard period integrity — once a Tax Return is submitted and the period is locked, controllers block back-dated edits to tax transactions in that window, and any correction flows through a controlled Tax Adjustment Entry that lands in the next open return. Client scripts drive the return workspace UI (recalculate, drill from a box down to the contributing invoices, flag variances). Role profiles and permission rules separate who can prepare a return from who can lock and file it, and scheduler events can pre-stage draft returns and send period-end reminders. Where a jurisdiction needs a machine-readable file, the pack ships SAF-T / tax-audit-file export scaffolding you extend to the exact schema.
Because this is build-to-order, you are not downloading a fixed marketplace app. After a short scoping call we confirm your jurisdictions, return layouts, chart-of-accounts and tax mapping, and any audit-file format, then build and configure the app against your ERPNext instance. Typical delivery is 2-4 weeks from confirmed scope. You receive the installable source for your version, UAT on a staging copy of your data, a go-live window, and a support period — not a black box.
Owns VAT/sales-tax compliance across several registered entities and needs one consistent ERPNext-native way to produce each jurisdiction's return without exporting to spreadsheets every period.
Prepares the actual returns and needs box-by-box figures they can drill into, reconcile against the GL, and defend in an audit — plus a clean path for post-lock adjustments.
Maintains the instance and wants a properly packaged Frappe app with clear DocTypes, permissions, and hooks that upgrades cleanly across v15/v16 rather than ad-hoc customizations.
Runs periodic filings for multiple ERPNext clients and needs configurable per-country templates and audit-file export scaffolding they can adapt per engagement.
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| Return layout | Box-by-box per jurisdiction via configurable `Tax Return Template` | Whatever you scope and build yourself | Usually one country's fixed layout | Generic tax report, no numbered-box return |
| Multi-jurisdiction | Multiple countries and return types from one template model | Possible but you build each one | Typically single-jurisdiction focus | No jurisdiction-specific concept |
| Reverse-charge & import VAT | Explicit two-leg mapping and separate import-VAT boxes | Depends on your build effort | Varies; often partial | Manual, spreadsheet-driven |
| Period lock & adjustments | `hooks.py` lock + forward-flowing `Tax Adjustment Entry` | Must be designed and built | Rarely enforced | No return-level period lock |
| Audit file / SAF-T | Export scaffolding extended to your schema | Built from scratch | Only if that country's app includes it | Not provided |
| Fit to your accounts | Mapped to your chart of accounts and tax templates in scoping | Fully bespoke | Assumes standard setup | Generic, unmapped |
| Ownership & support | You own the git repo; defined support window | You own it; you maintain it | Vendor-controlled, subscription | Community support only |
| Delivery | Build-to-order, 2-4 weeks, UAT + rollback | Open-ended internal timeline | Instant install, generic fit | Already in ERPNext, limited |
This is a build-to-order product, not an instant download. After a scoping call to confirm your jurisdictions, return layouts, and tax mapping, typical delivery is 2-4 weeks from confirmed scope. Wider multi-country rollouts or custom audit-file formats can extend that, and we agree the timeline in the scoping document before work starts.
The pack is jurisdiction-configurable rather than fixed. We build the `Tax Return Template` boxes and account mappings for the specific countries and return types you tell us in scoping — for example UAE FTA VAT201, UK VAT100, EU-style returns, or GCC/regional sales-tax filings. Additional jurisdictions can be added later using the same template model.
We build for Frappe/ERPNext v15 and v16. We target the exact version and patch level of your instance so the app installs cleanly, and the code follows standard Frappe app conventions (DocTypes, `hooks.py`, whitelisted methods) so it survives routine upgrades.
Every build includes a post-go-live support window for defect fixes and configuration questions. Because you receive the full git repository, you own the code and can maintain it in-house or engage ECOSIRE for ongoing changes, version upgrades, or new jurisdictions under a separate support arrangement.
It reads from your existing tax data — `GL Entry` and the sales/purchase tax detail rows — so your day-to-day invoicing is unchanged. Once a return is submitted and its period is locked, `hooks.py` doc events block back-dated edits to tax transactions in that window; corrections flow through a controlled `Tax Adjustment Entry` into the next open return, so a filed period is never silently altered.
The pack produces the box-by-box figures and, where scoped, machine-readable audit-file/SAF-T output. Direct e-filing depends on whether the authority exposes an API and what accreditation it requires. Where a supported filing API exists we can scope an integration on top of the return output; otherwise the pack prepares the exact figures and file for submission through the authority's portal.
Yes. Reverse-charge is mapped so both the notional output and the reclaimable input legs post to the correct boxes, giving the right net without double counting. Import VAT is treated separately from domestic input tax so postponed or deferred import accounting maps to the boxes your jurisdiction requires.

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 configurable VAT/sales-tax return preparation and statutory reporting pack for ERPNext that maps your ledgers to box-by-box returns across multiple jurisdictions. ECOSIRE builds, installs, and supports it for your ERPNext instance after a scoping call.