Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Localization
  3. Hijri & Shamsi Calendar v 17.0
  4. Sales Conditions FAQ

Hijri & Shamsi Calendar

by Mohammad Hameed Masjedi https://www.linkedin.com/in/hameed45
Odoo
v 17.0 Third Party 1
Download for v 17.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
  • Description
  • Manifest
Hijri & Shamsi Calendar for Odoo
For Odoo 17 · Community & Enterprise

Hijri & Shamsi Calendar
for Every Screen in Odoo

One toggle in General Settings carries Form, List, Kanban, Pivot, Graph, Search, Chatter, printed reports, and exports from Gregorian to Islamic Lunar or Afghan Solar time — and back, instantly. Stored dates never change, only their display.

✓ Odoo Community ✓ Odoo Enterprise ✓ Hijri & Shamsi ✓ Arabic, Dari & English Free

Developed by Mohammad Hameed Masjedi — Software Engineer · Economist · Odoo ERP Specialist · Hameedmasjedi45@gmail.com

Overview

Adds full Hijri (Islamic Lunar) and Shamsi (Afghan Solar Hijri) calendar support to Odoo, alongside the standard Gregorian calendar. A single toggle in General Settings switches Form, List, Kanban, Pivot, Graph, Search, Chatter, printed PDF reports, and Excel/CSV exports to the selected calendar, system-wide — with no per-view configuration required. Unchecking the toggle reverts everything to Gregorian instantly; the underlying stored date is never modified, only its display.

What's Included

Nine Ways It Reaches Every Corner of Odoo

Global Calendar Toggle

One setting switches Gregorian / Hijri / Shamsi across every Date and Datetime field, on screen and in print — no per-view setup.

Per-Field Widgets

widget="hijri_date" and widget="hijri_datetime" opt individual fields in, with a full calendar-style picker.

True Group By Buckets

List, Pivot, Graph and Search Panel group by real Hijri/Shamsi periods, computed at the ORM level — not a relabelled Gregorian range.

Calendar-Aware Search

Search Bar typing, Custom Filters, and period shortcuts (This Month / Quarter / Year) understand the active calendar.

PDF Reports & Portal

Sale Orders, Invoices, Purchase Orders and Deliveries print and preview in the active calendar, including the Customer Portal.

Excel & CSV Export

Exported spreadsheets render dates in the active calendar, matching exactly what's on screen.

Chatter & Activities

Chatter timestamps, field-tracking change logs, and Activity due dates all display in the selected calendar.

Moon-Sighting Adjustment

Manual ±1 day correction entries per Hijri month, so local sighting announcements don't require a blanket global shift.

Dual Date Display

Show the local calendar alongside Gregorian in the same field, with a company-level override for this display option.

Settings & Calendar Toggle

Go to Settings › General Settings › Hijri Calendar to choose Hijri or Shamsi as the active calendar, turn on dual display, and manage per-month moon-sighting adjustments — all from one screen.

● ● ●
General Settings — Hijri Calendar toggle

Form, List & Group By

Every Date and Datetime field across Odoo renders in the active calendar. Group-by buckets in List, Pivot and Graph use true Hijri/Shamsi periods, not relabelled Gregorian ranges.

List View — Hijri

●●●
Invoices list view with Hijri dates

List View — Shamsi

●●●
Same invoices list view with Shamsi dates

Group By — Shamsi Periods

●●●
List view grouped by true Shamsi periods

Chatter, Activities & Dashboards

Message timestamps, activity due dates, and chart/dashboard date labels elsewhere in Odoo all follow the active calendar automatically — including the Accounting Dashboard's journal graph labels.

Chatter

●●●
Chatter thread date separator in Hijri

Invoicing Dashboard

●●●
Invoicing dashboard with Shamsi month labels

Reports, Portal & Exports

Printed PDF reports, Customer Portal previews, and Excel/CSV exports all render dates in the active calendar — no additional setup.

PDF Invoice

●●●
Printed PDF invoice with Shamsi dates

Customer Portal

●●●
Customer Portal invoice preview with Shamsi dates

Excel Export

●●●
Excel export with Shamsi dates in downloaded file

Moon-Sighting Adjustment Entry

●●●
Per-month moon-sighting adjustment entry form

Why Choose This Module?

One Toggle, Whole System

Install the module, choose a calendar in Settings. Every screen in every installed app switches automatically — no field-by-field, view-by-view setup.

Non-Destructive

The stored Gregorian date is never modified — only its display. Switch back to Gregorian at any time with zero data loss.

Comprehensive Coverage

Form, list, kanban, pivot, graph, search, chatter, PDF, portal, Excel/CSV, Accounting Dashboard — every place a date appears.

Multilingual & Multi-Company

Arabic, English and Dari month names ship built in. Each company can override the dual-display option independently.

Under The Hood

Technical Highlights

  • Hijri conversion uses the Umm al-Qura calendar via the hijridate Python package.
  • Shamsi conversion uses the jdatetime Python package.
  • ORM-level Group By — Hijri/Shamsi buckets are computed server-side, not faked with relabelled Gregorian ranges.
  • Server-side QWeb report overrides keep PDF and Portal rendering in sync with the on-screen calendar.
  • Clear dependency errors. If a required Python package is missing, the Settings page shows an actionable message instead of failing silently.
  • Company > System priority for the dual-display option, resolved consistently everywhere a date is rendered.

Requirements

This module requires the following Python packages on the Odoo server:

pip install hijridate jdatetime

This is a free app — licensed under the GNU Lesser General Public License v3.0 (LGPL-3).

Installation

  1. Install the required Python packages on the Odoo server: pip install hijridate jdatetime.
  2. Place the hijri_shamsi_calendar folder in your Odoo addons path and restart the server.
  3. From Apps, click Update Apps List, search for "Hijri & Shamsi Calendar", and install.
  4. Go to Settings › General Settings › Hijri Calendar and choose Hijri or Shamsi.
  5. Save. All dates across the system now render in the selected calendar.

Compatibility

Item Supported
Odoo Version17.0
EditionCommunity & Enterprise
LanguagesArabic, English, Dari (Afghan Persian)
CalendarsGregorian, Hijri (Islamic Lunar), Shamsi (Afghan Solar Hijri)
Multi-CompanyYes — per-company dual-display override
DatabasePostgreSQL (Odoo standard)

Known Limitations

  • Some specialised per-field options on the standard date widget (e.g. a future-date warning) aren't reproduced while the global toggle is on — use the per-field widget instead if you need them.
  • The active calendar is one system-wide setting; only the dual-display option can be overridden per company.
  • Grouping by two coarse date fields at once in the same Pivot/List call only re-buckets the first field.
Support & Customization

Need Help or Customization?

For support, customization, or implementation enquiries, reach out to Mohammad Hameed Masjedi — Software Engineer | Economist | Odoo ERP Specialist | Accounting & Financial Management Expert.

Hameedmasjedi45@gmail.com

LinkedIn: linkedin.com/in/hameed45

Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 3142
Technical Name hijri_shamsi_calendar
LicenseLGPL-3
Websitehttps://www.linkedin.com/in/hameed45

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with