Przejdź do zawartości
Odoo Menu
  • Zaloguj się
  • Wypróbuj za darmo
  • Aplikacje
    Finanse
    • Księgowość
    • Fakturowanie
    • Wydatki
    • Arkusz kalkulacyjny (BI)
    • Dokumenty
    • Podpisy
    Sprzedaż
    • CRM
    • Sprzedaż
    • PoS Sklep
    • PoS Restauracja
    • Subskrypcje
    • Wypożyczalnia
    Strony Internetowe
    • Kreator Stron Internetowych
    • eCommerce
    • Blog
    • Forum
    • Czat na Żywo
    • eLearning
    Łańcuch dostaw
    • Magazyn
    • Produkcja
    • PLM
    • Zakupy
    • Konserwacja
    • Jakość
    Zasoby Ludzkie
    • Pracownicy
    • Rekrutacja
    • Urlopy
    • Ocena pracy
    • Polecenia Pracownicze
    • Flota
    Marketing
    • Marketing Społecznościowy
    • E-mail Marketing
    • SMS Marketing
    • Wydarzenia
    • Automatyzacja Marketingu
    • Ankiety
    Usługi
    • Projekt
    • Ewidencja czasu pracy
    • Usługi Terenowe
    • Helpdesk
    • Planowanie
    • Spotkania
    Produktywność
    • Dyskusje
    • Sztuczna inteligencja
    • IoT
    • VoIP
    • Wiedza
    • WhatsApp
    Aplikacje trzecich stron Studio Odoo Odoo Cloud Platform
  • Branże
    Sprzedaż detaliczna
    • Księgarnia
    • Sklep odzieżowy
    • Sklep meblowy
    • Sklep spożywczy
    • Sklep z narzędziami
    • Sklep z zabawkami
    Żywienie i hotelarstwo
    • Bar i Pub
    • Restauracja
    • Fast Food
    • Pensjonat
    • Dystrybutor napojów
    • Hotel
    Agencja nieruchomości
    • Agencja nieruchomości
    • Biuro architektoniczne
    • Budowa
    • Zarządzanie nieruchomościami
    • Ogrodnictwo
    • Stowarzyszenie właścicieli nieruchomości
    Doradztwo
    • Biuro księgowe
    • Partner Odoo
    • Agencja marketingowa
    • Kancelaria prawna
    • Agencja rekrutacyjna
    • Audyt i certyfikacja
    Produkcja
    • Tekstylia
    • Metal
    • Meble
    • Jedzenie
    • Browar
    • Prezenty firmowe
    Zdrowie & Fitness
    • Klub sportowy
    • Salon optyczny
    • Centrum fitness
    • Praktycy Wellness
    • Apteka
    • Salon fryzjerski
    Transakcje
    • Złota rączka
    • Wsparcie Sprzętu IT
    • Systemy energii słonecznej
    • Szewc
    • Firma sprzątająca
    • Usługi HVAC
    Inne
    • Organizacja non-profit
    • Agencja Środowiskowa
    • Wynajem billboardów
    • Fotografia
    • Leasing rowerów
    • Sprzedawca oprogramowania
    Przeglądaj wszystkie branże
  • Community
    Ucz się
    • Samouczki
    • Dokumentacja
    • Certyfikacje
    • Szkolenie
    • Blog
    • Podcast
    Pomóż w nauce innym
    • Program Edukacyjny
    • Scale Up! Gra biznesowa
    • Odwiedź Odoo
    Skorzystaj z oprogramowania
    • Pobierz
    • Porównaj edycje
    • Wydania
    Współpracuj
    • Github
    • Forum
    • Wydarzenia
    • Tłumaczenia
    • Zostań partnerem
    • Usługi dla partnerów
    • Zarejestruj swoją firmę rachunkową
    Skorzystaj z usług
    • Znajdź partnera
    • Znajdź księgowego
    • Spotkaj się z doradcą
    • Usługi wdrożenia
    • Opinie klientów
    • Wsparcie
    • Aktualizacje
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Zaplanuj demo
  • Cennik
  • Pomoc
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
Wszystkie posty Osoby Odznaki
Tagi (Zobacz wszystko)
odoo accounting v14 pos v15
O tym forum
Pomoc

ODOO 19 Problem with Product Availability Status

Zaprenumeruj

Otrzymaj powiadomienie o aktywności w tym poście

To pytanie dostało ostrzeżenie
ecommerce19.0
2 Odpowiedzi
1419 Widoki
Awatar
Jean-Sebastien Dupuis
Odoo 19.0 added a Google Merchant XML feed which is a great feature for online retailers and goes hand-in-hand with product markup/snippets. Odoo 19.0 also has a Click & Collect function for retailers that have both an eCommerce and a physical store. Unfortunately, both features fail when it comes to stock availability status. I hope the following constructive feedback is considered for a future release of our favorite ERP. (NB. we are using Odoo Online so not looking for a 3rd party app)

