Skip to main content
Jordan JoFotara E-Invoicing for Odoo — A build-to-order Odoo module that submits your invoices to Jordan's JoFotara national  — 1/1Illustrative preview

A build-to-order Odoo module that submits your invoices to Jordan's JoFotara national e-invoicing platform with

ISTD-compliant XML and embedded QR codes.

ECOSIRE builds, installs, and supports it around your chart of accounts and tax setup.

What is Jordan JoFotara E-Invoicing for Odoo?

A build-to-order Odoo module that submits your invoices to Jordan's JoFotara national e-invoicing platform with ISTD-compliant XML and embedded QR codes. ECOSIRE builds, installs, and supports it around your chart of accounts and tax setup. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Extends `account.move` with JoFotara clearance state, submission UUID, ISTD reference number, QR payload and error-log fields as stored, `@api.depends`-computed values
Serialises invoices into the ISTD-mandated JoFotara XML schema (seller/buyer TINs, line items, tax subtotals, totals, signature envelope)
Live submission to the JoFotara REST API with authenticated session handling, clearance-response parsing and stored fiscal reference
Line-level mapping of Jordanian general sales tax and special/income sales tax from your existing Odoo tax codes to JoFotara tax categories
Compliant QR code generation embedded into the customer invoice via a QWeb report override (PDF and portal)
Clearance lifecycle on the invoice: draft, submitted, cleared, rejected — with explicit resubmission and reason-of-rejection capture
Automated action / scheduled cron path for batch submission and automatic retry of transient API failures
Credential and endpoint configuration held in `res.config.settings` with sandbox vs production toggle, secrets kept server-side
Access control via `ir.model.access.csv` and record rules so only authorised accounting roles can submit, resubmit or view raw XML payloads
XML-RPC / JSON-RPC exposure of the submission method so external systems can trigger clearance programmatically
Multi-company and multi-branch aware: per-company taxpayer identifiers and endpoints
Credit-note / return handling that references the original cleared invoice per ISTD rules
Full audit trail: every submission request and response persisted for inspection and reconciliation
Built and tested against Odoo 17.0, 18.0 and 19.0 on both Community and Enterprise (Enterprise `account_edi` used where available)

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

  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.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

If your business trades in Jordan, the Income and Sales Tax Department (ISTD) mandate to clear invoices through the JoFotara national e-invoicing platform is not something you can satisfy from stock Odoo. Odoo Community and Enterprise handle Jordanian VAT/general sales tax on the accounting side, but neither ships a JoFotara connector: there is no ISTD-compliant XML export, no submission client for the JoFotara API, no clearance-status tracking on the invoice, and no QR code carrying the validated fiscal reference. Teams end up re-keying every account.move into the JoFotara portal by hand, which does not scale and breaks the moment invoice volume rises or an audit asks for a reconciled trail.

ECOSIRE builds a dedicated Odoo module that closes that gap end to end. We extend account.move with the JoFotara lifecycle — clearance state, submission UUID, ISTD invoice number, QR payload and error log — as stored fields driven by compute/@api.depends methods, so status is always derivable and auditable rather than typed in. On validation (or via a queued automated action), the module serialises the invoice into the ISTD-mandated XML structure: seller/buyer identifiers, tax registration numbers, line-level sales-tax and general-sales-tax mapping from your Jordanian tax codes, totals, and the required digital signature envelope. It calls the JoFotara REST API over an authenticated channel, parses the clearance response, stores the returned reference, and generates the compliant QR code that is embedded into the customer-facing invoice via a QWeb report override. Retries, rejection reasons and resubmission are handled explicitly so a failed clearance never silently blocks your billing.

Technically the module is a clean, upgrade-safe addon: a proper __manifest__.py declaring dependencies on account, models under models/ using models.Model with typed fields, access control through ir.model.access.csv plus record rules so only authorised accounting users can resubmit or view raw payloads, backend views and an OWL status widget for at-a-glance clearance state, and server-side automated actions for bulk/scheduled submission. Because JoFotara is a live external system, we also expose the submission logic through Odoo's XML-RPC/JSON-RPC layer so upstream systems or your own scripts can trigger clearance programmatically. It is built and tested against Odoo 17.0, 18.0 and 19.0, and against both Community and Enterprise (Enterprise's account_edi framework is used where present; a self-contained submission path is provided for Community).

Because this is build-to-order, you are not downloading a generic zip and hoping it fits. After a short scoping call we confirm your Odoo version and edition, your JoFotara taxpayer credentials and onboarding stage, your chart of accounts and exact sales-tax/general-sales-tax code mapping, and any branch or multi-company requirements. We then build the module to that scope, test it against the JoFotara sandbox, deploy to your staging environment for UAT, and cut over to production with a rollback plan. Typical delivery is one working week from confirmed scope. You receive the full installable source, documentation, a training session, and a post-go-live support window — you own the code and the git repository at handover.

What you get

  • Installable Odoo module source code built for your exact version (17.0/18.0/19.0) and edition
  • Installation and configuration on your environment, including JoFotara sandbox and production endpoint setup
  • Technical documentation: data model, XML mapping, tax-code mapping table and API integration notes
  • End-user guide plus a live training session for your accounting team
  • UAT on a staging environment against the JoFotara sandbox, with a documented rollback plan
  • Post-go-live support window for defect fixes and clearance-issue triage
  • Git repository handover — you own the code, history and manifest
  • Tax-code mapping worksheet reconciling your Odoo sales-tax setup to JoFotara categories

