Per-Line Schedule Date - Split Deliveries by Date
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 74.69
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) • Inventory (stock) |
| Lines of code | 170 |
| Technical Name |
split_transfer_schedule_date |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) • Inventory (stock) |
| Lines of code | 170 |
| Technical Name |
split_transfer_schedule_date |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
Per-Line Schedule Date for Sale Orders
Assign different delivery schedule dates to individual product lines within the same sales order. Upon confirmation, stock transfers are automatically split by schedule date - perfect for partial shipments, phased deliveries, and multi-site projects.
Standard Odoo allows only one scheduled date for the entire sales order - all products are expected to ship on the same day.
This creates significant operational challenges:
- Products with different lead times must ship separately but same order
- Back-ordered items and in-stock items need different delivery dates
- Construction/materials orders - each item needed at different project phases
- Customer requests phased deliveries - impossible with single date
- Warehouse staff cannot see line-level delivery priorities
- Manual order splitting required -> time-consuming and error-prone
This module adds a "Schedule Date" column on sale order lines. Each product line can have its own delivery date. When the order is confirmed, the system automatically splits stock transfers - one picking per unique schedule date. Perfect for partial shipments, phased deliveries, and managing items with different lead times in a single order.
- Per-Line Schedule Date: Each sale order line has its own delivery schedule date
- Automatic Picking Split: On confirmation, stock transfers automatically split by unique schedule date
- Smart Date Propagation: Per-line dates override order-level commitment_date in stock moves
- Backorder Support: Existing backorder logic works seamlessly with split pickings
- Onchange Propagation: Order-level date automatically populates empty line dates
- UI Hint: Informational tooltip visible in draft orders to guide users
- Warehouse Visibility: Different pickings show different scheduled dates for easy prioritization
- Procurement Integration: Per-line date flows through to procurement group and stock moves
- Audit Trail: Changes to schedule dates are tracked via Odoo's tracking system
1. Set Per-Line Schedule Dates on Sale Order
Each product line has its own Schedule Date column. Assign different delivery dates per item.
2. Confirm Order - Automatic Picking Split
When confirmed, the system creates separate pickings for each unique schedule date.
3. Warehouse View - Separate Deliveries
Warehouse staff see separate pickings with different scheduled dates for easy prioritization.
4. Scheduled Date Display on Picking
Each picking shows its scheduled delivery date based on the line schedule dates assigned.
Installation & Configuration
- Install the Module: Install through Odoo Apps or manually copy to addons path
- Dependencies: Requires
saleandsale_stockmodules - Restart Server & Update: Restart Odoo and update the app list
- No Additional Configuration: Module works automatically after installation
- Set Order Line Dates: Create sale order -> Order Lines tab -> Set Schedule Date per line
- Confirm Order: System automatically splits pickings by unique schedule dates
Step 1: Create Sale Order with Multiple Lines
Navigate to Sales -> Orders -> Quotations. Create a new sales order. Add multiple product lines to the order.
Step 2: Assign Schedule Dates Per Line
In the "Order Lines" tab, you will see a new "Schedule Date" column. For each product line, set the desired delivery date:
- Line 1: Deliver on June 15, 2025
- Line 2: Deliver on June 15, 2025 (same date - will go to same picking)
- Line 3: Deliver on June 22, 2025 (different date - separate picking)
- Leave empty -> uses order-level commitment_date if set
Note: The Schedule Date column is hidden when the order is confirmed or cancelled.
Step 3: Confirm the Sale Order
Click "Confirm" on the sales order. The system automatically:
- Detects all unique schedule dates across order lines
- Creates one Delivery Order (Picking) per unique date
- Assigns the correct lines to each picking
- Sets date and date_deadline on each stock move
- The picking's scheduled date auto-computes from move dates
Step 4: Process Pickings in Warehouse
Go to Inventory -> Operations -> Transfers. You will see separate pickings:
- WH/OUT/0001 - Scheduled Date: June 15, 2025 (Lines 1 & 2)
- WH/OUT/0002 - Scheduled Date: June 22, 2025 (Line 3)
Warehouse staff can process each picking independently based on its scheduled date.
Step 5: Using Order-Level Commitment Date
You can still set an order-level Commitment Date (in the Sales tab). If a line has no per-line schedule date, it will use the order's commitment date. When you change the order's commitment date, empty line dates are automatically updated via onchange.
Pro Tip - Partial Shipments Strategy
Use per-line schedule dates to implement a partial shipment strategy: - Ship in-stock items immediately (set date = tomorrow) - Hold back-ordered items for later (set date = +2 weeks) - Schedule pre-ordered items for their release date All from a single sales order - no manual splitting required. Warehouse staff see prioritized pickings ordered by date.
Partial Shipments
Ship in-stock items immediately, backorders later - all in one order with different schedule dates.
Construction Materials
Foundation materials needed week 1, framing week 2, finishing week 3 - each with separate delivery.
Event Planning
Catering delivered day before, decorations day of event, cleanup supplies after - single order.
Subscription Boxes
Monthly subscription items scheduled for different delivery dates in a single purchase order.
Phased Project Deliverables
Software licenses now, hardware in 2 weeks, installation services in 4 weeks - one order, multiple deliveries.
Retail Pre-Orders
Pre-order product with release date months away, plus in-stock items ship immediately - same order line dates separate automatically.
Reduce Manual Order Splitting
No need to create multiple orders for different delivery dates - one order, automatic split pickings.
Better Warehouse Planning
Pickings sorted by date help warehouse staff prioritize urgent deliveries over future ones.
Improved Customer Satisfaction
Customers receive deliveries exactly when needed - phased deliveries without multiple orders.
Accurate Backorder Management
Schedule out-of-stock items for future dates - separate pickings for now vs later.
Do You Need Assistance or Have a Feature Request?
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module