Time Range for POS Orders
by Abdallah Salem https://apps.odoo.com/apps/modules/browse?search=Abdallah+salem| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 976 |
| Technical Name |
time_range_pos |
| License | LGPL-3 |
| Website | https://apps.odoo.com/apps/modules/browse?search=Abdallah+salem |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 976 |
| Technical Name |
time_range_pos |
| License | LGPL-3 |
| Website | https://apps.odoo.com/apps/modules/browse?search=Abdallah+salem |
Time Range for POS Orders
Filter POS Orders By Time Of Day Using Predefined Ranges
Built on the Time Range base module — inspired by the OCA Date Range module
Key Highlights
Shift-Based Filtering
Filter POS orders by morning, evening, or night shifts using predefined time ranges.
Time Period Search
A new "Time Period" field is auto-injected into the POS Orders search view.
Night Shift Support
Overnight ranges like 22:00 to 06:00 work correctly with automatic midnight logic.
Built on Time Range
Leverages the base Time Range module for centralized range management and configuration.
Analyze POS performance by shift, identify peak hours,
and generate time-based reports effortlessly.
Step 1: Configure Time Ranges
Navigate to Settings > Technical > Time Ranges to access the configuration menu. Here you can create Time Ranges, Time Range Types, or use the batch generator. This is provided by the base Time Range module.
Step 2: Create Your Shift Ranges
Define your time ranges such as "morning" (09:00-17:00) and "afternoon" (17:00-23:00) under a Shift Schedule type. You can also add night shifts with overnight ranges like 22:00 to 06:00.
Step 3: Search POS Orders by Time
Go to Point of Sale > Orders. In the search bar, you'll see the new "Search Time Period" option. Type a time range name to quickly find and apply it as a filter to your POS orders.
Step 4: Apply Custom Time Filters
Use "Add Custom Filter" to select the Time Period field and choose one or multiple time ranges (e.g., "morning" and "afternoon"). The filter uses OR logic to show orders matching any selected range.
Filter POS orders by time-of-day using predefined ranges like morning, evening, or night shifts.
"Time Period" search field is auto-injected into the POS Orders list view.
Filters on the date_order field for accurate order time matching.
Supports overnight shifts (e.g., 22:00 to 06:00) for businesses operating across midnight.
Select multiple time ranges for combined filtering using OR logic.
Multi-company support — each company can have its own time range configuration.
No schema changes to pos.order — uses computed search fields for zero-impact integration.
Compatible with both Odoo Community and Enterprise editions.
FAQ
The Time Range module is a base/technical module inspired by the OCA Date Range module. While the OCA module focuses on date-based filtering, our Time Range module provides time-of-day filtering. It manages configurable time ranges and provides an abstract mixin that any model can inherit to gain time filtering capabilities.
This module filters on the date_order field of POS orders, which stores the timestamp when each order was placed. It extracts the time component (hour and minute) from this field to match against your configured time ranges, regardless of the date.
Yes! You can select multiple time ranges in the filter (e.g., both "morning" and "afternoon"). The module uses OR logic, so orders matching any of the selected time ranges will be displayed.
Yes! Overnight ranges like 22:00 to 06:00 are fully supported. The module automatically detects when the end time is before the start time and applies OR logic (time >= 22:00 OR time
Yes! This module is fully compatible with both Odoo Community and Odoo Enterprise editions. It depends on "point_of_sale" and "time_range" modules, both of which work on Community and Enterprise.
Release 18.0.1.0.0
March, 2026- Initial release
- Time-of-day filtering for POS Orders via time.range.search.mixin
- Auto-injected "Time Period" search field in POS Orders view
- Filters on date_order field for accurate order timestamps
- Overnight shift range support
- Multi-range selection with OR logic
Please log in to comment on this module