Google supports 4 different values for stock availability status:

- In stock [in_stock]
- Out of stock [out_of_stock]
- Preorder [preorder]
- Backorder [backorder]

Source: https://support.google.com/merchants/answer/7052112?visit_id=637049928698613640-3024115257&rd=1#price_and_availability


All four of them are listed as recognized status by schema.org.

Source: https://schema.org/ItemAvailability


In Odoo 19, when we sell a product (Goods more specifically), we can opt to "Track Inventory".
- When the Quantity on Hand is positive, the product shows as "Available" on the front end and "InStock" in product markup.
- When the Quantity on Hand is < 1, the product is marked as "Out of Stock" on the front end and "OutOfStock" in the markup.

All good so far.

As a retailer, we also want to take pre-orders for high-demand products that are not released yet on the market (preorder). We also want customers to be able to place orders for old products we can purchase from our suppliers but that we don't carry in our regular inventory (backorder). To achieve this in Odoo, we can tick the "Sell when out-of-Stock" option in the Sales tab of the product template.

This is where things go wrong.

A product with Quantity on Hand < 1 and Sell when out-of-Stock = TRUE shows as "Available" to customers on the front end. It shows as "In Stock" in the Google Merchant XML feed (which ends up showing in Free Listings and in Google Ads). The product shows as in stock in the page markup. This leads to customers placing orders on our Odoo website thinking the product is in stock or even showing up at the store thinking the product is on shelf (in the case of Click & Collect). We disappoint walk-in customers and we have to refund online orders.

It is true that the terms "Available" and "In stock" are not the same but in a buyer's mind "available" means "i can get it right now". It generates friction and leads to bad customer experience. To temporarily solve the problem, we had to put custom code to hide the availability block on the product page. Better show nothing than wrong data.

SOLUTION

The first improvement would be to change the stock status to "backorder" when the "Quantity on Hand" is < 1 and "Sell when out-of-Stock" = TRUE (even better, look at the "Free to Use" field that takes reservations into consideration). Customers should see "Out of Stock" on the product page but still be able to "Add to cart". Accepting backorders in our industry is crucial given the numbers of different products on the market.

The second improvement to introduce the "preorder" status would probably require the addition of a Release Date field. Not a “must have” but “nice to have”.
- quantity on Hand < 1, "Sell when out-of-Stock" = TRUE, AND today < Release Date -> status = preorder
- quantity on Hand < 1, "Sell when out-of-Stock" = TRUE, AND today > Release Date -> status = backorder

We understand that Odoo is built for many types of businesses and different industries, but we believe many retailers would benefit from this improvement. This would put Odoo’s website app in line with Google standards.


I have sent this feedback to Odoo but would like to know if other business owners face the same problem.

0
Awatar
Odrzuć
Awatar
Mohammed.Samy
Najlepsza odpowiedź

Hi there,

Thank you for detailing this so thoroughly. You are absolutely not alone in this—many retailers using Odoo face this exact friction point. You hit the nail on the head regarding the disconnect between Odoo’s internal ordering logic ("Can we sell it?") and Google’s strict schema requirements ("Is it physically on the shelf?").

To add to the urgency of your feature request: this isn't just a bad customer experience issue; it's a Google Merchant Center (GMC) compliance risk. GMC is notoriously strict about availability mismatches. If their bots or manual reviewers notice that items submitted as in_stock in the XML feed actually behave as backorders on the site (or have long shipping delays), they will issue preemptive item disapprovals or even suspend the Merchant account for misleading availability.

While we wait and advocate for Odoo to implement backorder and preorder natively into the core logic, here are two actionable ways you can fix this in Odoo Online right now without needing a third-party app:

1. Utilize the "Out-of-Stock Message" Field

While ribbons are great for visual cues, you can directly address the frontend text issue using standard Odoo features.

  • When you check "Continue Selling" (formerly "Sell when out-of-Stock"), Odoo surfaces an "Out-of-Stock Message" field on the eCommerce tab of the product template.

  • Instead of leaving the default behavior, explicitly write: "Available for Backorder - Ships in [X] Days." This overrides the generic "Available" assumption and immediately sets the right expectation for retail and Click & Collect customers before they add it to their cart.

2. Modify the XML Feed & Schema via QWeb Views (Developer Mode)

Since you are on Odoo Online, you cannot install custom Python modules, but you can edit QWeb views to fix your Google Merchant XML feed and page schema.

