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
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Inventory
  3. Product Sales & Purchase By Location v 18.0
  4. Sales Conditions FAQ

Product Sales & Purchase By Location

by TopBusiness https://www.topbusiness.io
Odoo

$ 11.79

v 18.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Purchase (purchase)
• Sales (sale_management)
• Discuss (mail)
• Invoicing (account)
Lines of code 468
Technical Name top_sales_purchase_line_location
LicenseLGPL-3
Websitehttps://www.topbusiness.io
Versions 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Inventory (stock)
• Purchase (purchase)
• Sales (sale_management)
• Discuss (mail)
• Invoicing (account)
Lines of code 468
Technical Name top_sales_purchase_line_location
LicenseLGPL-3
Websitehttps://www.topbusiness.io
Versions 18.0 19.0
Odoo 18.0

Product Sales & Purchase By Location

Advanced location management for sales orders, purchase orders, and internal transfers with user access control

Visit Website Contact on WhatsApp
Sale Order Location

Add location field on sale order lines. Products will be delivered from the selected location. Delivery orders are created based on selected location.

Purchase Order Location

Add location field on purchase order lines. Products will be received at the selected location. Purchase receipts are created based on selected location.

Separate Receipts

Each different location gets its own separate inventory receipt. Products are automatically grouped by location for better organization.

Internal Transfers

Add location field on internal transfer lines. Products transferred to selected destination location. Transfers grouped by destination location.

User Access Control

Set allowed users on warehouse locations. Users can only see and select locations they have access to in sale/purchase orders.

Data Validation

Prevents duplicate product+location combinations in same order. Ensures data integrity and prevents errors.

Smart Filtering

Domain restrictions on stock picking location fields. Filters locations by usage type and company automatically.

Portal Integration

Location information visible in customer portal. Customers can see delivery locations on their orders.

Report Integration

Location information included in sale order reports. Better tracking and reporting capabilities.

Installation Steps

  1. Upload the Module

    Copy the module folder to your Odoo addons directory or upload via Apps menu.

  2. Update Apps List

    Go to Apps menu, click "Update Apps List" to refresh available modules.

  3. Install the Module

    Search for "Product Sales & Purchase By Location" and click Install.

  4. Configure Locations

    Go to Inventory → Locations → Open a location → Set "Allowed Users" field to restrict access.

  5. Start Using

    Create sale/purchase orders and select locations on order lines. The system will automatically handle location grouping.

Dependencies: This module requires sale_management, purchase, stock, and portal modules.

How to Use

Sale Orders
  1. Create a new Sale Order
  2. Add products to order lines
  3. Select a location for each product line (only locations you have access to will be shown)
  4. Confirm the order
  5. Products will be delivered from the selected locations
  6. Separate delivery orders are created for each different location
Purchase Orders
  1. Create a new Purchase Order
  2. Add products to order lines
  3. Select a destination location for each product line
  4. Confirm the order
  5. Products will be received at the selected locations
  6. Separate inventory receipts are created for each different location
Internal Transfers
  1. Create a new Internal Transfer
  2. Add products to move lines
  3. Select destination location for each product line
  4. Confirm the transfer
  5. Separate internal transfers are created for each different destination location
Setting User Access Rights
  1. Go to Inventory → Locations
  2. Open the location you want to restrict
  3. In the "Allowed Users" field, select the users who should have access
  4. If no users are selected, all users can access the location
  5. Save the location
  6. Only selected users will see this location in sale/purchase orders

Technical Details

Module Structure
  • Models:
    • sale.order.line - Adds line_location_id field with user-based domain
    • purchase.order.line - Adds line_location_id field with user-based domain
    • stock.move - Adds line_location_dest_id for internal transfers
    • stock.location - Adds allowed_user_ids Many2many field
    • stock.picking - Handles location grouping for internal transfers
    • stock.rule - Handles location in stock move creation
    • sale.order - Validation and grouping logic
    • purchase.order - Validation and receipt grouping
  • Views:
    • sale_order_views.xml - Location field in sale order lines
    • purchase_order_views.xml - Location field in purchase order lines
    • stock_location_views.xml - Allowed users field in location form
    • stock_picking_views.xml - Location field in internal transfers
Key Features Implementation
  • Location Filtering: Dynamic domain based on current user's access rights
  • Receipt Grouping: Automatic separation of receipts by location
  • Move Creation: Override _prepare_stock_moves to set correct locations
  • Validation: Prevent duplicate product+location in same order
  • User Access: Many2many relation between locations and users
API Methods
  • _get_location_domain() - Returns domain filtered by user access
  • _prepare_stock_moves() - Sets location_dest_id from line location
  • _create_picking() - Groups moves by location
  • button_confirm() - Regroups moves after confirmation
  • action_confirm() - Handles internal transfer grouping

Need Help or Customization?

Get in touch with TopBusiness for support, customization, or implementation assistance

Website

www.topbusiness.io

WhatsApp

+201011827324

Copyright © 2024 TopBusiness
Website: topbusiness.io | WhatsApp: +201011827324

This module is licensed under LGPL-3. You can modify it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3).

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
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

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