+ my $usage = $cust_bill_pkg->usage;
+
+ foreach my $display ($cust_bill_pkg->cust_bill_pkg_display) {
+ my $desc = $display->section;
+ my $type = $display->type;
+
+ if ( $display->post_total ) {
+ if (! $type || $type eq 'S') {
+ $l{$desc} += $cust_bill_pkg->setup
+ if ( $cust_bill_pkg->setup != 0 );
+ }
+
+ if (! $type) {
+ $l{$desc} += $cust_bill_pkg->recur
+ if ( $cust_bill_pkg->recur != 0 );
+ }
+
+ if ($type && $type eq 'R') {
+ $l{$desc} += $cust_bill_pkg->recur - $usage
+ if ( $cust_bill_pkg->recur != 0 );
+ }
+
+ if ($type && $type eq 'U') {
+ $l{$desc} += $usage;
+ }
+
+ } else {
+ if (! $type || $type eq 'S') {
+ $s{$desc} += $cust_bill_pkg->setup
+ if ( $cust_bill_pkg->setup != 0 );
+ }
+
+ if (! $type) {
+ $s{$desc} += $cust_bill_pkg->recur
+ if ( $cust_bill_pkg->recur != 0 );
+ }
+
+ if ($type && $type eq 'R') {
+ $s{$desc} += $cust_bill_pkg->recur - $usage
+ if ( $cust_bill_pkg->recur != 0 );
+ }
+
+ if ($type && $type eq 'U') {
+ $s{$desc} += $usage;
+ }