Exemple #1
0
     }
 }
 if ($r->rechnungstyp == 'Gutschrift' or $r->rechnungstyp == 'Stornorechnung') {
     /* Zahlung */
     if ($r->empfangs_geld_konto != $geldkonto_id) {
         $vorzeichen = '';
     } else {
         $vorzeichen = '-';
     }
 }
 /* Falls nur ein Betrag zu buchen ist */
 if ($buchungs_art == 'Gesamtbetrag') {
     if ($buchungsbetrag == 'Skontobetrag') {
         $proz = $r->rechnungs_mwst / ($r->rechnungs_brutto / 100);
         $skontiert_mwst = $r->rechnungs_skontobetrag * $proz / 100;
         $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $r->rechnungs_skontobetrag, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto, $vorzeichen . $skontiert_mwst);
     }
     if ($buchungsbetrag == 'Bruttobetrag') {
         $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $r->rechnungs_brutto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto, $vorzeichen . $r->rechnungs_mwst);
     }
     if ($buchungsbetrag == 'Nettobetrag') {
         $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $r->rechnungs_netto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto);
     }
 }
 /* Falls mehrere Beträge zu buchen sind, d.h wie kontiert */
 if ($buchungs_art == 'Teilbetraege') {
     $r->beleg_kontierungs_arr($datum, $kto_auszugsnr, $belegnr, $vorzeichen, $buchungsbetrag, $vzweck, $geldkonto_id);
 }
 if ($r->empfangs_geld_konto == $geldkonto_id) {
     if ($r->rechnungstyp == 'Gutschrift') {
         $r->rechnung_als_gezahlt($belegnr, $datum);
 function beleg_kontierungs_arr($datum, $kto_auszugsnr, $belegnr, $vorzeichen, $buchungsbetrag, $vzweck, $geldkonto_id)
 {
     $this->rechnung_grunddaten_holen($belegnr);
     $r = new rechnung();
     // aus berlussimo_class
     $b = new buchen();
     // benötigt zum verbuchen einzelner positionen nach kontierung
     $kontierungs_status = $r->rechnung_auf_kontierung_pruefen($belegnr);
     if ($kontierungs_status == 'vollstaendig') {
         /*
          * ALT OK Ohne MWST
          *
          * $result = mysql_query ("SELECT sum( GESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) AS NETTO, sum( (
          * (
          * GESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) /100
          * ) * ( 100 + MWST_SATZ )
          * ) AS BRUTTO, sum( (
          * (
          * (
          * GESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) /100
          * ) * ( 100 + MWST_SATZ ) /100
          * ) * ( 100 - SKONTO )
          * ) AS SKONTO_BETRAG,
          *
          * KONTENRAHMEN_KONTO, KOSTENTRAEGER_TYP, KOSTENTRAEGER_ID
          * FROM `KONTIERUNG_POSITIONEN`
          * WHERE BELEG_NR = '$belegnr' && AKTUELL = '1'
          * GROUP BY KOSTENTRAEGER_TYP, KOSTENTRAEGER_ID, KONTENRAHMEN_KONTO") or die(mysql_error());
          */
         $result = mysql_query("SELECT *, BRUTTO-NETTO AS MWST_BRUTTO,  (BRUTTO-NETTO)/100*(100-SKONTO) AS  MWST_SKONTIERT FROM ( \nSELECT sum( GESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) AS NETTO, sum( (\n(\nGESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) /100\n) * ( 100 + MWST_SATZ )\n) AS BRUTTO, sum( (\n(\n(\nGESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) /100\n) * ( 100 + MWST_SATZ ) /100\n) * ( 100 - SKONTO )\n) AS SKONTO_BETRAG,\n\n\n KONTENRAHMEN_KONTO, KOSTENTRAEGER_TYP, KOSTENTRAEGER_ID,SKONTO\nFROM `KONTIERUNG_POSITIONEN`\nWHERE BELEG_NR = '{$belegnr}' && AKTUELL = '1'\nGROUP BY KOSTENTRAEGER_TYP, KOSTENTRAEGER_ID, KONTENRAHMEN_KONTO) as t1") or die(mysql_error());
         $numrows = mysql_numrows($result);
         if ($numrows > 0) {
             while ($row = mysql_fetch_assoc($result)) {
                 $my_array[] = $row;
                 // $art_bez = $r->kontierungsartikel_holen($belegnr, $pos);
                 // $vzweck_neu = "ERFNR:$belegnr, Position $pos,"." $menge x $art_bez";
                 $kostentraeger_typ = $row['KOSTENTRAEGER_TYP'];
                 $kostentraeger_id = $row['KOSTENTRAEGER_ID'];
                 $kostenkonto = $row['KONTENRAHMEN_KONTO'];
                 $netto = sprintf("%01.2f", $row['NETTO']);
                 // $netto_mwst = sprintf("%01.2f", $row['MWST_NETTO']);
                 $brutto = sprintf("%01.2f", $row['BRUTTO']);
                 $brutto_mwst = sprintf("%01.2f", $row['MWST_BRUTTO']);
                 $skonto = sprintf("%01.2f", $row['SKONTO_BETRAG']);
                 $skonto_mwst = sprintf("%01.2f", $row['MWST_SKONTIERT']);
                 if ($buchungsbetrag == 'Nettobetrag') {
                     $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $netto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto);
                 }
                 if ($buchungsbetrag == 'Bruttobetrag') {
                     $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $brutto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto, $vorzeichen . $brutto_mwst);
                 }
                 if ($buchungsbetrag == 'Skontobetrag') {
                     $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $skonto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto, $vorzeichen . $skonto_mwst);
                 }
             }
             // end while
         }
         // end if $numrows
         weiterleiten_in_sec('?daten=buchen&option=buchungs_journal', 2);
     } else {
         echo "FEHLER: Kontierung {$kontierungs_status}";
         weiterleiten_in_sec("?daten=rechnungen&option=rechnung_kontieren&belegnr={$belegnr}", 3);
     }
 }
 function ueberwiesene_rechnung_buchen($datum, $kto_auszugsnr, $belegnr, $vorzeichen, $rechnungs_betrag, $vzweck, $geldkonto_id)
 {
     $r = new rechnung();
     // aus berlussimo_class
     $b = new buchen();
     // benötigt zum verbuchen einzelner positionen nach kontierung
     $r->rechnung_grunddaten_holen($belegnr);
     $kontierungs_status = $r->rechnung_auf_kontierung_pruefen($belegnr);
     if ($kontierungs_status == 'vollstaendig') {
         $result = mysql_query("SELECT sum( GESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) AS NETTO, sum( (\n(\nGESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) /100\n) * ( 100 + MWST_SATZ )\n) AS BRUTTO, sum( (\n(\n(\nGESAMT_SUMME - ( GESAMT_SUMME /100 * RABATT_SATZ ) ) /100\n) * ( 100 + MWST_SATZ ) /100\n) * ( 100 - SKONTO )\n) AS SKONTO_BETRAG, KONTENRAHMEN_KONTO, KOSTENTRAEGER_TYP, KOSTENTRAEGER_ID, MWST_SATZ\nFROM `KONTIERUNG_POSITIONEN`\nWHERE BELEG_NR = '{$belegnr}' && AKTUELL = '1'\nGROUP BY KOSTENTRAEGER_TYP, KOSTENTRAEGER_ID, KONTENRAHMEN_KONTO") or die(mysql_error());
         $numrows = mysql_numrows($result);
         if ($numrows > 0) {
             while ($row = mysql_fetch_assoc($result)) {
                 // $my_array[] = $row;
                 // $art_bez = $r->kontierungsartikel_holen($belegnr, $pos);
                 // $vzweck_neu = "ERFNR:$belegnr, Position $pos,"." $menge x $art_bez";
                 $kostentraeger_typ = $row['KOSTENTRAEGER_TYP'];
                 $kostentraeger_id = $row['KOSTENTRAEGER_ID'];
                 $kostenkonto = $row['KONTENRAHMEN_KONTO'];
                 $netto = sprintf("%01.2f", $row['NETTO']);
                 $brutto = sprintf("%01.2f", $row['BRUTTO']);
                 $skonto = sprintf("%01.2f", $row['SKONTO_BETRAG']);
                 $mwst_satz = $row['MWST_SATZ'];
                 /* Netto ohne MWST buchen */
                 if ($rechnungs_betrag == $r->rechnungs_netto) {
                     $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $netto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto);
                 }
                 /* Brutto oder Skontiert = brutto, also OHNE SKONTO */
                 if ($rechnungs_betrag == $r->rechnungs_brutto) {
                     $mwst = $brutto / (100 + $mwst_satz) * $mwst_satz;
                     $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $brutto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto, $vorzeichen . $mwst);
                 }
                 /* Skontiert buchen */
                 if ($rechnungs_betrag == $r->rechnungs_skontobetrag && $rechnungs_betrag < $r->rechnungs_brutto) {
                     $mwst = $skonto / (100 + $mwst_satz) * $mwst_satz;
                     $b->geldbuchung_speichern_rechnung($datum, $kto_auszugsnr, $belegnr, $vorzeichen . $skonto, $vzweck, $geldkonto_id, $kostentraeger_typ, $kostentraeger_id, $kostenkonto, $vorzeichen . $mwst);
                 }
             }
             // end while
         }
         // end if $numrows
         echo "RECHNUNG {$belegnr} wurde gebucht!<br>";
         // weiterleiten_in_sec('?daten=buchen&option=buchungs_journal', 2);
     } else {
         fehlermeldung_ausgeben("FEHLER: Kontierung {$kontierungs_status} ->Erfassungsnr: {$belegnr}");
         // weiterleiten_in_sec("?daten=rechnungen&option=rechnung_kontieren&belegnr=$belegnr", 3);
     }
 }
