A build-to-order ERPNext integration that submits your Sales Invoices to Jordan's ISTD JoFotara national e-invoicing platform, generates ISTD-schema UBL, and returns the cleared invoice UUID and QR back onto the document. ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15 or v16 site. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $399.00 USD; request a quote for a scoped proposal.
Illustrative previewA build-to-order ERPNext integration that submits your Sales Invoices to Jordan's ISTD JoFotara national
e-invoicing platform, generates ISTD-schema UBL, and returns the cleared invoice UUID and QR back onto the document.
ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15 or v16 site.
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.
If your business is mandated onto Jordan's ISTD JoFotara platform, every taxable Sales Invoice now has to be transmitted to the national system, cleared, and stamped with an official invoice UUID and QR before it is legally valid. ERPNext out of the box has no idea JoFotara exists: it produces its own invoice numbering and print formats, but it cannot build the ISTD-mandated UBL XML, cannot call the JoFotara API, cannot carry the returned UUID, and cannot reconcile Sales tax, General tax, and Special tax the way the ISTD schema expects. Teams end up re-keying every invoice into a government portal by hand, which is slow, error-prone, and impossible to audit at volume.
ECOSIRE builds a proper Frappe app that closes that gap end to end. We ship it as a real app in your bench (its own module, not loose customizations), so it upgrades cleanly and is fully reversible. The core is an ISTD-compliant UBL generator that maps ERPNext's Sales Invoice, Customer, Item, and Sales Taxes and Charges data onto the JoFotara invoice schema, including the Sales/General/Special tax categories, buyer tax identifiers, and rounding rules. A hooks.py on_submit doc event (with an optional manual "Submit to JoFotara" action for controlled rollouts) signs and posts the UBL to the JoFotara API, handles the clearance response, and writes the returned invoice UUID, QR payload, and submission status back onto the Sales Invoice via dedicated custom fields. The QR is rendered into your print format so the customer-facing PDF carries the official mark.
Under the hood the integration is built the Frappe way. Credentials and the environment toggle (sandbox vs production ISTD endpoints) live in a single settings DocType with encrypted password fields and permissions locked to an accounting/compliance role profile. A JoFotara Submission Log DocType records every request/response, HTTP status, UUID, and error detail so failures are diagnosable instead of silent. Whitelisted server methods expose submit, re-submit, and status-check actions that your users trigger from the form or that we call over the Frappe REST API; a scheduler event sweeps invoices left in a pending or failed state and retries or flags them for review. Client scripts surface status badges and block invalid submissions before they reach the government system. Credit notes / returns are mapped to the corresponding JoFotara cancellation flow where the ISTD rules allow it.
Because this is build-to-order, nothing ships blind. We start from your actual chart of accounts, tax templates, company tax registration, and invoice volume, confirm the exact ISTD scope that applies to you, then build against a staging copy of your site. You get the installable app source for your version, install and configuration on your environment, UAT sign-off on staging before we touch production, and a post-go-live support window. Typical delivery is 2-4 weeks from confirmed scope, targeting Frappe/ERPNext v15 or v16.
Runs a company that has been brought onto the ISTD JoFotara platform and needs every Sales Invoice cleared and stamped without hand-keying into the government portal. Wants compliance handled inside the ERPNext they already run.
Owns invoice accuracy and the tax close. Needs correct Sales/General/Special tax mapping, an audit trail of every submission, and a reliable retry path when JoFotara rejects or times out — not silent failures.
Maintains the Frappe bench and site. Wants a clean, upgrade-safe app (its own module, encrypted settings, whitelisted methods) rather than scattered customizations, with a git handover they can support after go-live.
Oversees several Jordanian legal entities on one or more ERPNext sites and needs consistent JoFotara clearance, per-company credentials, and centralized submission monitoring across all of them.
| Criterion | ECOSIRE | Custom Build | Competitor | ERPNext Native |
|---|---|---|---|---|
| JoFotara / ISTD compliance | Built to the ISTD UBL schema and clearance flow for your setup | Depends entirely on your developer's ISTD knowledge | Generic e-invoicing app, rarely Jordan-specific | No awareness of JoFotara at all |
| Tax mapping (Sales/General/Special) | Mapped from your real tax templates and verified in UAT | Hand-coded, error-prone without domain expertise | Assumes a standard model that may not match yours | Standard ERPNext tax only, no ISTD categories |
| UUID + QR handling | UUID and QR written back onto the invoice and print format | Must be built and tested from scratch | Sometimes partial, often not on the PDF | Not supported |
| Error handling & audit | Submission-log DocType, retries, readable errors | Only as good as what you commission | Varies; often a black box | None |
| Fit to your site | Built against a staging copy of your v15/v16 site | Fully bespoke but on your budget and timeline | One-size-fits-all, limited configuration | Generic core, no Jordan features |
| Support & ownership | Support window + git handover you fully own | You own it but also maintain it alone | Vendor lock-in, subscription-dependent | Community support only |
| Upgrade safety | Standalone app, reversible, version-targeted | Risk of loose customizations breaking on upgrade | Depends on vendor's upgrade cadence | n/a — feature absent |
| Time to value | 2-4 weeks from confirmed scope | Often longer; depends on hiring and iteration | Fast to install but slow to fit correctly | Immediate but non-compliant |
No. This is a build-to-order engagement. ECOSIRE scopes the work against your actual ERPNext setup, tax templates, and JoFotara registration, then builds, installs, and supports it. There is no instant marketplace download — the result is a version-specific app configured for your environment.
Typical delivery is 2-4 weeks from confirmed scope. The exact timeline depends on your invoice complexity (tax categories, credit notes, multi-company), the state of your ERPNext data, and JoFotara credential provisioning. We confirm dates in writing after the scoping call.
Frappe/ERPNext v15 and v16. We build the app against your specific version so hooks, DocTypes, and REST behavior match your site. Tell us your version on the scoping call and we target it directly.
A `hooks.py` `on_submit` doc event (or a manual submit action) calls the JoFotara API with ISTD-schema UBL, handles the clearance response, and writes the invoice UUID and QR back onto the Sales Invoice. Credentials and the sandbox/production toggle live in an encrypted settings DocType; every call is recorded in a submission log DocType.
Failures are never silent. The invoice is flagged with a readable error, the full request/response is written to the `JoFotara Submission Log`, and a scheduler event sweeps pending/failed invoices to retry or flag them for review. Your team can re-submit from the form or over the REST API.
Every engagement includes a post-go-live support window for defect fixes and submission troubleshooting. Because JoFotara/ISTD rules and ERPNext both evolve, we also offer ongoing maintenance for schema changes and version upgrades — scoped separately after the initial window ends.
Yes, where the ISTD rules allow it. Credit notes and returns are mapped to the corresponding JoFotara cancellation flow, and the resulting status is written back onto the ERPNext document so your records and the national system stay in sync.

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 ERPNext integration that submits your Sales Invoices to Jordan's ISTD JoFotara national e-invoicing platform, generates ISTD-schema UBL, and returns the cleared invoice UUID and QR back onto the document. ECOSIRE scopes, builds, installs, and supports it on your Frappe/ERPNext v15 or v16 site.