Al‑Montaser ERP & POS
A complete retail operating system for a multi-branch chain: point of sale, warehouses, purchasing, accounting and reporting on one database, with an API layer and a mobile app built on top of it later. Our deepest accounting domain — 83 tables and 308 migrations accumulated across successive delivery cycles.
Overview
Branches, warehouses, accounting and point‑of‑sale in one system: live stock, cash registers and shifts, purchases and returns, tiered tax, customizable invoice layouts.
01The challenge
Branches ran on disconnected systems: stock in one place, the cash drawer in another, accounting in spreadsheets. A simple question — how much of this item is left in the Maadi branch, or was this branch profitable last month — took hours of manual reconciliation, and the answer changed depending on who did the counting.
The commercial rules were not simple either: products with variations and sizes, tiered pricing per customer group, compound tax, credit sales against credit limits, and sale and purchase returns that must move stock and ledger in the same instant.
02What we built
We modelled every financial movement as one transaction type that branches into sale, purchase, return, expense and transfer — each writing its lines into the same ledger. That single decision is what lets the trial balance close: there is no path that changes stock without writing its matching entry.
On top of that: cash registers with per-cashier open/close shifts, live stock per variation per location with lot tracking, expiry dates and rack positions, designable invoice layouts per branch, and ZATCA integration for Saudi e-invoicing.
Then we added the modern layer over that core: a Passport-secured API for the customer app — cart, wallet, instalments, saved cards and support tickets — an OpenAI-backed assistant that answers stock and sales questions in plain language, and WhatsApp notifications for invoices and collection.
03The outcome
Branches are now run from one screen: stock, drawer and ledger all read from the same rows, so the inventory gaps caused by double entry disappeared. Financial reports — trial balance, income statement, account ledgers — are read live instead of assembled at month end.
With the app in place, customers buy, pay in instalments and track orders without visiting a branch, and all of it lands in the same books rather than a parallel system.
What the system does
The modules that were delivered and put into daily use.
-
01
Point of sale with cash registers and per-cashier open/close shifts, cash and credit sales, and partial payments.
-
02
Live stock per variation per location: transfers, adjustments, opening stock, lot, expiry and rack tracking, and FIFO deduction.
-
03
A full purchasing cycle: requisitions, purchase orders, receiving, returns and supplier payments.
-
04
Double-entry accounting: chart of accounts, journal entries, per-contact statements and a trial balance.
-
05
Tiered pricing per customer group, compound tax and tax groups, and credit limits on deferred sales.
-
06
Designable invoice and barcode layouts, network printer support, and Excel/PDF export.
-
07
A mobile API: catalogue, cart, orders, wallet, instalments, saved cards, support tickets and notifications.
-
08
An OpenAI-backed assistant that answers stock and sales questions and suggests diagnoses for recurring cases.
-
09
Saudi ZATCA e-invoicing integration, six payment gateways, and SMS and WhatsApp notifications.
-
10
Granular roles and permissions, an activity log on every change, and scheduled backups to S3 and Dropbox.
Technologies used
What this system is actually built on — not a generic list.