Home/Work/Case 09

JoFotara
POS

A multi-tenant point of sale built to Jordan’s UBL 2.1 e-invoicing standard, with zero third-party packages.

RoleSolo builder
WhereJordan
StackNode.js · SQLite · UBL 2.1
ModelSetup fee + monthly per branch
0npm dependencies
UBL 2.1government e-invoice schema
13automated tests
2delivery channels: WhatsApp and SMS
01 / The problem

Tax documents can’t
depend on luck.

Jordan’s e-invoicing system requires every invoice in a strict XML format, submitted to a government platform. Small shops need that without hiring a developer.

Software that produces tax documents also carries a quieter risk: every third-party package is a dependency that can break, change or be compromised years later.

02 / How it works

From sale to
submitted invoice.

Saleat the counter
UBL 2.1 XMLhand-built, validated
Submitwith an idempotency key
DeliverWhatsApp or SMS
AnalyseAI insights for owners
03 / Decisions worth explaining

Why it’s
built this way.

01

Zero dependencies

XML namespaces, the HTTP client, encoding and validation are all hand-built to the government schema. No supply-chain surface, no dependency drift, and it still builds years from now.

02

Idempotent submission

A retry can never submit the same invoice twice. A double-submitted invoice is a compliance problem, not just a bug.

03

Multi-tenant from day one

Branches and businesses share one system with clean separation, which is what makes per-branch pricing possible.

04

Insights, not just records

An admin layer turns raw transactions into answers for owners on demand, using AI analytics.

04 / What it proves

Compliance without
a single package.

  • A complete point of sale that speaks the government’s invoice format natively.
  • A 13-test suite around the parts that matter most: XML generation, validation and retry.
  • A business model built in: a setup fee plus a monthly fee per branch.
  • A constraint that became the feature: nothing to audit, nothing to update, nothing to break.

Need something like this? I build these end to end, as a full-time engineer, on contract, or with SKAI Group.

Book a 30-min call
Next case · 10Masraf · مصرف
Contact

Let's build

Need your content in Arabic, or an AI product built this carefully? One email is enough to start.