Skip to content

0

Loading ...
Self-hosted ERP software, built Morocco-firstSelf-hosted ERP software, built Morocco-first

RIVER ERP 27 — by MrZaKaRiA IT Solutions

Self-hosted ERP software, built Morocco-first

RIVER ERP runs the whole back office of an owner-managed business on its own server: CRM, quotes and invoices, multi-warehouse stock, manufacturing, retail and restaurant point of sale, payroll, treasury and a double-entry ledger on the Moroccan chart of accounts. Version 27 adds the Moroccan tax stack — TVA, IS, auto-entrepreneur withholding and CNSS/AMO/IR payslips — groups of companies, field maintenance, and an AI assistant that never shows your clients' names to a cloud model. Built by MrZaKaRiA IT Solutions and licensed to your domain, not metered per seat.

SCROLL

23 modules

CRM, retail and restaurant POS, stock, manufacturing, payroll, maintenance and a double-entry ledger in one install. Ten are enabled on a fresh install.

1,450 API routes

The interface runs on a documented REST API, with an OpenAPI 3.1 specification served in-app at /api-docs.

17 AI providers

12 cloud services and 5 that run on your own hardware, behind 47 tools. Cloud models never see a client's name or tax ID.

0 per-seat fees

Licensed per domain by MrZaKaRiA IT Solutions. Hiring a second cashier does not change what you pay.

Definition

What RIVER ERP is

RIVER ERP is a self-hosted enterprise resource planning system that runs the back office of an owner-managed business, covering CRM, sales and purchase documents, inventory, manufacturing, point of sale, payroll, treasury and a double-entry general ledger, on the company's own server, licensed per domain instead of rented per user.

It is one application rather than a suite of bolted-together tools. A single products table and a single contacts table serve the shop floor, the warehouse, the storefront and the ledger, and every stock movement links back to the document that caused it. Technically it is Laravel 13 on PHP 8.3 with a Vue 3 single-page front end, running on MariaDB or PostgreSQL, in a browser, as a progressive web app, or through a native desktop launcher of roughly 5 MB.

It is built and sold by MrZaKaRiA IT Solutions as a domain-locked build: one signed release, bound to one customer domain, for a lifetime term or a set number of months. RIVER is also the back office behind our two commerce products, RAIN Store and ERPStore, where signed inbound webhooks turn a storefront order into a draft invoice, mark a delivery note delivered and update the contact. If a call is not your style, send the details in writing instead.

New in version 27

What changed in RIVER ERP 27

Version 27.0.1 shipped on 17 September 2026. These are the parts a Moroccan business notices first; every one is in the released build, not on a roadmap.

Moroccan tax

TVA, IS and auto-entrepreneur withholding

A TVA year page, IS with its instalments, withholding taken at payment with monthly declarations and the annual statement, and tax rates that carry their date and cite their source.

Payroll

CNSS, AMO and IR payslips

A Moroccan payslip engine. Finalising a month turns it into a payable, so payroll lands in the same books as everything else.

Accounting

Books that balance on the CGNC

Double-entry on the Moroccan chart of accounts. Entries are refused rather than half-written, closed periods are enforced on every path, and year-end closing is built in.

Groups

Several companies, one system

Contacts shared inside a group of companies, an all-companies dashboard, the issuing company chosen per quote, and staff assignable across companies.

Field work

Maintenance contracts and visits

Contracts with visit plans, signed visit sheets, and crews working a board from backlog to done.

Coming from Dolibarr

Bring your history with you

Importers for Dolibarr contacts, products and stock, customer and supplier invoice history, and quotes.

What is inside

23 modules in one ERP: POS, inventory, accounting, payroll and manufacturing.

Ten modules are enabled on a fresh install and the rest are switched on when the business needs them. Be clear on what that switch is today: it controls navigation, not access. It tidies the menu. It is not yet a security boundary, and we would rather say that here than let you discover it later.

Documents

Quotes and invoices that convert into one another