Who this is for

Jordanian SME finance manager

Runs billing in Odoo and is now under the ISTD JoFotara mandate. Needs invoices cleared automatically at validation, with QR codes on the printed invoice, without re-keying anything into the government portal.

Levant Odoo implementation partner

Serves clients across Jordan and needs a reliable, code-owned JoFotara connector they can deploy and support per client, on Community or Enterprise, rather than betting on an unmaintained marketplace app.

Finance/IT lead at a multi-branch or multi-company group

Operates several legal entities or branches in Jordan with distinct taxpayer identifiers, and needs per-company credentials, correct tax mapping and a full audit trail for reconciliation and audits.

ERP/accounting systems integrator

Wants to trigger JoFotara clearance from upstream systems via XML-RPC/JSON-RPC and needs a documented, extensible module rather than a black-box connector.

How Jordan JoFotara E-Invoicing for Odoo Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
JoFotara API submissionBuilt-in live REST submission with clearance parsing and retryPossible but you build the client and lifecycle yourselfRarely covers Jordan; often generic EDI with no JoFotara endpointNot available — no JoFotara connector in Odoo core
ISTD-compliant XMLPurpose-built to the ISTD schema, validated in sandboxMust be authored and maintained in-houseSchema may lag ISTD changes or be region-mismatchedNone — Odoo exports no ISTD XML
QR code on invoiceValidated fiscal QR embedded via QWeb report overrideRequires custom QWeb and payload logicSometimes present, often not JoFotara-specificNo compliant QR generation
Jordanian tax mappingScoped worksheet maps your codes to JoFotara categoriesYou define and verify the mapping yourselfGeneric tax handling, manual reconciliation neededRecords tax but no JoFotara category mapping
Fit to your Odoo version/editionBuilt for your 17/18/19 + Community or EnterpriseFully bespoke but at your cost and riskVersion support varies; upgrades can break itN/A
Support and updatesPost-go-live window + scoped schema/version maintenanceDepends entirely on internal capacityDepends on vendor; can be unmaintainedNone for this use case
Code ownershipFull source + git repository handed overYou own it (you built it)Usually closed/licensed, no sourceN/A
Time to complianceone working week from confirmed scope, tested before cutoverOften months of build and testingFast to install but may not clear correctlyManual portal re-keying indefinitely

Frequently Asked Questions about Jordan JoFotara E-Invoicing

Is this an existing app I can download and install instantly?

No. This is a build-to-order module. ECOSIRE builds it against your specific Odoo version, edition and JoFotara/tax setup, then installs and supports it. There is no instant marketplace download — you get code tailored to your environment and full ownership at handover.

How long does delivery take?

Typically one working week from confirmed scope. The timeline starts once we've agreed your Odoo version/edition, JoFotara onboarding stage and credentials, chart of accounts, and tax-code mapping on the scoping call. Simpler single-company setups land toward the shorter end; multi-company or heavily customised tax setups toward the longer end.

Does it work on Odoo Community as well as Enterprise?

Yes. We build and test against Odoo 17.0, 18.0 and 19.0 on both editions. On Enterprise we leverage the `account_edi` framework where it fits; on Community we provide a self-contained submission path so you get the same JoFotara clearance and QR output either way.

How are updates and support handled after go-live?

Every engagement includes a post-go-live support window for defect fixes and clearance-issue triage. If JoFotara changes its XML schema or API, or you upgrade Odoo versions, we scope that as a maintenance update. Because you own the git repository, your own team or any Odoo partner can also maintain it.

Will it map my Jordanian sales tax and general sales tax correctly?

Yes — that mapping is a core scoping deliverable. We build a worksheet reconciling your existing Odoo tax codes to the JoFotara tax categories, including general sales tax and special/income sales tax handling, so line-level subtotals and totals in the submitted XML match ISTD requirements.

Do you test before it touches our live JoFotara account?

Always. We validate against the JoFotara sandbox and run UAT on your staging environment before production cutover, with a documented rollback plan. Your live billing is never the test bed.

Can other systems trigger invoice submission automatically?

Yes. Submission runs at invoice validation or via a scheduled automated action, and the submission method is exposed over Odoo's XML-RPC/JSON-RPC API so upstream systems or your own scripts can trigger and read clearance status programmatically.

Request a quote

Jordan JoFotara E-Invoicing

A build-to-order Odoo module that submits your invoices to Jordan's JoFotara national e-invoicing platform with ISTD-compliant XML and embedded QR codes. ECOSIRE builds, installs, and supports it around your chart of accounts and tax setup.

  • Extends `account.move` with JoFotara clearance state, submission UUID, ISTD reference number, QR payload and error-log fields as stored, `@api.depends`-computed values
  • Serialises invoices into the ISTD-mandated JoFotara XML schema (seller/buyer TINs, line items, tax subtotals, totals, signature envelope)
  • Live submission to the JoFotara REST API with authenticated session handling, clearance-response parsing and stored fiscal reference
  • Line-level mapping of Jordanian general sales tax and special/income sales tax from your existing Odoo tax codes to JoFotara tax categories

Request a Quotation

Tell us about your Jordan JoFotara E-Invoicing 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.