de Veres Auction Platform
by Cimelium · demo hub
deVeres Auction · by Cimelium

The auction house, reconciled.

From a Blue Cubes export to a completed auction in Odoo: contact reconciliation with typed validation, a verified push, and the new lot reconciliation stage that imports hammer prices against live auction lots. The Odoo demo and Bidder Evaluation run on synthetic data; the Reconciliation app is currently connected to the realistic April dataset behind a restricted login.
2 live apps + full Odoo 19 247 automated tests 216 demo contacts · 2 demo auctions + bid history April dataset live: 13,652 contacts · 162 lots

Live products — open & test

● Live · public

1 · Contact Reconciliation

Cleans post-auction Blue Cubes exports against the live Odoo contact list: normalisation-aware matching with a transparent Match score, typed dropdown validation (an invalid county can never push silently — it flags, explains, and suggests the fix), human approval, then a gated push where every record is verified by read-back.

Try in 2 minutes
  1. Log in → the KPI cards are the filters — click Manual review
  2. Open Karen Namesake: see why review is needed + the match breakdown
  3. Approve → open Ready for Odoo → 🚀 Push → each record “✓ verified in Odoo”
Currently connected to the realistic April dataset (13,652 contacts, 162 lots) — login is restricted while client data is loaded; credentials are issued directly by Cimelium.
● New · stage 2

2 · Lot Reconciliation — auction results

The same import continues into the auction: lots are located in Odoo by lot number (never title), hammer prices import from the winning bids with per-lot verification, and every buyer carries its contact-engine match score. Missing lots and duplicates become explicit exceptions — nothing is ever created or overwritten silently. Buyer assignment and Sold status are LIVE on the demo — the import completes the auction in one pass (hammer → buyer → sold, each verified), and uncertain buyers are never assigned. Imports can be scoped to a single auction; suffix lots (25A/78B) match correctly.

Try in 2 minutes
  1. Open the Lots stage (button below) — 11 ready · 1 missing lot · 1 duplicate
  2. 👁 Preview: the exact plan — hammer, buyer and Sold per lot
  3. 🔨 Import → “11 written · 11 ✓ verified” → the lots are Sold with buyers in Odoo
Same login as Reconciliation · lots seeded in “deVeres Demo Auction — July 2026”
● Live · public

3 · AI Bidder Evaluation — now on live Odoo data

Scores every known bidder against the upcoming September auction on six deterministic dimensions — reading lots and bidding history live from Odoo (sor.lot / sor.bid), the pilot's declared end-state. Ranks prospects per lot, explains each score, drafts outreach.

Try in 2 minutes
  1. Log in as admin → Run evaluation
  2. Open a bidder: per-lot scores, rationale, score breakdown
  3. Open ⚖ Weights, shift the sliders, re-run — watch rankings change
Login admin@deveres.ie / Admin2026! · viewer: viewer@deveres.ie / View2026
● Live · public

4 · Odoo 19 — the system of record

Both ends of the loop live here: contacts are fetched live from this Odoo, and approved changes and hammer prices are pushed back — exact-id writes, idempotent, dry-run first, fully audited. The SOR auction modules are installed (contacts with roles, artworks, events, lots, bidding).

Watch the imports land
  1. Open Odoo → menu → Contacts: 216 synthetic clients with Contact Types
  2. Menu → Lots: the demo auction’s 50 live lots — hammer prices appear as you import
  3. Edit any matched contact here, then press ⟳ Refresh contacts in Reconciliation
Odoo login demo@deveres.ie / DemoView2026! · Odoo 19 + PostgreSQL 15 + SOR auction modules

The end-to-end pipeline

