Skip to Content
Odoo Menu
  • Prijavi
  • Try it free
  • Aplikacije
    Finance
    • Knjigovodstvo
    • Obračun
    • Stroški
    • Spreadsheet (BI)
    • Dokumenti
    • Podpisovanje
    Prodaja
    • CRM
    • Prodaja
    • POS Shop
    • POS Restaurant
    • Naročnine
    • Najem
    Spletne strani
    • Website Builder
    • Spletna trgovina
    • Blog
    • Forum
    • Pogovor v živo
    • eUčenje
    Dobavna veriga
    • Zaloga
    • Proizvodnja
    • PLM
    • Nabava
    • Vzdrževanje
    • Kakovost
    Kadri
    • Kadri
    • Kadrovanje
    • Odsotnost
    • Ocenjevanja
    • Priporočila
    • Vozni park
    Marketing
    • Družbeno Trženje
    • Email Marketing
    • SMS Marketing
    • Dogodki
    • Avtomatizacija trženja
    • Ankete
    Storitve
    • Projekt
    • Časovnice
    • Storitve na terenu
    • Služba za pomoč
    • Načrtovanje
    • Termini
    Produktivnost
    • Razprave
    • Odobritve
    • IoT
    • Voip
    • Znanje
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industrije
    Trgovina na drobno
    • Book Store
    • Trgovina z oblačili
    • Trgovina s pohištvom
    • Grocery Store
    • Trgovina s strojno opremo računalnikov
    • Trgovina z igračami
    Food & Hospitality
    • Bar and Pub
    • Restavracija
    • Hitra hrana
    • Guest House
    • Beverage Distributor
    • Hotel
    Nepremičnine
    • Real Estate Agency
    • Arhitekturno podjetje
    • Gradbeništvo
    • Estate Management
    • Vrtnarjenje
    • Združenje lastnikov nepremičnin
    Svetovanje
    • Računovodsko podjetje
    • Odoo Partner
    • Marketinška agencija
    • Law firm
    • Pridobivanje talentov
    • Audit & Certification
    Proizvodnja
    • Tekstil
    • Metal
    • Pohištvo
    • Hrana
    • Brewery
    • Poslovna darila
    Health & Fitness
    • Športni klub
    • Trgovina z očali
    • Fitnes center
    • Wellness Practitioners
    • Lekarna
    • Frizerski salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Sistemi sončne energije
    • Izdelovalec čevljev
    • Čistilne storitve
    • HVAC Services
    Ostali
    • Neprofitna organizacija
    • Agencija za okolje
    • Najem oglasnih panojev
    • Fotografija
    • Najem koles
    • Prodajalec programske opreme
    Browse all Industries
  • Skupnost
    Learn
    • Tutorials
    • Dokumentacija
    • Certifikati
    • Šolanje
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Prenesi
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Dogodki
    • Prevodi
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Sklici kupca
    • Podpora
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Določanje cen
  • Pomoč

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

  • CRM
  • e-Commerce
  • Knjigovodstvo
  • Zaloga
  • PoS
  • Projekt
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Ključne besede (View all)
odoo accounting v14 pos v15
About this forum
Pomoč

Disallow negative stock at subcontracting locations

Naroči se

Get notified when there's activity on this post

This question has been flagged
subcontractingv15NegativeStockKeepItSimple
1 Odgovori
5281 Prikazi
Avatar
Ricardo Gross

Using the subcontracting feature, it's possible to receive the subcontracted products before you have replenished the subcontractor with the required components.

How to allow the receipt of the subcontracted products only after the components have been resupplied at the subcontractor location?

Thanks

BR

Ricardo

(I know there are the very nice OCA module that solves the question, but how to solve it in a SaaS environment?)


4
Avatar
Opusti
Chris Parker

Did you ever find a solution to this, Ricardo?

Avatar
Ray Carnes (ray)
Best Answer
We don't recommend this.
Allowing negative inventory (with good monitoring) reveals problems that need fixing—like mismatched transactions, theft, or process lags. If you block users, some issues may just get hidden instead of addressed.

