Skip to content

Financial statements (AJPES)

GET /v1/entities/{tax_number}/financials returns the key figures from the annual reports that companies file with AJPES (balance sheet and income statement), newest year first. AJPES publishes them under the CC BY 4.0 licence; every figure carries its source.

Who capital companies (d.o.o., d.d., k.d.d., SE) and cooperatives (z.o.o., z.b.o.), about 78,000 companies, matched by registration number (matična)
Never sole proprietors (s.p.) and other natural persons: coverage.status: not_covered, no figures
Statements standalone statements (posamični izkazi, figures); for large companies that file an ESEF report, also the group’s consolidated statements (consolidated)
Documents audited and consolidated reports AJPES publishes only as files (PDF, ZIP) are in documents, with a link to AJPES
Units 1 per call; include=financials_latest on the entity lookup +1 when it returns data
Key scope entities:read
MCP the get_financials tool returns the same object (MCP)
curl "https://api.maticna.si/v1/entities/19000006/financials?years=3" \
-H "Authorization: Bearer $MATICNA_KEY"
{
"object": "financials",
"tax_number": "19000006",
"registration_number": "9000000010",
"coverage": { "status": "available", "reason": null, "detail": "Annual-report figures published by AJPES.", "detail_sl": "Podatki iz letnih poročil, ki jih objavlja AJPES." },
"currency": "EUR",
"source": {
"dataset": "ajpes_lp", "name": "AJPES – letna poročila", "name_en": "AJPES – annual reports", "publisher": "AJPES",
"url": "https://www.ajpes.si", "licence": "CC-BY-4.0", "licence_url": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "Vir: AJPES (www.ajpes.si), CC BY 4.0; izračuni maticna.si", "attribution_required": true
},
"access": { "plan": "growth", "max_years": 10, "figures": "full", "items": true, "years_capped": false },
"years": [
{
"year": 2025, "report_type": "01", "basis": "standalone", "source_format": "ajpes_json",
"period_start": "2025-01-01", "period_end": "2025-12-31", "period_months": 12,
"size_class": null, "currency": "EUR", "quality": "ok", "restated": false, "revision": 1,
"figures": { "revenue": 1840210.55, "net_profit": 96340.12, "employees": 14.62, "total_assets": 1210400.0, "equity": 610220.4, "ebit": 121880.3, "…": "…" },
"methods": { "revenue": "official", "net_profit": "official", "ebit": "derived", "…": "…" },
"provenance": {
"bilanca_stanja": {
"dataset": "ajpes_lp", "source": "AJPES – letna poročila", "year": 2025, "statement": "bilanca_stanja",
"report_type": "01", "basis": "standalone", "period_end": "2025-12-31", "published_on": "2026-04-15",
"updated_on": null, "as_of": "2026-04-15", "fetched_at": "2026-10-20T03:12:44.000Z", "licence": "CC-BY-4.0",
"licence_url": "https://creativecommons.org/licenses/by/4.0/",
"attribution": "Vir: AJPES (www.ajpes.si), CC BY 4.0; izračuni maticna.si", "url": "https://www.ajpes.si", "method": "official"
},
"izkaz_poslovnega_izida": { "statement": "izkaz_poslovnega_izida", "…": "…" }
},
"consolidated": null
}
],
"documents": [],
"as_of": "2026-04-15"
}
Field Description
coverage.status available: at least one year with figures. documents_only: AJPES publishes this company’s reports only as documents (e.g. an audited report in PDF), see documents. no_reports: a company AJPES covers, but we have not loaded a published report yet. not_covered: no financials for this taxpayer, see reason
coverage.detail, detail_sl the explanation in English and Slovenian
coverage.reason natural_person (s.p. and other natural persons, never served) or legal_form_not_covered (e.g. associations, institutes, foreign companies)
years[] newest first. Only reports that pass the checks below
years[].figures key figures in EUR (employees: average number from hours worked, 2 decimals). null: not reported. Only the figures of your plan are present
years[].basis the statements figures come from: standalone (the company alone) whenever they exist; consolidated only for a group without standalone statements
years[].source_format ajpes_json: AJPES’s structured table; esef: we read the figures from the ESEF report (below)
years[].consolidated the group’s consolidated statements of the same year (same shape: figures, methods, provenance, items) when the ESEF report has them; otherwise null
years[].methods official: one row as AJPES published it, or one tagged IFRS concept; derived: computed by maticna.si (formulas below)
years[].provenance one stamp per statement: source, year, statement, report type, publication date (published_on), correction date (updated_on), as_of (the source’s own date), fetched_at (when we fetched it), licence and attribution
years[].period_months below 12 for a first, last or changed business year
years[].quality ok, or warning when the net result in the balance sheet differs from the income statement
years[].restated, revision AJPES corrected the report after first publication; we serve the latest version
years[].items the raw AJPES line items (T001…: current year, P001…: previous year), or for ESEF the XBRL concepts (T:ifrs-full:Revenue, P:… for the previous year, in EUR), only with include=items
documents[] documents AJPES publishes for the same years: year, type (report_type, doc_name: RLP, KLP, eRLP, eKLP), label and label_en, format (pdf, zip), size, publication date, structured (we read the figures from it) and url
access what your plan serves; years_capped: true when you asked for more years than the plan allows
as_of the newest source date among the years served

