$sth->finish;
 
+  # if l_ob is selected l_cb is always ignored
+  if ( $form->{l_ob} ) {
+    $where .= ' AND ac.ob_transaction is true  '
+  } elsif ( not $form->{l_cb} ) {
+    $where .= ' AND ac.cb_transaction is false ';
+  };
+
   if ($fromdate) {
     $fromdate = conv_dateq($fromdate);
     if ($form->{method} eq 'cash') {
   my $inwhere = "";
   my $item;
 
+  $where .= ' AND ac.cb_transaction is false ' unless $form->{l_cb};
+
   if ($fromdate) {
     $fromdate = conv_dateq($fromdate);
     if ($form->{method} eq 'cash') {
   if ($form->{method} eq 'cash') {
     $query =
       qq|
-       SELECT SUM( ac.amount *
+       SELECT SUM( ac.amount * CASE WHEN COALESCE((SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ), 0) != 0 THEN
                     (SELECT SUM(acc.amount) * -1
                      FROM acc_trans acc
                      INNER JOIN chart c ON (acc.chart_id = c.id AND c.link LIKE '%AR_paid%')
                      WHERE 1=1 $inwhere AND acc.trans_id = ac.trans_id)
-                  / (SELECT amount FROM ar WHERE id = ac.trans_id)
-                ) AS amount, c.pos_eur
+                  / (SELECT amount FROM ar WHERE id = ac.trans_id and amount != 0 ) ELSE 1 END
+                ) AS amount, c.$category
        FROM acc_trans ac
        LEFT JOIN chart c ON (c.id  = ac.chart_id)
        LEFT JOIN ar      ON (ar.id = ac.trans_id)
                                 )
       WHERE ac.trans_id IN (SELECT DISTINCT trans_id FROM acc_trans WHERE 1=1 $subwhere)
 
-      GROUP BY c.pos_eur
+      GROUP BY c.$category
 
 /*
        SELECT SUM(ac.amount * chart_category_to_sgn(c.category)) AS amount, c.$category
     WHERE ((paid != amount) OR (datepaid > (date $todate) AND datepaid is not null))
       AND NOT COALESCE (${arap}.storno, 'f')
       AND (${arap}.${ct}_id = ${ct}.id)
-      $where_dpt 
+      $where_dpt
       AND (${ct}.id = ?)
       AND (transdate <= (date $todate) $fromwhere )
       $review_of_aging_list
   $main::lxdebug->leave_sub();
 }
 
-sub get_taxaccounts {
-  $main::lxdebug->enter_sub();
-
-  my ($self, $myconfig, $form) = @_;
-
-  # connect to database
-  my $dbh = $form->dbconnect($myconfig);
-
-  # get tax accounts
-  my $query =
-    qq|SELECT c.accno, c.description, t.rate
-       FROM chart c, tax t
-       WHERE (c.link LIKE '%CT_tax%') AND (c.id = t.chart_id)
-       ORDER BY c.accno|;
-  $form->{taxaccounts} = selectall_hashref_quert($form, $dbh, $query);
-
-  $dbh->disconnect;
-
-  $main::lxdebug->leave_sub();
-}
-
 sub tax_report {
   $main::lxdebug->enter_sub();