Skip to content

ALEF

Rules management approach

In the context of the agile application of the law, the Tax and Customs Administration has developed a tool for drafting and testing rules.

This tool is called ALEF (Agile Law Execution Factory) and is based on Jetbrains MPS. In ALEF, specifications are drawn up in collaboration with the domain experts. These specifications consist of rules, data definitions and test cases. This is done as much as possible by the domain experts themselves. The rules are written in the RuleSpeak language. This is a controlled Dutch language that is easy to read for both lawyers and computer systems.

In addition to the rules, test cases are also defined based on the examples provided by the domain experts. The rules are validated against the test cases. ALEF can support the audit analysts in determining test coverage. This makes it easy to establish the degree of confidence in the accuracy of the specifications.

Available rules

these reports are only available in Dutch

Live Demo API

A live demo API is available to test with Postman. Instruction hier.

With this example message you can test the Individual Income Allowance. Content-Type in the header must be text/xml.

POST Request Body
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:brm="http://brm.poc.iit.belastingdienst.nl">
   <soapenv:Header/>
   <soapenv:Body>
      <brm:berekenIit>
         <rsiitMsg>
            <request belastingjaar="2021" berichtId="12234324">
               <!--Optional:-->
               <invoer>
                  <!--You may enter the following 7 items in any order-->
                  <!--Optional:-->
                  <woonplaats>Utrecht</woonplaats>
                  <!--Optional:-->
                  <aowLeeftijdBehaald>false</aowLeeftijdBehaald>
                  <!--Optional:-->
                  <ouderDan21>true</ouderDan21>
                  <!--Optional:-->
                  <alleenstaande>true</alleenstaande>
                  <!--Optional:-->
                  <thuiswonendeKinderen>true</thuiswonendeKinderen>
                  <!--Optional:-->
                  <inkomenPerMaand>900</inkomenPerMaand>
                  <!--Optional:-->
                  <vermogen>3000</vermogen>
               </invoer>
            </request>
         </rsiitMsg>
      </brm:berekenIit>
   </soapenv:Body>
</soapenv:Envelope>