Free demoRun the whole application free for 5 days — in your browser, no installer, no card.

Start the demo
Download

Get Meezan ERP POS 1.4.1

One desktop application that holds your accounting, inventory, payroll and point of sale on your own machine. Choose your platform below, tell us which one you need, and your installer arrives with the activation code that unlocks it.

Version 1.4.1 Windows · macOS · Linux 100% offline
Builds

Three platforms, one database format

The same application is packaged for each operating system. The database file it writes is identical everywhere, so you can move a restaurant from a Windows till to a Mac back office by copying one folder.

Windows

The build most restaurants run. The NSIS installer registers the app properly; the portable build runs from a stick with nothing installed.

  • NSIS installer — choose your install folder, desktop and start-menu shortcuts created
  • Portable .exe — no installation, no registry entries
  • Architecture: x64

Requires Windows 10 or Windows 11, 64-bit. No .NET, no SQL Server, no services to configure.

Request installer

macOS

Native builds for both processor families. Intel Macs and Apple silicon each get their own binary rather than a translated one.

  • .dmg — the usual drag-to-Applications disk image
  • .zip — for deployment tools and manual placement
  • Architectures: Intel x64 and Apple silicon arm64

Tell us which Mac you are on and we send the matching build. The database file is interchangeable between them.

Request installer

Linux

For back-office boxes and kiosk tills. The AppImage needs no package manager; the .deb fits Debian and Ubuntu estates.

  • AppImage — one file, mark it executable and run it
  • .deb — for Debian and Ubuntu based systems
  • Architecture: x64

Printing goes through CUPS, exactly as any other desktop application on the machine.

Request installer

Why there is no direct download link. Every Meezan ERP licence is node-locked: an activation code is signed for one machine and one expiry date, and it is useless anywhere else. So the installer is issued together with your activation code rather than sitting on a public URL. You request the build you need, you send us the machine code the app shows you, and we send back the code that unlocks it. Nothing in that exchange touches the internet from the application's side — the app never makes a network call, before or after activation.

You do not have to wait for us to try it. The 5-day browser demo runs this same application right now, with nothing locked and nothing watermarked — no installer, no machine code, no email exchange. Use it to decide whether the product fits, and request the installer when you want to test it against your own printer and till drawer offline. If you would rather evaluate on that hardware from the start, say so in the same request and a short-dated trial licence comes back with the build. Same three steps, same email, no card.

Setup

Install in four steps

From a fresh machine to a working till. Nothing here needs a network connection, an account, or a licence server.

  1. Run the installer

    On Windows, the NSIS installer lets you change the install directory rather than forcing a location, and creates both a desktop shortcut and a start-menu entry. On macOS, open the .dmg and drag the app across. On Linux, mark the AppImage executable or install the .deb. If you would rather not install anything at all, the Windows portable .exe runs as it is.

  2. Launch it and read the machine code

    The first launch opens the activation screen. It shows a machine code derived from a stable identifier for that computer, in this shape:

    MZR-DE07-EB9C-0099-17AA-7118

  3. Send us the code, paste back the activation code

    We sign your machine code and its expiry with an Ed25519 key that never leaves us, and send the result back. Paste it into the activation screen and the app unlocks. Only the public key ships inside the application, so a code cannot be edited, extended or reused on a second machine. Activation is mirrored to your backup folder, which means a reinstall stays activated.

  4. Sign in and change the password

    The seeded administrator is admin / admin123. Change it immediately in Settings ▸ My account, then add your staff under one of the three roles. Passwords are stored as entered, not hashed — this is a single-user desktop application with no server to send a hashed credential to.

A reinstall stays activated. The licence is mirrored to your backup folder alongside your data, so uninstalling and reinstalling the same application starts straight back in with no new code needed.

Requirements

System requirements

Deliberately modest. There is no server component, no database engine to install and no runtime to add — the application carries everything it needs.

Operating system
Windows 10 or Windows 11 · macOS · Linux. The Windows build is the one most tills run; the macOS and Linux builds are the same application, packaged for each platform.
Architecture
x64 on Windows and Linux. macOS ships as both Intel x64 and Apple silicon arm64, so Apple silicon Macs run a native binary rather than a translated one.
Disk
The application, one JSON database file, and a mirrored copy of that database in Documents/Meezan ERP Restaurant/. The database grows with the documents you post, not with time — it is a single file you can copy, zip or back up like any other.
Memory
Whatever a normal desktop application needs. There is no server component running inside or alongside it — no separate service, scheduler or worker process competing for the machine.
Screen
A desktop or laptop display for the back office. The POS terminal and the floor plan are laid out for touch as well as mouse, so a till monitor works without a separate build.
Printer
Any printer your operating system already knows about — a Windows print queue or a CUPS queue on macOS and Linux — for customer bills and kitchen tickets. No proprietary driver, no special port configuration.
Internet
Not required, ever. Not to install, not to activate, not to run. The application makes no network calls at all, and there is no server component — nothing is exposed to your network.
Getting your figures in