Nine document types, from quote and purchase order through delivery note, invoice and credit note to request for quotation, goods-received note, supplier invoice and proposal. Any type converts into any other with lineage kept, numbering is gap-aware per type, and share links carry a token, password, expiry and QR code.

Accounting

A double-entry ledger that posts itself

Balanced journal entries post to the Moroccan chart of accounts on document save, on payment, on expense approval and on payroll finalisation. Period close locks entries at a cutoff date. Trial balance, profit and loss, balance sheet, cash flow and an FEC export file are included.

Point of sale

Retail and restaurant POS on one licence

A touch-tile till with sessions, opening and closing cash counts, variance, Z-reports, returns and multi-payment tickets. The restaurant side adds a floor plan, reservations, kitchen and waiter screens, online orders, a public queue, tips, loyalty and gift cards.

Inventory

Multi-warehouse stock with real valuation

A stock movement ledger with FIFO and weighted-average valuation, batch and serial tracking with expiry, reorder points, a restock radar, automatic purchase-order suggestions, three-way match, and a scan page that takes a camera or a USB barcode reader.

Manufacturing

Bills of materials and production orders

Production orders with labour and overhead cost rolled up, production planning, yield tracking and labels. It is how the question of what a product actually earned gets an answer inside the system instead of in a spreadsheet.

People

Payroll, HR and expenses

Monthly payroll runs with gross, net and charges, leave reconciliation, payslip PDFs and a lock on finalisation. Absences run on a business-day calendar. Expense reports take receipt extraction by AI, and material checkouts and a timeclock kiosk sit alongside.

Money

Treasury, cheques and bank reconciliation

Four payment providers behind one registry: Stripe Connect, PayPal, CMI and manual. Cheque lifecycle tracking with a printing studio, bank reconciliation by CSV or PDF statement import with fuzzy matching, a cash-flow forecast, a due-date board and multi-currency with a declared base currency.

Recurring revenue

Subscriptions and MRR

Plans with price before tax, VAT, period and trial days. Daily recurring billing that is idempotent per subscription and period, dunning with automatic past-due, MRR and ARR, churn rate, cohort retention and proration when a plan changes.

Reporting

Dashboards, anomaly tiles and an investor portal

A draggable KPI widget canvas with period-aware widgets, anomaly tiles that flag an expense at twice its rolling average or a single client above 30% of year-to-date revenue, gross margin, runway and burn, revenue minus cost of goods per product, and a read-only investor link.

Where RIVER is different

Three things this self-hosted ERP does that the usual alternatives do not.

Most of what an ERP does is table stakes, and the comparison further down gives Odoo and the accounting-package patchwork credit where they earn it. Three capabilities are genuinely unusual in one licence at this size of business, so they get their own space here: an AI assistant that can run entirely on your own hardware, e-invoicing built into the system that raises the invoice, and a restaurant and retail till sharing the stock and the ledger.

Each one is described with its limits attached. Where a piece is planned rather than shipped, it says so in the same list.

RIVER ERP 27 dashboard on the live demo (sample data)RIVER ERP 27 dashboard on the live demo (sample data)

AI assistant

A built-in AI assistant that runs on local models: Ollama, LM Studio, llama.cpp or vLLM

Most business software ships an AI feature that quietly sends your ledger to somebody else's servers. RIVER lets you choose the engine, including engines that never leave your building.

  • 17 providers behind one registry: 12 cloud services, and 5 that run on your own hardware, including Ollama, LM Studio, llama.cpp and vLLM
  • 47 tools that read the ledger, stock, payroll, VAT, documents and contacts, and perform writes only through gated actions
  • Cloud models never see a client's name or tax ID, with a free-model fallback, and AI and voice access granted to people by name, and retrieval over your own documents
  • A chat drawer on every page, a full-screen workspace, and a voice endpoint with Siri Shortcuts and Tasker pairing
  • The limit, stated plainly: point it at a cloud provider and your prompts go to that provider. Running local is an option you choose, not a default we can promise on your behalf
