Skip to content
Case 01Cloud accounting SaaS

A double-entry accounting platform for the Saudi market, built multi-tenant from day one and Arabic-first end to end. In production with a Gulf client.

Role
Architecture & full build
Market
Saudi Arabia · MENA
Model
Multi-tenant SaaS
Status
Live in production
ara.financial / journal-entry
JE-2041balanced
قيد يومية
CodeAccountDebitCredit
1100Accounts receivable48,200.00
4000Sales revenue42,000.00
2200VAT payable6,200.00
1000Cash on hand12,750.00
5100Cost of goods sold18,400.00
1300Inventory18,400.00
2100Accounts payable9,350.00
Totals79,350.0079,350.00
Interface preview2025

The problem

Accounting software sold into the Gulf tends to be either an English product with Arabic pasted over it, or a local tool that stops at invoicing. Companies end up running the ledger in one place, inventory in another, payroll in a spreadsheet, and approvals over WhatsApp.

The brief was a single platform where the books, the warehouse, the till and the payroll all post into the same double-entry engine — correct in Arabic, correct for the market, and able to serve many companies from one deployment without their data ever touching.

What I built

Core ledger

Full double-entry engine, chart of accounts, journals, bank reconciliation and fixed assets with depreciation.

Operations

AR/AP, sales, procurement, inventory and POS — every transaction posting back into the ledger rather than living beside it.

People & control

Payroll, multi-step approval workflows, role-based permissions, and a platform admin plane for onboarding tenants.

Commercial & AI

SaaS subscription billing, plus a gated AI action layer — assistants can read and propose, but only permitted actions reach the ledger.

Decisions that mattered

Multi-tenant on day one

Tenancy is the hardest thing to retrofit, so isolation, scoping and tenant-aware queries were part of the first data model rather than a later migration.

Arabic-first, not Arabic-added

RTL through the whole interface, and through printed documents, statements and reports — where most localisation efforts quietly fall apart.

Tests on the money paths

231 backend test suites concentrated where a mistake is expensive: posting, balancing, tax handling, approvals and permissions.

AI behind a gate

The AI layer runs through the same permission model as a user. Nothing writes to the books that a role could not have written by hand.

0
backend modules
0
data models
0
backend test suites
Live
running for a Gulf client
ara.financial / journal-entry
JE-2041balanced
قيد يومية
CodeAccountDebitCredit
1100Accounts receivable48,200.00
4000Sales revenue42,000.00
2200VAT payable6,200.00
Totals79,350.0079,350.00
ara.financial / point-of-sale
Ticket
Item 24-A×2310.00
Item 18-C×1145.50
Item 07-B×4620.00
Total1,075.50
StackNode.jsMongoDBReactMulti-tenantRTLStripe-style billing
Next case
Raeetna
Database-per-tenant platform for 6,400 members