Servis: avans se fiskalizuje kao Advance/Sale, konačan račun ga zatvara
Avans se do sada nikad nije fiskalizovao — bio je samo interno polje. Zbog toga je konačni fiskalni račun (pri preuzimanju) uvek prikazivao povraćaj protiv PUNOG iznosa stavki, bez znanja da je avans već delimično plaćen. Sad: - avans se fiskalizuje kao Advance/Sale pri kreiranju/izmeni naloga (fiskalizujAvansServisa — fiskalizuje samo deltu ako se avans dopunjava) - konačan Normal/Sale račun pri preuzimanju šalje advancePaid/advanceTax/ advanceLastInvoiceNumber/advanceLastInvoiceDateTime — PFR sad zna za avans i tačno računa preostali dug i kusur - ako avans premaši punu cenu, konačan račun se zatvara do pune cene, a razlika se automatski vraća posebnim Advance/Refund zahtevom - servis_detalji modal prikazuje 'Avans premašuje cenu — vratiti klijentu X' umesto tihog svođenja duga na 0 Uzgred ispravljena dva mesta koja su koristila DohvatiPoServisu (samo najnoviji zapis, bilo kog tipa) umesto DohvatiPoServisuITip(Normal,Sale): - PromeniStatus je avansni račun pogrešno tretirao kao 'već fiskalizovano' i preskakao konačan račun kad god je nalog imao avans - RetryFiskalizacija i FiskalGreska detekcija na servis_detalji stranici su imale isti problem — nalog sa avansom je izgledao fiskalizovan i dugme 'Pokušaj ponovo' se nije ni prikazivalo PorezIzBrutoAvansa pretpostavlja opštu PDV stopu (20%) jer stavke u trenutku uplate avansa još nisu poznate — nema opšteg rešenja bez pretpostavke.
This commit is contained in:
@@ -401,6 +401,11 @@ type FiskalRepository interface {
|
||||
Kreiraj(ctx context.Context, fr *model.FiskalniRacun) (int64, error)
|
||||
DohvatiPoProdaji(ctx context.Context, prodajaID int64) (*model.FiskalniRacun, error)
|
||||
DohvatiPoServisu(ctx context.Context, servisID int64) (*model.FiskalniRacun, error)
|
||||
// DohvatiPoServisuITip vraća poslednji nestorniran račun tačno određenog tipa
|
||||
// (npr. avansni Sale) — za razliku od DohvatiPoServisu (samo najnoviji, bilo kog tipa)
|
||||
DohvatiPoServisuITip(ctx context.Context, servisID int64, tipRacuna, tipTransakcije string) (*model.FiskalniRacun, error)
|
||||
// SumaAvansaPoServisu vraća neto fiskalizovan avans (Sale - Refund) za nalog
|
||||
SumaAvansaPoServisu(ctx context.Context, servisID int64) (float64, error)
|
||||
OznačiKaoStorniran(ctx context.Context, id int64) error
|
||||
ServisiBezFiskalnog(ctx context.Context) (map[int64]bool, error)
|
||||
ProdajeBezFiskalnog(ctx context.Context) (map[int64]bool, error)
|
||||
|
||||
Reference in New Issue
Block a user