See other systems we have delivered

E-invoicing

Morocco DGI e-invoicing and EU formats inside the system that raises the invoice

The e-invoicing pipeline is not a plugin bolted onto an invoice list. It is built into the same system that runs the till, the stock and the ledger.

  • Morocco DGI: a UBL 2.1 invoice builder with a CII alternate, XMLDSig signing with your own company certificate, a two-step clear-then-email submission and async status refresh
  • An out-of-band fallback queue and an admin page to inspect the error and re-submit, so a rejected submission stays visible instead of ending up in a log nobody reads
  • EU paths: FacturX and ZUGFeRD as PDF/A-3 with embedded UBL, Belgian Peppol and Spanish Facturae builders, and Chorus Pro submission for the French public sector
  • The limit, stated plainly: this is a working pipeline in our source, not an accreditation. No tax authority has certified it, there is no Peppol access-point connection and no full EN 16931 conformance yet, and clearance is proved in your own DGI account before go-live
Ask about DGI clearance in writing
Morocco DGI e-invoicing and EU formats inside the system that raises the invoice
Restaurant POS and retail POS in the same ERP as the stock and the ledger

Point of sale

Restaurant POS and retail POS in the same ERP as the stock and the ledger

A shop in front and a wholesale or production business behind usually means two systems and a monthly reconciliation by hand. Here it is one install, one products table, one contacts table.

  • Retail: a touch-tile till, sessions with opening and closing cash counts, variance, Z-reports, returns and multi-payment tickets
  • Restaurant: floor plan, reservations, kitchen and waiter screens, online orders, a public queue, tips, loyalty and gift cards
  • Sales, stock and invoicing sit on the same tables, and every stock movement links back to the document that caused it
  • Cost price is hidden from cashiers by permission rather than by convention, and TOTP two-factor is enforced for admin and owner accounts
  • The limit, stated plainly: POS hardware is partly manual today. The Bluetooth scanner pairing wizard and the cash-drawer protocols for Epson, Star and Citizen are on the roadmap, not in the build
See RAIN Store, the storefront that feeds it

Foundations

The foundations: roles, audit trail, open API, three languages and multi-currency.

Access control, auditability and an open interface are what separate a system you can still run in year five from one you have to escape. Each card names what is enforced today and what is still a plan.

12-tier roles with field-level gating

A role catalog running from owner at rank 100 down to cashier at rank 15, with router-confined roles and permission-gated fields, so a cashier does not see cost price. TOTP two-factor is enforced for admin and owner accounts. Policy classes currently cover 7 of roughly 165 company-scoped models; the rest fall back to rank checks.

An audit trail on every mutation

An observer records who changed what, when, from which address and user agent, with the diff. GDPR export and erasure endpoints ship alongside it. Hash-chained tamper-evident rows and archive-to-cold-storage retention are planned, not shipped, so treat the log as evidence rather than as a sealed record.

An open REST API and signed webhooks

1,450 API route declarations, an OpenAPI 3.1 specification at /api-docs, and scoped access tokens you mint and revoke yourself. Outbound webhooks are signed HMAC-SHA256 with replay protection and a circuit breaker. There is no frozen /api/v1 contract yet, so an upgrade can move the surface under an integration.

Automations a non-developer can build

35 triggers across 9 categories, 14 actions across 4 categories, 8 one-click templates and variable interpolation into any action parameter. A dry-run test-fire previews a rule before it ever emails a client, and the last 30 runs stay on screen with every run recorded.

French, English and Arabic, plus multi-currency

French and English are complete and Arabic is about 88% done, laid out left-to-right on purpose with Latin or Eastern Arabic digits. Seven more languages are about a third translated and fall back to French. There is a per-user language choice, a six-palette theme picker, and multi-currency amounts converting to a declared base currency. Sales copy on this site stays in English; the product itself does not.

Browser, progressive web app and a 5 MB desktop launcher

