Skip to Content
Odoo Меню
  • Увійти
  • Спробуйте це безкоштовно
  • Додатки
    Фінанси
    • Бухоблік
    • Виставлення рахунку
    • Витрати
    • Електронні таблиці (BI)
    • Документи
    • Підпис
    Продажі
    • CRM
    • Продажі
    • POS Магазин
    • POS Ресторан
    • Підписки
    • Оренда
    Веб-сайти
    • Конструктор веб-сайту
    • Електронна комерція
    • Блог
    • Форум
    • Живий чат
    • Електронне навчання
    Ланцюг поставок
    • Склад
    • Виробництво
    • PLM
    • Купівлі
    • Технічне обслуговування
    • Якість
    Кадри
    • Співробітники
    • Рекрутинг
    • Відпустки
    • Оцінювання
    • Рекомендації
    • Автотранспорт
    Маркетинг
    • Маркетинг соцмереж
    • Email-маркетинг
    • SMS-маркетинг
    • Події
    • Автом. маркетингу
    • Опитування
    Послуги
    • Проект
    • Табелі
    • Виїзне обслуговування
    • Служба підтримки
    • Планування
    • Призначення
    Продуктивність
    • Обговорення
    • Artificial Intelligence
    • IoT
    • IP-телефонія
    • База знань
    • WhatsApp
    Сторонні модулі Odoo Studio Платформа Odoo Cloud
  • Сфери
    Роздрібна торгівля
    • Книжковий магазин
    • Магазин одягу
    • Магазин меблів
    • Продуктовий магазин
    • Магазин будівельних матеріалів
    • Магазин іграшок
    Food & Hospitality
    • Бар та паб
    • Ресторан
    • Фастфуд
    • Guest House
    • Дистриб'ютор напоїв
    • Hotel
    Нерухомість
    • Real Estate Agency
    • Архітектурна фірма
    • Будівництво
    • Property Management
    • Садівництво
    • Асоціація власників нерухомості
    Консалтинг
    • Бухгалтерська компанія
    • Партнер Odoo
    • Агенція маркетингу
    • Юридична фірма
    • Придбання Талантів
    • Аудит та сертифікація
    Виробництво
    • Textile
    • Metal
    • Меблі
    • Їжа
    • Brewery
    • Корпоративні подарунки
    Здоров'я & Фітнес
    • Спортивний клуб
    • Оптика
    • Фітнес-центр
    • Практики здоров'я
    • Аптека
    • Салон краси
    Trades
    • Ремонтник
    • IT-обладнання та Підтримка
    • Системи сонячної енергії
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Інші
    • Nonprofit Organization
    • Екологічна агенція
    • Оренда білбордів
    • Фотографія
    • Лізинг велосипедів
    • Реселлер програмного забезпечення
    Browse all Industries
  • Спільнота
    Навчання
    • Навчальний посібник
    • Документація
    • Сертифікації
    • Тренування
    • Блог
    • Подкаст
    Сприяйте Освіті
    • Програма навчання
    • Бізнес гра Scale Up!
    • Відвідайте Odoo
    Отримайте програмне забезпечення
    • Завантаження
    • Порівняйте версії
    • Релізи
    Співпрацюйте
    • Github
    • Форум
    • Події
    • Переклади
    • Стати партнером
    • Services for Partners
    • Зареєструйте вашу бухгалтерську фірму
    Отримайте послуги
    • Знайдіть партнера
    • Знайдіть бухгалтера
    • Зустріньтеся з консультантом
    • Послуги з впровадження
    • Референси клієнтів
    • Підтримка
    • Оновлення
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Отримати демо
  • Ціни
  • Допомога
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
MRP subcontracting equipment manufacturing BoM
Про цей форум
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
MRP subcontracting equipment manufacturing BoM
Про цей форум
  1. MRP
  2. Форум

Dynamic Pricelist Activation Based on Delivery Date and Validation

Підписатися

Отримуйте сповіщення про активність щодо цієї публікації

Це запитання позначене
Salesquotation
3 Відповіді
4696 Переглядів
Аватар
Mohammad Al Shayeb (mhas)

