Chapter 9 / 17

The sales data

Two views of Sodimo’s commercial reality exist today.

Paul’s Excel dashboard is the current source of truth. Paul exports from Sodiwin manually, updates the workbook, and sends a snapshot to Michel weekly. It covers revenue by brand, receivables aging, year-on-year comparisons, top customers, and per-rep breakdowns. Accurate, but slow to produce and impossible to query on the fly.

The data warehouse (this system) replaces the manual step. The same data updates automatically every night and is available for any query through the AI tools or as a rendered dashboard.


The nine active sales reps:

SAHAG, SERGE, NADIM, AZZI, ADEL, GEORGES, DC, CHARBEL, AUTRE.

Two historical codes are preserved in the data: RA (rolled into AZZI) and KHALLOUF (left February 2026). Rani manages his own route within this roster — he is both head of sales and an active rep.


What changes with the warehouse:

Paul’s Monday export step goes away. Every number Michel sees — revenue, aging, year-over-year — comes from the same nightly feed, queryable at any time through the AI or a rendered dashboard.


Parity gate:

Before the warehouse becomes the authoritative source for any number Michel sees, Paul validates it: same query in Sodiwin, same result in the warehouse, confirmed on at least two tables. That sign-off is the Chapter 2 closure criterion — not “data loaded,” but “Paul said yes.”


Still owed from Paul (each blocks a specific AI tool):

  • TARIF code labels — blocks price decoding
  • DEPOT code labels (GEN, BRA, ECA, PER, RIM, TRA, HF3, HFE, OK) — blocks inventory views
  • Fattal report template + three sample reports from Q1 2026 — blocks the board report skill
  • Five-minute call on the ASSOULTANE price calculation — blocks price analytics

Status: Blocked — awaiting Florian’s nightly exports (Blocker 2).

Search uses Pagefind — available after npm run build.