The same install runs in a browser, installs as a progressive web app, and opens in a native Tauri launcher built for six targets across macOS, Windows and Linux at roughly 5 MB. That launcher is at version 0.1.0 and MIT-licensed. There are no app-store mobile apps: those projects are scaffolds.

Delivery

How a RIVER ERP deployment actually happens.

Six steps, in order, run by MrZaKaRiA IT Solutions. No step is a surprise, and the awkward one, loading your history, is named out loud rather than hidden in a footnote.

01

Scope

We go through what you run today and decide which modules go live. Ten are enabled on a fresh install; the rest wait until they earn their place. This is also where we tell you which parts of your stack RIVER should not replace.

02

Licence

Your domain and term are agreed and signed into the build with an Ed25519 key: a lifetime term or a fixed number of months, with a wildcard if your subdomains need covering. The build fails rather than shipping unbound to a domain.

03

Install

A single command produces a self-contained distribution of API, public assets and database, deployed to your server behind TLS you terminate. Later upgrades ship with one remote command. Server, backups, MariaDB and Redis are yours to run or to hire someone to run.

04

Configure

Your chart of accounts is mapped, the default VAT rate is set in one place, roles are assigned across the 12 tiers, two-factor is enforced for owner and admin accounts, and payment providers are connected.

05

Load your data

Contacts, products, stock counts, open documents and opening balances, loaded through CSV and the documented API. This part is manual and scoped by hand. Coming from Dolibarr, contacts, products, stock, invoice history and quotes import directly. From QuickBooks, Sage, Odoo or a legacy till there is no one-click importer, and we will not pretend otherwise.

06

Train and hand over

Each role is trained on its own screens: the cashier on the till, the controller on the ledger, the owner on the dashboard. Support terms are agreed in writing per deployment, because there is no published SLA today.

Measured, and dated

Measured engineering numbers, and when they were measured.

Counted in the release tree on 2 October 2026: 241 models, 243 API controllers, 172 page components, 75 service domains, 358 database migrations and 1,450 API route declarations. The latest runs report 5,608 PHP tests passing on both SQLite and MariaDB, and 3,039 front-end tests across 387 files, with a clean production build.

In August the honest caveat was that our test runs used SQLite while production runs MariaDB, and that gap had already hidden seven MariaDB-only breakages. The suite now runs on both engines. A measured speed pass in version 27 cut the app shell from 286 KB to 216 KB compressed, took a 40-line invoice from 639 database round-trips to about 470 in one transaction, and brought the notification poll from 288 ms to 27 ms.

Green tests mean the logic holds on the engines we test. They are not a production track record, and we do not present them as one.

Next step

Bring your current stack to the call.

Tell us what you run today: the accounting package, the till, the payroll service, the folder of spreadsheets. You will get a straight answer on which parts RIVER ERP replaces well, which parts it replaces adequately, and which parts you should keep exactly where they are.

Honest comparison

RIVER ERP vs Odoo vs an accounting package plus a POS plus payroll

Odoo is the mainstream self-hosted comparison, and the patchwork is what most owner-managed businesses actually run. Larger SMBs will also weigh SAP Business One, which brings a partner network, a certification trail and a track record RIVER does not have. Four rows below go against us outright and a fifth is work we have built but not released. Those are the rows to read first if you are comparing seriously.

CapabilityRIVER ERPOdoo (SaaS or self-hosted)Accounting package + POS + payroll
POS, stock, payroll and a double-entry ledger in one system✓✓—
Runs on your own server, on a database you control✓✓—
Licensed per domain rather than metered per user seat✓——
Morocco DGI e-invoicing built into the same product✓Partial—
AI assistant that can run entirely on local models✓Partial—
Restaurant floor plan and kitchen screens included✓✓—
Freight jobs: containers, legs, milestones, charges to invoiceNot yet releasedPartial—
Documented REST API and signed outbound webhooks✓✓Partial
Published price list you can check without talking to anyone—✓✓
Implementation partners in most cities—✓✓
Native mobile apps in the app stores—✓✓
Years of production track record across many deployments—✓✓