I'm seeking a solution to dynamically apply a pricing list based on the scheduled delivery date, rather than the date of quotation creation. For instance, I maintain distinct price lists corresponding to each month. However, since customers are required to make a deposit prior to delivery, there arises a scenario where the upcoming month's prices are 20% higher than the current rates. Given that a quotation might be generated today for a delivery in the subsequent month, the manual adjustment of the price list becomes the sole recourse. Is it feasible to establish multiple price lists, associate each with its relevant month within the validation framework, and ensure that an error is triggered if an incompatible price list is selected for the delivery month?

Example: Let's say you run a flower shop, and you have varying price lists for different seasons. You create price lists for January, February, and March. A customer requests a quotation for a flower delivery scheduled for February. The current month is January, and the prices are lower. However, since the delivery will be made in February when prices are higher, your system, using the set validation rules, detects the mismatch between the selected January price list and the February delivery month. An automatic error message is displayed, prompting the user to choose the appropriate February price list for accurate pricing.   

1
Аватар
Відмінити
Аватар
Vashmitha V
Найкраща відповідь

Hello there,

for this, create a custom module to add some constrains.

seasonal_pricelist\models\sale_order.py 

from odoo import models, fields, api, _
from odoo.exceptions import ValidationError


class SaleOrder(models.Model):
_inherit = 'sale.order'

is_delivery_date_based_price = fields.Boolean(
string='Is price based on Delivery date',
tracking=True,
)

@api.constrains('is_delivery_date_based_price', 'commitment_date')
def _check_commitment_date_required(self):
for order in self:
if order.is_delivery_date_based_price and not order.commitment_date:
raise ValidationError(
_("Commitment Date is required when 'Price based on Delivery date' is enabled.\n"
"Add the delivery date in the Other Info tab under the Delivery section.")
)


class SaleOrderLine(models.Model):
_inherit = 'sale.order.line'

def _get_order_date(self):
self.ensure_one()
price_date = (
self.order_id.commitment_date
if self.order_id.is_delivery_date_based_price and self.order_id.commitment_date
else self.order_id.date_order
)

return price_date


seasonal_pricelist\views\sale_order.xml

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<record id="view_sale_order_form_inherit" model="ir.ui.view">
<field name="name">sale.order.form.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='order_details']/field[@name='payment_term_id']" position="before">
<field name="pricelist_name" invisible ="1"/>
<field name="is_delivery_date_based_price"/>
</xpath>
</field>
</record>
</odoo>

Add it's respective __init__.py and __manifest__.py files
As this result,

One field with check box will appear on sale order, when it checked off [✅], then must the delivery date if filled to reflect the price on delivery date

After this, create a pricelist for the product with start date and end date,



Then select the respective price on the SO page,

here SO order date= July


Delivery month = Sep 09/17/2025

As a result,



I hope this helps you.

Check and clarify your doubts.



0
Аватар
Відмінити
Аватар
AlexanderJBoyle
Найкраща відповідь

Great

0
Аватар
Відмінити
Аватар
Chris Johnsen
Найкраща відповідь

Did anyone work this out?  I need this also!

0
Аватар
Відмінити
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Реєстрація
Related Posts Відповіді Переглядів Дія
How to Manage UOM Conversion for Aluminum Pipe in Purchase & Subcontracting?
subcontracting inventory Price STOCK quotation Product Odoo18
Аватар
0
бер. 25
6
Спільнота
  • Навчальний посібник
  • Документація
  • Форум
Open Source
  • Завантаження
  • Github
  • Runbot
  • Переклади
Послуги
  • Хостинг Odoo.sh
  • Підтримка
  • Оновлення
  • Кастомні доробки
  • Навчання
  • Знайдіть бухгалтера
  • Знайдіть партнера
  • Стати партнером
Про нас
  • Наша компанія
  • Торгові активи
  • Зв'яжіться з нами
  • Вакансії
  • Події
  • Подкаст
  • Блог
  • Клієнти
  • Юридичні документи • Конфіденційність
  • Безпека
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk Slovenščina Español (América Latina) Español Svenska ภาษาไทย Türkçe українська Tiếng Việt

Odoo - це набір програм для роботи з відкритим кодом, які охоплюють всі ваші потреби компанії: CRM, електронна комерція, бухгалтерський облік, склад, точка продажу, управління проектами тощо.

Унікальна пропозиція Odoo - це одночасно дуже проста у використанні та повністю інтегрована.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now