diff --git a/donate/migrations/0019_donatehomepage_form_monthly_amount_1_and_more.py b/donate/migrations/0019_donatehomepage_form_monthly_amount_1_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..161b9c953e58c439c61b0fd4a4b2df4b43af4d85
--- /dev/null
+++ b/donate/migrations/0019_donatehomepage_form_monthly_amount_1_and_more.py
@@ -0,0 +1,127 @@
+# Generated by Django 4.0.4 on 2022-05-19 11:42
+
+from django.db import migrations, models
+
+
+def update_monthly_values(page):
+    page.form_monthly_amount_1 = page.form_amount_1
+    page.form_monthly_amount_2 = page.form_amount_2
+    page.form_monthly_amount_3 = page.form_amount_3
+    page.form_monthly_amount_4 = page.form_amount_4
+    page.form_monthly_preselected = page.form_preselected
+    page.save()
+
+
+def set_monthly_prices(apps, schema_editor):
+    DonateHomePage = apps.get_model("donate", "DonateHomePage")
+    DonateProjectPage = apps.get_model("donate", "DonateProjectPage")
+    DonateRegionPage = apps.get_model("donate", "DonateRegionPage")
+
+    for page in DonateHomePage.objects.all():
+        update_monthly_values(page)
+
+    for page in DonateProjectPage.objects.all():
+        update_monthly_values(page)
+
+    for page in DonateRegionPage.objects.all():
+        update_monthly_values(page)
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("donate", "0018_donatehomepage_form_amount_4_and_more"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="donatehomepage",
+            name="form_monthly_amount_1",
+            field=models.IntegerField(default=100, verbose_name="měsíční částka 1"),
+        ),
+        migrations.AddField(
+            model_name="donatehomepage",
+            name="form_monthly_amount_2",
+            field=models.IntegerField(default=200, verbose_name="měsíční částka 2"),
+        ),
+        migrations.AddField(
+            model_name="donatehomepage",
+            name="form_monthly_amount_3",
+            field=models.IntegerField(default=500, verbose_name="měsíční částka 3"),
+        ),
+        migrations.AddField(
+            model_name="donatehomepage",
+            name="form_monthly_amount_4",
+            field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"),
+        ),
+        migrations.AddField(
+            model_name="donatehomepage",
+            name="form_monthly_preselected",
+            field=models.IntegerField(
+                choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")],
+                default=1,
+                verbose_name="výchozí měsíční částka",
+            ),
+        ),
+        migrations.AddField(
+            model_name="donateprojectpage",
+            name="form_monthly_amount_1",
+            field=models.IntegerField(default=100, verbose_name="měsíční částka 1"),
+        ),
+        migrations.AddField(
+            model_name="donateprojectpage",
+            name="form_monthly_amount_2",
+            field=models.IntegerField(default=200, verbose_name="měsíční částka 2"),
+        ),
+        migrations.AddField(
+            model_name="donateprojectpage",
+            name="form_monthly_amount_3",
+            field=models.IntegerField(default=500, verbose_name="měsíční částka 3"),
+        ),
+        migrations.AddField(
+            model_name="donateprojectpage",
+            name="form_monthly_amount_4",
+            field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"),
+        ),
+        migrations.AddField(
+            model_name="donateprojectpage",
+            name="form_monthly_preselected",
+            field=models.IntegerField(
+                choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")],
+                default=1,
+                verbose_name="výchozí měsíční částka",
+            ),
+        ),
+        migrations.AddField(
+            model_name="donateregionpage",
+            name="form_monthly_amount_1",
+            field=models.IntegerField(default=100, verbose_name="měsíční částka 1"),
+        ),
+        migrations.AddField(
+            model_name="donateregionpage",
+            name="form_monthly_amount_2",
+            field=models.IntegerField(default=200, verbose_name="měsíční částka 2"),
+        ),
+        migrations.AddField(
+            model_name="donateregionpage",
+            name="form_monthly_amount_3",
+            field=models.IntegerField(default=500, verbose_name="měsíční částka 3"),
+        ),
+        migrations.AddField(
+            model_name="donateregionpage",
+            name="form_monthly_amount_4",
+            field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"),
+        ),
+        migrations.AddField(
+            model_name="donateregionpage",
+            name="form_monthly_preselected",
+            field=models.IntegerField(
+                choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")],
+                default=1,
+                verbose_name="výchozí měsíční částka",
+            ),
+        ),
+        migrations.RunPython(
+            set_monthly_prices, reverse_code=migrations.RunPython.noop
+        ),
+    ]
diff --git a/donate/migrations/0020_donateinfopage_form_amount_1_and_more.py b/donate/migrations/0020_donateinfopage_form_amount_1_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..29770b15fc58d12b4a18cec6901522a40e04fd22
--- /dev/null
+++ b/donate/migrations/0020_donateinfopage_form_amount_1_and_more.py
@@ -0,0 +1,129 @@
+# Generated by Django 4.0.4 on 2022-05-19 12:55
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("donate", "0019_donatehomepage_form_monthly_amount_1_and_more"),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_amount_1",
+            field=models.IntegerField(default=100, verbose_name="pevná částka 1"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_amount_2",
+            field=models.IntegerField(default=200, verbose_name="pevná částka 2"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_amount_3",
+            field=models.IntegerField(default=500, verbose_name="pevná částka 3"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_amount_4",
+            field=models.IntegerField(default=1000, verbose_name="pevná částka 4"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_monthly_amount_1",
+            field=models.IntegerField(default=100, verbose_name="měsíční částka 1"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_monthly_amount_2",
+            field=models.IntegerField(default=200, verbose_name="měsíční částka 2"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_monthly_amount_3",
+            field=models.IntegerField(default=500, verbose_name="měsíční částka 3"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_monthly_amount_4",
+            field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_monthly_preselected",
+            field=models.IntegerField(
+                choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")],
+                default=1,
+                verbose_name="výchozí měsíční částka",
+            ),
+        ),
+        migrations.AddField(
+            model_name="donateinfopage",
+            name="form_preselected",
+            field=models.IntegerField(
+                choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")],
+                default=1,
+                verbose_name="výchozí částka",
+            ),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_amount_1",
+            field=models.IntegerField(default=100, verbose_name="pevná částka 1"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_amount_2",
+            field=models.IntegerField(default=200, verbose_name="pevná částka 2"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_amount_3",
+            field=models.IntegerField(default=500, verbose_name="pevná částka 3"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_amount_4",
+            field=models.IntegerField(default=1000, verbose_name="pevná částka 4"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_monthly_amount_1",
+            field=models.IntegerField(default=100, verbose_name="měsíční částka 1"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_monthly_amount_2",
+            field=models.IntegerField(default=200, verbose_name="měsíční částka 2"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_monthly_amount_3",
+            field=models.IntegerField(default=500, verbose_name="měsíční částka 3"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_monthly_amount_4",
+            field=models.IntegerField(default=1000, verbose_name="měsíční částka 4"),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_monthly_preselected",
+            field=models.IntegerField(
+                choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")],
+                default=1,
+                verbose_name="výchozí měsíční částka",
+            ),
+        ),
+        migrations.AddField(
+            model_name="donatetargeteddonationspage",
+            name="form_preselected",
+            field=models.IntegerField(
+                choices=[(1, "první"), (2, "druhá"), (3, "třetí"), (4, "čtvrtá")],
+                default=1,
+                verbose_name="výchozí částka",
+            ),
+        ),
+    ]
diff --git a/donate/models.py b/donate/models.py
index 81e99ee0cb9aae49e8c7252408d349ff7f2b4e5f..45cfb1067dfb907d397b40114b1a82d650974818 100644
--- a/donate/models.py
+++ b/donate/models.py
@@ -77,6 +77,14 @@ class DonateFormAmountsMixin(models.Model):
         "výchozí částka", default=FIRST, choices=FORM_CHOICES
     )
 
+    form_monthly_amount_1 = models.IntegerField("měsíční částka 1", default=100)
+    form_monthly_amount_2 = models.IntegerField("měsíční částka 2", default=200)
+    form_monthly_amount_3 = models.IntegerField("měsíční částka 3", default=500)
+    form_monthly_amount_4 = models.IntegerField("měsíční částka 4", default=1000)
+    form_monthly_preselected = models.IntegerField(
+        "výchozí měsíční částka", default=FIRST, choices=FORM_CHOICES
+    )
+
     class Meta:
         abstract = True
 
@@ -169,6 +177,11 @@ class DonateHomePage(
                 FieldPanel("form_amount_3"),
                 FieldPanel("form_amount_4"),
                 FieldPanel("form_preselected"),
+                FieldPanel("form_monthly_amount_1"),
+                FieldPanel("form_monthly_amount_2"),
+                FieldPanel("form_monthly_amount_3"),
+                FieldPanel("form_monthly_amount_4"),
+                FieldPanel("form_monthly_preselected"),
             ],
             "nastavení darů",
         ),
@@ -297,6 +310,11 @@ class DonateRegionPage(
                 FieldPanel("form_amount_3"),
                 FieldPanel("form_amount_4"),
                 FieldPanel("form_preselected"),
+                FieldPanel("form_monthly_amount_1"),
+                FieldPanel("form_monthly_amount_2"),
+                FieldPanel("form_monthly_amount_3"),
+                FieldPanel("form_monthly_amount_4"),
+                FieldPanel("form_monthly_preselected"),
             ],
             "nastavení darů",
         ),
@@ -449,6 +467,11 @@ class DonateProjectPage(
                 FieldPanel("form_amount_3"),
                 FieldPanel("form_amount_4"),
                 FieldPanel("form_preselected"),
+                FieldPanel("form_monthly_amount_1"),
+                FieldPanel("form_monthly_amount_2"),
+                FieldPanel("form_monthly_amount_3"),
+                FieldPanel("form_monthly_amount_4"),
+                FieldPanel("form_monthly_preselected"),
             ],
             "nastavení darů",
         ),
@@ -548,7 +571,12 @@ class DonateTextPage(Page, ExtendedMetadataPageMixin, SubpageMixin, MetadataPage
 
 
 class DonateInfoPage(
-    DonateFormMixin, Page, ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin
+    DonateFormMixin,
+    DonateFormAmountsMixin,
+    Page,
+    ExtendedMetadataPageMixin,
+    SubpageMixin,
+    MetadataPageMixin,
 ):
     ### FIELDS
 
@@ -560,7 +588,24 @@ class DonateInfoPage(
 
     promote_panels = make_promote_panels()
 
-    settings_panels = []
+    settings_panels = [
+        PublishingPanel(),
+        MultiFieldPanel(
+            [
+                FieldPanel("form_amount_1"),
+                FieldPanel("form_amount_2"),
+                FieldPanel("form_amount_3"),
+                FieldPanel("form_amount_4"),
+                FieldPanel("form_preselected"),
+                FieldPanel("form_monthly_amount_1"),
+                FieldPanel("form_monthly_amount_2"),
+                FieldPanel("form_monthly_amount_3"),
+                FieldPanel("form_monthly_amount_4"),
+                FieldPanel("form_monthly_preselected"),
+            ],
+            "nastavení darů",
+        ),
+    ]
 
     ### RELATIONS
 
@@ -609,7 +654,12 @@ class TargetedDonation(Orderable):
 
 
 class DonateTargetedDonationsPage(
-    DonateFormMixin, Page, ExtendedMetadataPageMixin, SubpageMixin, MetadataPageMixin
+    DonateFormMixin,
+    DonateFormAmountsMixin,
+    Page,
+    ExtendedMetadataPageMixin,
+    SubpageMixin,
+    MetadataPageMixin,
 ):
     ### FIELDS
 
@@ -624,7 +674,24 @@ class DonateTargetedDonationsPage(
 
     promote_panels = make_promote_panels()
 
-    settings_panels = []
+    settings_panels = [
+        PublishingPanel(),
+        MultiFieldPanel(
+            [
+                FieldPanel("form_amount_1"),
+                FieldPanel("form_amount_2"),
+                FieldPanel("form_amount_3"),
+                FieldPanel("form_amount_4"),
+                FieldPanel("form_preselected"),
+                FieldPanel("form_monthly_amount_1"),
+                FieldPanel("form_monthly_amount_2"),
+                FieldPanel("form_monthly_amount_3"),
+                FieldPanel("form_monthly_amount_4"),
+                FieldPanel("form_monthly_preselected"),
+            ],
+            "nastavení darů",
+        ),
+    ]
 
     ### RELATIONS
 
diff --git a/donate/static/donate/assets/js/scripts.js b/donate/static/donate/assets/js/scripts.js
index f6134225b98955b9da6221d7ac5f84ef537c4724..058cdd689b41851dd205288ba216c97161ec4c8a 100644
--- a/donate/static/donate/assets/js/scripts.js
+++ b/donate/static/donate/assets/js/scripts.js
@@ -59,12 +59,34 @@
 
   $("input[name='custom_amount']").focus(function() {
     $('#customamount').attr('required', true);
-    $( "#amount1" ).prop( "checked", false );
-    $( "#amount2" ).prop( "checked", false );
-    $( "#amount3" ).prop( "checked", false );
-    $( "#amount4" ).prop( "checked", false );
+    $('input[name=amount]:checked', '#js-donate-form').prop('checked', false);
   })
 
+  // Function for handling switching between monthly and one-time prices
+  $("input[name='periodicity']").change(function () {
+
+    // periodicity 730 === monthly
+    if ($(this).attr('value') === '730') {
+      const $monthlyAmounts = $('#monthlyAmounts')
+
+      const selectRadio = $monthlyAmounts.data('default-selected')
+      $('input[name=amount]:checked', '#js-donate-form').prop('checked', false);
+      $(`#monthlyAmounts input[name=amount]:eq("${selectRadio - 1}")`).prop('checked', true);
+
+      $monthlyAmounts.show();
+      $('#oneTimeAmounts').hide();
+    } else {
+      const $oneTimeAmounts = $('#oneTimeAmounts')
+
+      const selectRadio = $oneTimeAmounts.data('default-selected')
+      $('input[name=amount]:checked', '#js-donate-form').prop('checked', false);
+      $(`#oneTimeAmounts input[name=amount]:eq("${selectRadio - 1}")`).prop('checked', true);
+
+      $oneTimeAmounts.show();
+      $('#monthlyAmounts').hide();
+    }
+  });
+
   // Trigger correct state onload
   $("input[name='amount']:checked").change();
 
diff --git a/donate/templates/donate/donate_home_page.html b/donate/templates/donate/donate_home_page.html
index afa25c37c6855b5e8f0887e86f8c9838d399304a..beb4771cfe0c2014f52c22b484140a5c8d7b23e3 100644
--- a/donate/templates/donate/donate_home_page.html
+++ b/donate/templates/donate/donate_home_page.html
@@ -69,7 +69,12 @@
             <div class="form-group row mb-4 align-items-center">
               <legend class="col-form-label col-md-4 col-form-label-lg">Částka</legend>
               <div class="col-md-8">
-                {% include "donate/form_amounts_snippet.html" %}
+                  <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}">
+                      {% include "donate/form_monthly_amounts_snippet.html" %}
+                  </div>
+                  <div id="oneTimeAmounts" style="display: None" data-default-selected="{{ page.form_preselected }}">
+                      {% include "donate/form_amounts_snippet.html" %}
+                  </div>
               </div>
             </div>
             <div class="form-group row mb-0 align-items-center" id="js-custom-amount-input">
diff --git a/donate/templates/donate/donate_info_page.html b/donate/templates/donate/donate_info_page.html
index 3e8a762af5f851a147c4b6c0cb37783d5a7d0719..b1b3338034e6933acc943a64d9a7079fe9d1e298 100644
--- a/donate/templates/donate/donate_info_page.html
+++ b/donate/templates/donate/donate_info_page.html
@@ -50,21 +50,12 @@
                 <div class="form-group row mb-4 align-items-center">
                     <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend>
                     <div class="col-md-12">
-                        <div class="custom-control custom-radio custom-control-inline">
-                          <input type="radio" id="amount1" name="amount" value="200" class="custom-control-input">
-                          <label class="custom-control-label col-form-label-lg" for="amount1">200 Kč</label>
-                        </div>
-                        <div class="custom-control custom-radio custom-control-inline">
-                          <input type="radio" id="amount2" name="amount" value="500" class="custom-control-input" checked>
-                          <label class="custom-control-label col-form-label-lg" for="amount2">500 Kč</label>
+                        <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}">
+                            {% include "donate/form_monthly_amounts_snippet.html" %}
                         </div>
-                        <div class="custom-control custom-radio custom-control-inline">
-                          <input type="radio" id="amount3" name="amount" value="1000" class="custom-control-input">
-                          <label class="custom-control-label col-form-label-lg" for="amount3">1000 Kč</label>
-                        </div>
-                        <div class="custom-control custom-radio custom-control-inline">
-                            <input type="radio" id="amount4" name="amount" value="1500" class="custom-control-input">
-                            <label class="custom-control-label col-form-label-lg" for="amount4">1500 Kč</label>
+                        <div id="oneTimeAmounts" style="display: None"
+                             data-default-selected="{{ page.form_preselected }}">
+                            {% include "donate/form_amounts_snippet.html" %}
                         </div>
                     </div>
                 </div>
diff --git a/donate/templates/donate/donate_project_page.html b/donate/templates/donate/donate_project_page.html
index fadec3000e62d43b93820ac0ce8624aee4780d90..1eb05714fd7773e6d95eacd164d75da59ec21df7 100644
--- a/donate/templates/donate/donate_project_page.html
+++ b/donate/templates/donate/donate_project_page.html
@@ -101,7 +101,17 @@
                   <div class="form-group row mb-4 align-items-center">
                       <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend>
                       <div class="col-md-12">
-                        {% include "donate/form_amounts_snippet.html" %}
+                          {% if page.allow_periodic_donations %}
+                          <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}">
+                              {% include "donate/form_monthly_amounts_snippet.html" %}
+                          </div>
+                          <div id="oneTimeAmounts" style="display: None"
+                               data-default-selected="{{ page.form_preselected }}">
+                              {% include "donate/form_amounts_snippet.html" %}
+                          </div>
+                          {% else %}
+                              {% include "donate/form_amounts_snippet.html" with show_selected=True %}
+                          {% endif %}
                       </div>
                   </div>
                   <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input">
diff --git a/donate/templates/donate/donate_project_page_coalition.html b/donate/templates/donate/donate_project_page_coalition.html
index b190b2afd83286f5c2bfd7138e48161cc2a2377c..c92de7649e0882d21accd5c4b8277d7ef5e3b098 100644
--- a/donate/templates/donate/donate_project_page_coalition.html
+++ b/donate/templates/donate/donate_project_page_coalition.html
@@ -103,7 +103,17 @@
                     <div class="form-group row mb-4 align-items-center">
                       <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend>
                       <div class="col-md-12">
-                        {% include "donate/form_amounts_snippet.html" %}
+                        {% if page.allow_periodic_donations %}
+                          <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}">
+                              {% include "donate/form_monthly_amounts_snippet.html" %}
+                          </div>
+                          <div id="oneTimeAmounts" style="display: None"
+                               data-default-selected="{{ page.form_preselected }}">
+                              {% include "donate/form_amounts_snippet.html" %}
+                          </div>
+                          {% else %}
+                              {% include "donate/form_amounts_snippet.html" with show_selected=True %}
+                          {% endif %}
                       </div>
                     </div>
                     <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input">
diff --git a/donate/templates/donate/donate_region_page.html b/donate/templates/donate/donate_region_page.html
index 823f92de37e13b04db206c5d9e9160f44d7671fe..7214f9fd7f3e4b253e2c5d608b3084bd2893221f 100644
--- a/donate/templates/donate/donate_region_page.html
+++ b/donate/templates/donate/donate_region_page.html
@@ -57,7 +57,13 @@
                   <div class="form-group row mb-4 align-items-center">
                     <legend class="col-form-label col-md-12 col-form-label-lg">Částka</legend>
                     <div class="col-md-12">
-                      {% include "donate/form_amounts_snippet.html" %}
+                        <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}">
+                            {% include "donate/form_monthly_amounts_snippet.html" %}
+                        </div>
+                        <div id="oneTimeAmounts" style="display: None"
+                             data-default-selected="{{ page.form_preselected }}">
+                            {% include "donate/form_amounts_snippet.html" %}
+                        </div>
                     </div>
                   </div>
                   <div class="form-group row mb-2 align-items-center" id="js-custom-amount-input">
diff --git a/donate/templates/donate/donate_targeted_donations_page.html b/donate/templates/donate/donate_targeted_donations_page.html
index 796425af5a83cf4377483f0d4da0660eae7d90e1..8dbcf06b9c10e8ac0eef135e895adf5dfff2d512 100644
--- a/donate/templates/donate/donate_targeted_donations_page.html
+++ b/donate/templates/donate/donate_targeted_donations_page.html
@@ -65,21 +65,12 @@
             <div class="form-group row mb-4 align-items-center">
               <legend class="col-form-label col-md-3 col-form-label-lg">Částka</legend>
               <div class="col-md-9">
-                  <div class="custom-control custom-radio custom-control-inline">
-                    <input type="radio" id="amount1" name="amount" value="200" class="custom-control-input">
-                    <label class="custom-control-label col-form-label-lg" for="amount1">200 Kč</label>
-                  </div>
-                  <div class="custom-control custom-radio custom-control-inline">
-                    <input type="radio" id="amount2" name="amount" value="500" class="custom-control-input" checked>
-                    <label class="custom-control-label col-form-label-lg" for="amount2">500 Kč</label>
+                  <div id="monthlyAmounts" data-default-selected="{{ page.form_monthly_preselected }}">
+                      {% include "donate/form_monthly_amounts_snippet.html" %}
                   </div>
-                  <div class="custom-control custom-radio custom-control-inline">
-                    <input type="radio" id="amount3" name="amount" value="1000" class="custom-control-input">
-                    <label class="custom-control-label col-form-label-lg" for="amount3">1000 Kč</label>
-                  </div>
-                  <div class="custom-control custom-radio custom-control-inline">
-                      <input type="radio" id="amount4" name="amount" value="1500" class="custom-control-input">
-                      <label class="custom-control-label col-form-label-lg" for="amount4">1500 Kč</label>
+                  <div id="oneTimeAmounts" style="display: None"
+                       data-default-selected="{{ page.form_preselected }}">
+                      {% include "donate/form_amounts_snippet.html" %}
                   </div>
               </div>
             </div>
diff --git a/donate/templates/donate/form_amounts_snippet.html b/donate/templates/donate/form_amounts_snippet.html
index 66cf49ea914fa07b91c7b76867adc71cb7a4094a..516b5bdba1415d6332a1e0669106f8a981e36892 100644
--- a/donate/templates/donate/form_amounts_snippet.html
+++ b/donate/templates/donate/form_amounts_snippet.html
@@ -1,16 +1,16 @@
 <div class="custom-control custom-radio custom-control-inline">
-  <input type="radio" id="amount1" name="amount" value="{{ page.form_amount_1 }}" class="custom-control-input"{% if page.form_preselected == page.FIRST %} checked{% endif %}>
+  <input type="radio" id="amount1" name="amount" value="{{ page.form_amount_1 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.FIRST %} checked{% endif %}>
   <label class="custom-control-label col-form-label-lg" for="amount1">{{ page.form_amount_1 }} Kč</label>
 </div>
 <div class="custom-control custom-radio custom-control-inline">
-  <input type="radio" id="amount2" name="amount" value="{{ page.form_amount_2 }}" class="custom-control-input"{% if page.form_preselected == page.SECOND %} checked{% endif %}>
+  <input type="radio" id="amount2" name="amount" value="{{ page.form_amount_2 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.SECOND %} checked{% endif %}>
   <label class="custom-control-label col-form-label-lg" for="amount2">{{ page.form_amount_2 }} Kč</label>
 </div>
 <div class="custom-control custom-radio custom-control-inline">
-  <input type="radio" id="amount3" name="amount" value="{{ page.form_amount_3 }}" class="custom-control-input"{% if page.form_preselected == page.THIRD %} checked{% endif %}>
+  <input type="radio" id="amount3" name="amount" value="{{ page.form_amount_3 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.THIRD %} checked{% endif %}>
   <label class="custom-control-label col-form-label-lg" for="amount3">{{ page.form_amount_3 }} Kč</label>
 </div>
 <div class="custom-control custom-radio custom-control-inline">
-  <input type="radio" id="amount4" name="amount" value="{{ page.form_amount_4 }}" class="custom-control-input"{% if page.form_preselected == page.FOURTH %} checked{% endif %}>
+  <input type="radio" id="amount4" name="amount" value="{{ page.form_amount_4 }}" class="custom-control-input"{% if show_selected and page.form_preselected == page.FOURTH %} checked{% endif %}>
   <label class="custom-control-label col-form-label-lg" for="amount4">{{ page.form_amount_4 }} Kč</label>
 </div>
diff --git a/donate/templates/donate/form_monthly_amounts_snippet.html b/donate/templates/donate/form_monthly_amounts_snippet.html
new file mode 100644
index 0000000000000000000000000000000000000000..d0c46892a423e01186ce46e97b88b7454b2a2a48
--- /dev/null
+++ b/donate/templates/donate/form_monthly_amounts_snippet.html
@@ -0,0 +1,16 @@
+<div class="custom-control custom-radio custom-control-inline">
+  <input type="radio" id="amount5" name="amount" value="{{ page.form_monthly_amount_1 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.FIRST %} checked{% endif %}>
+  <label class="custom-control-label col-form-label-lg" for="amount5">{{ page.form_monthly_amount_1 }} Kč</label>
+</div>
+<div class="custom-control custom-radio custom-control-inline">
+  <input type="radio" id="amount6" name="amount" value="{{ page.form_monthly_amount_2 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.SECOND %} checked{% endif %}>
+  <label class="custom-control-label col-form-label-lg" for="amount6">{{ page.form_monthly_amount_2 }} Kč</label>
+</div>
+<div class="custom-control custom-radio custom-control-inline">
+  <input type="radio" id="amount7" name="amount" value="{{ page.form_monthly_amount_3 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.THIRD %} checked{% endif %}>
+  <label class="custom-control-label col-form-label-lg" for="amount7">{{ page.form_monthly_amount_3 }} Kč</label>
+</div>
+<div class="custom-control custom-radio custom-control-inline">
+  <input type="radio" id="amount8" name="amount" value="{{ page.form_monthly_amount_4 }}" class="custom-control-input"{% if page.form_monthly_preselected == page.FOURTH %} checked{% endif %}>
+  <label class="custom-control-label col-form-label-lg" for="amount8">{{ page.form_monthly_amount_4 }} Kč</label>
+</div>