Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

English | Русский | Українська | Srpski | Српски

Upotreba

Konfiguracija (config)

ibkr-porez config

Kreiranje ili izmena ličnih podataka i podešavanja pristupa IBKR-u.

Biće vam zatraženo:

  • IBKR Flex Token: Preuzimanje tokena ↗
  • IBKR Query ID: Kreiranje Flex Query-a ↗
  • Personal ID: JMBG / EBS
  • Full Name: Ime i Prezime
  • Address: Adresa prebivališta
  • City Code: Trocefrni kod opštine. Primer: 223 (Novi Sad). Kod možete naći u šifarniku (videti kolonu “Šifra”). Takođe dostupan u padajućem meniju na portalu ePorezi.
  • Phone: Telefon
  • Email: Email
  • Data Directory: Apsolutna putanja do foldera sa fajlovima podataka (transactions.json, declarations.json, rates.json, itd.). Podrazumevano: ibkr-porez-data u folderu aplikacije.
  • Output Folder: Apsolutna putanja do foldera za čuvanje fajlova iz komandi sync, export, export-flex, report. Podrazumevano: folder Downloads vašeg sistema.

Preuzimanje podataka (fetch)

ibkr-porez fetch

Preuzima najnovije podatke sa IBKR i sinhronizuje kurseve sa NBS (Narodna banka Srbije).

Čuva ih u lokalno skladište.

Uvoz istorijskih podataka (import)

ibkr-porez import /path/to/activity_statement.csv

Učitavanje istorije transakcija starije od 365 dana, koja se ne može preuzeti putem Flex Query-a (fetch).

Da biste kreirali fajl sa transakcijama na portalu Interactive Brokers pogledajte Izvoz pune istorije ↗

⚠️ Ne zaboravite da pokrenete fetch nakon import kako bi aplikacija dodala maksimum detalja bar za poslednju godinu u manje detaljne podatke učitane iz CSV-a.

Logika sinhronizacije (import + fetch)

Pri učitavanju podataka iz CSV-a (import) i Flex Query-a (fetch), sistem daje prioritet potpunijim Flex Query podacima:

  • Podaci Flex Query-a (fetch) su izvor istine. Oni prepisuju CSV podatke za bilo koje podudarne datume.
  • Ako se zapis Flex Query-a semantički poklapa sa CSV zapisom (Datum, Tiker, Cena, Količina), to se računa kao ažuriranje (zamena zvaničnim ID-em).
  • Ako se struktura podataka razlikuje (npr. split nalozi u Flex Query-u protiv “spojenog” zapisa u CSV-u), stari CSV zapis se uklanja, a novi Flex Query zapisi se dodaju.
  • Potpuno identični zapisi se preskaču.

Sinhronizacija podataka i kreiranje prijava (sync)

ibkr-porez sync

Radi sve isto što i fetch:

  • Preuzima najnovije transakcije sa IBKR putem Flex Query-a
  • Sinhronizuje kurseve valuta sa NBS

Nakon toga kreira sve potrebne prijave za poslednjih 45 dana (ako već nisu kreirane).

Zatim možete Upravljati kreiranim prijavama.

💡 Ako ste pokrenuli sync prvi put i ona je kreirala prijave koje ste već podali pre početka korišćenja aplikacije, možete brzo da ih sve označite kao plaćene i uklonite iz izlaza list:

ibkr-porez list --status submitted -1 | ibkr-porez pay

Prikaz statistike (stat)

ibkr-porez stat --year 2025
ibkr-porez stat --ticker AAPL
ibkr-porez stat --month 2025-01

Prikazuje:

  • Primljene dividende (u RSD)
  • Broj prodaja (poreski događaji)
  • Procenu realizovanog P/L (Kapitalna dobit) (u RSD)
  • Detaljnu podelu po tikerima ili mesecima (pri korišćenju filtera)

Generisanje poreskog izveštaja (report)

ibkr-porez report

Ako ne navedete tip izveštaja i period, podrazumevano se generiše PPDG-3R za poslednje puno polugodište

  • Kreira ppdg3r_XXXX_HY.xml u Output Folder
  • Uvezite ovaj fajl na portal Poreske uprave Srbije (ePorezi)
  • Ručno otpremite fajl iz Dokument potvrde u Tačku 8

Da biste izabrali drugi tip prijave ili vremenski period pogledajte dokumentaciju

ibkr-porez report --help

Upravljanje prijavama

Nakon kreiranja prijava putem komande sync možete ih pregledati, menjati status i izvoziti za otpremanje na poreski portal.

