Changelog

What's new in Modarhem. Real dates, no fluff, no hype.

Feature

Rentals module — rent out equipment, vehicles, chalets and rest-houses

  • New "Rentals" page: rental categories, assets, rate cards, and full-cycle agreements (quote → confirm → check-out → check-in → close).
  • Database-level double-booking prevention for serialized assets, and quantity management for pooled assets.
  • Ready-made presets per business type: equipment, events, furniture, costumes, audio-visual, cars, motorcycles, chalets and rest-houses.
  • Deposit tracking (hold / refund / convert), vehicle fields (odometer, fuel, driver) and venue fields (capacity, amenities, check-in/out times).
  • Every rental closes to a ZATCA Phase 2 sales invoice and an automatically balanced journal entry.
Feature

Customizable dashboard — drag and drop the widgets that matter to you

  • New "Custom" tab on the dashboard page — the Default tab stays as-is; Custom opens the composer.
  • Click "Edit" to reveal drag handles + add/remove buttons. Click "Done" to lock the layout.
  • 8 launch-day widgets: Total Revenue, Invoices Issued, Outstanding AR, Low Stock, ZATCA Status, VAT Due, Revenue vs Expense, Hijri Date — more coming.
  • Your layout auto-saves after every change and syncs across devices (phone, tablet, desktop).
Improvement

Full activity list for each additional Commercial Register

  • Additional Commercial Register cards on Settings → General now display the full activity list with the same chip layout as the primary CR.
  • A "Show all" toggle expands the full list for any CR with more than 3 activities, with a collapse option to return to the compact view.
Feature

Primary CR business activities now persist in Settings

  • ISIC activity codes the scanner extracts from your activities file (e.g. 582001 Software Publishing) are now stored against your primary CR.
  • A readable list appears on Settings → General after each successful scan.
  • To refresh, scan an updated activities file — the CR is the source of truth, not manual editing.
Feature

Multiple Commercial Registers per organization

  • An organization can now hold multiple Commercial Registers (primary CR + additional CRs) — common for Saudi merchants who operate across cities or distinct business activities.
  • When you scan a CR file whose registry number differs from the primary CR, the scanner shows a banner and offers "Add as additional CR" instead of overwriting the primary.
  • New "Additional Commercial Registers" card on Settings → General lists each secondary CR with its activities, with a remove control.
Improvement

