Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Dohledá Kód daně (Tax Code) a Sazbu daně (Tax Rate) dle popisu výše

  • Pokud je Legislativa pro silnič.daň=Slovenská, pokračuje na dohledání slevy dle typu paliva:

    • do výpočtového okna převezme Fuel Type z předmětu financování.

    • zafiltruje tabulku API Discount by Fuel Type (4047504) dle Fuel Type a Platnost od <= Referenční datum z hlavičky smlouvy <= Platnost do (může být i prázdní):

      • pokud naleze záznam pro daný Fuel Type, pokračuje do tabulky API Discount Rates by Fuel Type a dohledá záznam pro:

        • Fuel Type Code = stejné

        • Platnost od <= Referenční datum z hlavičky smlouvy <= Platnost do (může být i prázdní)

      • do výpočtového okna převezme hodnoty:

        • Discount by Type of Fuel Code

        • Discount by Type of Fuel Code %

      • Pozn: Discount Coefficient se ve výpočtu nevyužíva, z tabulek bude odstráněno

      • pokud nenaleze žádný záznam, bude považovat že sleva není (=0%), tzn. nic do výpočtového okna nepřevezme

  • Dohledání slevy dle věku – po dohledání slevy dle typu paliva pokračuje na hledání slevy dle věku % v tabulce API Discount by Age of Vehicle (4047503) bez ohledu na legislativu následovně:

    • Zkontroluje že na smlouvě je nenulová hodnota v poli Financing Period (in Months)

      • Kdyby byl, nepokračuje dál (teoretická možnost).

    • Pak zkontroluje datumy na předmětu a pokračuje na výpočet stáří předmětu:

      • Pokud je na předmětu neprázdné Datum předání předmětu (Object Handover Date), použije se jako počáteční datum pro výpočet + probíhá kontrola, že Datum první registrace (1st Registration Date) není větší, než Datum předání (Object Handover Date). Jinak se jako počáteční datum pro výpočet Předpokládané datum předání (Expected Handover Date) z předmětu financování.

      • Spočítá se stáří vozidla v měsících na začátku počítaného období jako rozdíl Počátečního datumu pro výpočet – Datum první registrace (1st Registration Date).

      • Datum konce výpočtu se bere Předp. datum ukončení ze smlouvy

      • Stáří vozidla na konci financování počítá v měsících počítá jako rozdíl Data konce výpočtu – Datum první registrace + 1

    • Pak pokračuje na hledání v tabulce API Discount by Age of Vehicle.

      • Systém zafiltruje tabulku dle Homologation Class Code (300) z předmětu financování a Platnost od <= Referenční datum z hlavičky smlouvy <= Platnost do (může být i prázdní):

        • Pokud Stáří vozidla na začátku <>0, filtruje Interval od (měs)<= Stáří vozidla na začátku, jinak filtruje Interval od (měs)=0.

      • Pokud v tabulce existuje záznam, vyhodnocuje pole Interval do (měs) – zda pokrývá celé období financování. Podle toho pak rozhodne, kolik slevových pásem bude použito (1,2,3 max 34) - systém založí slevové pásma dle existujícího postupu (SK legislativa stále má slevové pásma).

        • Pokud v tabulce neexistuje žádný záznam (tzn. aktuální česká legislativa již nevyužíva žádne pásma), systém založí pouze jedno pásmo silniční daně pro celou dobu trvání smlouvy s nulovou slevou

      • Po nalazení kódu Discount By Age Code systém pokračuje do sazobníka slev API Discount Rates ba Age a hledá sazbu:

        • Discount Code=stejné

        • Platnost od <= Referenční datum z hlavičky smlouvy <= Platnost do (může být i prázdní)

      • pokud naleze, do výpočtového okna převezme i Discount By Age %.

  • Následně pokračuje na výpočet hodnot:

    • z odpovídajícího záznamu tabulky Sazby silniční daně vezme hodnotu “Tax Rate (LCY)” (roční sazba daně (LM)) zapíše si do proměnné RoadTaxRateDec.

    • uplatní slevu za palivo:

      • RoadTaxRateDec:= RoadTaxRateDec - ((RoadTaxRateDec * FuelTypeDisc."Discount in %") / 100);

    • uplatní slevu za stáří vozidla z odpovídajícího slevového pásma :

      • RoadTaxRateDec := RoadTaxRateDec - ((RoadTaxRateDec * VehicleAgeDisc."Discount in %") / 100);

    • spočítá částku v měně smlouvy pomocí směnného kurzu smlouvy :

      • RoadTaxRateDecFCY := RoadTaxRateDec / greContract."Contract Exchange Rate";

    • spočítá částku v měně smlouvy pomocí směnného kurzu smlouvy :

      •  RoadTaxRateDecFCY := RoadTaxRateDec / greContract."Contract Exchange Rate";

    • spočítá měsíční částku v měně smlouvy Month Tax Rate with Discount:

      • MonthTaxRateDec := (RoadTaxRateDec / 12) / greContract."Contract Exchange Rate";

    • Spočíta celkovou hodnotu za trvání slevového pásma:

      • Road Tax Total = Month Tax Rate with Discount * počet mesíců trvání slevového pásma z mm.yyyy Valid To – mm.year Valid From

    • Spočítá hodnotu do splátky:

      • Road Tax To Payment = podle periodicity splátek na smlouvě spočítá hodnotu do splátky (buď ponechá nebo násobí 3, 6 nebo 12 pro měsíční/půlroční/roční splácení)

    • Valid From = převezme z předmětu financování z Expected Handover Date anebo Handover Date (pokud je neprázdne1.den nezaúčtovaného splátkového období (pokud se služba zakládá dodatečně na aktivní smlouvě)

    • Valid To = konec slevového pásma (jak to počíta) anebo max Expected Termination Date ze smlouvy

  • Druhé slevové pásmo založí pouze pokud:

    • v Discount by Age of Vehicle existuje záznam pro danou Homologation Class Code a

    • doby smlouvy je delší jako Interval to (months) z prvního slevového pásma. 

  • Třetí slevové pásmo založí pouze pokud

    • v Discount by Age of Vehicle existuje záznam pro danou Homologation Class Code a

    • doby smlouvy je delší jako Interval to (months) z předchozího z druhého slevového pásma. 

  • Čtvrté slevové pásmo založí pouze pokud

    • v Discount by Age of Vehicle existuje záznam pro danou Homologation Class Code a

    • doby smlouvy je delší jako Interval to (months) z předchozího slevového pásma. 

...