Parameters: years (1–10, default 5; capped by the plan) and include=items (raw line items).

PlanYearsFiguresRaw line items (include=items)
Hobbynot included (403 plan_upgrade_required, available from the Starter plan)
Starterlast 3 yearssummary: revenue, net profit, employees, total assets, equityno (403 plan_upgrade_required)
Growthall yearsall 24 figuresyes
Customall yearsall 24 figuresyes

years above the plan’s limit is not an error: you get the years the plan serves and access.years_capped: true. The Hobby plan has no financials: the endpoint, the MCP tool get_financials and include=financials_latest on GET /v1/entities/{tax} return 403 plan_upgrade_required and cost no units.

AJPES publishes a reduced selection of each report as numbered rows (T001–T089 for companies). The row is not the AOP code; the AOP code is in brackets. Cooperatives file a shorter table (rows 1–24 match, later rows are shifted by 2); we map them with their own table.

Field Item Statement Method AJPES row (AOP)
total_assets Total assets (sredstva) balance sheet official T001 (001)
non_current_assets Non-current assets balance sheet official T002 (002)
current_assets Current assets balance sheet official T013 (032)
inventories Inventories balance sheet official T015 (034)
receivables Short-term trade receivables balance sheet official T019 (048)
cash Cash balance sheet official T020 (052)
equity Equity (kapital) balance sheet official T024 (056)
share_capital Share capital balance sheet official T026 (058)
provisions Provisions and long-term accruals balance sheet official T034 (072)
long_term_liabilities Long-term liabilities balance sheet official T037 (075)
short_term_liabilities Short-term liabilities balance sheet official T041 (085)
financial_debt Financial debt balance sheet derived T038 + T043 (076 + 087)
liabilities Liabilities (long and short-term debt; total assets − equity also includes provisions) balance sheet derived T037 + T041
revenue Net sales revenue (čisti prihodki od prodaje) income statement official T047 (110)
operating_revenue Operating revenue (kosmati donos) income statement derived T047 + T048 + T049 + T050 (AOP 126 is not published)
operating_expenses Operating expenses income statement derived T051 + T054 + T059 + T063
ebit Operating profit (EBIT) income statement derived operating_revenue − operating_expenses
ebitda EBITDA income statement derived ebit + depreciation (other write-downs are not added back)
depreciation Depreciation and amortisation income statement official T060 (145)
financial_income Financial income income statement derived T064 + T065 + T066
financial_expenses Financial expenses income statement derived T067 + T068 + T069
income_tax Income tax income statement official T072 (184)
net_profit Net profit or loss (signed) income statement official T074 (186 − 187)
employees Average number of employees (from hours worked) income statement official T075 (188)

Banks, insurers, listed companies and other audited companies do not file the structured table with AJPES; they file an audited and a consolidated annual report. Up to 2023 that is a PDF; from 2024 it is an ESEF package (a ZIP with an XHTML file tagged in Inline XBRL with the IFRS taxonomy). We read the package ourselves:

  • only the reporting period AJPES states and the year before it (P:), nothing else;
  • contexts without dimensions are the group (consolidated); the context with ifrs-full:SeparateMember is the company alone (standalone). When a report tags no separate statements it is the company alone, unless AJPES files it as the consolidated report;
  • amounts are converted to euros (scale, sign and the number format are applied); other dimensions (equity components, non-controlling interests) and amounts in other units are left out;
  • check: assets = equity + liabilities (± 0.1 %); reports that fail it are never served.
