---
address: common.finance.iban
description: IBAN (default country DE, 18-digit BBAN, ISO 7064 mod-97 check)
generator: tdc
---
<sequence name="bban"><gen type="regex" value="[0-9]{18}"/></sequence>
<sequence name="iban"><compute>
  <let name="rearranged"><concat><field name="bban"/><str v="DE"/><str v="00"/></concat></let>
  <let name="digits">
    <join>
      <each>
        <over><var name="rearranged"/></over>
        <do><encode as="base36"><current/></encode></do>
      </each>
    </join>
  </let>
  <let name="rem">
    <reduce>
      <over><var name="digits"/></over>
      <init><int v="0"/></init>
      <do><mod><add><multiply><acc/><int v="10"/></multiply><current/></add><int v="97"/></mod></do>
    </reduce>
  </let>
  <let name="check"><pad width="2" fill="0"><subtract><int v="98"/><var name="rem"/></subtract></pad></let>
  <result><concat><str v="DE"/><var name="check"/><field name="bban"/></concat></result>
</compute></sequence>
<data>${{iban}}</data>
