+sub calculate_periodic_invoices_order_netamount {
+  my ($self, $order) = @_;
+
+  my $year       = DateTime->today_local->year;
+  my $year_start = DateTime->new_local(day =>  1, month =>  1, year => $year);
+  my $year_end   = DateTime->new_local(day => 31, month => 12, year => $year);
+
+  my $cfg        = $order->periodic_invoices_config;
+  my $period_len = $cfg->get_billing_period_length;
+  my $num_months = 0;
+  my $cur_date   = $cfg->start_date->clone;
+  my $end_date   = $cfg->terminated ? $cfg->end_date : undef;
+  $end_date    //= $year_end;
+  $end_date      = min $end_date, $year_end;
+
+  while ($cur_date <= $end_date) {
+    $num_months += $period_len if $cur_date >= $year_start;
+    $cur_date->add(months => $period_len);
+  }
+
+  return $num_months * $order->netamount / $order->periodic_invoices_config->get_order_value_period_length;
+}
+