Bringing your data with you

A CSV/paste importer brings your opening balances or a batch of invoices into the ledger, so you are not re-typing what you already have worked out elsewhere.

Preview before it posts

Paste general-ledger lines or upload a CSV, and the importer parses it into vouchers before anything is written — balanced and unbalanced counts, accounts that do not yet exist, all shown before you confirm.

  • Adds to your data, never replaces it — every import is additional postings on top of whatever is already in the ledger
  • Unbalanced lines can route to a suspense account instead of blocking the whole batch
  • Missing accounts can be created on the fly, optionally, rather than stopping the import
  • A separate importer brings in a batch of invoices the same way

Adds to the ledger, doesn't replace it

The confirmation before posting states exactly how many lines and vouchers are about to be added, so nothing is a surprise:

Missing accounts are created and flagged, not silently dropped. Where a line references an account that does not yet exist in your chart, the account is created and listed in the warnings — a five-minute tidy-up in the chart of accounts, with the underlying figure intact rather than lost.

For developers

Building it yourself

If you would rather compile the application than receive a packaged one, these are the real commands.

Meezan ERP POS is an Electron 33 desktop application, built plainly: the whole interface is one renderer file (around 34,500 lines), pre-compiled React 18 with no separate bundler. There is no backend API — the renderer talks to the main process over an in-process IPC bridge that reads and writes one JSON document, not a relational database.

  • 47 screens in the sidebar (Restaurant setup)
  • No server, no endpoints — an internal IPC bridge, not a network API
  • One JSON document holds the whole company's data
  • Password-checked account switching with three role labels (Admin, Accountant, Viewer) — no hashing, no session token, since there is no server to send one to
  • contextIsolation: true, nodeIntegration: false, sandbox: true, and no filesystem surface in the renderer at all

Read the documentation

Commands

npm install          # installs Electron + electron-builder — nothing else
npm start            # launches the app
npm test             # 49 tests across three suites, 0 failing
npm run smoke        # Electron integration smoke test
npm run dist         # package installers

npm run dist produces the same artifacts we ship: the Windows NSIS installer and portable executable, the macOS .dmg and .zip, and the Linux AppImage and .deb.

Verification

Verify what you installed

An accounting system should be able to prove it still adds up. Run the suite yourself on the machine you installed it on.

49 automated tests

npm test runs three suites against real files on disk, nothing mocked: 13 persistence checks covering durable writes, the rolling backup and recovery from a corrupt primary; 28 regression checks guarding the Electron-specific adaptations and — the larger part — real accounting behaviour against worked examples; and 8 licensing checks covering the Ed25519 activation flow end to end.

  • The maths is checked against worked examples, not just that the screens render — cost-centre and combined-statement arithmetic, FIFO/weighted-average costing, batch/lot FEFO consumption
  • A separate Electron integration smoke test boots the packaged app and checks for a live render, a working IPC round-trip and zero console errors
$ npm test

  persistence           13/13 passed
  patch regression       28/28 passed
  licensing               8/8 passed

  sample assertions
  ─────────────────────────────────────────────
  FIFO cost follows expiry-ordered batches
      not receipt date
  combined statement close = 7,000 net
      debit-positive both sides
  FEFO consumption drains the earliest batch
      first, matching the spec worked example
  POS session cash-over/short
      posts as one balanced entry
  gated documents post nothing
      until the final approval
  a KOT reprint does not re-send to the kitchen
      floor / tables

  49 tests, 0 fail   PASS

Run it yourself on the machine you installed it on — it takes under a second.

Checksums

Verify what you received

Installers are only ever sent from finance@northbeam.sa. If a build reaches you any other way, do not run it — write to us and we will send the real one. Before the first install, it is worth thirty seconds to check that the file you were sent is the file we built.

On Windows, PowerShell computes the checksum:

Get-FileHash ".\Meezan ERP POS-1.4.1-Setup.exe" -Algorithm SHA256

On macOS and Linux, shasum -a 256 against the file you received does the same job. Compare the result with the table below — every character must match.

Artifact SHA-256 Size
Windows NSIS installer — Meezan ERP POS-1.4.1-Setup.exe 3a2d2c003ffc13462571c46374ba5c7c36da2c308eaf47ff518ece69c66641e3 82.2 MB
Windows portable — Meezan ERP POS-1.4.1-Portable.exe c6718b7d75aed20832fe351f21c1bac8fb7ae8c6fb00349cf3f9997acb7f0498 81.9 MB

The macOS and Linux checksums accompany their delivery email.

Tell us which build you need

Send us your platform and we will issue the installer with your activation code. If you have opening balances or a batch of invoices to bring in, mention it and we will walk the import with you.