diff --git a/flagger/dmpflagger.py b/flagger/dmpflagger.py
index fd3a4617b222020ba25216671c29cc5628d85785..06fc567d953350bab0b4a1e70e428b171c27686a 100644
--- a/flagger/dmpflagger.py
+++ b/flagger/dmpflagger.py
@@ -1,10 +1,15 @@
 #! /usr/bin/env python
 # -*- coding: utf-8 -*-
+import subprocess
 import pandas as pd
 
 from .baseflagger import BaseFlagger
 
 
+class Keywords:
+    VERSION = "$version"
+
+
 class FlagFields:
     FLAG = "quality_flag"
     CAUSE = "quality_cause"
@@ -24,6 +29,8 @@ class DmpFlagger(BaseFlagger):
     def __init__(self):
         super().__init__(FLAGS)
         self.flag_fields = [FlagFields.FLAG, FlagFields.CAUSE, FlagFields.COMMENT]
+        version = subprocess.check_output('git describe --tags --always --dirty'.split())
+        self.project_version = version.decode().strip()
 
     def initFlags(self, data, **kwargs):
         columns = data.columns if isinstance(data, pd.DataFrame) else [data.name]
@@ -48,6 +55,9 @@ class DmpFlagger(BaseFlagger):
         else:
             self._checkFlag(flag)
 
+        if Keywords.VERSION in comment:
+            comment = comment.replace(Keywords.VERSION, self.project_version)
+
         flags = self._reduceColumns(flags)
         mask = flags[FlagFields.FLAG] < flag
         flags.loc[mask, self.flag_fields] = flag, cause, comment