[PHP] Problem mit einfacher Rechnung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Rainer Zufall, 13. Oktober 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 13. Oktober 2009
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Problem mit einfacher Rechnung

    MoinMoin,

    ich habe ein kleines problem mit einem Webshop....
    Derjenige der den Shop betreibt hat muss in seiner Bestätigungsmail die MwSt ausweisen, d.h. 19% des Gesamtbetrages. Allerdings funktioniert die Steuerberechnung um Shop selbst nicht, weswegen ich mir gedacht hab das dies doch einfach gehen müsste - einfach die Endsumme die angezeigt wird mit 0,19 multiplizieren und schwupps - MwSt ausgewiesen. Komplett falsch gedacht, es klappt einfach nicht so wie ich es will. Das benutzte Shopsystem ist Virtuemart für Joomla, hier die zu editierende Datei:
    No File | xup.in
    Das ganze spielt sich um Zeile 250 ab

    Danke im voraus schonmal
     
  2. 13. Oktober 2009
    AW: Problem mit einfacher Rechnung

    Hi, ich kenne das Shopsystem nicht aber ich hoffe ich kann helfen

    Zeile: 249
    PHP:
    <? php 
    $ergebnis 
    = ( $order_total * 19 / 100 )+ $order_total
    echo 
    $ergebnis 
    ?>
    Rabatte müssen vorher abgezogen wenn es noch nicht geschehen ist.

    PHP:
    <? php 
    $order_total 
    $order_total  $discount
    $ergebnis  = ( $order_total * 19 / 100 )+ $order_total
    echo 
    $ergebnis 
    ?>
    hoffentlich konnte ich helfen
     
  3. 13. Oktober 2009
    AW: Problem mit einfacher Rechnung

    Die Mehrwertsteuer wird aber nach dem Nettopreis berechnet und beträgt also nicht 19/100 sonder 19/119 des Gesamtpreises...
     
  4. 14. Oktober 2009
    AW: Problem mit einfacher Rechnung

    du willst die mwst vom brutto errechnen.
    also die ust (umsatzsteuer)

    PHP:
    <?

    function  mathMwst  ( $int $mwst $dez = 4 ){
        
    $mwstmath  bcadd  ( bcdiv  ( $mwst , 100 , $dez ), 1 , $dez );
        
    $bmg  bcdiv  ( $int , $mwstmath , $dez );
        
        
    $mwstmath  bcsub  ( $mwstmath , 1 , $dez );
        
    $ust  bcmul ( $bmg , $mwstmath , $dez );
        
    $ust  number_format ( $ust , 2 );
        
        return (
    $ust );
    }

    echo 
    mathMwst  ( 19 19 );
    ?>
    dein server muß bcmath funktionen können.
    - bcadd
    - bcsub
    - bcmul
    - bcdiv
     
  5. 15. Oktober 2009
    AW: Problem mit einfacher Rechnung

    Wenn ich die Methode von Spo0n22 verwende kriege ich das Ergebnis "0", kann es sein das das € Zeichen in order_total Probleme macht?

    Leider verstehe ich wenig von dem was du geschrieben hast onip, ich wüsste nicht wie ich das auf mein Problem anwenden könnte, wäre nett wenn du ein paar Erläuterungen geben könntest
     
  6. 15. Oktober 2009
    AW: Problem mit einfacher Rechnung

    das ist ein fertig function

    du übergibst den brutto wert und die mwst und erhälst den netto wert zurück

    // 1 EUR, 19% mwst
    $netto = mathMwst (1, 19);

    das ist doch das was du willst, oder verstehe ich was falsch?
     
  7. 15. Oktober 2009
    AW: Problem mit einfacher Rechnung

    Das Problem für mich ist nur wie ich das in meine Datei die ich im ersten Post drinne habe einbau/umsetze, da ich keine großen PHP Kenntnisse habe
     
  8. 16. Oktober 2009
    AW: Problem mit einfacher Rechnung

    wie auch immer deine datei aussieht,
    du kopierst du funktion rein, am besten ganz oben.

    dann muß du nur die funktion für deine berechnungen aufrufen, fertig.
     
  9. 16. Oktober 2009
    AW: Problem mit einfacher Rechnung

    also ich brauche keine speziellen php-module um die mehrwertsteuer auszurechnen...

    die funktion ist daher völliger schwachsinn...

    @TS: vergiss ganz schnell die funktion von onip...

    benutz das teil von Spo0n22 und schau, dass du es zum laufen bringst:

    wenn order_total den betrag in € mit einem euro-zeichen enthält, dann musst du natürlich das eurozeichen für die berechnung abschneiden. schau dir dazu mal die stringfunktionen von php an.

    da ich nicht weiß, was genau in order_total gespeichert ist (denn das kommt in dem codestück nur 1 mal vor und wird da auch nur ausgegeben: hat das überhaupt einen wert zugewiesen bekommen?), kann ich hier nicht weiter helfen.
     
  10. 16. Oktober 2009
    AW: Problem mit einfacher Rechnung

    PHP:
    <? php 
    $order_total 
    '100 €' ;
    $discount  '15 €' ;

    //Ohne Rabatt
    $ergebnis  = ( $order_total * 19 / 100 )+ $order_total
    echo 
    $ergebnis  ;
    echo 
    '<br/><br/>' ;

    //Mit Rabatt
    $order_total  $order_total  $discount
    $ergebnis  = ( $order_total * 19 / 100 )+ $order_total
    echo 
    $ergebnis  ;
    ?>
    Ich habe das jetzt so getestet und als ergebnis bekomme ich 119 raus und bei rabatt 101.15, das € zeichen scheint nicht zu stören

    Gib mal in der PHP datei einfach $order_total aus und schau mal was da für ein wert rauskommt um den Fehler zu finden

    PHP:
    <? php 
    echo  $order_total ;
    ?>
     
  11. 17. Oktober 2009
    AW: Problem mit einfacher Rechnung

    Ich habe es jetzt geschafft durch folgenden Code den Wert berechnen zu lassen:
    PHP:
    <? php printf ( $db -> f ( "order_total" ) *( 19 / 119 )) ?>
    dort gibt er mir bei einem Bestellwert von15,58€ die meines wissens nach korrekte MwSt. von 2.4875630252101 aus. Jetzt muss ich das Ergebnis nur noch auf 2 Nachkommastellen runden, denn ist alles gut. Kann mir da jemand einen letzten Tipp geben?
     
  12. 17. Oktober 2009
    AW: Problem mit einfacher Rechnung

    PHP:
    $zahl  sprintf  ( '%.2f' , $zahl );
    .2 steht für wieviele Nachkommastellen.

    Mfg Rushh0ur
     
  13. 17. Oktober 2009
    AW: Problem mit einfacher Rechnung

    Oder noch einfacher:

    PHP:
    echo  round ( 1.95583 2 );   // 1.96
    round() @ PHP.net
     
  14. 17. Oktober 2009
    AW: Problem mit einfacher Rechnung

    Danke, hat alles geklappt, hab es mit der Methode von Rushh0ur gemacht

    Ich schließe hier denn mal
     
  15. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.