Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
    • Meet an advisor
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Get a demo
  • Pricing
  • Help

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

  • CRM
  • e-Commerce
  • Accounting
  • Inventory
  • PoS
  • Project
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tags (View all)
odoo accounting v14 pos v15
About this forum
Help

Custom Code: Stock picking is ready although there is no stock amount available --> WHY!!?!?

Subscribe

Get notified when there's activity on this post

This question has been flagged
reservationstock.movepicking_idRoutestock.move.line
3 Replies
6018 Views
Avatar
Riccardo Branoner

Hello odoo-friends,


I'm developing a module where I have to create transfers from customer location to stock. It is a return from a rental order. For several reasons I am creating the transfers via a given route_id I have prepared. It has stock rules for moving goods from Customer/Rental -> WH/Input -> WH/QualitlyControl. I introduced new operation types to separate the pickings from outgoing operation types (their code is therefore 'incoming').


I am for looping though stock rules which belong to my given route_id. This works fine since I am creating a list of products+lot_ids from a given line model and then create my pickings incl my stock_move_ids. After doing this I trigger action_confirm and action_assign, so the picking state will be 'confirmed' (I don't get which it doesn't get the state 'waiting', because there all the pickings are in the same procurement group, but that is another issue).


Thepoint which drives my crazy is now: My first transfer from Customer -> WH/input is ready in any case and odoo shows me stock_move_lines, ALTHOUGH THERE IS NO STOCK AMOUNT IN THE SOURCE LOCATION!!! How could that be! odoo reserves stock in my customer location but my products (even given serials) have not yet arrived in that location.


I am sure I do something wrong either on creating my pickings, or something is missconfigured in my operation type or whatever. I have check my configuration multiple times and I have no idea why odoo reserves serials in a location where the item has not yet arrived.


So please help me since I have no idea what else I could check. If you like I share any of my code or configuration.


THANKS in advance!!!


Regards, Tastenmeister




0
Avatar
Discard
Avatar
Riccardo Branoner
Author Best Answer

Hi there,

 up to now I didn't solved the issue, but I guess I found something interesting: If I apply any internal transfer from Customer/rental (or even just default Customer) I get the same result that my internal transfer is immediately ready and by validating I get negative stock amount.


I already noticed this behaviour before so I installed an OCA module called stock_no_negative. Unfortunately it prevents only in internal locations negative stock amounts, but maybe I can tweak it a bit so it works for external locations, too.


Do you or anyone else know how to prevent odoo from moving goods that are not existing? While picking goods it works fine: If I don't have items in stock, my picking transfers stays in state waiting until stock is available.


Any ideas?

0
Avatar
Discard
Jaideep

Maybe have the location marked as replenishment location. Inventory >configuration >locations

Avatar
Riccardo Branoner
Author Best Answer

Hi Jaideep,
thanks for your fast reply! =)

I played around with the push/pull rules, I think finally this config should make sense for the return case. Correct me if I am wrong. So let me share more details about my 3 step Route and Operation type (which is a bit different to my inital post):


1.) Pull: From Partnerts/Customers/Rental ->Transit via Operation Type TRANS, Method: Take from Stock

2.) Pull: From Transit -> WH/Input via Operation Type IN, Method: Take from Stock

3.) Pull: From WH/Input -> WH/Quality Control via Operation Type CHK, Method: Take From Stock

 Operation Types:

- IN is from Source Code, no changes

- TRANS is created by me: stock_picking_type.code = incoming, reservation_method = at_confirm, use_create_lots = false, use_existing_lots = true

- CHK is created by me: stock_picking_type.code = internal, reservation_method = at_confirm, use_create_lots = false, use_existing_lots = true


Shipping policy for all transfers is direct, so I don't see an issue here.That's why I am confused that odoo is not automatically checking the availablity. I am wondering if I am missing to create additional information an stock.picking and stock.move creation.

About your concerns about the generic location for all customers: Yes, you are right, it might cause problems if multiple customers have same goods in this location (especially if they are not tracked by serial, which most of them do). But in my test DB I don't have the lot_ids in customer location which odoo reserves, even I don't have the same product in there. That's what is totally confusing me.

I hope I provided enough information about my route and rules. I hope you have at least some more idea what I could check more deeply.

Regards, Tastenmeister



0
Avatar
Discard
Jaideep

Pull route is fine, how are these operations created?

Avatar
Jaideep
Best Answer

1. What triggers the Customer > WH/ Input operation? Is it similar to return on delivery order (manual trigger available only after validation of delivery order) or a push rule set on the location customer/rental? A pull rule (Pull & Push) would require a demand to be created WH/Input location

2. The picking policy also has a role to play in deciding the status of a transfer. If Customer/rental is set as a generic location for all customers, it is likely to have products in them already


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

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

Sign up
Related Posts Replies Views Activity
Don't want to change qty on hand/forecasted when using MRP Solved
stock.move mrp.production stock.move.line
Avatar
1
Oct 22
3387
stock history, stock movement
stock.move stock.tracking Stock.move.report stock.move.line
Avatar
Avatar
1
Oct 24
4630
How To Add Analytical Account to Inventory in Odoo 16
inventory stock.move stock.move.line analyticaccounting
Avatar
Avatar
Avatar
2
Aug 24
3364
How to add "Detailed Operations" tab inside MRP form view
stock mrp stock.move v15 stock.move.line
Avatar
Avatar
1
Jun 23
3502
how odoo reserve stock for an stock.move ?
lot reservation stock.move odoo odoo10
Avatar
0
Sep 17
7152
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security
الْعَرَبيّة 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