Awalim Groupعوالِم قروب
SYS-ACC-01liveEnterprise system

Smart Accountantan Arabic accounting system built to IFRS

A complete double-entry accounting system built on IFRS that reads your invoices, proposes the balanced entry and closes the month with you — built to replace manual data entry, not the accountant.

Client
An Awalim product — live at clients in several countries
Sector
Finance and accounting
Year
2025 — 2026
Role
Full product: architecture, engineering, interface
Platform
Web
Status
Live
TypeScriptNode · ExpressPostgreSQLDrizzleReactIFRS · IAS 19AI OCR

Resultsالنتائج

What changed

The result first, then how we got there. Numbers you can trace to a source — not adjectives.

10
modules, from the general ledger to the decision room
7
country packs, each with full behaviour
3
data isolation layers
IAS 19
payroll and end-of-service to the standard

The challengeالتحدّي

The problem we came to solve

Most of what is sold in this region as an «accounting system» is a pretty interface over a spreadsheet: unbalanced entries pass, one client's data shows up for another, and Arabic is a translation laid over a Latin template.

  • No unbalanced entry passes — no in-between state, no fixing it later
  • Multi-tenant data isolation on three independent layers
  • Behaviour that changes entirely by country pack: currency, tax, zakat, weekend, end of service
  • Reading invoices with the camera and proposing a balanced entry for human approval

Approachالمقاربة

What we decided — and why

01

The accounting core first

A hierarchical chart of accounts, a ledger per account, upward balance aggregation with the correct sign, and posted journal entries with a full audit trail. The core was built and tested before any screen.

02

Isolation on three layers

A permission guard on the route, a storage layer scoped to the entity, and row-level security policies inside PostgreSQL itself — defence in depth that does not rest on one layer.

03

Scan the invoice, take the entry

A document box reads photographs of invoices and receipts — uploaded or from the camera — extracts the fields and proposes a balanced entry. Approval is always human.

04

The financial decision room

A financial health indicator, early alerts, a cash-flow forecast and «what if» simulation before the decision — built on the real numbers, not on estimates.

Solutionالحل

What was actually delivered

TypeScript end to end with contracts shared between client and server, PostgreSQL with Drizzle and exported reviewable migrations, schema validation on every request, and automated tests covering the critical accounting paths. The interface is natively right-to-left with tuned Arabic typography and tabular numerals.

01 Document OCR reads the invoice 02 Proposed entry Double-entry and balanced 03 Shared contracts TypeScript end to end 04 Posted ledger PostgreSQL · Drizzle 05 Month-end close IFRS · IAS 19
1. Document: OCR reads the invoice 2. Proposed entry: Double-entry and balanced 3. Shared contracts: TypeScript end to end 4. Posted ledger: PostgreSQL · Drizzle 5. Month-end close: IFRS · IAS 19

Next step

Have a project of this size?

Tell us about the process, and we come back with a first diagnosis and a scope estimate — no commitment.

  • We reply within two working days
  • The code is entirely yours
  • Published numbers, signed and verifiable