Field IFRS concept (ifrs-full:) Method
total_assets Assets official
non_current_assets, current_assets NoncurrentAssets, CurrentAssets official
inventories Inventories official
receivables TradeAndOtherCurrentReceivables (else CurrentTradeReceivables) official
cash CashAndCashEquivalents official
equity, share_capital Equity, IssuedCapital official
provisions Provisions (else the sum of the provision lines) official or derived
long_term_liabilities, short_term_liabilities NoncurrentLiabilities, CurrentLiabilities official
financial_debt NoncurrentFinancialLiabilities + CurrentFinancialLiabilities (else borrowings) derived
liabilities Liabilities (provisions included; else non-current + current, else assets − equity) official or derived
revenue Revenue (else RevenueFromContractsWithCustomers; banks have none) official
ebit ProfitLossFromOperatingActivities official
ebitda ebit + depreciation derived
depreciation DepreciationAndAmortisationExpense (else depreciation + amortisation) official or derived
financial_income, financial_expenses FinanceIncome, FinanceCosts official
income_tax IncomeTaxExpenseContinuingOperations official
net_profit ProfitLoss official
employees only when the report tags it official
operating_revenue, operating_expenses no IFRS counterpart (null)

IFRS line items are not exactly the Slovenian table’s (e.g. liabilities includes provisions), so comparing companies across sources is not like for like. The source is in source_format and report_type (72 audited, 73 consolidated annual report).

Years AJPES publishes only as documents (e.g. the audited report as a PDF up to 2023) are in documents. The download link of AJPES’s API needs our key, so url is the company’s public page in AJPES’s JOLP application (https://www.ajpes.si/jolp/podjetje.asp?maticna=…). AJPES asks you to sign in there (free registration, or as an anonymous user) and allows 20 companies a day. We do not pass the documents on.

  • Companies: AJPES publishes structured annual reports for capital companies and cooperatives. We match them by matična to the FURS register; a company without a matična in the FURS lists cannot be matched.
  • Years: AJPES serves the current year and the five previous ones per company. Companies file by 31 March and reports are published from April. We keep every year we have loaded, so history does not disappear when AJPES’s window moves on.
  • Loading: reports are loaded gradually and refreshed nightly within AJPES’s rate limits. A covered company whose reports are not loaded yet returns coverage.status: no_reports.
  • Checks: every report must balance (assets = liabilities + equity, assets = the sum of their parts) and have non-negative revenue and employees. Reports that fail, and all-zero reports, are never served. Banks and insurers file no structured table: their figures come from their ESEF reports (2024 on), older years are in documents.
  • Corrections: when AJPES corrects a report we serve the new version with restated: true and a higher revision.
  • Personal data: only figures. We do not republish the PDF documents or the free-text notes of the reports; we only link to the documents (AJPES JOLP).

The data is AJPES’s, licensed under CC BY 4.0. If you show or pass on these figures (in an app, a report, a spreadsheet, an AI answer), keep the attribution with them:

Vir: AJPES (www.ajpes.si), CC BY 4.0; izračuni maticna.si

The source.attribution field and every provenance stamp carry this text, so you can print it as it is. The licence, not us, sets this condition: it applies to everyone who reuses the figures, including your own customers.

Status Code When
403 plan_upgrade_required include=items below the Growth plan (0 units)
404 not_found a well-formed tax number that is not in the FURS lists (1 unit, like a lookup)
422 invalid_tax_number wrong check digit (0 units)
400 bad_request years outside 1–10 or an unknown include value (0 units)

A sole proprietor (s.p.) is not an error: the answer is 200 with coverage.status: not_covered, reason: natural_person, years: [] and no registration number. It costs 1 unit and counts towards the daily natural-person cap, like a lookup.

Source: FURS · unofficial source, not an official extract · Terms · Privacy · maticna.si