Exemple #4
0
 function wohngeld_buchung_speichern($eigentuemer_id, $einheit_id, $geldkonto_id, $datum, $kontoauszug, $def_array, $def_b_texte, $wg_g_konto, $wg_g_betrag, $buchungstext)
 {
     /* Wohngeldgesamtbetrag buchen */
     $kontoauszugsnr = $kontoauszug;
     $b = new buchen();
     $datum = date_german2mysql($datum);
     $wg_g_betrag = nummer_komma2punkt($wg_g_betrag);
     $b->geldbuchung_speichern_rechnung($datum, $kontoauszugsnr, $kontoauszugsnr, $wg_g_betrag, $buchungstext, $geldkonto_id, 'Eigentuemer', $eigentuemer_id, $wg_g_konto);
     /* Buchung der Einzelbeträge */
     $anz = count($def_array);
     if ($anz > 0) {
         $def_konten = array_keys($def_array);
     }
     for ($a = 0; $a < $anz; $a++) {
         $buchungskonto = $def_konten[$a];
         $buchungs_betrag = $def_array[$buchungskonto];
         $buchungstext1 = $def_b_texte[$a];
         /* Teilbuchung auf dem Gruppenkonto runter nehmen als Negativbetrag */
         if ($buchungs_betrag > 0) {
             $buchungs_betrag = '-' . $buchungs_betrag;
         } else {
             $buchungs_betrag = substr($buchungs_betrag, 1);
         }
         $buchungs_betrag_db = nummer_komma2punkt($buchungs_betrag);
         $b->geldbuchung_speichern_rechnung($datum, $kontoauszugsnr, $kontoauszugsnr, $buchungs_betrag_db, $buchungstext1, $geldkonto_id, 'Eigentuemer', $eigentuemer_id, $wg_g_konto);
         if ($buchungs_betrag < 0) {
             $buchungs_betrag = substr($buchungs_betrag, 1);
         } else {
             $buchungs_betrag = '-' . $buchungs_betrag;
         }
         $buchungs_betrag_db = nummer_komma2punkt($buchungs_betrag);
         /* Teilbuchung auf separatem Buchungskonto */
         $b->geldbuchung_speichern_rechnung($datum, $kontoauszugsnr, $kontoauszugsnr, $buchungs_betrag_db, $buchungstext1, $geldkonto_id, 'Eigentuemer', $eigentuemer_id, $buchungskonto);
     }
     $f = new formular();
     $f->fieldset("Geldkontoinfos", 'kontrol');
     $g = new geldkonto_info();
     $kontostand_aktuell = nummer_punkt2komma($g->geld_konto_stand($_SESSION['geldkonto_id']));
     if (isset($_SESSION[temp_kontostand]) && isset($_SESSION[temp_kontoauszugsnummer])) {
         $kontostand_temp = nummer_punkt2komma($_SESSION[temp_kontostand]);
         echo "<h3>Kontostand am {$_SESSION['temp_datum']} laut Kontoauszug {$_SESSION['temp_kontoauszugsnummer']} war {$kontostand_temp} €</h3>";
     }
     if ($kontostand_aktuell == $kontostand_temp) {
         echo "<h3>Kontostand aktuell: {$kontostand_aktuell} €</h3>";
     } else {
         echo "<h3 style=\"color:red\">Kontostand aktuell: {$kontostand_aktuell} €</h3>";
     }
     $f->fieldset_ende();
     weiterleiten_in_sec('?daten=weg&option=wohngeld_buchen_auswahl_e', 3);
 }