Status: OK — incomplete — unset metrics listed below; Currency: PHP; 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).
Live PDF pass: metric table values were re-extracted from the local PDF (same pipeline as benchmarks). When extraction fills at least one headline metric, the matching row in the issuer ``*_raw_periods.json`` file is updated automatically so the company page stays in sync.
Full financial report: Link
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 | 40 505 | Row: revenue (mln PHP, batch apply) · dashboard=40,505.000 mln — [DeepSeek] revenue (mln PHP, batch apply) |
| Operating profit | 19 360 | Row: operating_profit (mln PHP, batch apply) · dashboard=19,360.000 mln — [DeepSeek] operating_profit (mln PHP, batch apply) |
| D&A | 1 466 | Row: da (mln PHP, batch apply) · dashboard=1,466.000 mln — [DeepSeek] da (mln PHP, batch apply) |
| EBITDA | 20 826 | Row: computed as operating_profit + da · dashboard=20,826.000 mln — computed as operating_profit + da |
| Net profit | 12 811 | Row: net_profit (mln PHP, batch apply) · dashboard=12,811.000 mln — [DeepSeek] net_profit (mln PHP, batch apply) |
| Cash | 212 435 | Row: cash (mln PHP, batch apply) · dashboard=212,435.000 mln — [DeepSeek] cash (mln PHP, batch apply) |
| Debt short | — | — |
| Debt long | — | — |
| Net debt | -201 895 | Components: short debt 0 + long debt 0 + other financial liab. 0 + NCI 0 − cash 212 435 = net debt -212 435.Row: net_debt (mln PHP, batch apply) · dashboard=-201,895.000 mln — [DeepSeek] net_debt (mln PHP, batch apply) |
| Operating CF | -39 857 | Row: operating_cash_flow (mln PHP, batch apply) · dashboard=-39,857.000 mln — [DeepSeek] operating_cash_flow (mln PHP, batch apply) |
| Investing CF | 100 681 | Row: investing_cash_flow (mln PHP, batch apply) · dashboard=100,681.000 mln — [DeepSeek] investing_cash_flow (mln PHP, batch apply) |
| Assets | 3 764 470 | Row: total_assets (mln PHP, batch apply) · dashboard=3,764,470.000 mln — [DeepSeek] total_assets (mln PHP, batch apply) |
| Equity | 406 951 | Row: total_equity (mln PHP, batch apply) · dashboard=406,951.000 mln — [DeepSeek] total_equity (mln PHP, batch apply) |
| ✓ | Balance sheet identity (A = L + E) | TA (3,764,470) ≈ TL (3,357,519) + TE (406,951); residual +0 within 1%. |
| ✓ | Net debt formula | net_debt -201,895 matches |debt_short|+|debt_long|+|other|+|NCI|−|cash| = -212,435. |
| ✓ | EBITDA = OP + D&A | EBITDA (20,826) ≈ OP (19,360) + D&A (1,466) = 20,826. |
| ✓ | Net profit vs operating profit | Net profit (12,811) sits within a plausible band vs operating profit (19,360). |
| ✓ | Cash ≤ total assets | Cash (212,435) ≤ total assets (3,764,470). |
| Form | Pages |
|---|---|
| P&L | — |
| BS | — |
| CF | — |
Page previews unavailable (missing PDF, no discovery pages, or PDF renderer not available).