- Home
- Apps
- SaaS Tools
- VAT/Tax Return Filing & Reports Pack
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.
What is VAT/Tax Return Filing & Reports Pack?
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 $999.00 USD; request a quote for a scoped proposal.
Key Features
Built to order, done for you
No DIY setup — a working app, built, installed and supported by ECOSIRE.
- 1
You order
Start with a one-time build price. We scope it with you at kickoff.
- 2
We build & install
ECOSIRE builds, configures and installs it on your ERPNext.
- 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.
Technical Specifications
- ERPNext Compatibility
- —
- License
- Licence confirmation required
- Python Requirement
- Python 3.10+
- Database
- MariaDB 10.6+
About this Product
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 one working week 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.
What you get
- Installable source code (a Frappe app) built for your ERPNext v15 or v16 version, delivered as a git repository you own
- Installation and configuration on your instance, including tax-return templates and box mappings for your confirmed jurisdictions
- Technical documentation covering the DocTypes, mapping model, hooks, whitelisted API methods, and how to extend an audit-file export
- End-user guide plus a live training session for your finance team on preparing, reviewing, locking, and adjusting returns
- UAT on a staging copy of your data with a documented rollback plan before go-live
- A post-go-live support window for defect fixes and configuration questions
- Handover of the git repository with commit history and build/deploy notes
- A scoping document capturing the agreed jurisdictions, return layouts, and mapping decisions
Who this is for
Group finance manager, multi-country
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.
Tax / compliance accountant
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.
ERPNext system administrator
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.
External accounting firm serving GCC/EU clients
Runs periodic filings for multiple ERPNext clients and needs configurable per-country templates and audit-file export scaffolding they can adapt per engagement.
How VAT/Tax Return Filing & Reports Pack Compares
| 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, one working week, UAT + rollback | Open-ended internal timeline | Instant install, generic fit | Already in ERPNext, limited |
Frequently Asked Questions about VAT/Tax Return Filing & Reports Pack
How long does delivery take?
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 one working week 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.
Which jurisdictions and return types do you support?
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.
Which ERPNext versions does it run on?
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.
How are updates and support handled?
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.
Does it change how ERPNext posts tax, or how filed periods stay protected?
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.
Can we file directly to the tax authority from ERPNext?
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.
Can it handle reverse-charge and import VAT correctly?
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.
Related Modules

Universal Biometric Device Connector
A build-to-order Frappe app that syncs attendance from mixed biometric hardware — eSSL, Suprema, Hikvision, Matrix, Realtime and more — into ERPNext as clean Employee Checkin records. ECOSIRE scopes, builds, installs, and supports it for your device fleet.

USA 1099 & E-File Pack
A build-to-order ERPNext app that captures W-9/TIN data on suppliers, tags every bill and payment with the correct 1099 box, and produces e-file-ready output plus recipient copies at year end. ECOSIRE scopes, builds, installs and supports it on your Frappe bench.

Waiter Ordering App for ERPNext
A handheld tableside ordering app for ERPNext that lets servers fire orders to the kitchen the moment they take them from the floor. ECOSIRE builds, installs, and supports it against your ERPNext v15/v16 instance after we scope it with you.

WATI Connector for ERPNext
A build-to-order Frappe app that links WATI and ERPNext with two-way contact and chat sync, order and invoice notifications, template triggers from DocType events, and inbound-message capture into Leads or Tickets. ECOSIRE builds, installs, and supports it for your bench.
VAT/Tax Return Filing & Reports Pack
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.
- `Tax Return Template` DocType defining the numbered boxes for each country and return type, versioned so old periods keep the layout they were filed under
- Child-table mapping rules that bind each return box to specific tax accounts, tax rates, item tax templates, and transaction direction (sale/purchase, standard/reduced/zero/exempt)
- `Tax Return` transaction DocType that aggregates `GL Entry` and tax-detail rows for a company and period into a box-by-box output
- Explicit reverse-charge handling that posts both the notional output and reclaimable input legs to the correct boxes without double counting