Files
GoNtech/internal/model/fiskal.go
T
Dasko edcea0ddcf Fiskalizacija: inicijalna implementacija (8 koraka)
1. migracija 081 — tabela fiskalni_racuni + podešavanja pfr_api_key/pfr_kasir
2. model FiskalniRacun (internal/model/fiskal.go)
3. FiskalRepository interfejs (repository.go)
4. SQLite repozitorijum (sqlite/fiskal.go — Kreiraj, DohvatiPoProdaji)
5. Paket internal/fiskal/ — HTTP klijent + mapiranje prodaja→invoiceRequest
6. Handler proširenje — FiskalRepo + fiskalKlijent() dinamički helper
7. Inicijalizacija kroz Novi() / reinicializuj — klijent se čita dinamički iz podešavanja
8. Prodaja integracija — fiskalizacija u SacuvajProdaju + QR prikaz u prodaja_detalji.html
2026-06-25 22:51:59 +02:00

26 lines
1.3 KiB
Go

package model
// FiskalniRacun je veza između prodajnog naloga i odgovora fiskalne kase (Teron L-PFR).
// Polja prate tačno ono što Fisk server vraća u JSON odgovoru (vidi NtechFisk.md §3.2).
type FiskalniRacun struct {
ID int64
ProdajaID int64
TipRacuna string // "Normal", "Advance", "Copy", "Training"
TipTransakcije string // "Sale", "Refund"
PfrBroj string // invoiceNumber — jedinstven broj fiskalnog računa
PfrVreme string // sdcDateTime — PFR vreme izdavanja
Brojac string // invoiceCounter (npr. "1/1ПП")
EkstenzijaBrojaca string // invoiceCounterExtension (npr. "ПП")
UrlVerifikacija string // verificationUrl — link ka PURS proveri
QRKod string // verificationQRCode — base64 PNG, direktno u <img src>
PoreskeStavke string // JSON niz taxItems[] iz odgovora
UkupnoZaNaplatu float64 // totalAmount
UkupanPorez float64 // totalTax
SiroviOdgovor string // ceo JSON odgovor — sadrži journal, taxItems i ostalo za audit
Potpisao string // signedBy — identifikator PFR-a koji je potpisao
Zatrazio string // requestedBy — identifikator ESIR-a
Poruka string // messages (npr. "Success")
Storniran bool // true ako je račun naknadno storniran
VremeKreiranja string
}