Mehrwertsteuerer funktioniert nicht - Hilfe zur Selbsthilfe

Thema wurde von DKG - Die Kleine Geschenkidee (Peter), 1. Juli 2020 erstellt.

  1. DKG - Die Kleine Geschenkidee (Peter)

    Registriert seit:
    2. Oktober 2017
    Beiträge:
    304
    Danke erhalten:
    159
    Danke vergeben:
    101
    #1 DKG - Die Kleine Geschenkidee (Peter), 1. Juli 2020
    Zuletzt bearbeitet: 3. Juli 2020
    Hallo,

    nachdem der Mehrwertsteuerer sowohl in Version 1.0.0 als auch Version 1.0.2 bei mir nicht funktioniert haben, habe
    ich mir selbst geholfen. Mitten in der Nacht ist gambio ja nicht erreichbar, also hatte ich keine Wahl.

    Schritt 1) Erstelle folgenden Table in Deiner Datenbank

    Code:
    CREATE TABLE `mwst_umstellung` (
      `id` int(11) NOT NULL,
      `products_id` int(11) NOT NULL,
      `products_model` varchar(64) DEFAULT NULL,
      `alter_nettopreis` decimal(15,4) NOT NULL DEFAULT 0.0000,
      `bruttopreis` decimal(15,2) NOT NULL DEFAULT 0.00,
      `neuer_nettopreis` decimal(15,4) NOT NULL DEFAULT 0.0000
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
    Wichtiger Nachtrag:

    bei dem Datenbanktable muss die Spalte "id"
    als Primärschlüssel festgelegt werden und
    Auto Increment aktiviert werden.


    Schritt 2) Passe folgendes Script auf Deine Bedürfnisse an
    (Bootstrap Link einfügen) und lade es auf Dein FTP hoch


    Code:
    <html>
    <head>
    <title>MWST UMSTELLUNG</title>
    <link rel="stylesheet" href="<---- Link zu Deinem Bootstrap 4 CSS ----->">
    </head>
    <body>
    
    
    <div class="row" style="max-width: 100% !important">
    <div class="col-1"></div>
    <div class="col-10">
    
    <table class="table table-sm">
      <thead class="thead-dark">
        <tr>
          <th scope="col">Products ID</th>
          <th scope="col">Products Model</th>
          <th scope="col">Alter Nettopreis</th>
          <th scope="col">Bruttopreis</th>
          <th scope="col">Neuer Nettopreis</th>
        </tr>
      </thead>
      <tbody>
    
    
    <?php
    
    include 'db.inc.php';
     
    $produkteabfragen = mysqli_query($link, "SELECT
                                        products_id,
                                        products_model,
                                        products_price
                                   FROM products");
    while($row = mysqli_fetch_assoc($produkteabfragen)){
    
    $products_id = $row['products_id'];
    $products_model = $row['products_model'];
    $alter_nettopreis = $row['products_price'];
    
    $bprechnung = $alter_nettopreis * 1.19;
    $bruttopreis = round($bprechnung, 2);
    
    $nnpschritt1 = $bruttopreis / 116;
    $nnpschritt2 = $nnpschritt1 * 100;
    $neuer_nettopreis = round($nnpschritt2, 4);
    
    
    
    echo '<tr>';
    echo '<td>'.$products_id.'</td>';
    echo '<td>'.$products_model.'</td>';
    echo '<td>'.$alter_nettopreis.'</td>';
    echo '<td>'.$bruttopreis.'</td>';
    echo '<td>'.$neuer_nettopreis.'</td>';
    echo '</tr>';
    
    $pruefeinlesen = mysqli_query($link, "SELECT products_id FROM mwst_umstellung WHERE products_id = '$products_id'");
    if(mysqli_num_rows($pruefeinlesen)<1) {
    
    $up1 = mysqli_query($link, "UPDATE products SET products_price = '".$neuer_nettopreis."' WHERE `products_id` = '".$products_id."' AND `products_model` = '".$products_model."'");
    $up2 = mysqli_query($link, "INSERT INTO mwst_umstellung (id, products_id, products_model, alter_nettopreis, bruttopreis, neuer_nettopreis)
                                VALUES ( NULL,'$products_id', '$products_model', '$alter_nettopreis', '$bruttopreis', '$neuer_nettopreis');");
     
    
    }
    }
    ?>
    
      </tbody>
    </table>
    
    </body>
    </html>
    Benenne die Datei zum Beispiel mwst-umstellen.php.

    Damit das Ganze funktioniert, musst Du noch die db.inc.php in das Gleiche Verzeichnis laden bzw. dort erstellen.
    Der Inhalt könnte z.B. aussehen:

    Code:
    <?php
    $link = mysqli_connect("localhost", "Benutzername", "Passwort", "Datenbank");
    mysqli_query($link, "SET NAMES 'utf8'") or die(mysqli_error());
    mysqli_query($link, "SET CHARACTER SET 'utf8'") or die(mysqli_error());
    /* check connection */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    ?>
    Natürlich musst Du noch die Datenbank Logindaten eintragen, sonst funzt es nicht.

    Danach einfach die mwst-umstellen.php im Browser ausführen, fertig.
    Benutzung auf eigene Gefahr.
    Ich übernehme keine Haftung.

    Beachte:
    - Die Steuersätze, Preise für Eigenschaften etc. musst Du noch manuell anpassen.
    - Das Script ändert nur die Nettopreise, die Bruttopreise bleiben gleich.
    - Wenn Du viele Artikel hast, arbeite in der Datenbankabfrage erst einmal mit z.B. LIMIT 5000 und steigere Dich dann hoch.

    Have Fun.
    Beste Grüße
     
  2. DKG - Die Kleine Geschenkidee (Peter)

    Registriert seit:
    2. Oktober 2017
    Beiträge:
    304
    Danke erhalten:
    159
    Danke vergeben:
    101
    Hier noch der Link zum Bootstrap 4 CDN, falls Ihr das nicht auf Eurem Webspace liegen habt:

    Code:
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    Ist nur dafür da damit Eure Datei etwas ansehnlicher / übersichtlicher ist.