Jednorázové doplnění čísla dokladu do zpracovaných období roku 2024 (penzijní připojištění)

Z Prirucky

Jednorázové doplnění čísla dokladu do zpracovaných období roku 2024 (penzijní připojištění)

Potvrzení zdanitelných příjmů (příspěvky firmy na penzi)

Dokument Potvrzení zdanitelných příjmů byl od roku 2024 změněn, konkrétně došlo k rozšíření Řádku 10 - Příspěvek zaměstnavatele na daňově podporované produkty na stáří, kde se mají zobrazovat příspěvky firmy rozdělené do celkem pěti různých typů fondů (tyto typy se určují v číselníku fondů Penzijní připojištění - číselník fondů - změny 2024/04).

Problematickým je vysvětlení, že se mají načítat pouze příspěvky firmy, které se vážou ke smlouvě uzavřené mezi zaměstnancem a fondem v roce 2024 (nebo výše).

Původní řešení

Původní řešení spočívalo v tom, že se načítají částky ze mzdových položek toho fondu, který má v agendě Penzijní a životní v novém poli Datum uzavření smlouvy vyplněnu hodnotu, a to vyšší (nebo rovnu) 1.1.2024.

Nedostatečnost

Toto řešení se ukázalo v praxi nedostatečným. Potvrzení o zdanitelných příjmech za rok 2024 není vytvořeno správně v případě, že byla ukončena smlouva v roce 2024 a následuje nová smlouva u stejné penzijní společnosti, do potvrzení se načte celá částka za rok 2024, ne pouze částka, která má být, tj. smlouva od 1.1.2024 a výše. (hd 72515, 72433, aj.)

Nový způsob

Nový způsob zjišťování částky příspěvku firmy bere v potaz konkrétní záznam (jeho tzv. "id") v agendě Penzijní a životní.

  1. Toto "id" je od určitého sestavení aplikace automaticky připisováno ke zpracovanému řádku agendy Zpracování brutto (pichacky.c_dokladu).
  2. Potvrzení zdanitelných příjmů načítá jen částky ze Zpracování brutto za "id" z Penzijní a životní splňující podmínku (datum uzavření smlouvy >= 1.1.2024).

Jednorázové doplnění

Příkaz doplní k záznamům příspěvku penzijního firmy v agendě Zpracování brutto příznak c_dokladu u mezd od 01/2024. Doplní však jen pro záznamy v agendě Penzijní a životní, které mají vyplněné pole Dat.uzavření sml. dnem větším (nebo rovno) 1.1.2024 a zároveň Datum od a Datum do spadají do zpracovávaného období.


update pichacky set c_dokladu =(select id from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum) and month (EVP.dat_od) <= month(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum) and month (EVP.dat_do) >= month(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'pf' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'pf' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';

update pichacky set c_dokladu =(select id from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum) and month (EVP.dat_od) <= month(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum) and month (EVP.dat_do) >= month(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'af' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'af' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';

update pichacky set c_dokladu =(select id from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum) and month (EVP.dat_od) <= month(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum) and month (EVP.dat_do) >= month(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'bf' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'bf' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';

update pichacky set c_dokladu =(select id from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum) and month (EVP.dat_od) <= month(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum) and month (EVP.dat_do) >= month(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'ef' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'ef' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';

Úprava

  1. Příkaz je koncipován pro DB platformu MS SQL. Pro jiné jej bude potřeba upravit (např. změnit formát položky datum, najít ekvivalent funkcí "year", "month").
(hd73090)

Pro rok 2025 a výše

update pichacky set c_dokladu =(select min(id) from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'pf' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'pf' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';

update pichacky set c_dokladu =(select min(id) from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'af' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'af' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';

update pichacky set c_dokladu =(select min(id) from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'bf' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'bf' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';

update pichacky set c_dokladu =(select min(id) from ev_p_prisp EVP where EVP.os_cislo = pichacky.os_cislo and (EVP.dat_od is null or (year(EVP.dat_od) <= year(pichacky.datum))) and (EVP.dat_do is null or (year(EVP.dat_do) >= year(pichacky.datum))) and EVP.datum_uzav_sml is not null and EVP.datum_uzav_sml >= '2024-01-01' and fond in (select id_osoby from osoby_typ where typ = 'ef' and not c_pole2 is null) ) where kod in (select c_pole2 from osoby_typ where typ = 'ef' and not c_pole2 is null) and c_dokladu is null and datum >= '2024-01-01';


Odkazy