=item cdrbatch
+=item detailnum - Link to invoice detail (L<FS::cust_bill_pkg_detail>)
+
=back
=head1 METHODS
#'upstream_rateplanid' => '',
#'ratedetailnum' => '',
'rated_price' => 'Rated price',
+ 'rated_cost' => 'Rated cost',
#'distance' => '',
#'islocal' => '',
#'calltypenum' => '',
'freesiderewritestatus' => 'Freeside rewrite status',
'cdrbatch' => 'Legacy batch',
'cdrbatchnum' => 'Batch',
+ 'detailnum' => 'Freeside invoice detail line',
},
};
#check the foreign keys even?
#do we want to outright *reject* the CDR?
- my $error =
- $self->ut_numbern('acctid');
+ my $error = $self->ut_numbern('acctid');
+ return $error if $error;
+
+ if ( $self->freesidestatus ne 'done' ) {
+ $self->set('detailnum', ''); # can't have this on an unbilled call
+ }
#add a config option to turn these back on if someone needs 'em
#
# # Telstra =1, Optus = 2, RSL COM = 3
# || $self->ut_foreign_keyn('carrierid', 'cdr_carrier', 'carrierid' )
- return $error if $error;
-
$self->SUPER::check;
}
Available options are: inbound, rated_pretty_dst, rated_regionname,
rated_seconds, rated_minutes, rated_granularity, rated_ratedetailnum,
-rated_classnum, rated_ratename.
+rated_classnum, rated_ratename. If rated_ratedetailnum is provided,
+will also set a recalculated L</rate_cost> in the rated_cost field
+after the other fields are set (does not work with inbound.)
If there is an error, returns the error, otherwise returns false.
qw( pretty_dst regionname seconds minutes granularity
ratedetailnum classnum ratename );
$self->svcnum($svcnum) if $svcnum;
+ $self->rated_cost($self->rate_cost) if $opt{'rated_ratedetailnum'};
+
return $self->replace();
}
sub invoice_formats {
map { ($_ => $export_names{$_}->{'name'}) }
grep { $export_names{$_}->{'invoice_header'} }
- keys %export_names;
+ sort keys %export_names;
}
=item invoice_header FORMAT