diff --git a/invenio_config_tuw/services.py b/invenio_config_tuw/services.py
index 82fc2ecf8df5cd5a801d0e5549073e899e1876c3..3e0afbc4a253c6a5ca9048663345910aeb31dd91 100644
--- a/invenio_config_tuw/services.py
+++ b/invenio_config_tuw/services.py
@@ -9,6 +9,8 @@
 
 """Overrides for core services."""
 
+from datetime import datetime
+
 from invenio_curations.services.components import (
     CurationComponent as BaseCurationComponent,
 )
@@ -84,9 +86,20 @@ class CurationComponent(BaseCurationComponent):
             return value
 
 
+class PublicationDateComponent(ServiceComponent):
+    """Component for populating the "publication_date" metadata field."""
+
+    def new_version(self, identity, draft=None, record=None):
+        """Set "publication_date" for new record versions."""
+        draft.metadata.setdefault(
+            "publication_date", datetime.now().strftime("%Y-%m-%d")
+        )
+
+
 TUWRecordsComponents = [
     *DefaultRecordsComponents,
     ParentAccessSettingsComponent,
     PublicationNotificationComponent,
+    PublicationDateComponent,
     CurationComponent,
 ]