What protects you

Perpetual or fixed-term licence: what you own when the invoice is paid.

The commercial model is the risk reversal. No seat meter that grows with hiring, no commission on your revenue, no vendor cloud holding your records. The limits of that protection are in the next section, not hidden from it.

  • The build runs on your hardware and the database stays there. No vendor cloud sits in the request path.
  • The licence binds one signed build to your domain, with a wildcard option covering your subdomains and the apex.
  • The term is fixed inside the signed build before it ships: a lifetime, or a set number of months. Nothing auto-renews behind you.
  • No per-seat metering. A cashier, a warehouse clerk and a controller cost the same: nothing extra.
  • No commission on your sales, your till takings or your invoiced revenue.
  • Your accounting comes out on demand: trial balance, profit and loss, balance sheet, cash flow and an FEC export file.
  • 1,450 documented API routes and scoped tokens you mint yourself, so any tool you own can read your own data.
  • A backup command with Dropbox and S3 destinations and per-destination retention pruning ships in the box. Off-site copies go where you configure them, so choose that destination deliberately.
  • GDPR export and erasure endpoints, and an audit log recording who changed what, when and from which address.
  • Migration help is part of delivery: contacts, products, stock counts, open documents and opening balances are loaded with you, by hand, through CSV and the API.

The catch, in our words

What RIVER ERP does not do today, and where the risk actually sits.

No SSO, no SAML, no SCIM provisioning: users are created in the app. No segregation-of-duties approval chains, so 'raises the invoice but cannot approve the payment' rests on a 12-tier role rank rather than a workflow. No Peppol access-point connection and no full EN 16931 conformance. No open-banking bank feeds: statements arrive by CSV or PDF import with fuzzy matching. No one-click importer from QuickBooks, Sage or Odoo (Dolibarr data does import). No app-store mobile apps: the iOS and Android projects are scaffolds, the Android build was failing locally on 25 August 2026, and mobile means the progressive web app. No tax-authority accreditation on file. No per-company module gating as a real access boundary, because the toggle controls navigation only. No published price list, no trial, no sandbox, no SOC 2 posture and no SLA.
Why print this on a sales page: you would find it in week three of an evaluation anyway, and finding it yourself is how deals die. Three risks deserve naming. First, maturity. Our own audit on 25 August 2026 answered 'is this production ready?' with a plain not yet: five critical tenant-isolation and authentication defects were found and fixed in a single session that had reviewed only about a tenth of the endpoint surface, and 31 business tables still carry a company id with no database foreign key behind an application-level guard that itself had to be corrected that month. Second, the licence is also a leash. The domain lock means you cannot move your own install to a new domain, stand up a staging copy or survive a rebrand without a new signed build from us, and no source-code escrow is documented today. Third, bus factor. RIVER ERP is built and supported by one engineer at MrZaKaRiA IT Solutions, with no support desk behind him and no partner network. What offsets all three: the code is audited adversarially and the findings are published rather than buried, the modules you go live on are chosen with you rather than sold to you, and the deployment sits on your hardware, so the worst case still leaves you holding a running system and your own database. If procurement needs SSO, an approval matrix and a SOC 2 pack this quarter, RIVER is the wrong answer this quarter. Say so on the call and we will not spend your time.

Illustrative scenarios

What a RIVER ERP deployment looks like.

These are illustrative deployment scenarios assembled from what the software does. They are not customer stories. No client is named, quoted or attributed anywhere on this page, and nothing below is presented as a result a real business achieved.

Retail POSInventoryLedger

Illustrative scenario: multi-activity SMB

Retail front, wholesale back, one catalogue

A company selling over a counter and also invoicing trade customers usually runs two systems and reconciles them by hand. In RIVER both sit on one products table and one contacts table.

Problem

The same sale is re-keyed into the till, the invoicing tool and the accounting package. Stock figures disagree between the shop floor and the warehouse, and nobody can say what a product actually earned without exporting to a spreadsheet.

