# Bilko HR Roadmap — Fiscal Compliance + Feature-Enable Architecture (2026-05-29)

# Bilko HR Roadmap — Fiscal Compliance + Feature-Enable Architecture

**Created:** 2026-05-29
**CEO directive:** B2B prvo, B2C odgođen, **citav app feature-enable based (micro-frontend)** za per-user per-plan delivery
**Status:** Active roadmap, supersedes prior B2B-only scoping

---

## 1. Executive summary

- HR ima **dva odvojena fiskalna sistema**: **F1 (B2C, SOAP)** i **F2 (B2B, Peppol)** — oba mandatorna od 01.01.2026 per Zakon o fiskalizaciji **NN 89/25** (porezna-uprava.gov.hr verified 2026-05-29)
- **CEO odluka 2026-05-29:** B2B prvo (Phase 0), B2C odgođeno
- **CEO arhitektonska direktiva 2026-05-29:** Feature-enable based / micro-frontend / per-user per-plan delivery — NE hackovati per feature
- **B2B path:** Storecove (~70% Bilko code već postoji, u pregovorima oko cijene) ili Sveračun (negotiated <€0.10/invoice, čekamo creds)
- **Multi-tenant accountant view** (1 računovođa → 30+ klijent orgs) zavisi od prvog B2B ACK
- **Direktni rizik produkta ako feature-enable ne dođe prvo:** plan tier leakage, ad-hoc feature flag hacking, market cross-contamination

---

## 2. Croatian fiscal legal framework

### Zakon o fiskalizaciji
- Aktuelni tekst: **NN 89/25** (Narodne novine)
- Source: https://porezna-uprava.gov.hr/hr/fiskalizacija/3982

### F1 — B2C fiskalizacija (POS / kasa)
- Aktivno od 2013 (Fiskalizacija 1.0), proširen 2026 (Fiskalizacija 2.0)
- Path: real-time **SOAP** ka `cis.porezna-uprava.hr`
- **JIR** (Jedinstveni identifikator računa) — generira Porezna uprava u SOAP response-u
- **ZKI** (Zaštitni kod izdavatelja) — MD5 hash `(OIB + DateTime + InvoiceNumber + PPCode + DeviceCode + TotalAmount)`, RSA-signed sa FINA cert
- **Cert obaveza:** PER-ORG FINA application certificate, **bez moguće intermedijarne organizacije**
- Receipt arhiva: **11 godina**
- Hardware fiskalni printer: **NIJE legalno mandatoran** (web POS dovoljan)
- Source: https://porezna-uprava.gov.hr/hr/fiskalizacija-racuna-u-krajnjoj-potrosnji-b2c-poslovanje/8033

### F2 — B2B eRačun
- Mandatorno od 01.01.2026 (svi B2B sa drugim PDV obveznicima)
- Format: **HR-FISK CIUS** (Peppol BIS Billing 3.0 sa hrvatskim ekstenzijama)
- Path: preko Peppol intermediara (Storecove, Sveračun, drugi)
- **Cert NIJE per-org** — intermediar pokriva (key razlika od B2C)
- UBL 2.1 XML (težak dio) — već implementiran u Bilko
- Source: https://porezna-uprava.gov.hr/hr/izdavanje-i-primanje-eracuna-i-fiskalizacija-eracuna/8047

### Terminologija
- **"F1"** = B2C sistem (ne form-type / cert-type)
- **"F2"** = B2B sistem (ne form-type / cert-type)
- Common confusion: ovo NISU schema verzije ili cert tipovi

### PDV stope
- Standard: 25%
- Reduced: 13% (turizam, hospitalitet)
- Reduced: 5% (osnovne potrebe, mediji)
- Zero: 0% (izvoz, intra-EU isporuke)

---

## 3. Phased roadmap sa MC mapingom

### Phase 0 — B2B prvo (current focus)

| Phase | MC | Naslov | Status | Vlasnik |
|---|---|---|---|---|
| 0a | **#102447** | Storecove HR-FISK 2.0 activation (FAST PATH, 4-5 dana) | open — counter-offer poslan 2026-05-28 | john |
| 0b | **#102398** | Sveračun API sandbox onboarding (negotiated <€0.10/invoice) | open — čeka CEO email za creds + računovođa intro | john |
| **0c** | **#102481** | **Feature-enable based micro-frontend architecture** (CEO 2026-05-29) | **open — kritičan prerequisite, dolazi PRIJE Phase 1** | john |
| 0d | #102401 | Bilko Phase 0 multi-org switcher + Securion RLS gate | open — zavisi od bilo koji B2B ACK | john |
| 0e | #102399 | 5 accountant pilot recruitment (90-day) | open — CEO outreach | alem |
| 0f | #102400 | HR pravna osoba tracking (background) | open — Sveračun potvrdio NIJE potrebno za B2B; **B2C TBD** | alem |

### Phase 1+ — B2C (DEFERRED per CEO 2026-05-29)

| Phase | MC | Naslov | Status |
|---|---|---|---|
| ~1~ | ~#102478~ | ~B2C fiskalizacija MVP (ZKI + JIR + SOAP + FINA cert)~ | **DEFERRED** — 21 dana effort |
| ~2~ | ~#102479~ | ~B2C POS web kasa modul~ | **DEFERRED** — 19 dana effort |
| 3 | TBD | Hardware integration (fiskalni printer, cash drawer, barcode) | not opened |
| 4 | TBD | Industry specializations (hospitality, retail, services) | not opened |

