Skip to Content
Odoo Меню
  • Увійти
  • Спробуйте це безкоштовно
  • Додатки
    Фінанси
    • Бухоблік
    • Виставлення рахунку
    • Витрати
    • Електронні таблиці (BI)
    • Документи
    • Підпис
    Продажі
    • CRM
    • Продажі
    • POS Магазин
    • POS Ресторан
    • Підписки
    • Оренда
    Веб-сайти
    • Конструктор веб-сайту
    • Електронна комерція
    • Блог
    • Форум
    • Живий чат
    • Електронне навчання
    Ланцюг поставок
    • Склад
    • Виробництво
    • PLM
    • Купівлі
    • Технічне обслуговування
    • Якість
    Кадри
    • Співробітники
    • Рекрутинг
    • Відпустки
    • Оцінювання
    • Рекомендації
    • Автотранспорт
    Маркетинг
    • Маркетинг соцмереж
    • Email-маркетинг
    • SMS-маркетинг
    • Події
    • Автом. маркетингу
    • Опитування
    Послуги
    • Проект
    • Табелі
    • Виїзне обслуговування
    • Служба підтримки
    • Планування
    • Призначення
    Продуктивність
    • Обговорення
    • Схвалення
    • IoT
    • IP-телефонія
    • База знань
    • WhatsApp
    Сторонні модулі Odoo Studio Платформа Odoo Cloud
  • Сфери
    Роздрібна торгівля
    • Книжковий магазин
    • Магазин одягу
    • Магазин меблів
    • Продуктовий магазин
    • Магазин будівельних матеріалів
    • Магазин іграшок
    Food & Hospitality
    • Бар та паб
    • Ресторан
    • Фастфуд
    • Guest House
    • Дистриб'ютор напоїв
    • Hotel
    Нерухомість
    • Real Estate Agency
    • Архітектурна фірма
    • Будівництво
    • Управління нерухомістю
    • Садівництво
    • Асоціація власників нерухомості
    Консалтинг
    • Бухгалтерська компанія
    • Партнер 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
    Отримати демо
  • Ціни
  • Допомога

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Бухоблік
  • Склад
  • PoS
  • Проект
  • MRP
All apps
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
odoo accounting v14 pos v15
Про цей форум
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
All Posts Люди Значки
Мітки (View all)
odoo accounting v14 pos v15
Про цей форум
Допомога

How to get Low Stock Notifications at stock levels other than 0

Підписатися

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

Це запитання позначене
stockwarehouseodoo8
6 Відповіді
18335 Переглядів
Аватар
Travis Waelbroeck

In Magento, there is a module <a href='https://magegiant.com/magento-low-stock-email-notification-extension/'>Low Stock Email Notification</a> that allows you to set a low stock "threshold" for each product individually.


For example, I can set one product to be considered low when it's under 100, whereas another I want to be notified if it falls under 5,000. Daily, weekly, or monthly (set in configuration settings), I get an email notifying me of all products that are low and how many are in stock.


Is there anything existing in Odoo to mimic this feature? Or is there anything similar that we can use as a basis of developing this feature?

0
Аватар
Відмінити
Dr Obx

In my case, I developed a module which check stock levels every time product is taken, if stock level is less than value set for each product individually sending email with current stock and product name. You can set stock level manually or based on last 6 month sale.

Travis Waelbroeck
Автор

Is your module publicly available for review/reference?

Аватар
Travis Waelbroeck
Автор Найкраща відповідь

I was able to develop a module on my own to accomplish this goal.

Basically, it creates a new attribute for each product and will send an email each day with any products who are active, sellable, and below their "low stock" threshold (excluding any whose threshold is below 0).

You can see the code in my GitHub repository: https://github.com/travs-w/low_stock_notify

product.py

from openerp import models, fields, api

from datetime import date

import StringIO

import base64

class Product(models.Model):

_inherit = 'product.template'

qty_low_stock_notify = fields.Integer(string='Notify for Qty Below', default=80,

help='When stock on hand falls below this number, it will be included in the low stock report. Set to -1 to exclude from the report.')

def send_low_stock_via_email(self, cr, uid, context=None):

header_label_list=["SKU", "Name", "Qty On Hand","Qty Incoming","Low Stock Qty"]

## Get email template

template_obj = self.pool.get('email.template')

template_ids = template_obj.search(cr, uid, [('name', '=', 'Low Stock Automated Report')])

template = template_obj.browse(cr, uid, template_ids)

if template:

default_body = template.body_html