Solution

One install runs the retail till with sessions and cash-count variance, multi-warehouse stock with FIFO or weighted-average valuation, and the document chain from quote to delivery note to invoice, all posting into the same double-entry ledger.

Outcome

  • One products table and one contacts table serve the till, the warehouse and the invoice
  • Stock movements carry a link back to the document that caused them
  • Cost price is hidden from cashiers by permission, not by convention
  • Revenue minus cost of goods per product is visible inside the system
DGI e-invoicingAccountingCompliance

Illustrative scenario: Moroccan SMB facing DGI

A company preparing for the Moroccan e-invoicing mandate

The 2026 mandate forces a decision: move the books to a foreign cloud, or run a compliant system on infrastructure you control. This scenario takes the second path.

Problem

The available options tend to be narrow e-invoicing add-ons that do not run the business, or foreign SaaS that takes custody of the books. Neither suits a company that wants its data on its own server.

Solution

Invoices are built as UBL 2.1, signed with XMLDSig using the company's own certificate and submitted through the clearance client, while journal entries post to the Moroccan chart of accounts on save. Failed submissions land in a fallback queue with an admin page for inspection and re-send.

Outcome

  • Invoices built as UBL 2.1 and signed with the company's own certificate
  • Rejected submissions queue for inspection and re-send rather than disappearing quietly
  • Journal entries post to the Moroccan chart of accounts automatically on document save
  • Clearance is proved in the company's own DGI account before go-live, because no accreditation is claimed
Restaurant POSPayrollManufacturing

Illustrative scenario: multi-site restaurant operator

A restaurant group with a central kitchen and a payroll problem

Restaurant groups usually run a till, a rota tool, a payroll service and a stock sheet that agree with each other only at the end of the month, if then.

Problem

Service data lives in the till, hours live in a spreadsheet, prep and waste live nowhere, and payroll is re-keyed from all three. Nobody can price a dish against what it actually costs to make.

Solution

The restaurant side runs floor plan, kitchen and waiter screens, tips, loyalty and gift cards. Bills of materials cost a recipe from its ingredients. Payroll runs monthly with gross, net and charges, leave reconciliation and a payslip PDF locked on finalisation, with a timeclock kiosk feeding the hours.

Outcome

  • Service, stock and payroll sit in one install rather than three subscriptions
  • A recipe costs out through a bill of materials rather than an estimate
  • Payroll finalisation locks the run and posts journal entries automatically
  • Adding a seasonal cashier changes no licence cost, because the licence is per domain

Clients

What clients say about working with MrZaKaRiA IT Solutions

Named clients, on the engagements they actually ran with us — build, ERP and hosting work rather than reviews of this specific product.

The web design services provided by MrZaKaRiA are top-notch. The aesthetics, functionality, and user experience of our website have significantly improved. We’ve received numerous compliments from our clients. Highly recommended!

GMAB

GMAB

CEO & Founder, GMAB

MrZaKaRiA programming services are exceptional. They’ve helped us develop robust ERP solution that have streamlined our operations. Their team is knowledgeable, efficient, and a pleasure to work with.

ALFIRMA

ALFIRMA

Manager, ALFIRMA

As a startup, we needed a reliable partner for our online presence. The web design, programming, and hosting services we received were outstanding. MrZaKaRiA played a crucial role in our success. We couldn’t be happier!

SHI

SHI

CEO & Founder, SHI

We’ve been using MrZaKaRiA hosting services for over a 4 year now, and the uptime is fantastic. Our website loads quickly, and we’ve experienced no downtime. Their customer service is responsive and helpful whenever we have questions.

BANG SHOPPING

BANG SHOPPING

Manager, BANG SHOPPING

FAQ

RIVER ERP: the questions buyers actually ask.

Short, specific answers. Where the answer is unflattering, it is still the answer.

1

What is RIVER ERP?

