diff --git a/src/solver/expressions/CMakeLists.txt b/src/solver/expressions/CMakeLists.txt
index b165529a9c..2e917c4c79 100644
--- a/src/solver/expressions/CMakeLists.txt
+++ b/src/solver/expressions/CMakeLists.txt
@@ -16,6 +16,7 @@ set(SRC_Expressions
visitors/TimeIndexVisitor.cpp
visitors/PrintVisitor.cpp
visitors/SubstitutionVisitor.cpp
+ visitors/PortfieldSubstitutionVisitor.cpp
visitors/InvalidNode.cpp
include/antares/solver/expressions/nodes/SumNode.h
@@ -50,6 +51,7 @@ set(SRC_Expressions
include/antares/solver/expressions/visitors/TimeIndexVisitor.h
include/antares/solver/expressions/visitors/TimeIndex.h
include/antares/solver/expressions/visitors/SubstitutionVisitor.h
+ include/antares/solver/expressions/visitors/PortfieldSubstitutionVisitor.h
include/antares/solver/expressions/visitors/InvalidNode.h
include/antares/solver/expressions/Registry.hxx
@@ -67,6 +69,7 @@ target_include_directories(antares-solver-expressions
target_link_libraries(antares-solver-expressions
PUBLIC
Antares::logs
+ Boost::headers
)
diff --git a/src/solver/expressions/include/antares/solver/expressions/visitors/PortfieldSubstitutionVisitor.h b/src/solver/expressions/include/antares/solver/expressions/visitors/PortfieldSubstitutionVisitor.h
new file mode 100644
index 0000000000..bd4a23cfbb
--- /dev/null
+++ b/src/solver/expressions/include/antares/solver/expressions/visitors/PortfieldSubstitutionVisitor.h
@@ -0,0 +1,59 @@
+/*
+** Copyright 2007-2024, RTE (https://www.rte-france.com)
+** See AUTHORS.txt
+** SPDX-License-Identifier: MPL-2.0
+** This file is part of Antares-Simulator,
+** Adequacy and Performance assessment for interconnected energy networks.
+**
+** Antares_Simulator is free software: you can redistribute it and/or modify
+** it under the terms of the Mozilla Public Licence 2.0 as published by
+** the Mozilla Foundation, either version 2 of the License, or
+** (at your option) any later version.
+**
+** Antares_Simulator is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+** Mozilla Public Licence 2.0 for more details.
+**
+** You should have received a copy of the Mozilla Public Licence 2.0
+** along with Antares_Simulator. If not, see .
+*/
+#pragma once
+
+#include