Multi Agent Shop
by Odoo DevHouse https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse$ 180.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• eCommerce (website_sale) • Discuss (mail) • Website (website) |
| Lines of code | 558 |
| Technical Name |
multi_agent_shop |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• eCommerce (website_sale) • Discuss (mail) • Website (website) |
| Lines of code | 558 |
| Technical Name |
multi_agent_shop |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/browse?author=Odoo%20DevHouse |
| Versions | 18.0 19.0 |
Multi Agent Shop
Empower your agents: let them browse your webshop and place orders on behalf of their assigned customers - with the right pricelist, fiscal position, and full traceability on every sale.
In standard Odoo, the website shop only supports one identity per login. A sales agent who logs in can only buy for themselves - there is no way to place an order on behalf of a customer without switching accounts or using the back-end, which requires an internal user licence.
- Agents visiting clients in the field cannot use the webshop to order for them
- Orders placed by the agent land on the agent's own account, not the customer's
- The customer's pricelist and fiscal position are ignored - wrong prices apply
- No traceability of which agent processed which sale
- Workarounds (back-end access, paper notes) are slow, costly, and error-prone
This module adds an Agent Shop page to the website. An agent (a portal user flagged as Is Agent) logs in, picks a customer from their assigned list, and is redirected to the standard webshop - but every cart action, price calculation, and checkout step now runs under the selected customer's identity. The sale order is created for the customer with their pricelist, fiscal position, billing and shipping address, while the agent is recorded on the order for commission tracking.
- Agent Customer Selection: Dedicated Agent Shop page with a dropdown showing only the agent's assigned customers
- Correct Pricelist & Fiscal Position: Cart and checkout always use the selected customer's pricelist and fiscal position - not the agent's
- Transparent Cart Banner: "Purchasing on behalf of [Customer]" banner in the cart showing the active pricelist and fiscal position
- Full Checkout as Customer: Billing and shipping addresses at checkout belong to the selected customer, not the agent
- Agent Traceability: Every sale order and invoice stores the responsible agent - enabling commission calculations and reporting
- Navbar Integration: "Multi Agent Shop" link appears automatically in the website navbar for agent users only
- Cart Protection: Smart warning prevents losing cart items when switching customers mid-session
- Agent Order Portal: Agents see all orders they processed with extra columns for Customer, Delivery status, Invoice status, and Scheduled date
- PDF Reports: Agent name printed on sale order and invoice PDF documents
- Historical Orders: The agent portal also shows older orders linked to the salesperson, so nothing is lost when installing on an existing database
A salesperson physically visits retail clients to take restocking orders. Without this module, they take notes on paper or switch to the Odoo back-end (which needs an internal licence) - slow and error-prone.
With Multi Agent Shop: the salesperson logs into the company website on their tablet, opens Multi Agent Shop, selects Pepe's Kiosk from the dropdown, and browses the shop - adding items while walking the client's shelves. Pepe's pricelist and fiscal position apply automatically. When they tap Checkout, the order is placed under Pepe's Kiosk with the correct billing/shipping address, and the salesperson appears as the agent on the order for commission tracking.
Mark the Contact as an Agent
Open the salesperson's contact in Odoo -> Sales & Purchases tab -> tick Is Agent. Also grant them Portal access (Settings -> Users -> Portal Users).
Assign Customers to the Agent
On each customer contact -> Sales & Purchases tab -> set Assigned Agent to the agent created above. Each agent only sees their own assigned customers in the selection dropdown.
Agent Logs In & Selects a Customer
The agent logs into the website. The Multi Agent Shop link appears in the navbar. They click it, choose a customer from the dropdown, and click Go Shopping. The customer's pricelist and fiscal position are applied to the session immediately.
Fill the Cart & Checkout
The agent browses the shop and adds products. The cart shows a "Purchasing on behalf of [Customer]" banner with the active pricelist and fiscal position. Checkout uses the customer's billing and shipping address automatically.
Order Created - Agent Recorded for Traceability
After payment confirmation, the sale order is created under the customer's name with the correct addresses and prices. The Agent field on the sale order and invoice points back to the salesperson - ready for commission calculations and reporting.
Step 1 - Mark the Contact as an Agent
Open the salesperson's contact -> Sales & Purchases tab -> tick Is Agent. Grant the contact Portal access so they can log in to the website.
Step 2 - Assign Customers to the Agent
On each customer contact -> Sales & Purchases tab -> set Assigned Agent. Each agent only sees the customers explicitly linked to them in the dropdown.
Step 3 - Agent Logs In & Opens the Agent Shop
The Multi Agent Shop link appears in the navbar automatically for agent users. Clicking it opens the customer selection page.
Step 4 - Select a Customer
The agent picks a customer from the dropdown and clicks Go Shopping. A warning reminds them to complete the purchase before switching to another customer. The customer's pricelist and fiscal position are applied to the session immediately.
Step 5 - Browse the Shop & Add to Cart
The agent is redirected to the standard webshop. All prices shown reflect the selected customer's pricelist. The agent adds products normally - the experience is identical to a regular customer shopping session.
Step 6 - Cart with "Purchasing on Behalf of" Banner
The cart displays a "Purchasing on behalf of [Customer]" banner showing the active pricelist and fiscal position. A reminder alert warns the agent not to switch customers before completing the purchase.
Step 7 - Sale Order Created Under the Customer's Name
After checkout the sale order is created with the customer as partner and the Agent field populated with the salesperson. Billing and shipping addresses belong to the customer, not the agent.
Step 8 - Agent Portal: Orders List with Extra Columns
The agent sees all orders they processed in their portal, with extra columns: Customer, Scheduled For, Delivery status, and Invoice Status. Filters and sorting by customer, delivery status, and invoice status are also available.
Step 9 - Invoice with Agent Field
The agent is automatically recorded on the customer invoice generated from the sale order. The Agent field appears in the invoice header alongside the customer and delivery address.
Step 10 - Sale Order PDF with Agent Name
The Agent Name is printed directly on the sale order PDF document, giving customers and the company a clear record of who processed the order.
Step 11 - Invoice PDF with Agent Name
The Agent Name also appears on the printed invoice, ensuring full traceability from the order through to the billing document â essential for commission calculations.
Step 12 - Agent Portal Home
When the agent logs into their account portal, the Multi Agent Shop link is always visible in the navigation bar, giving instant access to the customer selection page from anywhere on the site.
Step 13 - Portal Order Detail with Agent Name
The order detail page in the portal displays the Agent Name in the sale information table, giving both the customer and the agent a clear view of who handled the order.
Field Sales Teams
Salespersons visiting clients on-site can take orders in real time on a tablet without needing internal Odoo access or paper forms.
Wholesale Distributors
Distributors managing multiple retail accounts can order products on each account's behalf with the correct wholesale pricelist applied automatically.
B2B Sales Networks
Sales networks with dedicated account managers can let each rep handle their own client portfolio through the webshop with full isolation and tracking.
Assisted Purchasing
Customer service agents can assist customers who are not tech-savvy by placing orders on their behalf from the webshop, applying the right prices.
Commission Tracking
Every order and invoice carries the agent reference, making it easy to calculate commissions by filtering orders by agent in the back-end.
Reseller Networks
Resellers who manage their own sub-customers can order stock through the supplier's webshop for each end client independently.
Installation & Configuration
- Prerequisites: Requires the Sales, eCommerce, and Accounting apps to be installed
- Install: Go to Apps, update the app list, search for "Multi Agent Shop" and click Install
- Create Agent: Open the salesperson's contact, go to the Sales & Purchases tab, tick Is Agent, and grant them Portal access
- Assign Customers: On each customer contact, go to the Sales & Purchases tab and set their Assigned Agent
- Configure Pricelists: Ensure each customer has the correct pricelist set on their contact under Sales & Purchases
- Test: Log in as the agent on the website, click Multi Agent Shop, select a customer, add items, and complete the checkout
Tip: The agent's portal home page also shows a Multi Agent Shop tile for quick access. No extra menu configuration is required - the navbar link appears automatically for portal users with Is Agent enabled.
Does the agent need an internal Odoo user licence?
No. The agent only needs a Portal access level - the cheapest user type. No internal licence is required, making this solution cost-effective for large sales networks.
Can an agent shop without selecting a customer?
Yes. If no customer is selected in session, the agent can still browse and buy the standard shop as themselves. The agent-customer session is optional and can be cleared at any time via Stop Shopping for Customer.
What happens to the cart if the agent switches customers?
The current cart is discarded when the customer changes. A warning banner in both the selection page and the cart reminds the agent to complete or cancel the current purchase before switching. This prevents accidentally mixing orders between customers.
Are the correct prices (pricelist) always applied for the customer?
Yes. The customer's pricelist is enforced automatically on every page of the shop, cart, and checkout. Prices and taxes are recalculated on each step to stay consistent with the selected customer's account.
Can one agent manage multiple customers simultaneously in different browsers/tabs?
The selected customer is remembered for the duration of your login session. Opening a new browser tab keeps the same customer active. To handle two customers at the same time, use separate browsers or a private/incognito window.
How can I calculate commissions per agent?
In the back-end, go to Sales > Orders and group or filter by the Agent field. The agent is also recorded on the invoice, so you can report commissions at both the order and invoice level.
Does it work with Odoo Community and Enterprise?
Yes. It only requires the standard Sales, eCommerce, and Accounting apps - all available in both Community and Enterprise editions.
Faster Order Entry
Agents place orders directly in the webshop during client visits - no paper forms, no back-office data entry, no lag between visit and order.
Correct Prices Every Time
Customer-specific pricelists and fiscal positions are applied automatically - agents cannot accidentally quote the wrong price or tax rate.
No Extra Internal Licences
Agents work with Portal access - significantly cheaper than internal user licences, especially for large sales forces.
Full Agent Traceability
Every order and invoice carries the agent reference, giving management clear visibility into each agent's sales performance and enabling accurate commission calculations.
Need Help or Have a Feature Request?
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module