f29e76612e
Servis: - Nova polja: ostecenja, pin_uredjaja, pribor (migracija 051) - Default garancija iz podešavanja, svič "Bez garancije" u formi - Podešavanja → Servis: konfigurabilan rok garancije (migracija 052) - Default datum prijema = danas; datum_prijema se eksplicitno upisuje - Sidebar link za Servis podešavanja PDV/Nivelacije: - Default raspon datuma = početak/kraj tekućeg meseca (KIR, KPR, Nivelacije) - Dodata class="tabela" na tabele bez klase (KIR, KPR, Obračun, Nivelacije) Animacije (Moj profil → Tema): - Korisnik bira vrstu animacije: bez, fadeInUp, fadeIn, scaleIn, slideLeft - Čuva se po korisniku u korisnici.lokalna_animacija (migracija 053) - CSS [data-animacija] radi na body (globalno) i na preview wrapperima (izolovano) - Preview animacije izolovan: data-animacija na #anim-preview-wrap, ne na body - Mobilne kartice se animiraju kad korisnik odabere stil (podrazumevano ne) - Animacija primenjena direktno na .tabela tbody tr (bez potrebe za .animiraj) Hover efekti (Moj profil → Tema): - Opcije: podrazumevano, bez, podizanje, svetlost, zoom, boja - Čuva se po korisniku u korisnici.lokalni_hover (migracija 054) - CSS [data-hover] radi izolovano; preview menja samo #hover-preview-wrap - Pojačane senke u oba teme (--senka i nova --senka-hover promenljiva) - Transition dodat za transform i background na karticama Grafikon (Izveštaji): toggle zamenjen globalnim .toggl/.toggl-klizac svičom
201 lines
14 KiB
HTML
201 lines
14 KiB
HTML
{{template "base" .}}
|
||
|
||
{{define "naslov"}}PDV obračun — NTech{{end}}
|
||
|
||
{{define "sadrzaj"}}
|
||
<div class="stranica-stack" style="width:100%;max-width:100%;">
|
||
|
||
<!-- izbor perioda -->
|
||
<div class="kartica animiraj" style="margin-bottom:16px;">
|
||
<form method="GET" action="/pdv/obracun" style="display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;">
|
||
<div>
|
||
<label class="polje-labela">Od datuma</label>
|
||
<input type="date" name="od" value="{{.Od}}" style="padding:8px 10px;border:0.5px solid var(--ivica);border-radius:8px;font-size:13px;background:var(--pozadina);color:var(--tekst-glavni);outline:none;">
|
||
</div>
|
||
<div>
|
||
<label class="polje-labela">Do datuma</label>
|
||
<input type="date" name="do" value="{{.Do}}" style="padding:8px 10px;border:0.5px solid var(--ivica);border-radius:8px;font-size:13px;background:var(--pozadina);color:var(--tekst-glavni);outline:none;">
|
||
</div>
|
||
<button type="submit" style="padding:8px 16px;background:var(--sb-aktivan);color:var(--tekst-jak);border:0.5px solid var(--ivica);border-radius:8px;font-size:13px;cursor:pointer;">Prikaži</button>
|
||
</form>
|
||
</div>
|
||
|
||
<!-- obračun po stopama -->
|
||
<div class="kartica animiraj" style="padding:0;overflow:hidden;margin-bottom:16px;">
|
||
<div style="overflow-x:auto;">
|
||
<table class="tabela" style="width:100%;border-collapse:collapse;font-size:13px;min-width:560px;">
|
||
<thead>
|
||
<tr style="text-align:left;color:var(--tekst-sporedni);border-bottom:0.5px solid var(--ivica);">
|
||
<th style="padding:10px 12px;"></th>
|
||
<th style="padding:10px 12px;text-align:right;">Osnovica</th>
|
||
<th style="padding:10px 12px;text-align:right;">PDV</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<!-- izlazni (dugovani) PDV — iz KIR -->
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;font-weight:500;" colspan="3">Izlazni (dugovani) PDV — KIR</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;padding-left:24px;">Opšta stopa (20%)</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .KirSume.OsnovicaOpsta}}</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .Obracun.IzlazniPdvOpsta}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;padding-left:24px;">Posebna stopa (10%)</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .KirSume.OsnovicaPosebna}}</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .Obracun.IzlazniPdvPosebna}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;padding-left:24px;color:var(--tekst-sporedni);">Oslobođen promet</td>
|
||
<td style="padding:10px 12px;text-align:right;color:var(--tekst-sporedni);">{{printf "%.2f" .KirSume.OslobodenUkupno}}</td>
|
||
<td style="padding:10px 12px;text-align:right;color:var(--tekst-sporedni);">—</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);font-weight:500;background:var(--pozadina);">
|
||
<td style="padding:10px 12px;">Ukupno izlazni PDV</td>
|
||
<td style="padding:10px 12px;"></td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .Obracun.IzlazniPdvUkupno}}</td>
|
||
</tr>
|
||
|
||
<!-- odbitni (prethodni) PDV — iz KPR -->
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;font-weight:500;padding-top:18px;" colspan="3">Odbitni (prethodni) PDV — KPR</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;padding-left:24px;">Opšta stopa (20%)</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .KprSume.OsnovicaOpsta}}</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .Obracun.OdbitniPdvOpsta}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;padding-left:24px;">Posebna stopa (10%)</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .KprSume.OsnovicaPosebna}}</td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .Obracun.OdbitniPdvPosebna}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:10px 12px;padding-left:24px;color:var(--tekst-sporedni);">PDV bez prava na odbitak</td>
|
||
<td style="padding:10px 12px;text-align:right;color:var(--tekst-sporedni);">—</td>
|
||
<td style="padding:10px 12px;text-align:right;color:var(--tekst-sporedni);">{{printf "%.2f" .KprSume.PdvBezOdbitka}}</td>
|
||
</tr>
|
||
<tr style="font-weight:500;background:var(--pozadina);">
|
||
<td style="padding:10px 12px;">Ukupno odbitni PDV</td>
|
||
<td style="padding:10px 12px;"></td>
|
||
<td style="padding:10px 12px;text-align:right;">{{printf "%.2f" .Obracun.OdbitniPdvUkupno}}</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- rezultat: obaveza za uplatu / povraćaj -->
|
||
<div class="kartica animiraj" style="display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
|
||
border-left:4px solid {{if .Obracun.ZaUplatu}}var(--greska){{else}}var(--uspeh){{end}};">
|
||
<div>
|
||
<div style="font-size:13px;color:var(--tekst-sporedni);">
|
||
{{if .Obracun.ZaUplatu}}PDV obaveza za uplatu{{else}}PDV za povraćaj / prenos u naredni period{{end}}
|
||
</div>
|
||
<div style="font-size:12px;color:var(--tekst-sporedni);margin-top:2px;">izlazni − odbitni PDV</div>
|
||
</div>
|
||
<div style="font-size:24px;font-weight:600;color:{{if .Obracun.ZaUplatu}}var(--greska){{else}}var(--uspeh){{end}};white-space:nowrap;">
|
||
{{printf "%.2f" .Obracun.ObavezaApsolutna}} RSD
|
||
</div>
|
||
</div>
|
||
|
||
<!-- PPPDV — prikaz polja zvanične poreske prijave PDV -->
|
||
<div class="kartica animiraj" style="padding:0;overflow:hidden;">
|
||
<div style="padding:16px 16px 0;">
|
||
<div style="font-size:15px;font-weight:600;color:var(--tekst-glavni);">PPPDV — poreska prijava PDV</div>
|
||
<div style="font-size:12px;color:var(--tekst-sporedni);margin-top:4px;">
|
||
Prikaz polja obrasca za izabrani period, u celim dinarima.
|
||
⚠ Uvoz (006/106) i PDV nadoknada poljoprivredniku (007/107) se ne vode zasebno u programu.
|
||
</div>
|
||
</div>
|
||
<div style="overflow-x:auto;margin-top:12px;">
|
||
<table class="tabela" style="width:100%;border-collapse:collapse;font-size:13px;min-width:560px;">
|
||
<thead>
|
||
<tr style="text-align:left;color:var(--tekst-sporedni);border-bottom:0.5px solid var(--ivica);">
|
||
<th style="padding:10px 12px;width:48px;">Polje</th>
|
||
<th style="padding:10px 12px;">Opis</th>
|
||
<th style="padding:10px 12px;text-align:right;">Naknada bez PDV</th>
|
||
<th style="padding:10px 12px;text-align:right;">PDV</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);"><td style="padding:8px 12px;font-weight:500;" colspan="4">I. Promet dobara i usluga</td></tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:8px 12px;color:var(--tekst-sporedni);">001</td>
|
||
<td style="padding:8px 12px;">Oslobođen sa pravom na odbitak</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje001}}</td>
|
||
<td style="padding:8px 12px;text-align:right;color:var(--tekst-sporedni);">—</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:8px 12px;color:var(--tekst-sporedni);">002</td>
|
||
<td style="padding:8px 12px;">Oslobođen bez prava na odbitak</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje002}}</td>
|
||
<td style="padding:8px 12px;text-align:right;color:var(--tekst-sporedni);">—</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:8px 12px;color:var(--tekst-sporedni);">003<div style="font-size:11px;">103</div></td>
|
||
<td style="padding:8px 12px;">Promet po opštoj stopi (20%)</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje003}}</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje103}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:8px 12px;color:var(--tekst-sporedni);">004<div style="font-size:11px;">104</div></td>
|
||
<td style="padding:8px 12px;">Promet po posebnoj stopi (10%)</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje004}}</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje104}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);font-weight:500;background:var(--pozadina);">
|
||
<td style="padding:8px 12px;">005<div style="font-size:11px;">105</div></td>
|
||
<td style="padding:8px 12px;">ZBIR (1+2+3+4)</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje005}}</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje105}}</td>
|
||
</tr>
|
||
|
||
<tr style="border-bottom:0.5px solid var(--ivica);"><td style="padding:8px 12px;font-weight:500;padding-top:14px;" colspan="4">II. Prethodni porez</td></tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);color:var(--tekst-sporedni);">
|
||
<td style="padding:8px 12px;">006<div style="font-size:11px;">106</div></td>
|
||
<td style="padding:8px 12px;">Prethodni porez pri uvozu</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje006}}</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje106}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);color:var(--tekst-sporedni);">
|
||
<td style="padding:8px 12px;">007<div style="font-size:11px;">107</div></td>
|
||
<td style="padding:8px 12px;">PDV nadoknada poljoprivredniku</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje007}}</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje107}}</td>
|
||
</tr>
|
||
<tr style="border-bottom:0.5px solid var(--ivica);">
|
||
<td style="padding:8px 12px;color:var(--tekst-sporedni);">008<div style="font-size:11px;">108</div></td>
|
||
<td style="padding:8px 12px;">Ostali prethodni porez (domaće nabavke)</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje008}}</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje108}}</td>
|
||
</tr>
|
||
<tr style="font-weight:500;background:var(--pozadina);">
|
||
<td style="padding:8px 12px;">009<div style="font-size:11px;">109</div></td>
|
||
<td style="padding:8px 12px;">ZBIR (6+7+8)</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje009}}</td>
|
||
<td style="padding:8px 12px;text-align:right;">{{.PPPDV.Polje109}}</td>
|
||
</tr>
|
||
</tbody>
|
||
<tfoot>
|
||
<tr style="border-top:0.5px solid var(--ivica);font-weight:600;">
|
||
<td style="padding:10px 12px;">110</td>
|
||
<td style="padding:10px 12px;" colspan="2">
|
||
Iznos PDV u periodu (105 − 109)
|
||
{{if .PPPDV.Povracaj}}<span style="color:var(--uspeh);"> — za povraćaj</span>{{else}}<span style="color:var(--greska);"> — za uplatu</span>{{end}}
|
||
</td>
|
||
<td style="padding:10px 12px;text-align:right;color:{{if .PPPDV.Povracaj}}var(--uspeh){{else}}var(--greska){{end}};">{{.PPPDV.Polje110Apsolutno}}</td>
|
||
</tr>
|
||
<tr>
|
||
<td style="padding:8px 12px;color:var(--tekst-sporedni);">11</td>
|
||
<td style="padding:8px 12px;" colspan="3">Povraćaj: <strong>{{if .PPPDV.Povracaj}}DA{{else}}NE{{end}}</strong></td>
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
{{end}}
|