Skatteverkets regelfiler och regelmotor kan beskrivas som en mikrotjänst, som du kan använda i din applikation.
Begrepp | Betydelse |
---|---|
Regelmotorn | Själva regelmotorn är en funktion i en tjänst som du sedan själv bygger. Den regelmotor som Skatteverkets regelfiler är anpassade för heter Json-rules-engine. |
Regel | En uppsättning villkor. Skatteverkets regler är uppbyggda av frågor och svar. |
Facts | De villkor som du uppfyller och som regelmotorn matchar mot reglerna. |
Syftet med att använda Skatteverkets regelfiler och regelmotor är att separera den juridiska logiken från applikationslogiken. Det finns ett antal fördelar med detta, till exempel
Regelfilerna och regelmotorn är ingen färdig tjänst och kan inte användas av en slutkund. Våra illustrationer visar hur regelmotorn och regelfilerna hänger ihop och hur de kan passa in i din applikation.
Facts och regler matas in i regelmotorn, som genererar utdata i form av en textsträng. Utdatan skulle till exempel kunna vara "Skattefri ersättning kan betalas ut med 25 kronor per mil." Detta är endast ett lager logik som du som utvecklare kan använda i din applikation.
Din applikation samverkar med regelmotorn och regelfilerna enligt illustrationen nedan. Tänk att det till exempel är en räknesnurra som ska visa ersättning för antal mil. I applikationen finns möjlighet att lämna ytterligare indata, till exempel "10 mil" och "100 dagar". Slutanvändaren kan då få utdata i stil med att "Ersättningen blir 25 000 kronor". Hur denna in- och utdata lämnas respektive presenteras är separerat från den juridiska logiken.
En regelfil innehåller en uppsättning regler. Regelfiler är grupperade i regelområden, som till exempel "Reseräkning". Varje regelfil får också ett mer preciserande namn, till exempel "Logikostnader".
Skatteverkets regelfiler innehåller generiska data, men i kundens miljö kan du som utvecklare lägga till värden och funktioner som är specifika för din applikation.
Här är några saker du kan vara uppmärksam på när du ska börja använda filerna:
Regelmotorns funktion är att ta facts och matcha (evaluera) dem mot reglerna. När dina facts matchar reglerna triggas ett success event och du får då tillgång till den information som finns lagrad i regelns event-objekt. Utdatan du får från regelmotorn är alltid en textsträng. Den innehåller vanligtvis en juridisk förklaring och källhänvisningar, men kan även innehålla till exempel värden för belopp.
Hur du väljer att använda och visa tillgänglig information är upp till dig som skapar tjänsten. Numeriska värden kan du använda till beräkningar. Vill du visa en text eller ett belopp i en applikation som visas på en slutanvändares skärm kan du göra det. Du kan också skicka vidare informationen till något annat system. Att visa källhänvisningar kan vara onödigt i en tjänst där slutanvändaren inte är jurist. Men för jurister kan källhänvisningarna i stället vara det viktigaste att visa.
På vår Utvecklarportal, på API-sidan för Rättsliga regler under fliken Exempel, hittar du ett enkelt kodexempel.
Vill du lära dig mer om skatter och företagande? Ta då chansen och möt oss online på våra direktsända webbseminarier. Det är kostnadsfritt och du kan ställa frågor och få svar i en chatt.