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-datau 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
fetchnakonimportkako 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
syncprvi 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.xmlu 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-3Rnakonsubmitprelazi u statuspending(čeka rešenje poreske uprave o iznosu poreza).PP OPOnakonsubmit:- prelazi u
submittedako postoji porez za plaćanje; - prelazi direktno u
finalizedako je porez0.
- prelazi u
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
--paidodmah prebacuje prijavu ufinalized; - 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.
- ako je iznos veći od nule, prijava ostaje aktivna (
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