Skip to content
View ahmdelgmil's full-sized avatar
🌴
fierbasemanger.com
🌴
fierbasemanger.com

Block or report ahmdelgmil

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ahmdelgmil/README.md

Ahmed Elgamil

Senior Odoo ERP Developer · Integration Specialist

LinkedIn GitHub Email Odoo


👋 About Me

Senior Odoo ERP Developer — 3+ years building production modules and real platform integrations.

I build custom Odoo modules from scratch and connect Odoo to external platforms via REST APIs and Webhooks. My work covers POS, Sales, Invoicing, Accounting, Inventory, CRM, Real Estate, and live integrations with Salla and Zid e-commerce platforms.

40+ custom modules · Odoo 15 → 19 · Production only


🔢 Odoo Versions

Version Status Notes
Odoo 15 Custom modules · inheritance patterns
Odoo 16 Module migration · OWL v2 adoption
Odoo 17 OWL v2 · API updates · asset pipeline
Odoo 18 Full OWL v3 · major POS rewrite
Odoo 19 Latest features · active upgrades

🔗 Platform Integrations

Odoo × Salla

Full bidirectional sync between Odoo backend and Salla e-commerce

What How
Products & Prices Push from Odoo → Salla on create/update
Orders Pull from Salla → auto-create sale order in Odoo
Stock / Inventory Real-time sync — Odoo stock moves update Salla availability
Customers Auto-create res.partner on new Salla order
Webhooks Salla fires events → Odoo HTTP controller processes instantly
Custom Module Dedicated Odoo module with settings, sync logs, and error handling UI

Odoo × Zid

Full bidirectional sync between Odoo and Zid (Saudi e-commerce platform)

What How
Products & Prices Push from Odoo → Zid with variant mapping
Orders Pull from Zid → auto-create sale order + customer in Odoo
Stock / Inventory Real-time availability sync via Zid API on every stock move
Customers Auto-create/update res.partner from Zid buyer data
Webhooks Zid order events → instant processing via Odoo controller
Custom Module Dedicated module with OAuth token management, sync queue, and retry logic

🚀 Projects


🏢 Real Estate ERP Suite

Odoo 18 · Custom Application · Production

Full property management system built ground-up on Odoo 18

  • Compound → Building → Unit hierarchy with configurable types (Apartment / Villa / Floor)
  • Unit lifecycle: Vacant → Reserved → Waiting → Occupied
  • Warranty/guarantee tracking with live expiry countdown
  • Maintenance ticketing with mail.thread audit trail
  • Google Maps embedded via custom HTTP controller
  • Public JSON API — available units feed for external portals
  • Role-based security: ir.rule per sales / admin / manager group

🛒 POS Engine Overhaul

Odoo 18 · 10+ Modules · Production

Complete POS customization suite using OWL v3 components

  • Session-close screen rebuilt as structured payment summary table
  • Cash/bank input embedded inline — no popup switching
  • Auto-print PDF difference report on session close
  • Auto-invoice on payment validation
  • Pricelist defaults and restrictions per terminal
  • Cash-in/out with operator-level audit log
  • Real-time out-of-stock detection + cancellation flow
  • Per-role discount cap enforcement
  • Custom branded receipt templates with lot/serial display

💰 Sales & Invoice Suite

Odoo 15 → 18 · Production

Extended sales and invoicing workflows across multiple client deployments

  • QWeb-redesigned invoice PDF templates matching client branding
  • Sale order custom fields, conditional logic, and approval flows
  • Payment term automation on partner and order level
  • Multi-currency handling aligned to accounting config

📂 Excel Bulk Import Engine

Odoo 16/17 · Production

Universal .xlsx import framework with validation UI

  • Import products · customers · pricelists · inventory adjustments
  • Row-level validation — shows exact errors per cell
  • Duplicate detection before write
  • Partial success: valid rows import, invalid rows flagged
  • Clean backend UI built as a custom Odoo wizard

📋 CRM & Sales Automation

Odoo 17/18 · Production

Custom CRM extensions for field sales teams

  • Visit scheduling linked to leads with outcome tracking
  • Campaign source attribution on every lead
  • Customer activity timeline across all interactions
  • Stage-triggered email automation

🧩 Modules by Domain

Domain Delivered
🛒 POS Session close · Payments · Receipts · Discounts · Stock · Auto-invoice · Cash in/out
💰 Sales & Invoicing Custom invoices · QWeb PDF · Sale order extensions · Payment terms
📊 Accounting Journal automation · Period closing · Analytic account integration
📂 Excel Import Products · Customers · Pricelists · Inventory — with validation UI
🔗 E-commerce Salla sync · Zid sync · Webhooks · API token management
🏢 Real Estate Projects · Buildings · Units · Warranties · Maintenance · REST API
📋 CRM Visits · Campaign tracking · Activity logs · Pipeline automation
📦 Inventory Variants · Lot/serial · Stock moves · Attribute automation
⚙️ Config System settings · Cross-app defaults · Company-level config

🧱 Custom Module Development

Models & ORM

  • models.Model_name, _inherit, _inherits, _description
  • Fields: Many2one, One2many, Many2many, Selection, Monetary, Binary, Html
  • Decorators: @api.depends · @api.onchange · @api.constrains · @api.model_create_multi
  • Override create() · write() · unlink() safely with super()
  • _sql_constraints for DB-level integrity

Business Logic

  • Multi-model workflows: sale order → contract → invoice → accounting entry
  • State machines with Selection + action methods (action_confirm, action_cancel)
  • Computed store=True fields with performance-aware design
  • ir.sequence for auto-reference numbers

Security

  • ir.model.access.csv — model-level CRUD per group
  • ir.rule — row-level record isolation
  • Custom res_groups linked to menus, views, buttons
  • Multi-company company_id filtering

Views & UI

  • form · list · kanban · search · pivot — built from scratch
  • inherit_id + xpath for extending existing views
  • Smart buttons · stat buttons · attrs visibility rules

OWL Components (v1 → v3)

  • useState · useRef · onMounted · onWillStart
  • patch() to extend core Odoo components safely
  • Python ↔ OWL communication via JSON rpc
  • POS closing screens · payment popups · receipt templates

QWeb Reports

  • Multi-page PDF reports with t-if · t-foreach · t-call
  • Custom invoices · delivery notes · session closing reports
  • Auto-print on workflow actions

REST API & Controllers

  • http.Controller with @http.route — JSON & HTTP
  • Public endpoints (auth=public) for external consumers
  • Request parsing · error handling · CORS

🛠️ Stack

Python 3 · Odoo ORM · OWL JS (v1→v3) · QWeb · XML/XPath · PostgreSQL · REST API · Webhooks · ir.rule · mail.thread · JavaScript · Git · Linux


📬 Contact


Built for production. Integrated with precision.

Popular repositories Loading

  1. angular-electron-server-ngZorro angular-electron-server-ngZorro Public

    TypeScript 1

  2. hextra hextra Public

    Forked from imfing/hextra

    🔯 Modern, batteries-included Hugo theme for creating beautiful doc, blog and static websites

    CSS 1

  3. ahmdelgmil ahmdelgmil Public

    1

  4. react_todo_list react_todo_list Public

    React Todo List is a simple and efficient task management application built with React.js. It allows users to add, delete, and mark tasks as completed. The project is designed to demonstrate best p…

    JavaScript 1

  5. video-by-code video-by-code Public

    JavaScript

  6. base-salla base-salla Public

    البداية في انشاء اي تطبيق سلة