CR scanner — now surfaces every detected field

  • Scan review now lists every detected field — entity type, issue date, activity codes — as info-only rows even when there's no Settings column for them yet.
  • Unified national number and CR number now display as a single row and apply together (they're the same number on modern Saudi CRs).
  • Contextual hints for fields not typically printed on the CR (English name, VAT TIN) so empty rows have a reason.
  • Sharpened extraction prompt recovers Hijri issue dates, sub-register numbers, and activity codes more reliably.
Compliance

Invoice format aligned to Monsha'at ZATCA Phase 2 blueprint

  • Title auto-resolves to "Tax Invoice" (B2B) or "Simplified Tax Invoice" (B2C) based on whether the buyer has a VAT number — spec element #1.
  • Issue date AND time now both shown (UTC) — spec element #3.
  • Line table now includes: Product, Unit Price, Qty, Subtotal excl. VAT, VAT Rate, VAT Amount, Total incl. VAT — spec element #6.
  • ZATCA QR code prints on the invoice PDF when signed, alongside the existing POS-receipt QR — spec element #7.
  • POS receipt now displays the store name, address, VAT registration number, and the "Simplified Tax Invoice" title — Simplified spec elements #1, #4, #5.
Feature

CR scan — auto-fill organization fields from your commercial register

  • In Settings → General, upload your CR file (PDF or image) and the system auto-extracts trade name, unified national number, CR number, and VAT TIN.
  • Detected values appear side-by-side with current values — review and tick what to apply before saving.
  • Capped at 10 scans/day per organization, up to 2 files at 8 MB each.
Feature

Hold sale — pause an invoice and resume it later

  • New "Hold sale" button on the POS screen saves the current cart with an optional label so you find it again.
  • Side drawer lists all held sales for the current session, with a count badge on the button.
  • Resume any held sale in one tap, or delete it if no longer needed. Holds auto-expire after 24 hours.
Feature

Switch operator on shared POS terminals

  • New top-bar dropdown to switch the current operator mid-shift.
  • The session opener remains accountable for opening cash; the current operator is who rings sales.
  • Only members with cashier-or-higher role appear in the picker.
Feature

Expanded invoice search filters

  • The invoices page now supports five extra filters: date from, date to, branch, payment method, and product/SKU/barcode search.
  • Extra filters are collapsed by default with a count badge for active ones.
  • New database indexes keep the search fast as data grows.
Feature

Bulk / package pricing on products

  • When editing a product, you can now enable a bulk price that POS applies automatically once the cart line reaches the bulk quantity.
  • Example: 10 SAR per bottle, 8 SAR per bottle when buying a case of 12+.
  • POS applies the bulk price automatically — no cashier action needed.
Compliance

Business registration & compliance disclosures on every page

  • New footer block shows commercial register, legal trade name, authorized rep, activity codes, registered location, and VAT status.
  • New /delivery page explains how the Modarhem cloud service is provisioned (no physical shipping, instant activation).
  • Business identity prepared for Saudi Business Center e-store authentication submission.
Feature

Buyer-intent FAQ pages for Saudi merchants

  • Six new FAQ pages covering: best accounting software, ZATCA-compatible POS systems, restaurant + café accounting, e-invoicing for small businesses, cloud accounting with VAT, ERP systems for SMEs.
  • Every page carries FAQPage JSON-LD so search engines can quote each Q&A pair directly.
Feature

POS screen: customer attach + sale notes + sale-level discount

  • Attach a customer to each sale via a search modal on the POS screen — walk-in is the default state.
  • Optional notes textarea on the pay screen — auto-prints on the sale receipt.
  • Sale-level discount input (flat SAR off the basket) with the deducted amount shown in the totals breakdown.
Feature

Modarhem in AI search engines

  • Added /llms.txt to help AI search engines (ChatGPT, Perplexity, Claude) understand the product accurately.
  • Comparison pages for all major Saudi competitors under /compare.
Improvement

POS screen improvements

  • Modarhem Card panel on the POS screen is now collapsible so it does not squeeze the cart area.
  • Added a direct Invoices link in the POS top bar (one-click access).
Security

Internal security hardening

  • Comprehensive audit of the attacker-scanner pipeline + log-source alignment fix.
  • Refreshed Fail2Ban configuration + corrected managed-database path references.
Feature

Tamara BNPL payment support

  • Full Tamara BNPL gateway integration: checkout, payment status, refunds, webhook verification.
  • 34 automated tests covering real sandbox + edge cases.
Feature

Offline-first hardening (Tier 3)

  • Offline operation queues for stock adjustments, supplier invoices, and HR leave requests.
  • Server-side idempotency protection for client retries.
Compliance

ZATCA Phase 2 — expanded validation

  • BR-KSA Schematron validator extended to 21 rules with 100% pass rate on official test samples.
  • Full EGS unit lifecycle with row-locking + hash chain + genesis PIH.
Feature

Tabby BNPL payment support

  • Tabby BNPL hosted-checkout gateway with HMAC-SHA256 webhook authentication.
  • 25 unit tests + real sandbox test (gated on TABBY_TEST_PUBLIC_KEY).
Feature

Modarhem Card Network — POS integration

  • POS member lookup by phone number or QR code.
  • Direct earn-and-redeem of network points at POS with tier + balance display.
  • Automatic settlement of transactions between participating merchants.
Compliance

Saudi establishment identifier columns

  • Added GOSI registration number (9 digits) + unified national number (10 digits) to organization profile.
  • Strict Zod validators + bilingual tooltip in settings.