custom_body = """

<table>

<th>%s</th>

<th>%s</th>

<th style="text-align:center;">%s</th>

<th style="text-align:center;">%s</th>

<th style="text-align:center;">%s</th>

""" %(header_label_list[0], header_label_list[1], header_label_list[2], header_label_list[3], header_label_list[4])

## Check for low stock products

product_obj = self.pool.get('product.product')

product_ids = product_obj.search(cr, uid, [('active', '=', True), ('sale_ok', '=', True), ('default_code', '!=', False)])

for product in product_obj.browse(cr, uid, product_ids):

product_sku = product.default_code

if not product_sku or product_sku == '':

continue

qty_available = product.qty_available

qty_incoming = product.incoming_qty

qty_low_stock_notify = product.qty_low_stock_notify

if qty_available <= qty_low_stock_notify and qty_low_stock_notify >= 0: ## set low_stock_notify = -1 to never be notified

custom_body += """

<tr style="font-size:14px;">

<td>%s</td>

<td>%s</td>

<td style="text-align:center;">%s</td>

<td style="text-align:center;">%s</td>

<td style="text-align:center;">%s</td>

</tr>

""" %(product_sku, product.name, str(qty_available), str(qty_incoming), str(qty_low_stock_notify))

custom_body += "</table>"

template.body_html = default_body + custom_body

send_email = template_obj.send_mail(cr, uid, template.id, uid, force_send=True, context=context)

template.body_html = default_body

return True

product_template.xml

<?xml version="1.0"?>

<openerp>

<data>

<record id="view_low_stock_notify_product_form" model="ir.ui.view">

<field name="name">Add Low stock notify field product form</field>

<field name="model">product.template</field>

<field name="inherit_id" ref="product.product_template_only_form_view" />

<field name="arch" type="xml">

<xpath expr="//field[@name='state']" position="before" >

<field name="qty_low_stock_notify"/>

</xpath>

</field>

</record>

</data>

</openerp>

ir_cron.xml

<?xml version="1.0" encoding="utf-8"?>

<openerp>

<data noupdate="1">

<record id="ir_cron_send_low_stock_via_email" model="ir.cron">

<field name="name">Check Low Stock and Notify</field>

<field eval="True" name="active"/>

<field name="user_id" ref="base.user_root"/>

<field name="interval_number">1</field>

<field name="interval_type">days</field>

<field name="numbercall">-1</field>

<field name="doall" eval="False"/>

<field name="model" eval="'product.template'"/>

<field name="function" eval="'send_low_stock_via_email'"/>

<field name="args" eval="'()'"/>

</record>

</data>

</openerp>


3
Аватар
Відмінити
Damodar D.

Hi, is it for 9.0? could you post it in community repositorie? thanks

Travis Waelbroeck
Автор

I updated my github repository with a version for 9.0 in addition to the 8.0 version. https://github.com/travs-w/low_stock_notify

Аватар
Nilim
Найкраща відповідь

Hi,

By default this feature is not available in Odoo. You need a customized module to AVAIL this feature.

We have an module with us which might serve your purpose, as it show you current stock and also you can set notifications/warnings messages in case of diminishing Stock level.

Go through the LINK once :- https://store.webkul.com/Odoo-Website-Stock-Notify.html


Hope this helps

Cheers!!

0
Аватар
Відмінити
Travis Waelbroeck
Автор

I had not seen this module before. While I see its usefulness, I'm not sure it will be useful for our goals on this task, though.

Nilim

Okhay, No issues Travis. We are one of the leading provider of Odoo customized modules and Odoo- Magento-Brdiges and many more products and services, hence in case you require any customization feel free to get in touch with us anytime. We will be glad to help you. You can get in touch with us anytime@ http://webkul.com/ticket/

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 Відповіді Переглядів Дія
Fraccionar lotes en / Splitting Lots in Odoo 18
stock warehouse
Аватар
Аватар
Аватар
2
серп. 25
1186
Inventory - How can I see stock levels at a specific date? How can I track product movements over time? Вирішено
stock warehouse
Аватар
Аватар
2
серп. 25
9035
The inventory module does not assign the next storage location but the central location.
stock warehouse
Аватар
Аватар
Аватар
2
трав. 25
1651
Negative Inventory Journal Entry - "Revaluation of PM/DO/XXX" Вирішено
stock warehouse
Аватар
Аватар
Аватар
2
квіт. 25
2755
Error in setting outgoing-shipment steps Odoo
stock warehouse
Аватар
1
квіт. 25
5643
Спільнота
  • Навчальний посібник
  • Документація
  • Форум
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 ภาษาไทย 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