1
0
Rihards Gailums 71250e7b0e Valsts budžets kā kods v0.1: shēma, 2025. un 2026. gada budžeta likumi kā dati
Loģisks budžeta modelis (Source, Provision, Parameter, Actor, Purpose, Indicator, Rule, ClassItem, Allocation),
nevis likuma pielikumu izkārtojuma kopija. Abi likumi: teksts un visi 12 pielikumi.
Atpakaļsaderība: 2026 — 58 457 no 58 457, 2025 — 55 677 no 55 677 pielikumos drukāto skaitļu atjaunoti tikai no XML.
Avoti (likumi.lv, klasifikāciju MK noteikumi), rīki, datu līgums B15, dokumentācija.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016679RwmHsuTFfxt26wP6rk
2026-10-10 22:34:28 +00:00

Valsts budžets kā kods (Budget-as-Code)

Mašīnlasāma struktūra Latvijas valsts budžetam: viena XML datne katrai budžeta likuma versijai un viena XSD shēma visiem gadiem. Datne satur likuma tekstu, visus 12 pielikumus un saites starp tiem. Likuma tabulas no tās var atjaunot līdz pēdējam euro.

Autors: PPP Asociācija (PPPA), Valsts Pirmkods (VPK). Shēmas versija 0.1, melnraksts.

Koncepcijas demonstrācija. Šīs datnes nav oficiāls valsts budžeta izdevums. Tās automātiski izveidotas no likumi.lv publicētā likuma un tā pielikumiem. Juridisks spēks ir tikai oficiālajai publikācijai Latvijas Vēstnesī.

Kāpēc šāds modelis

Pieņemtais budžets šobrīd ir likuma teksts ar 12 pielikumiem (Excel un Word datnes), un katram pielikumam ir savs izkārtojums. Šis modelis neatkārto pielikumu formu. Tas apraksta budžetu kā lēmumu: kurš drīkst saņemt vai izlietot cik naudas, kādam mērķim un pēc kādiem noteikumiem. Pielikumi ir šo datu skati.

Budget (likuma versija, piemēram lv-vb-2026)
  ├── Source       avota dokumenti ar SHA-256 (likuma teksts, 12 pielikumi)
  ├── Provision    likuma panti (teksts)
  ├── Parameter    lielumi, kas nav naudas piešķīrumi (IKP prognoze, informatīvie rādītāji)
  ├── Actor        kurš tur vai saņem naudu: resors (ar VPK ID), pašvaldība, nesadalītie līdzekļi
  ├── Purpose      kam nauda paredzēta: resors → programma → apakšprogramma → projekts; mērķdotācijas
  ├── Indicator    rezultatīvie rādītāji (budžeta paskaidrojumos; likumā nav — rezervēts)
  ├── Rule         mašīnlasāmi noteikumi no likuma teksta (rezervēts)
  ├── ClassItem    izmantotie klasifikāciju kodi ar nosaukumiem un vecākkodu
  └── Allocation   viens naudas fakts: plūsma × fonds × būtība × gads × turētājs × mērķis × bloks × kods × summa

Visi ieraksti ir plakani un saistīti ar identifikatoriem. Kopsummas, starpsummas un bilances datnē netiek glabātas — tās aprēķina. Sīkāk: docs/MODELIS.md.

Atpakaļsaderība ar likumu

Katrs likuma pielikumos drukātais skaitlis ir pārbaudīts: to aprēķina tikai no XML datnes un salīdzina ar publicēto vērtību.

Likums Pielikumos drukātie skaitļi Atjaunoti no XML
Par valsts budžetu 2026. gadam un budžeta ietvaru 2026., 2027. un 2028. gadam 58 457 58 457 (100 %)
Par valsts budžetu 2025. gadam un budžeta ietvaru 2025., 2026. un 2027. gadam 55 677 55 677 (100 %)

