1
0

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
This commit is contained in:
2026-10-10 22:34:28 +00:00
commit 71250e7b0e
56 changed files with 26144 additions and 0 deletions

60
docs/SADERIBA.md Normal file
View File

@@ -0,0 +1,60 @@
# Atpakaļsaderība ar budžeta likumu
## Metode
1. `tools/parse_budget.py` nolasa likuma tekstu un visus 12 pielikumus. Katru drukāto skaitli tas pieraksta kopā ar tā nozīmi: fonds, plūsma, gads, būtība, mērķis (resors / programma / projekts), bloks, saistību veids un klasifikācijas kodi, ko skaitlis aptver.
2. XML datnē tiek ierakstīti tikai naudas fakti (`Allocation`). Kopsummas, starpsummas un bilances netiek glabātas.
3. `tools/verify_budget.py` pārbauda XML pret XSD un **katru drukāto skaitli aprēķina no jauna tikai no XML**. Abi rīki izmanto tos pašus summēšanas noteikumus (`tools/calc.py`). Skaitlis ir atjaunots, ja starpība ir mazāka par 0,5 euro (procentiem no IKP — 0,005).
## Rezultāts
| Pielikums | 2026: drukāti | 2026: atjaunoti | 2025: drukāti | 2025: atjaunoti |
|---|---:|---:|---:|---:|
| 1. Valsts konsolidētais budžets | 253 | 253 | 252 | 252 |
| 2. Valsts budžeta ieņēmumi | 217 | 217 | 216 | 216 |
| 3. Pamatbudžeta un speciālā budžeta kopsavilkums | 6 241 | 6 241 | 5 944 | 5 944 |
| 4. Pamatbudžets pa programmām un apakšprogrammām | 8 160 | 8 160 | 7 863 | 7 863 |
| 5. Speciālais budžets pa programmām un apakšprogrammām | 233 | 233 | 233 | 233 |
| 6.–10. Mērķdotācijas pašvaldībām (kopsummas) | 14 | 14 | 14 | 14 |
| 11. Ilgtermiņa saistības | 43 339 | 43 339 | 41 155 | 41 155 |
| **Kopā** | **58 457** | **58 457 (100 %)** | **55 677** | **55 677 (100 %)** |
6.–10. pielikumā katra pašvaldības summa ir glabāta tieši (`Allocation` ar `recipient`). Pārbaude aprēķina pielikuma kopsummas un periodu kopsummas.
12. pielikums ir tukša aprēķina veidlapa. Skaitļu tajā nav.
Likuma teksts: 2026. gadā 81 pants, 2025. gadā 82 panti (`Provision`).
| Saturs XML | 2026 | 2025 |
|---|---:|---:|
| Naudas fakti (`Allocation`) | 6 400 | 6 322 |
| — apropriācijas (budžeta gads) | 1 892 | 1 826 |
| — maksimālie apjomi (nākamie divi gadi) | 838 | 796 |
| — ieņēmumu prognozes | 392 | 388 |
| — ilgtermiņa saistības | 2 919 | 2 947 |
| — mērķdotācijas pašvaldībām | 359 | 365 |
| Mērķi (`Purpose`), t. sk. projekti | 867 (243) | 834 (230) |
| Klasifikāciju kodi (`ClassItem`), t. sk. fonda iekšējie transferti | 236 (11) | 233 (11) |
| Resori ar VPK ID | 28 | 28 |
## Avotu īpatnības, kas atrastas pārbaudē
1. **Pielikumi ir SAP BW (BEx Analyzer) izdrukas.** Drukātajās tabulās klasifikācijas kodu nav, ir tikai nosaukumi ar atkāpēm. Kodi ir daļēji slēptajās lapās (`ZQZBC_PLN_*`, budžeta versija `D200`). Pārējos kodus piesaista pēc nosaukuma no klasifikāciju MK noteikumiem un Valsts kases datiem. Visām pielikumu rindām kods ir atrasts, izņemot „Resursi izdevumu segšanai” (aprēķināta kopsumma).
2. **Atkāpju kļūda.** Dažos blokos „Ārvalstu finanšu palīdzība atmaksām valsts pamatbudžetam” (21200) ir ar atkāpi zem „Iestādes ieņēmumi no ārvalstu finanšu palīdzības” (21100), lai gan tie ir blakus kodi. Piemērs: 2026. gada 4. pielikums, Aizsardzības ministrijas programma 73.00.00: 9 372 926 = 3 200 000 + 6 172 926. Koku nosaka balsojums pa visiem blokiem, ko pārbauda pret koda struktūru.
3. **11. pielikumā atkāpju nav.** Līmeņi ir nolasīti no tiem pašiem nosaukumiem 4. pielikumā. Saistību veidu kodi grupējas pa diviem cipariem (`01 01 10 00 00`). Viens projekts var parādīties vairākos saistību veidos (vispārīgajā un precīzākajā); glabāts tiek precīzākais.
4. **Galvenes forma atšķiras.** 11. pielikuma speciālā budžeta daļā resors ir „18 Labklājības ministrija” (bez punkta), citur „18. Labklājības ministrija”.
5. **Izkārtojums atšķiras starp gadiem.** 2025. gada pielikumi ir .xls, 2026. gada — .xlsx. 2025. gada 1. un 2. pielikumā ir papildu tukša pirmā aile. 2025. gada 7. pielikuma datne ir `7_PIELIKUMS_G.DOCX`.
6. **Summas, kas likumā redzamas tikai apkopojuma līmenī.** Valsts aizņēmumi, aizdevumi un naudas līdzekļu izmaiņas 4. pielikumā ir tikai budžeta kopsavilkumā vai resora līmenī bez programmas. Tās glabātas tajā pašā līmenī: 2026. gadā 4 no 4. pielikuma un 6 no 3. pielikuma.
7. **3. un 4. pielikums dažas summas rāda atšķirīgi.** 3. pielikums sadala pa blokiem (I pamatfunkcijas / II ES projekti) arī tās finansēšanas summas, kurām 4. pielikumā bloka nav — piemēram, Finanšu ministrijas aizdevumus (−334 457 337 euro). Tās ierakstītas ar bloku, ko norāda 3. pielikums, nemainot kopsummas: 4 pārklasifikācijas pa pāriem gan 2026., gan 2025. gadā.
8. **Speciālā budžeta ieņēmumi nākamajiem gadiem** 2. pielikumā ir tikai valsts līmenī. Tie piesaistīti Labklājības ministrijai (18), jo tā ir vienīgais speciālā budžeta turētājs, un blokam „pamatfunkcijas”.
9. **Budžeta bloks.** Programmu bloks (pamatfunkcijas / ES projekti) ņemts no Valsts kases izpildes datiem. 41 programmai, kurai izpildes datu nav, bloks noteikts pēc programmas koda (60.–85. programma — ES un ārvalstu finanšu palīdzība). Visas 3. pielikuma bloku summas atjaunojas.
10. **Kļūda klasifikācijas tekstā.** Ieņēmumu klasifikācijas tīmekļa tekstā ir „I estādes ieņēmumi no ārvalstu finanšu palīdzības” (ar atstarpi). Nosaukums salīdzināts, šo atstarpi neņemot vērā.
## Atkārtošana
```
python tools/parse_budget.py 2026 source/2026/likums.html source/2026 build/2026
python tools/verify_budget.py build/2026 2026
```
Kopsavilkums ir `verification/lv-vb-GGGG.verify.json`. Pilns pārbaudes saraksts (`build/GGGG/lv-vb-GGGG.checks.json`) tiek izveidots no jauna un repozitorijā netiek glabāts.