If negative inventory is disallowed, users may:

  • Start inflating inventory with fake Receipts
  • Delay validating transfers in Odoo
  • Create unnecessary inventory adjustments
  • Adjust transfers to the quantity available but ship the original quantity requested
  • Might ship or transact using similar or incorrect SKUs
  • Give up on Odoo and use manual or shadow systems

Each of these makes reconciliation even harder and introduces audit/compliance risks.

Your Users are smart, empower them with good tools and get out of their way. Train them on what to do when inventory goes negative and create robust processes to resolve the issues it uncovers.


This is not a complete solution but a prototype. Work with your Odoo Digital Advisor or Odoo Partner if you don't have the skills to create this yourself and to ensure it does not need modifications to work in your database.


1) In Developer Mode, visit Settings --> Technical --> Automation --> Automation Rules

2) Create an Automation Rule like this:


3) Add an Action of type Execute Code like this:

accuracy = env["decimal.precision"].precision_get("Product Unit of Measure")
for record in records:
    diff = round(record.quantity, accuracy)
    if (diff < 0 and record.product_id.is_storable and
            record.location_id.usage in ["internal", "transit"]):
        raise UserError(f'You need {-diff} more {record.product_id.name}(s) to complete this Transfer!')


You will then see an blocking message like this:


Be ready to ARCHIVE this Automation Rule if it blocks Users from doing things they need to do. 




1
Avatar
Opusti
Chris Parker

Ray, you're right that those things can come up but that's a personell issue not a technical one. With a more strict system, staff are subverting policy but the ERP is stable and JEs flow well. Staff behavior can be dealt with later.

Complex systems like ERPs should not be so flexible. In some cases, it's good and right to be rigid and have strict guardrails. We're currently on day five of trying to undo a problem with prematurely receiving finished goods before completing the component MO and resupplying. Staff know they must complete the MO+resupply first but it was forgotten this time and they immediately went on to consume those finished goods in other MOs and ship+invoice pending orders. Now we have journal entries of which we can't make sense.

We didn't contact Odoo support or our partner because we thought we'd seen this before and a quick fix would be found but now more time has gone by than expected and we're still not sure.

Turns out this scenario is slightly different than last time and that's why we're struggling. That _and_ being <1 year of Odoo experience and troubleshooting.

Having said all that, thanks for your proposed solution! I will try implementing it once we get this worked out.

Chris Parker

To be clear, I'm not advocating for all negative movements to be clocked. I'm advocating specifically for Odoo to reject the receipt of subcontracted goods before the underlying MO(s) have been completed and the subcontractor has been resupplied. It should be safe for Odoo to assume that because the finished good is able to be received, it must also be true that the subcontractor was resupplied.

Perhaps a middle ground is, "You are about to receive a subcontracted item for which the subcontractor has not been resupplied. This may cause an imbalance in your system. Do you wish to proceed?"

The operator would then have the opportunity to go and complete the unfinished MO and Resupply.

Enjoying the discussion? Don't just read, join in!

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

Prijavi
Related Posts Odgovori Prikazi Aktivnost
Link between Manufacturing Order and subcontractor
mrp subcontracting v15
Avatar
0
apr. 25
2116
Pricelists for product category with minimal quantity conditions
pricelist productcategory v15 KeepItSimple
Avatar
Avatar
Avatar
Avatar
4
feb. 24
4585
Different home page for mobile access
mobile homepage v15 KeepItSimple
Avatar
0
apr. 23
2767
(v14) How do I get a subcontracted product to be delivered directly to an external address chosen in a Purchase Order? Solved
dropship subcontracting deliveries-warehouse KeepItSimple
Avatar
Avatar
Avatar
3
okt. 22
4045
Edit header and footer of email templates
header footer emailtemplate v15 KeepItSimple
Avatar
Avatar
Avatar
Avatar
3
mar. 25
9083
Community
  • Tutorials
  • Dokumentacija
  • Forum
Open Source
  • Prenesi
  • Github
  • Runbot
  • Prevodi
Services
  • Odoo.sh Hosting
  • Podpora
  • Nadgradnja
  • Custom Developments
  • Izobraževanje
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Sredstva blagovne znamke
  • Kontakt
  • Zaposlitve
  • Dogodki
  • Podcast
  • Blog
  • Stranke
  • Pravno • Zasebnost
  • Varnost
الْعَرَبيّة 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 is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

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