If you turn on Developer Mode, you can navigate to Settings > Technical > User Interface > Views. You can search for the Google Merchant feed template and the website product schema template. You can wrap the availability output in a simple conditional t-if statement based on free_qty.

Here is the logic concept you can apply to the QWeb view:

XML

<!-- Check if physically in stock -->
<t t-if="product.sudo().free_qty &gt; 0">
    <g:availability>in_stock</g:availability>
</t>
<!-- Check if out of stock but allowed to backorder -->
<t t-elif="product.allow_out_of_stock_order">
    <g:availability>backorder</g:availability>
</t>
<!-- Otherwise, it's out of stock -->
<t t-else="">
    <g:availability>out_of_stock</g:availability>
</t>

Note: If you use Odoo Studio, you could even add a custom x_release_date field to your product templates and add another t-elif to output preorder if datetime.date.today() < product.x_release_date!

Your proposed solution for a future Odoo release is perfectly aligned with modern eCommerce standards. I highly recommend submitting this as a feature request on the official Odoo GitHub repository if you haven't already. If you post the GitHub link here, I (and likely many others) will gladly upvote it!


-1
Awatar
Odrzuć
Awatar
Vivek Kundaliya
Najlepsza odpowiedź

This is a well-identified limitation in Odoo 19's eCommerce stock availability display, and you have described it very clearly. You are correct that the current behavior is confusing for customers.


Current behavior explanation: When Sell when out of Stock is enabled, Odoo treats the product as orderable regardless of stock, and the frontend label shows Available even when the physical stock is zero. This is technically correct from Odoo's business logic perspective (the product CAN be ordered), but it is misleading from a customer-facing standpoint and misaligns with Google Merchant Center's availability taxonomy.


What you can do today without custom code:


  1. For products where you want to clearly signal to customers that the item is not physically in stock but can still be ordered (backorder), you can use the product description or a custom ribbon/badge. In eCommerce > Products, you can add a ribbon (like Pre-order or Available to Order) via Website > eCommerce > Products > Ribbons. This gives customers a visual signal without changing the Add to Cart behavior.

2. For the Google Merchant XML feed issue specifically, since you are on Odoo Online, you can submit feedback directly to Odoo support. This is exactly the type of product improvement that gets prioritized when multiple merchants report it.


3. You can partially work around this by not enabling Sell when out of Stock globally, and instead managing availability manually: when stock hits zero and you want to take backorders, update the product to allow backorders at that point.


Your suggested improvement (showing Out of Stock on the product page while still allowing Add to Cart for backorderable products) is a very reasonable product feature request and aligns with how most eCommerce platforms handle this. Submitting this via Odoo's official feedback channel or voting on the GitHub issue tracker is the best path to getting it implemented natively.

-1
Awatar
Odrzuć
Podoba Ci się ta dyskusja? Dołącz do niej!

Stwórz konto dzisiaj, aby cieszyć się ekskluzywnymi funkcjami i wchodzić w interakcje z naszą wspaniałą społecznością!

Zarejestruj się
Powiązane posty Odpowiedzi Widoki Czynność
Odoo18: E-commerce mini cart now showing
ecommerce
Awatar
Awatar
1
maj 26
3770
Ribbons and badges transparency and position
ecommerce
Awatar
0
maj 26
1
ecommerce and taxes Rozwiązane
ecommerce
Awatar
Awatar
1
lut 26
1652
shdljaokpalkdjcvzxnkclzkldakfjbx
19.0
Awatar
0
lut 26
116
Installed Apps Persist After Docker Volume Reset in Odoo 19
19.0
Awatar
Awatar
2
lut 26
1502
Społeczność
  • Samouczki
  • Dokumentacja
  • Forum
Open Source
  • Pobierz
  • Github
  • Runbot
  • Tłumaczenia
Usługi
  • Hosting Odoo.sh
  • Wsparcie
  • Aktualizacja
  • Indywidualne rozwiązania
  • Edukacja
  • Znajdź księgowego
  • Znajdź partnera
  • Zostań partnerem
O nas
  • Nasza firma
  • Zasoby marki
  • Skontaktuj się z nami
  • Oferty pracy
  • Wydarzenia
  • Podcast
  • Blog
  • Klienci
  • Informacje prawne • Prywatność
  • Bezpieczeństwo Odoo
الْعَرَبيّة 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 to pakiet aplikacji biznesowych typu open source, które zaspokoją wszystkie potrzeby Twojej firmy: CRM, eCommerce, księgowość, inwentaryzacja, punkt sprzedaży, zarządzanie projektami itp.

Unikalną wartością Odoo jest to, że jest jednocześnie bardzo łatwe w użyciu i w pełni zintegrowane.

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