Visualizzazione risultati 1 fino 18 di 18

Discussione: Calcolare 2 iva

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito Calcolare 2 iva

    Ciao

    Richiamo dal db e stampo i dati di una fattura in questo modo:

    Codice PHP:
    while ($result = mysql_fetch_array($esegui)) {
    $quan = $result["quantita"];

    $prezzo_uni = $result["prezzo_un"];
    $iva = $result["iva"];
    $imponibile = $quan*$prezzo_uni;
    echo
    "
    <tr>
    <td width=\"10%\" height=\"5\" align=\"right\">
    $result[codice]</td>
    <td width=\"30%\" height=\"5\" align=\"center\">
    $result[descrizione]</td>
    <td width=\"10%\" height=\"5\" align=\"right\">
    $quan</td>
    <td width=\"10%\" height=\"5\" align=\"right\">
    $iva</td>
    <td width=\"20%\" height=\"5\" align=\"right\">"
    .number_format($prezzo_uni, 2, ',', '.')."</td>
    <td width=\"20%\" height=\"5\" align=\"right\" >"
    .number_format($imponibile, 2, ',', '.')."</td>
    </tr>"
    ;

    }


    echo
    "
    </table>
    <table border=\"0\" cellspacing=\"0\" cellpadding=\"5\"width=\"100%\" height=\"100\">
    <tr>
    <td width=\"60%\" height=\"31\"><b>Aspetto dei beni</b></td>
    </center>
    <td width=\"20%\" height=\"14\">
    <p align=\"right\"><b>Tot. Imponibile</b></td>
    <center>
    <td width=\"20%\" height=\"34\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($tot_imp, 2, ',', '.')."</td>
    </tr>
    <tr>
    <td width=\"60%\" height=\"24\"><input type=text name=aspetto size=50></td>
    <td width=\"20%\" height=\"21\" align=\"right\"><b>IVA&nbsp;&nbsp; 4%</b></td>
    <td width=\"20%\" height=\"21\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($iva4, 2, ',', '.')."</td>
    </tr>
    <tr>
    <td width=\"60%\" height=\"62\" rowspan=\"2\"></td>
    <td width=\"20%\" height=\"25\" align=\"right\"><b>IVA 10%</b></td>
    <td width=\"20%\" height=\"25\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($iva10, 2, ',', '.')."</td>
    </tr>
    </center>
    <tr>
    <td width=\"20%\" height=\"35\">
    <p align=\"right\"><b>TOTALE FATTURA</b></td>
    <center>
    <td bgcolor=\"#F3F3F3\"width=\"20%\" height=\"35\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($tot_fatt, 2, ',', '.')."</td>
    </tr>
    </table>"
    ;
    Il totale imponibile posso calcolarlo così:

    Tot_imp += $imponibile;

    Il problema è che non ho considerato che l'iva può essere sia
    al 4% sia al 10% per gli imponibili
    e, in questo caso non saprei come separare
    i diversi imponibili e calcolare l'iva giusta che dovrei anche visualizzare come vedete nel codice sopra ($iva4 e $iva10).

    Potete aiutarmi

  2. #2
    Guest

    Predefinito

    ma l'iva non è al cliente? o sul prodotto? bhe se l'iva puo' essere modificata sull'articolo allora lo metti in una cella per l'articolo (tipo 1,04 o 1,10 o 1,20 a seconda che l'iva sia al 4% al 10% o al 20%) Questo se vendi articoli come caffe (al 4%) o materiale normale (20%).

    quindi l'unica soluzione è mettere un campo iva articolo....

  3. #3
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da demenziale
    ma l'iva non è al cliente? o sul prodotto? bhe se l'iva puo' essere modificata sull'articolo allora lo metti in una cella per l'articolo (tipo 1,04 o 1,10 o 1,20 a seconda che l'iva sia al 4% al 10% o al 20%) Questo se vendi articoli come caffe (al 4%) o materiale normale (20%).

    quindi l'unica soluzione è mettere un campo iva articolo....
    Non so se ho inteso.
    Calcolo l'iva direttamente nel ciclo while e la sommo in una variabile diversa a seconda che si tratti del'iva sull'articolo al 4 o al 10.
    Ok?

  4. #4
    Guest

    Predefinito

    se ho capito quello che hai capito sì, la calcoli direttamente dentro il ciclo while, visto che è relativa a quella voce
    ciao!

  5. #5
    Guest

    Predefinito

    l'iva varia sia in base al cliente che in base agli articoli.
    Esempio: il caffè ha iva al 4%
    il cd musicale ha iva al 20%

    quindi devi calcolare l'iva in base all'articolo

    poi però ci sono anche dei clienti particolari (Associazioni senza scopo di lucro (credo), clienti esteri (sicuro)) che non pagano nessuna iva. Quindi se tu fai una fattura ad un cliente che si trova all'estero non devi calcolare l'iva mentre se la fai ad un cliente italiano si.
    per quanto riguarda il codice di implementazione per il calcolo dell'iva (a seguito dei ragionamenti) devi avere necessariamente un codice iva per ogni articolo e quindi un valore numerico
    e farai quindi

    while(....) {
    $tot += $qta*$prezzo*$ivaArticolo;
    }

    così

  6. #6
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da demenziale
    l'iva varia sia in base al cliente che in base agli articoli.
    Esempio: il caffè ha iva al 4%
    il cd musicale ha iva al 20%

    quindi devi calcolare l'iva in base all'articolo

    poi però ci sono anche dei clienti particolari (Associazioni senza scopo di lucro (credo), clienti esteri (sicuro)) che non pagano nessuna iva. Quindi se tu fai una fattura ad un cliente che si trova all'estero non devi calcolare l'iva mentre se la fai ad un cliente italiano si.
    per quanto riguarda il codice di implementazione per il calcolo dell'iva (a seguito dei ragionamenti) devi avere necessariamente un codice iva per ogni articolo e quindi un valore numerico
    e farai quindi

    while(....) {
    $tot += $qta*$prezzo*$ivaArticolo;
    }

    così
    Si però così calcolo l'iva totale correttamente ma non le separo e visualizzo il totale per le 2 aliquote separatamente. Ho fatto così:

    Codice PHP:
    ....
    while (
    $result = mysql_fetch_array($esegui)) {
    $quan = $result["quantita"];
    $prezzo_uni = $result["prezzo_un"];
    $iva = $result["iva"];
    $imponibile = $quan*$prezzo_uni;
    $aliquota = ($imponibile*$iva)/100;

    if (
    $iva == 4)
    $iva4 += $aliquota;
    else
    $iva10 += $aliquota;
    $tot_imp += $imponibile;

    ....

    <
    tr>
    <
    td width=\"60%\" height=\"24\"><input type=text name=aspetto size=50></td>
    <td width=\"20%\" height=\"21\" align=\"right\"><b>IVA&nbsp;&nbsp; 4%</b></td>
    <td width=\"20%\" height=\"21\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($iva4, 2, ',', '.')."</td>
    </tr>
    <tr>
    <td width=\"60%\" height=\"62\" rowspan=\"2\"></td>
    <td width=\"20%\" height=\"25\" align=\"right\"><b>IVA 10%</b></td>
    <td width=\"20%\" height=\"25\"align=\"right\"><b>€</b>&nbsp;&nbsp;"
    .number_format($iva10, 2, ',', '.')."</td>
    </tr>

    .....
    e poi sommo tutto per il tot fattura
    Ho fatto bene e pensate che ci sia un bug?
    grazie e ciao

  7. #7
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    scusa,
    se ho capito,fai due controlli per il 4 e per il 10%,calcoli i loro imponibili separatamente in 'unaltro while ,metti la condizione che una volta che hai finito di calcolare se ne esce e te li somma.
    Se ti spiegassi meglio forse potrei aiutarti anche meglio.
    ciao
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  8. #8
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da Xsescott
    scusa,
    se ho capito,fai due controlli per il 4 e per il 10%,calcoli i loro imponibili separatamente in 'unaltro while ,metti la condizione che una volta che hai finito di calcolare se ne esce e te li somma.
    Se ti spiegassi meglio forse potrei aiutarti anche meglio.
    ciao
    Giusto per chiarire, tanto penso di aver risolto (a meno che non ci sia qualche bug che non vedo)..
    L'imponibile è lo stesso (sempre prezzo x quantità).
    L'iva viene calcolata in base al valore richiamato dal DB (quindi se è 4% viene calcolato al 4 ecc ecc) e anche qui non ci sono problemi.

    Il problema stava nell'attribuzione dei valori alle 2 variabili che dovevano riportare le somme totali delle 2 iva calcolate ma sommate separatamente.
    Spero di essere stato chiaro.
    Grazie comunque e ciao

  9. #9
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Aggiungi le parentesi che mancano e dovrebbe andare bene.
    ciao
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  10. #10
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da Xsescott
    Aggiungi le parentesi che mancano e dovrebbe andare bene.
    ciao
    le graffe alla condizione if else?
    ciao

  11. #11
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    si,anche se ti consiglio di fare un controllo in più oltre a =4 metti un controllo su =10 e nell'else metti "c'è stato un errore nell'importo dell'iva per questo prodotto" contatta l'inserzionista...questo nel caso in cui non si inseriscano i dati tramite form ma direttamente a mano nel database..credo che per l'ultimo caso convenga e anche se utilizzi un text nel form per inserire questi due dati sull'iva.

    Se poi utilizzi l'option value nel form,puoi lasciare anche come è tutt'ora.
    Ciauz!
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da gianlucaweb
    le graffe alla condizione if else?
    Se dopo l'if viene effettuata una sola operazione le parentesi graffe si possono omettere; lo stesso vale dopo l'else.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  13. #13
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Ha ragione funcol,anche se io le utilizzo sempre per orientarmi meglio verso il codice,alla fine non cambia nulla giusto?:)
    ciao
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da Xsescott
    alla fine non cambia nulla giusto?
    Sì, però se è codice in più è sempre meglio risparmiare.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    Risparmiare spazio intendi?non cambiano nulla le parentesi graffe,una graffa hai l'idea di quanta memoria utilizza?:°D
    al massimo sulle lunghe espressioni dove si consumano calcoli inutili bisogna risparmiare utilizzando le funzioni contenenti i calcoli più veloci!;)
    che poi se in futuro volessi aggiungerci altre istruzioni?:P diciamo che almeno m le trovo.
    poi cmq ripeto,io lo faccio per leggere meglio il codice,o forse solo perchè abituato anche con altri linguaggi dove le parentesi non si omettono ;)
    Ciao
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  16. #16
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da Xsescott
    Risparmiare spazio intendi?non cambiano nulla le parentesi graffe,una graffa hai l'idea di quanta memoria utilizza?:°D
    Ho solo risposto alla tua domanda... La mia sarà deformazione professionale ma cerco di rendere i miei script/programmi più leggeri e veloci possibili.

    P.S.: Come testo pesano da 1 byte a qualche byte.
    Ultima modifica di funcool : 29-11-2006 alle ore 19.04.16
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  17. #17
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    capito!
    e come si dice:"ognuno ha i suoi gusti!!";)
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

  18. #18
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da funcool
    Se dopo l'if viene effettuata una sola operazione le parentesi graffe si possono omettere; lo stesso vale dopo l'else.
    ok, grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •