Materialisering av intjänande

Materialisering av intjänande

Omvandlar prognostiserat intjänande till faktiska tidskontohändelser och krediterar medarbetarnas frånvarosaldon.

Så fungerar det

Materialiseringsjobbet körs dagligen och gör följande:

  1. Hittar förfallet intjänande — prognoser med nästa intjänandedatum på eller före kördatumet
  2. Skapar händelser — omvandlar varje förfallen prognospost till en faktisk tidskontohändelse
  3. Uppdaterar spårningen — registrerar det senast materialiserade datumet för att förhindra dubbel bearbetning

Det är det här jobbet som faktiskt krediterar frånvarosaldon. Tills materialiseringen sker finns intjänandet bara som projektioner i prognosen.

Daglig körning kontra påfyllning

Jobbet hanterar två scenarier:

Daglig bearbetning

För medarbetare med befintlig materialiseringshistorik gör jobbet följande:

  • Hittar intjänande med next_accrual_date <= run_date
  • Skapar händelser enbart för det förfallna intjänandet
  • Uppdaterar prognosens last_materialized_date

Påfyllningsbearbetning

För medarbetare utan materialiseringshistorik (nya uppsättningar eller migreringar) gör jobbet följande:

  • Materialiserar allt intjänande från prognosens start till och med kördatumet
  • Det gör att historiskt intjänande kan hämtas upp i en enda körning

Kördatumets betydelse

Kördatumet är avgörande för det här jobbet:

ScenarioKördatumEffekt
Normal daglig körningIdagMaterialiserar intjänande som förfaller fram till idag
UpphämtningskörningDatum i det förflutnaMaterialiserar bara fram till det datumet (användbart för kontrollerad utrullning)
Framtida datumDatum i framtidenMaterialiserar intjänande in i framtiden (använd med försiktighet)

Fylla på historiskt intjänande

Så här materialiserar du intjänande för tidigare perioder:

  1. Säkerställ att Intjänandeprognos har körts för den historiska perioden
  2. Starta det här jobbet manuellt med kördatumet satt till det historiska måldatumet
  3. Kör igen med successivt senare datum om du vill ha en kontrollerad, stegvis materialisering
Att köra med ett framtida datum skapar intjänandehändelser för datum som ännu inte har inträffat. Det är sällan önskvärt och kan behöva återställas manuellt.

Jobbresultat

MätvärdeBeskrivning
forecasts_processedAntal medarbetarprognoser som utvärderades
accruals_materializedAntal intjänandehändelser som skapades (daglig bearbetning)
accruals_backfilledAntal intjänandehändelser som skapades (påfyllningsbearbetning)
errorsAntal fel under materialiseringen

Tidpunkt för intjänande

Intjänande tilldelas den första i påföljande månad. Till exempel:

  • Arbete i januari → intjänande daterat 1 februari
  • Arbete i december → intjänande daterat 1 januari (nästa år)

Det betyder att materialiseringsjobbet som körs den 1 februari skapar intjänandehändelsen för den frånvaro som tjänades in i januari.

Felsökning

ProblemLösning
Intjänande syns inteKontrollera att jobbet Intjänandeprognos har körts först
Historiskt intjänande saknasKontrollera att last_materialized_date är null så att påfyllning utlöses, eller kör om prognosen med ett historiskt kördatum
Dubbelt intjänandeDet ska inte hända — jobbet är idempotent. Kontrollera om händelser har skapats manuellt
Saldot verkar felKontrollera intjänande-pluginens konfiguration och inställningarna för proportionering