---

## 4. Feature-enable architecture directive

### CEO directive (verbatim, 2026-05-29)
> "citav app treba da je feature enable based (micro frontend) nadam se da mozemo lako features per user per pay deliver a ne da sve hakiramo"

### Problem statement
- B2B + B2C + accountant view + direct SMB + multi-market (HR/RS/BiH) — sve raste kao monolit
- Risk: per-feature ad-hoc hacking
- Risk: revenue leakage (Basic plan vidi Pro feature)
- Risk: dev na HR markeu lomi RS market

### Cilj — komponente architekture

1. **Central feature catalog** — kanonski popis svih feature-a sa metadata (market, plan tier, dependency graf)
2. **Per-user feature resolution** — funkcija od (tenant org country + plan tier + accountant role + custom overrides)
3. **Micro-frontend split** — nezavisni feature modules koji se učitavaju/ne učitavaju po feature flag-u
4. **Pricing model alignment** — Basic/Pro/Accountant tier = feature subset (definirano u catalog-u)
5. **Safe fallback** — feature flag service down → conservative defaults (Basic, ne Pro)
6. **Audit trail** — koji user kad accessovao koji feature

### Implementation phases (MC #102481)
- Phase 0: feature catalog kanonski + DB schema + resolution endpoint (~M effort)
- Phase 1: per-tenant feature flag application u backend (~S)
- Phase 2: micro-frontend split frontend (~L)
- Phase 3: pricing model wiring (~M)
- Phase 4: admin UI za enable/disable per tenant (~S)

### Build vs buy
Datavera istražuje:
- LaunchDarkly (mature, $$)
- GrowthBook (open-source self-hosted)
- Unleash (open-source self-hosted)
- ConfigCat (mid-tier)
- Build-our-own (potpuna kontrola, više rada)

---

## 5. Open decisions for CEO

1. **B2B path:** prihvatamo Storecove counter-offer (ako stigne s revidiranim quote) ili idemo Sveračun?
2. **HR pravna osoba:** potvrđeno NIJE potrebna za B2B; otvoreno za buduće B2C (kad ga otvorimo)
3. **Feature catalog vendor:** build vs buy — odluka nakon Datavera istrage
4. **Multi-market timing:** kad RS (SEF) + BiH ulaze u feature catalog scope?

---

## 6. MC indeks

| MC | Priority | Status | Vlasnik | Naslov | Rute |
|---|---|---|---|---|---|
| #100332 | H | ready_for_review | alem | Sveračun CEO outreach (parent) | bizdev |
| #102447 | H | open | john | MC-A2 Storecove FAST PATH | backend |
| #102398 | H | open | john | MC-A Sveračun sandbox onboarding | backend |
| **#102481** | **H** | **open** | **john** | **Feature-enable architecture (CEO 2026-05-29)** | **backend** |
| #102401 | H | open | john | MC-D Phase 0 multi-org switcher | backend |
| #102399 | H | open | alem | MC-B 5 accountant pilot recruit | bizdev |
| #102400 | M | open | alem | MC-C HR doo tracking | bizdev |
| #102478 | H | open (DEFERRED) | john | MC-E B2C fiskalizacija MVP | backend |
| #102479 | M | open (DEFERRED) | john | MC-F B2C POS web kasa | frontend |
| #102448 | H | open | john | Vendor email routing + auto-forward | devops |
| #102449 | H | open | john | Policy: no strategic reply bez CEO OK | bizdev |

---

## 7. Source artifacts

- `/tmp/alai/bilko-hr-fiscal-full-scope-20260529.md` — Datavera HR law research (640 linija)
- `/tmp/alai/bilko-hrfisk-audit-20260528.md` — CodeCraft FISK code path audit
- `/tmp/alai/sveracun-meeting-outcome-20260528.md` — Sveračun meeting outcome
- `/tmp/alai/bilko-accountant-gtm-spec-20260528.md` — Skybound accountant-led GTM spec
- `/tmp/alai/bilko-multitenant-accountant-gap-20260528.md` — CodeCraft multi-tenant tech gap
- `/tmp/alai/storecove-counter-reply-20260528.md` — Storecove counter-offer state

---

## 8. Decision log

| Datum | Odluka | Kontekst |
|---|---|---|
| 2026-05-28 | Bilko HR ide **dual-track GTM** (accountant + direct SMB) | Sveračun meeting strategic input |
| 2026-05-28 | **Storecove counter-offer** poslan (no name drop Sveračun) | CEO directive — leverage |
| 2026-05-29 | **B2B prvo, B2C odgođen** | CEO scope decision |
| 2026-05-29 | **Feature-enable / micro-frontend arch** je obavezan prerequisite za sve daljnje builds | CEO architecture directive |

---

## 9. Next steps

1. **Storecove reply chase** — ako nema odgovora do 2026-06-04, poslati follow-up sa ref na contract expiry 27-06-2026
2. **Sveračun follow-up email** — CEO šalje za sandbox creds + 3-5 računovođa intro (target: 2026-05-30)
3. **Datavera dispatch** za feature catalog vendor comparison (LaunchDarkly vs GrowthBook vs Unleash vs build-our-own)
4. **Mehanik gate** za MC #102481 (feature-enable arch) prije CodeCraft Phase 0 dispatch
5. **Update MEMORY.md** sa pointer-om na ovu BookStack stranicu (skip-list ako se promijeni status)