A public, dated record of the material data corrections and factual updates Dalil Finance has made across its Morocco market pages. Each entry states what was wrong, what it was changed to, and the primary source that resolved it.
Dalil Finance publishes market data and company profiles for the Bourse de Casablanca. Some of that content is compiled from third-party feeds; some is written from primary sources such as company filings on the AMMC, Bank Al-Maghrib publications, and the annual Loi de Finances. Sources change, feeds go stale, and early drafts contain mistakes. When we find or are told about an error that materially affects a number or a fact, we fix it on the page and record it here rather than editing quietly.
This is a deliberate editorial practice. A reader deciding whether to trust a figure should be able to see whether the page it sits on has been corrected before, what kind of errors we catch, and how quickly. The log below is not exhaustive of every typo or wording tweak - it covers changes that altered a displayed value, a factual claim about a company, or a tax or rate figure that a reader might act on. For how data is sourced and refreshed in the first place, see the Methodology and Data Sources pages.
If you spot a number or a claim on Dalil that looks wrong, email the details - the page, the figure, and if possible the source that contradicts it - via the contact page. Corrections that change a displayed value or a factual claim are logged here with the date they were applied.
companyData.js have always correctly stated OCP is not listed on the Bourse de Casablanca (state-owned, bonds only). Removed from every fallback list, the priority-ticker config, and the watchlist; StockPage.jsx now hard-gates the price header and sourcing prose off a new explicit listed:false field rather than relying on an absent live-data row. (2) Dashboard logic: the homepage's gainers/losers lists sorted the full stock list and took the top 5 regardless of sign, so a quiet session could show a loss-making stock inside "Gainers." Now filtered to positive/negative change before sorting and limiting, never padded. The economic-calendar widget's eleven fixture rows (US CPI, NFP, ECB, etc.) were invented placeholder forecasts with no real source; replaced with three real, dated, sourced Morocco releases (BAM policy rate, HCP CPI, Office des Changes trade data) and no fabricated forecast field. The Casablanca session-open badge used a 09:00-15:00 window that contradicted the site's own published 09:30-15:30 trading-hours explanation (Methodology, Data Sources); corrected to 09:30-15:30. News-feed HTML entity decoding only handled 6 entities, garbling accented French text from Hespress/Medias24 (e.g. "économie" instead of "économie"); replaced with a comprehensive numeric + named-entity decoder that still only ever produces plain text. (3) Dividend tax: the investment-tax article, dividend guide, portfolio guide, after-tax calculator, and glossary described TPA (dividend withholding) as depending on "the vintage of the profits" in addition to the distribution year, and several examples computed net dividend figures using the older flat 15% rate as if it still applied unconditionally to direct retail holders and non-residents. Verified against three independent, corroborating sources: the 2025 Finance Law simplified the transitional mechanism so the rate depends only on the calendar year of distribution (12.5% for 2025, 11.25% for 2026, target 10% from 2027) - profit vintage no longer applies. All affected prose, the FAQ structured data, and the calculator's rate-dropdown labels corrected accordingly; a "thwith" typo fixed in the same article. TPA, TPCVM, and TPPRF - referenced by name in multiple articles' "defined in our Glossary" line but never actually defined there - added to the Glossary. (4) Research hub: the Morocco Economy hub still displayed June/July 2026 figures and described August releases as "upcoming," while the underlying monitor pages had already been updated to July 2026 data (see the 2026-09-03 entries below) - the hub's summary cards were hand-typed and never resynced. Corrected to match each monitor's actual current data, and a new generator (scripts/sync-monitors-hub.mjs, run as part of npm run build) now derives the hub's cards and "next expected" dates from a canonical comment each monitor page carries, so this cannot silently drift out of sync again.dateModified was never bumped to match; all three now read 2026-08-18, the date the content actually changed.functions/api/market.js was removed, and every page still naming Luzia as a live data source was corrected to name Binance (CoinGecko backup) instead: Data Sources, Methodology, Privacy, the How to Read Morocco Market Data guide, and the dashboard's own source labels and footer credits. This was a source-attribution correction, not a change to any displayed price or figure.404.html, which sits outside the directory the automated freshness-wording script covers, still read "Live Dashboard" in four places. The homepage dashboard's own section label in the live React app (MoroccoOverview.jsx) read "Live Dashboard" directly above the price cards; it now reads "Delayed Data." An unused "LIVE" badge status in DataBadge.jsx, never actually assigned by any data source, was removed as a precaution. None of these were factual errors about a number - they were "live" language left over from before the site's delayed-data labelling was standardized - but they contradicted the freshness figures on Data Sources and About, so they are logged here for the same reason the 2026-08-10 entry was.src/utils/dataContracts.js, src/utils/transforms.js) were also corrected from "live" to "delayed" for crypto, Moroccan bank/telecom/industry sectors, and news, none of which are true real-time feeds. Sources: Maroclear, Reglement General du Depositaire Central, internal cache TTL configuration in functions/api/market.js.Routine wording edits, layout changes, image swaps, and typography fixes are not recorded here - they do not change a figure or a factual claim. Live market data is a separate matter: prices, rates, and index levels update continuously from their sources and are delayed by design (see Methodology). A delayed price is not an error; a wrong static fact or a stale hardcoded value is, and that is what this page tracks.