Open to freelance & consulting

Full-Stack & Odoo developer building SaaS products that ship.

I'm Mohamed Hraich, a developer based in Casablanca with 5+ years of experience. I build Odoo modules (v12 → v19), with 7 paid apps on the Odoo Apps Store, Spring Boot + web SaaS platforms, Flutter mobile apps, and integrations with biometric devices and e-commerce platforms.

Portrait of Mohamed Hraich
📍 Casablanca, Morocco
5+years of experience
12 → 19Odoo versions mastered
4SaaS products launched
7apps on the Odoo Apps Store
// projects

Projects I've released

SaaS products running in production, commercial Odoo modules, and integrations built for clients. Most source code is private; demos are available on request.

Rental Car — SaaS for Rental Agencies

Agency workspaces + public booking site
Live

Each car rental agency gets a private workspace to manage its fleet and bookings; customers search and rent cars by city, category, transmission and price from the public site.

  • Agency self sign-up, public agency page, staff accounts
  • Fleet: up to 12 photos per car, odometer history, car papers (insurance, vignette, technical inspection, registration) with expiry alerts
  • Strict tenant isolation, JWT auth, CI/CD that builds a Docker image and deploys on merge
Spring Boot 4Spring SecurityJWTPostgreSQLDocker

MH Paie Maroc — Moroccan Payroll SaaS

Odoo 18 payroll, computed as a service
SaaS

Moroccan payroll sold as SaaS: clients enter employees, contracts and payslips in their Odoo, while salary rules run on the editor's server through a secured REST API (API keys, call logs).

  • 2025/2026 rules: IR table, CNSS, AMO, CIMR, overtime, leave — every rate a dated parameter
  • CI/CD with GitHub Actions: tests, DB backups, automatic upgrade & rollback
Odoo 18PythonREST APIGitHub Actions

Kids Video Studio

AI-generated videos for children
Released

Type any idea and the AI writes a script, then renders a 1080p kids video with animated 3D emoji characters, subtitles, a child narrator voice, music and sound effects. Supports 11 languages including Moroccan Darija, and can publish to YouTube on autopilot.

PythonGemini AITTSVideo renderingYouTube API

Biometric Attendance System

Hikvision ↔ Odoo sync · MUMUSO Morocco
Production

Windows service in C# that synchronizes 16 Hikvision fingerprint terminals with a remote Odoo server over WebSocket: fingerprint capture, user enrolment, local SQLite buffer and real-time attendance sync.

C#.NETWebSocketSQLiteOdoo HR

Shopify & WooCommerce ↔ Odoo

E-commerce connectors
Production

Connecting Odoo with online stores (Shopify, WooCommerce, PrestaShop) to keep products, stock and orders in sync, using background job queues for reliable imports and exports.

OdooShopify APIWooCommercequeue_job

Custom ERP Modules for Clients

Odoo 12 → 18

Business modules delivered for retail, distribution and manufacturing: transport management, MRP & production, payroll, POS cash drawer, sale signature, stock/sale extensions, custom reporting and data migration scripts between versions.

PythonXMLOWL / JSQWebPostgreSQL

Flutter Mobile Apps

iOS & Android

Cross-platform apps for iOS and Android connected to Odoo and REST back-ends, including the Intel Space business app and an e-commerce app with catalog, cart, payment and order tracking.

FlutterDartRESTOdoo JSON-RPC

Self-hosted Production Platform

Oracle Cloud · Docker · Caddy

A single Caddy reverse proxy serving HTTPS for every app on one Oracle Linux server (Medix, Rental Car, agency sites), with automatic Let's Encrypt and on-demand certificates for clinic domains, plus CI/CD pipelines with backups and rollback.

Docker ComposeCaddyOracle LinuxGitHub Actions

E-commerce Back-end & Admin Dashboards

Spring · Angular · Go

E-commerce REST API with Spring, product management services, an admin dashboard in JavaScript and Angular/NgRx front-ends, plus a Go REST API.

SpringAngularNgRxGo
// odoo apps store

Apps published on the Odoo Apps Store

Paid modules I develop, sell and maintain across Odoo versions, each with a dedicated branch per version. Bug fixes are free; support at mhhraich@gmail.com.

One2many & Many2many Toolbox

mh_x2many_toolbox · Productivity
$24

Long sale orders, invoices, BoMs or transfers are painful in the small list inside the form. This app adds a toolbar above every one2many / many2many list — no configuration.

  • Search the lines; accents and case ignored, all pages searched
  • Line counter: “35 lines” or “3 / 35 lines” while searching
  • Full-screen mode (Esc to exit) with normal editing and reordering
  • Works in every app, only depends on web
Odoo 16 · 17 · 18 · 19

