MPI Stammdatenpflege - Master Data Quality
by Michael Plöckinger https://mpi-erp.at , MPI GmbH https://mpi-erp.at$ 222.96
MPI Stammdatenpflege
Master data hygiene for Odoo 19
Your products and contacts decide whether every report, label, invoice and integration downstream is right. This app finds what is missing, what is wrong, what has gone stale and what exists twice — proposes the corrected value where it can be derived — and turns the rest into a worklist your data owners can actually finish.
Three questions, answered every night
What is missing?
Products without an internal reference or barcode. Contacts without a country, an e-mail address or a VAT number. Purchasable products without a cost, sellable products priced at zero, products nobody ever classified.
What is wrong?
Barcodes whose GS1 check digit does not add up. VAT numbers without their country prefix. Malformed e-mail addresses. Packaging units that cannot be converted to the product's own unit. Names that are still Test, TBD or Muster.
What is duplicated?
Two products sharing one reference or one barcode. Two companies sharing one VAT number. And, using PostgreSQL trigram similarity, the near‑duplicates exact matching never finds: Muster GmbH against Muster G.m.b.H., or a name with a typo.
It proposes the fix, you decide
A list of problems is only half the work. Where the right value can be derived from what the record already holds, the app derives it and shows it next to the wrong one. Fourteen interpreters ship with it:
| Internal reference | Built from the product name, checked for uniqueness first |
| Barcode check digit | Recomputed to GS1 rules, so the repaired barcode scans |
| Country from VAT | Read from the VAT prefix, including EL for Greece |
| VAT country prefix | Prepended from the contact's own country |
| E-mail and URL | Normalised: padding removed, casing fixed, scheme added |
| Names | Whitespace collapsed; ALL CAPS title-cased, leaving GmbH and AG alone |
| Sales price | Cost plus your configured default margin |
Every suggestion is a proposal you can edit before it is written, and nothing is written on your behalf unless you switch a rule to automatic. Writes go through your access rights, so a data steward never gains a back door to records they could not otherwise edit.
Built to be worked off, not admired
Issues that stay put
An issue keeps its assignee, its note and its accept decision across every future scan. Fix the data and it closes itself. Break the data again and the same issue reopens with its history intact. Accept a deliberate exception once and the rule stops reporting it.
Ordinary Odoo lists
Filter, group, sort, assign, snooze and mass-edit exactly the way your team already works. Group by duplicate cluster to see each one together. A smart button on every product and contact shows its open issues.
A score, not an opinion
Every scan stores one weighted quality score per model, so the effect of a cleanup campaign shows up as a trend line instead of a feeling. The formula is arithmetic and documented: 100 means no open issues, and the score reaches 0 when the average record carries one blocker.
Three tools for the tedious part
Run a scan over selected rules or whole models. Apply a filtered batch of suggestions after a before/after preview. Merge duplicates by picking the master, completing its blank fields from the others, re-pointing incoming references, and archiving what is left — all logged on the master's chatter.
Yours to extend
Rules are records, not code. Point one at any model and any field, pick one of eleven check types, scope it with a domain, set its severity and weight, and write the guidance your stewards will read on every issue it raises. Thirty-two starter rules for products and contacts are installed for you — tune them, disable the ones that do not fit your business, and add your own.
Both catalogues are open registries: a one-line decorator adds your own interpreter or your own validator, and it appears in the rule form for everyone.
You still need this if you have Odoo Data Cleaning
Odoo's Data Cleaning app recycles old records and (on Enterprise) merges similar ones. It does not tell you whether your master data is fit to use.
| Question | Odoo Data Cleaning | MPI Stammdatenpflege |
|---|---|---|
| Product missing a barcode or internal reference? | ✗ | ✓ |
| EAN check digit wrong, VAT malformed, placeholder name? | ✗ | ✓ |
| Variant inconsistent, packaging unit not convertible? | ✗ | ✓ |
| Suggested fix shown next to the wrong value? | Format only (Enterprise) | ✓ |
| Worklist with assignee, snooze, accepted exceptions? | ✗ | ✓ |
| Quality score trend per model? | ✗ | ✓ |
| Archive or delete records older than N months? | ✓ | Flags for review |
On Community you only get record recycling —
no dedup, no field cleaning. Stammdatenpflege is the master-data
quality layer Odoo does not ship.
On Enterprise, keep both: Odoo for CRM and lifecycle
cleanup; MPI for the products and contacts every other module depends on.
Honest boundaries
This app works entirely inside one database. It does not synchronise records between systems and it needs no remote connection: if a screen is useful with nothing connected, it belongs here. If you also run MPI's o2o connector, a documented one-line hook lets it refuse a push while blocker-severity issues are open — but neither app requires the other.
Requires Odoo 19 with base, mail and
product. Near-duplicate detection uses the
pg_trgm extension, which Odoo enables on every database it
creates; without it, that one check reports nothing and the rest carries
on.
mpi-erp.at
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 4004 |
| Technical Name |
mpi_data_quality |
| License | OPL-1 |
| Website | https://mpi-erp.at |
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