Formelbaserat förfall

Pluginet Formelbaserat förfall beräknar förfallodatum med ett anpassat formeluttryck. Det ger maximal flexibilitet för komplexa förfalloregler som inte passar in i standardmönstren.
Avancerad funktion: Detta plugin kräver att du skriver formeluttryck. För de flesta användningsfall är Relativt förfall eller Förfall vid periodens slut bättre val.
När det används
Använd detta plugin när:
- Era förfalloregler är för komplexa för andra plugins
- Förfallet varierar beroende på när tiden tjänades in (månad, säsong osv.)
- Du behöver villkorsstyrd förfallologik
- Standardplugins inte uppfyller era specifika krav
Parametrar
| Parameter | Beskrivning | Standard |
|---|---|---|
| Förfalloformel | Ett uttryck som beräknar förfallodatumet med intjänandedatumets delar och funktionen makeDate() | Obligatorisk |
Formelsyntax
Tillgängliga variabler
| Variabel | Typ | Beskrivning | Exempel |
|---|---|---|---|
accrual_year | Tal | Intjänandets år | 2025 |
accrual_month | Tal | Intjänandets månad (1–12) | 3 för mars |
accrual_day | Tal | Intjänandets dag (1–31) | 15 |
Tillgängliga funktioner
| Funktion | Beskrivning | Exempel |
|---|---|---|
makeDate(year, month, day) | Skapar ett datum från år-, månads- och dagkomponenter | makeDate(2026, 12, 31) |
Operatorer
- Aritmetiska:
+,-,*,/ - Jämförelse:
<,<=,>,>=,==,!= - Logiska:
&&(och),||(eller),!(inte) - Villkor:
villkor ? värde_om_sant : värde_om_falskt
Exempel
Fast förfallodatum
All tid förfaller den 31 december 2026:
makeDate(2026, 12, 31)Slutet av påföljande kalenderår
Tiden förfaller den 31 december året efter att den tjänades in:
makeDate(accrual_year + 1, 12, 31)Olika förfall beroende på säsong
Tid som tjänats in under årets första halva förfaller annorlunda än den andra halvan:
accrual_month <= 6 ? makeDate(accrual_year + 2, 6, 30) : makeDate(accrual_year + 1, 12, 31)- Intjänad jan–jun: förfaller den 30 juni två år senare
- Intjänad jul–dec: förfaller den 31 december ett år senare
Förfall vid kvartalets slut
Tiden förfaller vid kvartalets slut, ett år efter intjänandet:
accrual_month <= 3 ? makeDate(accrual_year + 1, 3, 31) :
accrual_month <= 6 ? makeDate(accrual_year + 1, 6, 30) :
accrual_month <= 9 ? makeDate(accrual_year + 1, 9, 30) :
makeDate(accrual_year + 1, 12, 31)Konfigurationsexempel
Så här låter du tid förfalla vid slutet av påföljande år:
- Lägg till pluginet Formelbaserat förfall i ditt regelverk
- Sätt Förfalloformel
till:
makeDate(accrual_year + 1, 12, 31) - Klicka på Spara
Felsökning
| Problem | Lösning |
|---|---|
| Syntaxfel i formeln | Kontrollera att du använder makeDate() för att returnera ett datumvärde |
| Formeln sparas inte | Kontrollera att alla parenteser är balanserade och att operatorerna är korrekta |
| Fel förfallodatum | Testa formeln med exempeldatum med hjälp av variablerna |
| Behöver en enklare lösning | Överväg Relativt förfall eller Förfall vid periodens slut i stället |
Jämförelse med andra plugins
| Plugin | Förfallologik |
|---|---|
| Relativt förfall | N månader efter varje intjänande |
| Förfall vid periodens slut | Räkenskaps-/semesterårets slut + frist |
| Förfaller aldrig | Tiden förfaller aldrig |
| Formelbaserat förfall | Anpassad beräkning |