One widget for every Many2One field in Odoo
Give customers, vendors, products, and contacts a visual identity everywhere they appear — inside the field and in the search dropdown — so staff stop guessing between near-identical names.
The problem
Many2One fields render as plain text dropdowns everywhere in Odoo. When a sales rep opens an order line, a buyer picks a vendor, or an agent selects a contact, they read a list of near-identical names with no visual anchor — and occasionally pick the wrong one. Existing icon apps only cover one record type each, so covering customers, vendors, and products means buying and maintaining several separate modules.
The solution
A single reusable widget you attach to any Many2One field. An admin picks, per target model, whether to show the record's image, a colored initials badge, or a Font Awesome icon — with a live preview before saving. Every configured field then shows its icon both in the populated value and beside every candidate in the search dropdown, and blank images always fall back to a generated avatar so no row ever looks empty.
Everything you need to add icons to any field
Every capability below is implemented in the module.
Universal Many2One Widget
One widget usable on any Many2One field — customers, vendors, products, contacts, categories, and beyond — instead of a separate app per record type.
Icon Inside The Field
The selected record's icon shows directly inside the populated field, giving instant visual confirmation of the choice.
Icons In The Search Dropdown
Every candidate in the autocomplete list shows its icon while you search — the exact moment mis-selection happens is now visual.
Record Image Source
Draws the record's own picture — contact avatar or product image — so no duplicate icon upload is ever required.
Initials Avatar Source
A colored initials badge for models with no image field, so every record still gets a distinguishing mark.
Font Awesome Icon Source
Map any Font Awesome glyph and color — countries as flags, categories as tags — for models that have no image at all.
Guaranteed Non-Empty Fallbacks
Blank images automatically fall back to a generated colored-initials avatar, so a row never renders empty.
Admin Mapping With Live Preview
A dedicated configuration screen lets an admin pick the icon source per model and preview the exact rendered result before saving.
Ready-To-Use On Sales, Purchase & Contacts
Ships already applied to the sales order customer and product lines, the purchase order vendor, and the contact form's country field.
How it works
Open Icon Mappings
Go to the Icon Widget app and open the Icon Mappings list.
Choose A Source Per Model
Pick record image, initials avatar, or a Font Awesome icon for the target model.
Preview Before Saving
The live preview panel renders an actual record with the current settings.
See Icons Everywhere
Every form and dropdown using that field updates instantly, no restart needed.
Frequently asked
No sales fog. If your question isn't here, email us and we'll answer it the same way.
Any Many2One field in Odoo. Add the widget="m2o_icon" attribute to a field in any view, then configure its source once in Icon Mappings — contacts, vendors, products, categories, and any other relation all work the same way.
Buy it on the Odoo App Store
Purchase, download and install directly from the official Odoo Apps Store — you'll always get the latest supported build.
Many2One Icon Widget
One widget that puts record images, initials avatars or Font Awesome icons inside any Many2One field and its search dropdown, with guaranteed fallbacks and a live-preview mapping screen.
Buy on Odoo App StoreMore Odoo extra tools apps
Mass Clean Data — Safe Guided Cleanup
Mass Clean Data brings safe, transparent, reversible cleanup to Odoo — bulk deletion with preview, duplicate contact removal, orphan attachment and stale log cleanup, a full audit log, and a database health dashboard, all without developer mode.
Multi-Company Favicon
A distinct browser-tab icon per company — auto-generated, uploaded or bulk-applied — with live preview, instant cache-free refresh and one-click restore from change history.
On-Screen Login Keyboard
A touch-friendly on-screen keyboard on the login page — three layouts, a full symbols layer, masked password entry and high-contrast theming, with nothing to configure.
Password Visibility Toggle
Add a show/hide eye icon to every password field in Odoo — backend login, Change Password dialog, and every website and portal form — in one install.
PDF Report Print Preview
On-screen PDF preview before printing or downloading any report, with per-record pre-flight checks and batch tab navigation across a run of documents.
Portal Login as User/Customer
Group-gated portal impersonation behind a banner that never lets you forget whose session you are in, with a full audit log and an automatic timeout back to your own account.