Sodiwin data contract locked with Florian

The nightly Sodiwin dump is fully specified. Florian accepted SFTP to the Synology NAS, atomic writes, the dated filename convention, and the failure-email contract. Column widening on clients, suppliers and articles is in a second round. No code has landed — the repo will be scaffolded once the first dump arrives.

Added
  • 20 canonical tables specified (7 référentiels, 2 stock/lots, 9 document twins, 2 finances)
  • SFTP destination: 192.168.0.17, user sodiwin-dump, chroot /volume1/sodiwin-dumps/, schedule 02:30 Paris
  • Filename convention: YYYY-MM-DD_<slug>.csv per slug directory, atomic rename from .csv.partial
  • File format: Sodiwin-native CSV — ; separator, ISO-8859-1/Windows-1252, DD/MM/YYYY dates, , decimal, CRLF
  • Temporal windows negotiated: référentiels, stock, lots, devis, BL, encours, balance, objectifs and recettes as nightly full snapshot; base-ventes, base-commandes-ventes, base-achats and base-reglements on a 1-year rolling window; base-echeances restricted to unsettled invoices only
  • One-time historical dump agreed — all data since ERP origin through Dec 31 2025
  • Failure email contract: 3 retries at 60s intervals, then admin@sodimo.eu with fallback to paul.ghafary@sodimo.eu
Changed
  • Historical window on transactional tables reduced from 18 months (Thomas's ask) to 1 year rolling — Florian offered 3 years, settled on 1 year plus one-time historical backfill
  • Previous day's file deletion delegated to the Sodimo side after nightly ingest
Removed
  • Dynamic rupture columns dropped from base-articles (rup1/rup2/rup3/sous_rupt/librup1..3) — generated at report time in Sodiwin, not stored

Search uses Pagefind — available after npm run build.