Location: PHPKode > projects > Web(b)h FiBu fuer deutsches Steuerrecht > webh/bt_verbuchen.php
<html>
<head>
<?    $mandant=$_COOKIE["mandant"];
   $username=$_COOKIE["username"];
require"kopf.php"; include"funktionen.php";
 echo("<link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">");?>
<title>Verbuchen Mandant <? echo$mandant; ?> durch Benutzer <? echo$username; ?></title>
</head>
<body>
<a href="bu_erfassen.php?mandant=<? echo$mandant; ?>&username=<? echo$username; ?>">Zurück zur Buchungserfassung</a>
<br><a href="main.php">Zurück zum Hauptmenü</a>
<hr>
<h3>Die Buchungen werden geprüft</h3>
<table>
<tr>
<td>ID</td><td>Beleg</td><td>Datum</td><td>Soll</td><td>Haben</td><td>Betrag</td><td>USt %</td><td>Kommentar</td></tr>

<?
  //Prüfen der Buchungen mittels Schleife
  require"connect.php";
  $q_count="SELECT count(*) FROM buchung_temp WHERE bt_manr = " . $mandant . " and bt_verbucht=0 ;";
  $r_q_count=mysql_query($q_count);
  $hilfe=mysql_fetch_row($r_q_count);
  $satzanzahl_bu=$hilfe[0];
  if($satzanzahl_bu>10000)
  {
      $satzanzahl_bu=10000;
      echo("<br>Es müssen mehr als 10000 Datensätze verbucht werden; Bitte Verbuchen mehrfach aufrufen<br>");
  }
  #echo$satzanzahl_bu;
  require"connect.php";
  $query="SELECT * FROM buchung_temp WHERE bt_manr = " . $mandant . " and bt_verbucht=0 order by bt_magic;";
  $result=mysql_query($query);
  #$satzanzahl_bu=mysql_num_rows($result);
  #echo$satzanzahl_bu;
  for ($z=0; $z<$satzanzahl_bu; $z++)
   {
      $buchungssatz=mysql_fetch_row($result);

      $bt_magic=$buchungssatz[0];
      $bt_beleg=$buchungssatz[4];
      $bt_datum=dbdate2datestring($buchungssatz[5]);
      $bt_soll=$buchungssatz[2];
      $bt_haben=$buchungssatz[3];
      $bt_betragstring=number_format($buchungssatz[6],2,",",".");
      $bt_ustprstring=number_format($buchungssatz[7],2,",",".");
      $bt_kommentar=$buchungssatz[10];
      $bt_user=$buchungssatz[11];
      $bt_auszi=$buchungssatz[13];


      $xy=0;
      require"bt_datum.php";
      if($bt_fehler == 1) $xy++;
      require"bt_beleg.php";
      if($bt_fehler == 1) $xy++;
      require"bt_soll.php";
      if($bt_fehler == 1) $xy++;
      require"bt_haben.php";
      if($bt_fehler == 1) $xy++;
      require"bt_betrag.php";
      if($bt_fehler == 1) $xy++;
      require"bt_ustpr.php";
      if($bt_fehler == 1) $xy++;
      if($bt_user=="")
      {
          $q_user="UPDATE buchung_temp SET bt_user='" . $username . "' where bt_magic=" . $bt_magic . ";";
          $r_user=mysql_query($q_user);
      }
      if($bt_auszi=="")
      {
          require"bt_auszi.php";
          $q_auszi="UPDATE buchung_temp SET bt_auszi='" . $bt_auszi . "' where bt_magic=" . $bt_magic . ";";
          $r_auszi=mysql_query($q_auszi);
      }
      if($xy==0)
      {
          $q_auszi="UPDATE buchung_temp SET bt_verbucht=2 where bt_magic=" . $bt_magic . ";";
          $r_auszi=mysql_query($q_auszi);
      }

      // Wenn jetzt ein fehlerhafter Datensatz da ist, muss er angezeigt
      // werden. Er kann dann mittels magic-Number zur Korrektur kommen
      #echo$xy . $satzanzahl . "<br>";
      if($xy >0)
       {
             echo("<td>" . $buchungssatz[0] . "</td>");
             echo("<td>" . $buchungssatz[4] . "</td>");
             $datumhilf=dbdate2datestring($buchungssatz[5]);
             echo("<td>" . $datumhilf . "</td>");
             echo("<td>" . $buchungssatz[2] . "</td>");
             echo("<td>" . $buchungssatz[3] . "</td>");
             echo("<td>" . number_format($bt_betrag,2 ,",", ".") . "</td>");
             echo("<td>" . number_format($bt_ustpr,2, ",", ".") . "</td>");
             echo("<td>" . $buchungssatz[10] . "</td>");
             echo("</tr>");

             echo("<tr><td></td>");
             echo("<td>" . $er_bt_beleg . "</td>");
             echo("<td>" . $er_bt_datum . "</td>");
             echo("<td>" . $er_bt_soll . "</td>");
             echo("<td>" . $er_bt_haben . "</td>");
             echo("<td>" . $er_bt_betrag . "</td>");
             echo("<td>" . $er_bt_ustpr . "</td>");
             echo("</tr>");


       }

   }
mysql_free_result($result);
?>
</table>
<? echo("Es wurden " . $satzanzahl_bu . " Buchungen verarbeitet."); ?>
<hr>
<br>
<br>
<form type="POST" action="bt_verbuchen.php">
<input type="TEXT" name="buchung_id" value="<? echo$buchung_id; ?>">
<input type="SUBMIT" value="Prüfen">
<? if($buchung_id<>"")
{
echo("<a href=\"bt_korrektur.php?mandant=" . $mandant . "&username=" . $username . "&buchung_id=" . $buchung_id . "\" target=\"_blank\">Buchung korrigieren</a>");
}
?>
</form>
<hr>
<b>Umsatzsteuerermittlung läuft</b>
<?


echo("<table>");

//USt und VSt ermitteln und Buchungen updaten
  // für das Sollkonto...
  require"connect.php";
  $queryu="SELECT * FROM buchung_temp WHERE bt_manr = " . $mandant . " and bt_verbucht=2;";
  $resultust=mysql_query($queryu);
  $satzanzahlust=mysql_num_rows($resultust);
  for ($z=0; $z<$satzanzahlust; $z++)
   {
      $bt_vorsteuer=0; $bt_umsatzsteuer=0;

      $buchung_ust=mysql_fetch_row($resultust);

      $bt_magic=$buchung_ust[0];
      $bt_beleg=$buchung_ust[4];
      $bt_datum=dbdate2datestring($buchung_ust[5]);
      $bt_soll=$buchung_ust[2];
      $bt_haben=$buchung_ust[3];
      $bt_betrag=$buchung_ust[6];
      $bt_ustpr=$buchung_ust[7];
      $bt_betragstring=number_format($buchung_ust[6],2,",",".");
      $bt_ustprstring=number_format($buchung_ust[7],2,",",".");
      $bt_kommentar=$buchung_ust[10];


      $querys="SELECT * FROM konten WHERE kt_manr = " . $mandant . ";";
      $result_soll=mysql_query($querys);
      $saetze_soll=mysql_num_rows($result_soll);

      for($i=0; $i<=$saetze_soll; $i++)
      {
          $sollkto=mysql_fetch_row($result_soll);
          if($bt_soll == $sollkto[1] and
            $sollkto[4] == 'V' and
            $bt_ustpr <> 0)
          {
            $bt_vorsteuer = $bt_betrag*$bt_ustpr/(100+$bt_ustpr);
          }
          if($bt_soll == $sollkto[1] and
            $sollkto[4] == 'U')
          {
             $bt_umsatzsteuer = -($bt_betrag*$bt_ustpr/(100+$bt_ustpr));
          }
      }

   // für das Habenkonto

      require"connect.php";
      $query="SELECT * FROM konten WHERE kt_manr = " . $mandant . ";";
      $result_haben=mysql_query($query);
      $satzanzahl=mysql_num_rows($result_haben);

      for($i=0; $i<=$satzanzahl; $i++)
      {
          $habenkto=mysql_fetch_row($result_haben);
          $queryh="SELECT * FROM konten WHERE kt_manr = " . $mandant . ";";
          $result_haben=mysql_query($queryh);
          $saetze_haben=mysql_num_rows($result_haben);

          for($i=0; $i<=$saetze_haben; $i++)
          {
             $habenkto=mysql_fetch_row($result_haben);
             if($bt_haben == $habenkto[1] and
                $habenkto[4] == 'V' and
                $bt_ustpr <> 0)
             {
                $bt_vorsteuer = $bt_vorsteuer-($bt_betrag*$bt_ustpr/(100+$bt_ustpr));
             }
             if($bt_haben == $habenkto[1] and
                $habenkto[4] == 'U')
             {
                $bt_umsatzsteuer = $bt_umsatzsteuer+($bt_betrag*$bt_ustpr/(100+$bt_ustpr));
             }
          }

      }

   // Jetzt müssen die buchungen upgedated werden
   $queryupd="UPDATE buchung_temp set bt_vstbetrag=" . $bt_vorsteuer;
   $queryupd=$queryupd . ", bt_ustbetrag=" . $bt_umsatzsteuer;
   $queryupd=$queryupd . ", bt_verbucht=1 where bt_manr = " . $mandant . " and bt_magic=";
   $queryupd=$queryupd . $bt_magic . ";";
   $result_upd=mysql_query($queryupd);
      if(mysql_errno() <> 0)
         {
           echo("<br><b>Fehler " . mysql_errno() . " beim Schreiben der Buchung!!!!</b>");
           echo("<br>" . mysql_error());
           die("<br><b>Ende der Verarbeitung</b>");
         }



   //echo("<tr><td>Buchung " . $bt_magic . "</td><td>VSt " . $bt_vorsteuer . "</td><td>USt " . $bt_umsatzsteuer . "</td></tr>");

   }
   mysql_free_result($resultust);
?>

<br>
<b>Verarbeitung beendet</b><br>
<a href="bu_erfassen.php?mandant=<? echo$mandant; ?>&username=<? echo$username; ?>">Zurück zur Buchungserfassung</a>
<br><a href="main.php">Zurück zum Hauptmenü</a>

</table>
</body>
</html>


Return current item: Web(b)h FiBu fuer deutsches Steuerrecht