Morocco — Payment Delays Declaration (Loi 69-21, SIMPL)

l10n_ma_payment_delay_dgi · Accounting / Localization
$129

Moroccan companies above 2M MAD turnover must file every quarter the supplier invoices paid late. Missing declarations cost 5,000 to 250,000 MAD. This app builds the declaration in one click.

  • Detects vendor bills paid late or unpaid past the legal term (60 / 120 days / sector)
  • Handles partial payments, credit notes, litigation
  • Estimated fine (Bank Al-Maghrib rate + 0.85 % / month), no double counting
  • Exports: zipped XML for SIMPL EDI, Excel, PDF for the accountant; multi-company
Odoo 16 · 17 · 18 · 19

Customs Duty by HS Code — Landed Costs

landed_cost_customs_duty · Inventory
$119

Puts the real import duty of each product into its stock cost — no more Excel. Every HS code has its own rate, and trade agreements give preferential rates per origin.

  • HS code tariff table (import from spreadsheet), preferential rates by origin with validity dates
  • Customs declaration (DUM / DAU / SAD) in one click from receipts, CIF value at customs exchange rate
  • Duty, other import taxes and import VAT per line; one-click landed cost
  • New split methods “By Customs Duty / Other Taxes / Customs Value”, duties pivot analysis, PDF
Odoo 15 · 16 · 17 · 18 · 19

One2many & Many2many Tracking

One2many_tracking · Discuss / Audit
$70

Odoo's chatter does not track changes inside one2many and many2many fields. This app logs every line added, modified or removed, with who and when.

  • Complete audit trail of related records in the chatter
  • Shows who changed which line and when
Odoo 15 · 16 · 17 · 18 · 19

POS Open Cash Drawer

pos_open_cash_drawer · Point of Sale
$100

Lets cashiers open the cash drawer directly from the product screen of the Point of Sale, without making a sale.

  • Button on the POS product screen
  • No sale or receipt needed to open the drawer
Odoo 17

Webcam QR Code & Barcode Scanner

webcam_qrcode_scan · Sales / Tools
$50

Scan barcodes and QR codes with the device camera (laptop webcam or phone) straight into Odoo fields — no hardware scanner needed.

  • Scanner widget for any char field
  • Camera dialog powered by html5-qrcode
  • Works on desktop and mobile browsers
Odoo 14 · 15 · 16 · 17

Real-Time Total of Selected Records

tree_count_selected · Productivity
$25

Shows live totals of the records you select in any list view, so users see sums instantly without exporting to Excel.

  • Totals update as you tick records
  • Works on every list view
Odoo 13 · 15 · 16 · 17
// experience

Professional experience

Odoo & Mobile Consultant · MUMUSO Morocco

Mar 2024 — Present
  • Advanced development in Python, XML and JavaScript within Odoo.
  • Built a multi-device biometric attendance system (C# + WebSocket) syncing 16 terminals with Odoo.
  • Designed and integrated RESTful APIs; optimized business processes with custom modules.

Odoo & Mobile Developer · IT ADVISOR

Feb 2021 — Mar 2024
  • Developed and maintained Odoo modules for clients across many industries.
  • Cross-platform mobile apps with Flutter for iOS and Android.
  • Third-party API integrations and PrestaShop / WooCommerce customization.

Web Developer · Freelance

2019 — 2021
  • Responsive websites with HTML, CSS, JavaScript and PHP.
  • WordPress themes/plugins and e-commerce implementations.

Independent Software Publisher

Ongoing
  • Publishing 7 paid apps on the Odoo Apps Store, maintained for Odoo 13 → 19.
  • Running my own SaaS products: Medix, Rental Car, MH Paie Maroc and Kids Video Studio.
// skills

Tech stack

Languages

PythonJavaJavaScriptC#DartPHPTypeScriptGoSQL

ERP & Back-end

Odoo 12 → 19OWLSpring BootSpring Security / JWTREST APIs.NET

Front-end & Mobile

FlutterAngular / NgRxHTML / SCSSPrestaShopWordPress

DevOps & Data

DockerCaddyGitHub ActionsLinuxPostgreSQLSQLiteGit

Integrations

Hikvision / biometricsWebSocketShopifyWooCommerceAI APIs (Gemini)

Languages spoken

Arabic — nativeFrench — C1English — C1
// education

Education

Professional Bachelor — Web & Mobile Development

University of Kénitra · 2019 – 2020

Specialized Technician — Computer Development

OFPPT · 2017 – 2019

Baccalaureate — Physical & Chemical Sciences

Lycée Al Wahda, Khenichat · 2016 – 2017
// contact

Let's build something together

Need an Odoo module, a SaaS platform or a mobile app?