Status: OK; Currency: KZT; Amounts unit: millions; Forms: ✓ ✓ ✓
Report published: Not stored for this period — set financial_report_date on the row (EDGAR filingDate, KASE change_date, or manual_catalog).
Full financial report: Report (PDF)
PDF (local): /root/projects/frontier/data/raw_pdfs/KMG/2025-03-31_Q1_pdf.pdf
To recalculate statement detection and previews from the PDF, use this link The default link runs in the background: a status panel shows phase, elapsed time, rough ETA, CUDA vs CPU, and OOM hints, then loads the finished report. Heavy mode with refresh does this automatically so reverse proxies do not return 502. Add &sync=1 only for one long blocking request (not recommended). You can use ?refresh=1, ?recalc=1, ?nocache=1, or ?recompute=1 on the URL. (block in the browser until done: synchronous refresh)
Default view is fast (metric table + statement page numbers only) so reverse proxies do not time out. Use ?heavy=1 when you need embedded page images and Camelot tables.
Metric values use dashboard units where applicable; evidence is the stored snippet from the PDF text layer or OCR used during extraction.
| Metric | Value | Evidence / page extract |
|---|---|---|
| Revenue | 2 241 251 | Row: revenue (mln KZT, batch apply) · dashboard=2,241,251.000 mln — [DeepSeek] revenue (mln KZT, batch apply) |
| Operating profit | 137 008 | Row: operating_profit (mln KZT, batch apply) · dashboard=137,008.000 mln — [DeepSeek] operating_profit (mln KZT, batch apply) |
| D&A | 180 994.25 | Row: da (mln KZT, batch apply) · dashboard=180,994.250 mln — [DeepSeek] da (mln KZT, batch apply) |
| EBITDA | 318 002.25 | Row: computed as operating_profit + da · dashboard=318,002.250 mln — computed as operating_profit + da |
| Net profit | 196 526 | Row: net_profit (mln KZT, batch apply) · dashboard=196,526.000 mln — [DeepSeek] net_profit (mln KZT, batch apply) |
| Cash | 1 789 319 | Row: cash (mln KZT, batch apply) · dashboard=1,789,319.000 mln — [DeepSeek] cash (mln KZT, batch apply) |
| Debt short | 0 | Row: No tables on pages=6,7 · dashboard=0.000 mln — [BS] No tables on pages=6,7 |
| Debt long | 0 | Row: No tables on pages=6,7 · dashboard=0.000 mln — [BS] No tables on pages=6,7 |
| Net debt | -1 675 328 | Components: short debt 0 + long debt 0 + other financial liab. 0 + NCI 113 991 − cash 1 789 319 = net debt -1 675 328.Row: net_debt (mln KZT, batch apply) · dashboard=-1,675,328.000 mln — [DeepSeek] net_debt (mln KZT, batch apply) |
| Operating CF | 427 458 | Row: operating_cash_flow (mln KZT, batch apply) · dashboard=427,458.000 mln — [DeepSeek] operating_cash_flow (mln KZT, batch apply) |
| Investing CF | 150 839 | Row: investing_cash_flow (mln KZT, batch apply) · dashboard=150,839.000 mln — [DeepSeek] investing_cash_flow (mln KZT, batch apply) |
| Assets | 18 836 041 | Row: total_assets (mln KZT, batch apply) · dashboard=18,836,041.000 mln — [DeepSeek] total_assets (mln KZT, batch apply) |
| Equity | 11 811 939 | Row: total_equity (mln KZT, batch apply) · dashboard=11,811,939.000 mln — [DeepSeek] total_equity (mln KZT, batch apply) |
| ✓ | Balance sheet identity (A = L + E) | TA (18,836,041) ≈ TL (7,024,102) + TE (11,811,939); residual +0 within 1%. |
| ✓ | Net debt formula | net_debt -1,675,328 matches |debt_short|+|debt_long|+|other|+|NCI|−|cash| = -1,675,328. |
| ✓ | EBITDA = OP + D&A | EBITDA (318,002) ≈ OP (137,008) + D&A (180,994) = 318,002. |
| ✓ | Net profit vs operating profit | Net profit (196,526) sits within a plausible band vs operating profit (137,008). |
| ✓ | Cash ≤ total assets | Cash (1,789,319) ≤ total assets (18,836,041). |
| ⚠ | Debt step-change vs prior period | Total interest-bearing debt fell 100% vs prior period (4,091,617 → 0). Financing cash flow not extracted — can't verify the move was real (could be an OCR miss of a major debt line). |
| Form | Pages |
|---|---|
| P&L | 4, 5 |
| BS | 6, 7 |
| CF | 8, 9 |
Embedded PDF thumbnails and Camelot reconstruction are omitted in the default view to avoid gateway timeouts and huge HTML. Open full previews & tables (?heavy=1).