diff --git a/changelog/62_UNRELEASED_xxxx-xx-xx.md b/changelog/62_UNRELEASED_xxxx-xx-xx.md
index bf4a5d78..5febf134 100644
--- a/changelog/62_UNRELEASED_xxxx-xx-xx.md
+++ b/changelog/62_UNRELEASED_xxxx-xx-xx.md
@@ -71,6 +71,7 @@
- Improved the meal plan page loading time (drastically when having a big history of meal plan entries)
- Meal plan entries can now be visually marked as "done" (new button per entry)
- This happens automatically on consuming a recipe/product from the meal plan page
+- It's now possible to copy all entries of a day to another day (in the dropdown of the add button in the header of each day column)
- Fixed that stock fulfillment checking used the desired servings of the recipe (those selected on the recipes page, not them from the meal plan entry)
### Chores improvements/fixes
diff --git a/localization/strings.pot b/localization/strings.pot
index e8bb3805..33305a54 100644
--- a/localization/strings.pot
+++ b/localization/strings.pot
@@ -2181,3 +2181,12 @@ msgstr ""
msgid "This product shouldn't be frozen"
msgstr ""
+
+msgid "Copy all meal plan entries of %s"
+msgstr ""
+
+msgid "A date is required"
+msgstr ""
+
+msgid "Day"
+msgstr ""
diff --git a/migrations/0139.sql b/migrations/0139.sql
index 0aadadd4..c564fc39 100644
--- a/migrations/0139.sql
+++ b/migrations/0139.sql
@@ -87,6 +87,22 @@ BEGIN
WHERE id = NEW.id
AND type = 'recipe'
AND recipe_id IS NOT NULL;
+
+ -- Enforce "when null then empty" for certain columns
+ UPDATE meal_plan
+ SET recipe_id = NULL
+ WHERE id = NEW.id
+ AND IFNULL(recipe_id, '') = '';
+
+ UPDATE meal_plan
+ SET product_id = NULL
+ WHERE id = NEW.id
+ AND IFNULL(product_id, '') = '';
+
+ UPDATE meal_plan
+ SET product_qu_id = NULL
+ WHERE id = NEW.id
+ AND IFNULL(product_qu_id, '') = '';
END;
DROP TRIGGER remove_internal_recipe;
@@ -294,4 +310,20 @@ BEGIN
WHERE id = NEW.id
AND type = 'recipe'
AND recipe_id IS NOT NULL;
+
+ -- Enforce "when null then empty" for certain columns
+ UPDATE meal_plan
+ SET recipe_id = NULL
+ WHERE id = NEW.id
+ AND IFNULL(recipe_id, '') = '';
+
+ UPDATE meal_plan
+ SET product_id = NULL
+ WHERE id = NEW.id
+ AND IFNULL(product_id, '') = '';
+
+ UPDATE meal_plan
+ SET product_qu_id = NULL
+ WHERE id = NEW.id
+ AND IFNULL(product_qu_id, '') = '';
END;
diff --git a/public/viewjs/mealplan.js b/public/viewjs/mealplan.js
index 6a66e938..b8711859 100644
--- a/public/viewjs/mealplan.js
+++ b/public/viewjs/mealplan.js
@@ -30,11 +30,12 @@ var calendar = $("#calendar").fullCalendar({
{
$(".fc-day-header").prepend('\