Skip to main content

ULAZNI RAČUNI MERGE — program MC #106632 (Faze 0–3, zatvoren 2026-08-04)

ULAZNI RAČUNI MERGE — MC #106632

CEO odluka 31.07/01.08.2026: jedan račun = jedan red, kroz koja god vrata ušao.

Arhitektura (odluka)

  1. Autoritativan zapis = purchase_invoices (zakonski primaran model, DRAFT/CONFIRMED, čl. 57/58 ZPDV — URA/pretporez/saldakonti).
  2. Kanonski UI dom = /purchases (vlasnički mentalni model, bez paywalla) — čita purchase_invoices, prikazuje DVA nezavisna statusa na istom redu: plaćanje i knjiženje.
  3. /accounting/ulazni-racuni = preusmjeren/filtriran pogled istih podataka za računovođu.
  4. expenses kind=purchase intake se gasi ili preusmjerava u purchase_invoices.

Faze

Faza 0 (DONE): V150/V151 migracije na prod DB, dupli gate PASS.

Faza 1 (DONE LIVE): /purchases čita purchase_invoices; URA-HR-2026-005 vidljiv na produkciji (browser dokaz, build 857 promovisan 01.08).

Faza 2 (MERGEANA 03.08, PR #300 → bc9fa00f):

  • D2.1 flag-gated gašenje expenses purchase-intakea + dual-write shadow (AP_INTAKE_PURCHASE_INVOICES_CUTOVER, default OFF, nikad kreiran u Unleash adminu).
  • D2.2 KPR + ulazni PDV repoint na purchase_invoices/purchase_invoice_lines (SAMO CONFIRMED); CASH_BASED preko bank-reconciliation MATCHED signala.
  • D2.3 pravilo klasifikacije (putni nalozi/per-diem ostaju u expenses).
  • D2.4 EU-acquisition UI guard na expense formi (pali se iz identiteta dobavljača, nezavisno od flaga).
  • Gate lanac: Mehanik CLEAR → Momjian DB review APPROVED (3 MAJOR nalaza zatvorena) → računovodstvo-hr SIGN_OFF → porez-fiskalizacija ADJUDICATED → Proveo witness PASS (64/64 integration testa nezavisno re-runano).

Faza 3 (ZATVORENA KAO EVIDENTIRAN NO-OP, 04.08): Rekonsilijacija postojećih redova nije izvršena jer nije postojala nijedna legitimna akcija:

Izvor Živi broj redova
purchase_invoices 13 (7 CONFIRMED / 5 DRAFT / 1 CANCELLED)
expenses(kind='purchase') 0 (globalno)
received_einvoice 0

Klasifikacija: auto-match 0, near-match 0, A-only 0, B-only 13/13. Cross-door dedupe — svrha Faze 3 — strukturno se ne može manifestirati dok su druga dvoja vrata prazna.

Bitno: bilko-demo-pg JE produkcijska baza (bilko-web-demo nosi custom domain app.bilko.cloud) — "demo" je istorijsko ime, ne okruženje. Dakle ovi nalazi su produkcijski.

Uslov ponovnog otvaranja: čim expenses(kind='purchase') ILI received_einvoice dobiju svoj prvi red.

Dokazi (nula mutacija, 4 nezavisna ugla)

  • MD5 row-level dumpa identičan između 02.08 i 04.08: 45f44968857bd752b6ed0ce08ca7565b
  • pg_stat_user_tables: n_tup_upd=0, n_tup_del=0 za cijeli život instance
  • financial_audit_log: nula događaja na purchase_invoices (trigger živ od 01.08, dakle prije Faze 3)
  • Nijedna D3.3 skripta ne postoji nigdje na disku

Evidence direktorij: ~/system/evidence/106632/ — D3.1 invariant snapshot, D3.2 dry-run, D3.4 immutability proof, računovodstvena presuda, Proveo witness (PASS).

Nalazi koji su ispali iz programa (tiketirani)

  • #106777 e-invoice accept flow (received_einvoicepurchase_invoices) — ne postoji, treba build s domenskim gate-om.
  • #106825 7 CONFIRMED računa nema NIJEDNO GL knjiženje (journal_entry_id NOT NULL = 0 za svih 13) — seed ih je potvrdio sirovim SQL-om.
  • #106827 (blokiran od #106825) D1.1 posting-status prikaz ne smije ići prije toga — inače UI laže "proknjižen".
  • #106780 dvostruki SUPPLIER_PAYMENT journal entry, #106781/#106782 hotelski račun i avansi, #106784/#106785 reverse charge za usluge i naknada za privatno vozilo, #106818 zabrana editovanja primijenjenih Flyway migracija.