Abi gadi izmanto to pašu shēmu un tos pašus rīkus. Metode, rezultāti pa pielikumiem un avotos atrastās nekonsekvences: docs/SADERIBA.md.

Saturs

Dati (data/)

Datne Saturs
data/lv-vb-2026.xml 2026. gada valsts budžeta likums (LV 2025/244): 81 pants, 12 pielikumu dati, 6 400 naudas faktu
data/lv-vb-2025.xml 2025. gada valsts budžeta likums (LV 2024/248): 82 panti, 12 pielikumu dati

Datnes nosaukums ir budžeta identifikators.

Shēma un datu līgums

Datne Saturs
schemas/valsts-budzets-0.1.xsd Shēma: viens saknes elements, deviņi ierakstu veidi, vārdnīcas (plūsma, fonds, būtība, bloks, klasifikācija)
contracts/B15-valsts-budzets.odcs.yaml ODCS v3 datu līgums, ģenerēts no XSD (tāpat kā B01–B14)

Dokumentācija

Datne Saturs
docs/MODELIS.md Modeļa jēdzieni, konsolidācijas noteikums, pielikumu atbilstība modelim
docs/IDENTIFIKATORI.md Identifikatoru veidošanas noteikumi
docs/SADERIBA.md Atpakaļsaderības pārbaude: metode, rezultāti, atrastās avotu īpatnības
verification/lv-vb-GGGG.verify.json Pārbaudes rezultāts pa pielikumiem

Avoti (source/)

Mape Saturs
source/2026/, source/2025/ Likuma teksts (likumi.lv HTML) un 12 pielikumu datnes tieši tā, kā publicētas; links.json ar adresēm
source/klasifikacijas/ Klasifikāciju MK noteikumi no likumi.lv (ekonomiskā, ieņēmumu, finansēšanas)
source/kodi/ Kodu vārdnīcas: no klasifikāciju noteikumiem, no pielikumu slēptajām SAP lapām, no Valsts kases izpildes datiem; resoru VPK ID

Rīki (tools/)

Datne Darbība
tools/parse_budget.py Likums un pielikumi → lv-vb-GGGG.xml un katra drukātā skaitļa nozīme (checks.json)
tools/verify_budget.py XSD pārbaude un katra drukātā skaitļa atjaunošana tikai no XML
tools/calc.py Kopīgie summēšanas noteikumi (tie paši parsētājam un pārbaudītājam)
tools/klasifikacijas.py Klasifikāciju kodu saraksti no likumi.lv noteikumu tabulām
tools/kodi_no_sap.py Kodi no pielikumu slēptajām SAP BW lapām
tools/rows.py, tools/rd.py Excel (.xlsx, .xls) un Word (.docx) lasītāji ar atkāpju līmeņiem

Palaišana (Python 3.12, pip install openpyxl xlrd lxml):

python tools/klasifikacijas.py
python tools/kodi_no_sap.py 2026
python tools/parse_budget.py 2026 source/2026/likums.html source/2026 build/2026
python tools/verify_budget.py build/2026 2026

source/kodi/vk_codes.tsv, vk_blocks.tsv un vpk_resorts.tsv ir izgūti no VDZP (Valsts kases budžeta izpildes dati un Valsts kancelejas organizāciju reģistrs); vaicājumi ir aprakstīti docs/MODELIS.md.

Saistītās datu kopas

  • Valdības deklarācija un rīcības plāns: Valdibas-Deklaracija-as-Code. Resori ir saistīti ar to pašu VPK ID.
  • VDZP — Valsts datu un zināšanu platforma (demonstrācija): https://lakehouse.pppa.lv/.
  • Valsts kases budžeta tāmes (izpildāmais budžets ar grozījumiem): opendata.kase.gov.lv/api/v1/valsts_budzeta_tames, saistāmas pēc resora, programmas, apakšprogrammas un EKK koda.
Description
No description provided
Readme 8.1 MiB
Languages
HTML 95.3%
Python 4.7%