%info = (
'name' => 'Wholesale bulk billing, for master customers of an agent.',
- 'shortname' => 'Wholesale bulk billing for agent.',
+ 'shortname' => 'Wholesale bulk billing for agent',
'inherit_fields' => [qw( prorate global_Mixin)],
'fields' => {
#'recur_method' => { 'name' => 'Recurring fee method',
'type' => 'checkbox',
},
+ 'cost_only' => { 'name' => 'Bill wholesale on cost only, disabling the price fallback',
+ 'type' => 'checkbox'
+ },
+
},
- 'fieldorder' => [qw( cutoff_day add_full_period no_pkg_prorate ) ],
+ 'fieldorder' => [qw( cutoff_day add_full_period no_pkg_prorate display_separate_cust cost_only) ],
'weight' => 52,
my $quantity = $cust_pkg->quantity || 1;
- #option to not fallback? via options above
- my $pkg_setup_fee =
- $part_pkg->setup_cost || $part_pkg->option('setup_fee');
- my $pkg_base_recur =
- $part_pkg->recur_cost || $part_pkg->base_recur_permonth($cust_pkg);
+ my $pkg_setup_fee = $part_pkg->setup_cost;
+ $pkg_setup_fee ||= $part_pkg->option('setup_fee')
+ unless $self->option('cost_only');
+ $pkg_setup_fee ||= 0;
+
+ my $pkg_base_recur = $part_pkg->recur_cost;
+ $pkg_base_recur ||= $part_pkg->base_recur_permonth($cust_pkg)
+ unless $self->option('cost_only');
+ $pkg_base_recur ||= 0;
my $pkg_start = $cust_pkg->get('setup');
if ( $pkg_start < $last_bill ) {