콘텐츠로 건너뛰기
Odoo 메뉴
  • 로그인
  • 무료 체험하기
  • 앱
    재무 관리
    • 회계
    • 청구서 관리
    • 비용 관리
    • 스프레드시트 (BI)
    • 문서
    • 전자 서명
    판매
    • CRM
    • 판매
    • POS 스토어
    • POS 레스토랑
    • 구독
    • 렌탈
    웹사이트
    • 웹사이트 빌더
    • 이커머스
    • 블로그
    • 포럼
    • 실시간 채팅
    • 온라인 학습 관리
    공급망
    • 재고 관리
    • 제조 관리
    • 제품 수명주기 관리 (PLM)
    • 매입
    • 유지관리
    • 품질
    인적자원 관리
    • 인사 관리
    • 채용
    • 휴가 관리
    • 인사 평가
    • 인재 추천
    • 차량 관리
    마케팅
    • 소셜 마케팅
    • 이메일 마케팅
    • SMS 마케팅
    • 행사
    • 마케팅 자동화
    • 설문 조사
    서비스
    • 프로젝트
    • 작업 기록
    • 현장 서비스
    • 헬프데스크
    • 일정 관리
    • 일정 예약
    생산성
    • 메일 및 채팅
    • 인공지능
    • IoT
    • VoIP
    • 지식 센터
    • WhatsApp
    타사 앱 Odoo 스튜디오 Odoo 클라우드 플랫폼
  • 업종 분류
    리테일
    • 서점
    • 의류 매장
    • 가구점
    • 식료품점
    • 철물점
    • 장난감 가게
    식음료 & 숙박업
    • 바 & 펍
    • 레스토랑
    • 패스트푸드
    • 게스트 하우스
    • 음료 유통업체
    • 호텔
    부동산
    • 부동산 중개업체
    • 건축 회사
    • 건설
    • 부동산 관리
    • 가드닝
    • 부동산 소유자 협회
    컨설팅
    • 회계 법인
    • Odoo 파트너
    • 마케팅 대행사
    • 법률 사무소
    • 인재 영입
    • 감사 및 인증
    제조 관리
    • 텍스타일
    • 메탈
    • 가구
    • 푸드
    • 양조장
    • 기업용 선물
    건강 & 피트니스
    • 스포츠 클럽
    • 안경점
    • 피트니스 센터
    • 웰니스 전문가
    • 약국
    • 미용실
    사업
    • 핸디맨
    • IT 하드웨어 및 지원 서비스
    • 태양 에너지 시스템
    • 제화업체
    • 클리닝 서비스
    • HVAC 서비스
    기타
    • 비영리 단체
    • 환경 에이전시
    • 광고판 임대
    • 사진
    • 자전거 임대
    • 소프트웨어 리셀러
    전체 업종 검색하기
  • 커뮤니티
    학습
    • 튜토리얼
    • 문서
    • 인증
    • 훈련
    • 블로그
    • 팟캐스트
    교육 역량 강화
    • 교육 프로그램
    • Scale-Up! 경영관리 게임
    • Odoo에 방문해보세요
    소프트웨어 신청
    • 다운로드
    • 버전 살펴보기
    • 릴리스 내역
    협업
    • Github
    • 포럼
    • 행사
    • 번역
    • 파트너 등록
    • 파트너 대상 서비스
    • 회계 법인 정보 등록
    서비스 신청
    • 파트너 검색
    • 회계사 검색
    • 전문 상담 예약
    • 구현 서비스
    • 고객 정보
    • 고객 지원
    • 업그레이드
    Github 유튜브 트위터 링크드인 인스타그램 페이스북 스포티파이
    +1 (650) 691-3277
    데모 예약하기
  • 요금제
  • 고객 지원
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
모든 게시물 사용자 배지
태그 (모두 보기)
odoo accounting v14 pos v15
게시판 정보
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
모든 게시물 사용자 배지
태그 (모두 보기)
odoo accounting v14 pos v15
게시판 정보
도움말

ODOO 19 Problem with Product Availability Status

구독

이 게시물에 활동이 있으면 알림 받기

신고된 질문입니다
ecommerce19.0
2 답글
1538 화면
아바타
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
아바타
취소
아바타
Mohammed.Samy
베스트 답변

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
아바타
취소
아바타
Vivek Kundaliya
베스트 답변

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
아바타
취소
토론이 재미있으신가요? 직접 참여해보세요!

지금 바로 가입하여 독점 서비스를 이용해보고 특별한 커뮤니티와 소통하세요!

가입
관련 게시물 답글 화면 활동
Odoo18: E-commerce mini cart now showing
ecommerce
아바타
아바타
1
5월 26
4053
Ribbons and badges transparency and position
ecommerce
아바타
0
5월 26
1
ecommerce and taxes 해결 완료
ecommerce
아바타
아바타
1
2월 26
1860
shdljaokpalkdjcvzxnkclzkldakfjbx
19.0
아바타
0
2월 26
116
Installed Apps Persist After Docker Volume Reset in Odoo 19
19.0
아바타
아바타
2
2월 26
1589
커뮤니티
  • 튜토리얼
  • 문서
  • 포럼
오픈 소스
  • 다운로드
  • 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, 이커머스, 회계, 재고, POS, 프로젝트 관리 등 기업의 모든 요구 사항을 충족하도록 설계된 오픈 소스 기반의 통합 비즈니스 앱 제품군입니다.

Odoo의 간편한 UI와 완벽하게 통합된 기능을 직접 확인해 보세요.

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