Predmet:Re: Fiskalizacija u FBiH
Što se tiče VP cijene ja sam to riješio tako što FP šaljem krajnju cijenu. Veleprpodajni iznos uvećam za PDV, osnovica za obračun rabata, jer fiskalni uređaji u FBiH za obračun rabata uzimaju iznos sa PDV.
Obzirom da su prodavci ugovorili rabat sa kupcima na veleprodajnu vrijednost, t.j. na vrijednost bez PDV, rabat preračunam, koristeći stopu rabata i stopu PDV, formula:
NoviRabat = UgovorenaStopaRabata * (1 - (StopaPDV / (StopaPDV + 100))).
Obračunam rabat, koristeći NoviRabat i iznos sa PDV, sve to 'izmiksam', t.j. oduzmem rabat od iznosa sa PDV, podijelim taj iznos sa količinom i dobijem krajnju cijenu. Ponovo množim količinu sa krajnjom cijenom i dobivam krajnji prodajni iznos sa PDV. Preračunatom stopom PDV obračunam PDV na krajnji iznos. Krajnji rabat obračunam kao razliku između krajnjeg iznosa i zbira veleprodajne vrijednosti i iznosa PDV. Razliku koja se javlja kod zaokruživanja krajnje cijene, korigujem preko iznosa rabata, ako nema rabata na fakturi, onda korekciju radim preko veleprodajnog iznosa.
Cod za to prezetiram u Clarion-u jer je on ima izutetno jasan i 'čitljiv' cod:
! --------------------------------------------------
-------------------------------
! 1 Obračun na fakturi
IF OPC:OP_OPC10 = 1
!Veleprodajna vrijednost
L1:W1_VVR = FAK1:FA15_KOL * FAK1:FA15_VCI
!Obračun PDV ba ukupnu vel.vrijednost
REP:MP_TAR = FAK1:FA15_TAR
GET(REPOR,REP:KeyMP_TAR)
IF ERROR()
REP:MP_OSP = 0
END
IF FAK1:FA15_VCA = 2 AND FAK1:FA15_TAR > 0
L1:W1_PKU = L1:W1_VVR * (REP:MP_OSP / 100)
ELSE
L1:W1_PKU = 0
END
!Osnovica za rabat vel.vrijednost + PDV
L1:W1_MVR = L1:W1_VVR + L1:W1_PKU
!Obračun preračunate stope rabata
IF FAK1:FA15_KUS > 0 AND L1:W1_PKU <> 0
L1:W1_PUZ = FAK1:FA15_KUS * (1 - (REP:MP_OSP / (REP:MP_OSP + 100)))
ELSE
L1:W1_PUZ = FAK1:FA15_KUS
END
!Obračun rabata
IF L1:W1_PUZ > 0
L1:W1_RAU = L1:W1_MVR * (L1:W1_PUZ / 100)
ELSE
L1:W1_RAU = 0
END
!Vel.vrijednost umanjena za rabat
L1:W1_UKR = L1:W1_VVR - L1:W1_RAU
!Obračun PDV na iznos bez rabata
IF FAK1:FA15_VCA = 2 AND FAK1:FA15_TAR > 0
L1_W1_PKP = L1:W1_UKR * (REP:MP_OSP / 100)
ELSE
L1_W1_PKP = 0
END
!Ukupan iznos bez rabata + PDV
L1:W1_UKU = L1:W1_UKR + L1_W1_PKP
!Krajnja cijena
L1:W1_KRA = L1:W1_UKU / FAK1:FA15_KOL
!Ukupna vrijednost
L1:W1_UKS = FAK1:FA15_KOL * L1:W1_KRA
!Preračunata stopa poreza
L1:W1_KF1 = REP:MP_OSP / (REP:MP_OSP + 100)
!Obračun poreza preračunatom stopom na krajnju cijenu
IF FAK1:FA15_VCA = 2 AND FAK1:FA15_TAR > 0
L1:W1_PJK = L1:W1_UKS * L1:W1_KF1
ELSE
L1:W1_PJK = 0
END
!Ukupan iznos bez PDV
L1:W1_UKO = L1:W1_UKS - L1:W1_PJK
!Stvarni rabat - ako nema rabata razlika se koriguje preko vel.vrijednosti
IF FAK1:FA15_KUS > 0
L1:W1_RAB = L1:W1_VVR - L1:W1_UKO
ELSE
L1:W1_RAB = 0
END
IF FAK1:FA15_KUS = 0
L1:W1_VVR = L1:W1_UKS - L1:W1_PJK
FAK1:FA15_VCI = L1:W1_VVR / FAK1:FA15_KOL
END
!-------------------------------------------------
----------------
! Kraj za 1
! --------------------------------------------------
---------------
END
!-------------------------------------------------
----------------