The 5-minute tour (for viewers)

  1. Reconciliation → upload the sample export (or use the loaded session). Click the KPI cards — they are the filters.
  2. Open a Manual review record → the panel explains why, shows the match breakdown, and offers one-click fixes for invalid values (the “Wickie → Wicklow” case).
  3. Approve a couple of records → Ready for Odoo → 🚀 Push → watch each row report ✓ verified in Odoo.
  4. Click 🔨 Lots → review the exceptions (missing lot 112, duplicate 105) → 🔨 Import hammer prices → open Odoo → Lots: the prices are there, estimates untouched.
  5. Finish with 🕘 Activity — the complete audit trail of everything you just did.

How we got here — the work, in order

May 2026
Bidder Evaluation platform
Six-dimension deterministic scoring, artist-first per-lot aggregation, AI rationales with template fallback, outreach drafter, review dashboard. Plus the 1953 catalogue digitisation dataset.
1–2 July
Contact Reconciliation engine
Blue Cubes → system-of-record preprocessing: normalisation-aware matching, classification, review workflow, SQLite staging as the only push payload, explainable matching, RBAC, append-only audit. Found 2,813 duplicate groups and 1,258 misfiled Eircodes in the client master.
3 July
Odoo becomes the master
The reconciler fetches the contact list live from Odoo and pushes back by exact database id. Four data-quality guards added from live testing with the real April dataset.
6 July
Assembly install · verified push · Refresh
SOR auction modules installed from the Assembly profile (9 + 12 auto-bridges, zero dependency errors); every contact field verified editable via UI, ORM and API; ⟳ Refresh contacts (session-preserving re-pull); 🚀 push with per-record read-back verification; sync status bar; public demo hub.
7 July (am)
Metadata-aware validation · enterprise UX
Typed res.partner schema from Odoo; dropdown validation with suggestions (invalid counties can never push silently); missing-contacts root cause documented — no data was ever lost; full UX redesign: KPI-card filters, Match score breakdown, contextual actions, activity timeline, light enterprise theme.
7 July (pm)
Lot Reconciliation pipeline
50 live lots seeded in a demo auction; lots located by number; hammer prices imported from winning bids with per-lot verification and idempotent re-runs; missing-lot and duplicate exceptions; buyer matching reuses the contact engine (90% floor); buyer assignment & Sold status implemented behind feature flags pending the Odoo auction setup. 224 automated tests.
8–10 July
Review-driven refinements
Client review actioned: the match panel is now a plain-language checklist (✓ Match / ≈ Close / ✗ Different) instead of raw percentages; postcode similarity is binary ("there's no spectrum"); the Lots stage gained its own ⟳ Refresh.
13 July (am)
Full auction completion · real-data rehearsal · launch simulation
Buyer assignment & Sold status enabled (one pass: hammer → buyer → sold, verified per lot; uncertain buyers never assigned); suffix-lot matching and single-auction scoping; post-sale documents module installed (post-sale advice + vendor settlements); a clean environment rebuilt strictly from the client Assembly YAML with 38 automated parity checks; and a full production rehearsal on the real April dataset — 83 contacts reconciled converging in a single approve→push pass, 131/131 lots completed with zero errors, on the local sandbox only.
13 July (pm)
Demo parity · checklist register · one-click reset
This demo now runs the exact client module stack on the latest code — the lot form shows Lot Title, Lot Description and Buyer (below Hammer Price, once Sold) precisely as on the client's instance. The register dropped percentages for a ✓/✗ field checklist. And the whole demo dataset reverts to its original unreconciled state with one click (↺ Reset demo data), so the full pipeline — contact reconciliation and sales reconciliation — can be tested from scratch, repeatedly. Verified live: reset → contacts push → sales push → reset. 247 automated tests.
Data handling. The Odoo demo (:8444) and Bidder Evaluation run on generated sample data (@example.test contacts, fictional lots and bidders) and are safe to break. The Reconciliation app is currently connected to the realistic April dataset — its login is restricted and its credentials are issued directly by Cimelium; production credentials are never displayed on these pages. In demo mode the app additionally offers a one-click ↺ Reset demo data button.