RIVER ERP is a self-hosted ERP system that runs the back office of an owner-managed business: CRM, quotes and invoices, multi-warehouse stock, manufacturing, retail and restaurant point of sale, payroll, treasury and a double-entry general ledger. It is one Laravel 13 and Vue 3 application carrying 23 modules, ten of them enabled on a fresh install. It is built by MrZaKaRiA IT Solutions and licensed to a single customer domain rather than rented per user seat.

2

Does RIVER ERP support Morocco DGI e-invoicing?

RIVER ERP builds invoices as UBL 2.1 with a CII alternate, signs them with XMLDSig using your own company certificate, and submits them through a two-step clear-then-email clearance client with async status refresh. Failed submissions land in an out-of-band fallback queue with an admin page to inspect the error and re-submit. The pipeline sits in the same system as the till and the ledger. No tax-authority accreditation is claimed: clearance is proved in your own DGI account before go-live.

3

Is RIVER ERP a good Odoo alternative?

RIVER ERP trades ecosystem for ownership. Both self-host, and both cover POS, stock and accounting. RIVER is licensed per domain rather than per user seat, ships Morocco DGI e-invoicing in the base product, and can run its AI assistant on local models. Odoo has a published price list, implementation partners in most cities, app-store mobile apps and years of production track record. RIVER has none of those four, and no one-click importer from Odoo, Sage or QuickBooks, although Dolibarr data imports directly. SAP Business One brings a partner network and certifications RIVER also lacks.

4

Where does RIVER ERP run?

RIVER ERP runs on your own server: Laravel 13 on PHP 8.3, MariaDB or PostgreSQL, Redis for queues, behind TLS you terminate yourself. The same install works in a browser, installs as a progressive web app, and opens in a roughly 5 MB native desktop launcher built for six targets across macOS, Windows and Linux. There are no app-store mobile apps today, because those projects are still scaffolds. The server, the backups and HTTPS are the operator's responsibility, not a vendor's.

5

Who owns the data in a self-hosted ERP?

RIVER ERP keeps the database on hardware you control, so the records are yours and no vendor cloud sits in the request path. Exports are built in: trial balance, profit and loss, balance sheet, cash flow and an FEC file, plus GDPR export and erasure endpoints. Two honest exceptions. If you point the AI assistant at a cloud provider, prompts go to that provider. Off-site backups go to the Dropbox or S3 destination you configure.

6

Does RIVER ERP have an API and webhooks?

RIVER ERP exposes 1,450 API route declarations with an OpenAPI 3.1 specification served in-app at /api-docs, plus scoped access tokens you mint and revoke yourself. Outbound webhooks are signed HMAC-SHA256 with replay protection and a circuit breaker, and a websocket server drives cross-tab sync and live dashboards. The contract is not versioned yet: there is no frozen /api/v1, so plan on adjusting an integration when the build is upgraded.

7

Is RIVER ERP a one-time payment or a subscription?

RIVER ERP is licensed per domain, not rented per seat. A build is signed with an Ed25519 key binding one release to your domain, or to a wildcard covering your subdomains, for either a lifetime term or a fixed number of months agreed before the build ships. There is no per-seat metering, no commission on your sales and no hosting fee to us. No public price list exists, because scope drives the number, so a scoped quote comes from the call.

8

Is RIVER ERP production ready?

RIVER ERP is not something MrZaKaRiA IT Solutions will call production ready in general terms. Its own audit on 25 August 2026 answered that question with an explicit not yet: five critical tenant-isolation and authentication defects were found and fixed in one session that had reviewed roughly a tenth of the endpoint surface. The newest work, freight forwarding and the performance pass included, sits on an unmerged branch 71 commits ahead of main. Whether it fits your scope is a per-deployment answer, given honestly on the call.

Start here

One system, one licence, your server.

A walkthrough is a working session, not a slide deck: your chart of accounts, your document flow, your till, your payroll, and a straight answer on what RIVER ERP should and should not replace. If it is the wrong fit for you this year, you will hear that on the call rather than after the invoice.