Spisak prijava (list)

Prikazuje spisak svih prijava sa mogućnošću filtriranja po statusu.

# Prikaži aktivne prijave (podrazumevano):
# draft + submitted + pending
ibkr-porez list

# Prikaži sve prijave
ibkr-porez list --all

# Filter po statusu
ibkr-porez list --status draft
ibkr-porez list --status submitted
ibkr-porez list --status pending
ibkr-porez list --status finalized

# Samo ID prijava (za korišćenje u cevima)
ibkr-porez list --ids-only
ibkr-porez list --status draft -1

Primer korišćenja u linux-stilu:

# Podneti sve nacrte
ibkr-porez list --status draft -1 | ibkr-porez submit

Pregled detalja prijave (show)

Prikazuje detaljne informacije o određenoj prijavi.

ibkr-porez show <declaration_id>

Prikazuje:

  • Tip prijave (PPDG-3R ili PP OPO)
  • Period prijave
  • Status (nacrt, podneta, na čekanju, završena)
  • Detalje transakcija i proračuna
  • Priložene fajlove

Podnošenje prijave (submit)

ibkr-porez submit <id> [<id> ...]

Označava prijavu kao podnetu (uvezenu na poreski portal).

Ponašanje zavisi od tipa prijave:

  • PPDG-3R nakon submit prelazi u status pending (čeka rešenje poreske uprave o iznosu poreza).
  • PP OPO nakon submit:
    • prelazi u submitted ako postoji porez za plaćanje;
    • prelazi direktno u finalized ako je porez 0.

Plaćanje prijave (pay)

ibkr-porez pay <id> [<id> ...]
ibkr-porez pay <id> --tax 1234.56

Označava prijavu kao završenu (finalized) i čuva datum plaćanja.

Opcija --tax omogućava da odmah zabeležite iznos poreza tokom plaćanja, bez posebnog koraka assess.

Nakon toga će nestati sa spiska prikazanog list (bez --all)

Evidencija iznosa po rešenju poreske (assess)

# Zabeleži zvaničan iznos poreza iz rešenja
ibkr-porez assess <declaration_id> --tax-due 1234.56

# Zabeleži iznos i odmah označi kao već plaćeno
ibkr-porez assess <declaration_id> --tax-due 1234.56 --paid

Komanda je najvažnija za PPDG-3R, gde iznos poreza određuje poreska uprava nakon podnošenja prijave.

Šta komanda radi:

  • upisuje zvaničan iznos poreza u metapodatke prijave;
  • sa --paid odmah prebacuje prijavu u finalized;
  • bez --paid:
    • ako je iznos veći od nule, prijava ostaje aktivna (submitted) za naknadno plaćanje;
    • ako je iznos nula, prijava prelazi u finalized.

Izvoz prijave (export)

ibkr-porez export <declaration_id>
ibkr-porez export <declaration_id> -o /path/to/output

Kopira XML i sve priložene fajlove (attach) u Output Folder ili u katalog naveden u parametrima.

Povratak statusa prijave (revert)

# Vratiti na nacrt (podrazumevano)
ibkr-porez revert <id> [<id> ...]

# Vratiti na podnetu
ibkr-porez revert <id> [<id> ...] --to submitted

Vraća status prijave.

Priložavanje fajla uz prijavu (attach)

# Priložiti fajl
ibkr-porez attach <declaration_id> /path/to/file.pdf

# Obrisati priloženi fajl
ibkr-porez attach <declaration_id> <file_id> --delete
ibkr-porez attach <declaration_id> --delete --file-id <file_id>

Priložava fajl uz prijavu ili uklanja priloženi fajl iz skladišta prijava.

Za čuvanje u skladištu prijava koristi se samo ime fajla (putanja se odbacuje), tako da imena moraju biti jedinstvena - inače će fajl sa istim imenom prepisati ranije učitan fajl sa istim imenom čak i iz druge putanje

💡 Priloženi fajlovi se kopiraju zajedno sa XML prijave tokom izvoza (export)

Izvoz Flex Query (export-flex)

ibkr-porez export-flex 2025-01-15
ibkr-porez export-flex 2025-01-15 -o /path/to/output.xml
ibkr-porez export-flex 2025-01-15 -o -  # Izlaz u stdout (za cevi)

Izvoz XML fajla Flex Query dobijenog tokom fetch ili sync na navedeni datum.

Primer korišćenja u linux-stilu:

ibkr-porez export-flex 2025-01-15 | ibkr-porez import