Tipi IVA diversi per ogni prodotto venduto

Salve
Come sappiamo, in Italia abbiamo numerose aliquote IVA:

  • IVA 4%
  • IVA 10%
  • IVA 22%

E poi abbiamo anche il Fuori Campo IVA, le Antincipazioni c/to clienti, l’Escluso IVA, l’Esente IVA eccetera.

Vorrei creare un template fattura che stampi la “descrizione del tipo IVA” per ogni articolo venduto e che stampi in fondo ai totali, i diversi totali per tipo di aliquota.

Insomma qualcosa del genere:

Codice  Descrizione  Pz  NettoUnitario  NettoRiga  DescrAliquota  PercentAliquota
M01     Latte        12  10,00          120,00     IVA 4%         4%
W02     Acqua        10   7,00           70,00     IVA 10%        10%
P07     Spaghetti    8    8,00           64,00     IVA 22%        22%
P08     Rigatoni     5    4,00           20,00     IVA 22%        22%

Totali per tipologia di aliquota
DescrAliquota  PercentAliquota  ImportoAliquota
IVA 4%         4%                4,80          (calcolato 4% su 120,00)
IVA 10%        10%               7,00          (calcolato 10% su 70,00)           
IVA 22%        22%              18,48          (calcolato 22% su 84,00)  

Riesco a stampare i totali per tipologia di aliquota ma non so proprio come recuperare le descrizioni iva (DescrAliquota) per ogni rigo prodotto.
Qualcuno ha un suggerimento?

Grazie per la collaborazione

Distinti saluti
Giuseppe Solina

Buongiorno @gsolina,

Per ottenere l’elenco delle aliquote con la relativa descrizione, devi fare una query nella tabella ip_tax_rates.
(Utilizzando il model tax_rates/mdl_tax_rates).

Buon giorno a te @s2software
Innanzitutto grazie per il celere riscontro.
Purtroppo non sono proprio un esperto di “model”.
So smanettare sui database e sto iniziando ad arrangiarmi con PHP. Di più però non riesco, lo ammetto.
Mi aiuteresti a capire come si scrive il codice di cui ho bisogno?
Grazie anticipatamente

PS: Quando il mio template sarà pronto, posso metterlo a disposizione degli altri utenti?

Ciao di nuovo
Ho risolto così

<td>
<?php
$this->load->model('tax_rates/mdl_tax_rates');
$mytaxname = $this->mdl_tax_rates->where('tax_rate_id', $item->item_tax_rate_id)->get()->row();
echo $mytaxname->tax_rate_name;
?>
</td>

Correggimi se sbaglio

Grazie!

Per elencare tutte le aliquote devi fare la ->get()->result() (non ->get()->row()). Poi fai il loop.

Quando hai fatto se vuoi condividi il codice completo qui: può userre utile anche ad altri :wink:

Ok io avrei anche finito… allego una screeshot di come si presenta il tutto.
Avviso subito però che ho pasticciato coi css.
Come già detto non sono un esperto di programmazione, pertanto, se qualcuno vorrà, potrà sicuramente migliorare il tutto.
Devo sistemare l’ultima cosa che riguarda il Country… in questo momento si stampa la sigla mentre io voglio il nome del Paese per esteso.
A più tardi

Ciao
Come promesso, allego il codice PHP del mio template fattura.
Ho agito anche sui file custom.css e custom_lang.php.
Infine ho creato alcuni campi personalizzati (li riconoscete facilmente) ed ho aggiunto il campo TAX_RATE_CODE alla tabella IP_TAX_RATES del database.
Spero il mio lavoro torni utile agli altri utenti ed invito gli esperti a migliorare quanto sono riuscito a fare io con le mie pochissime nozioni di programmazione.
Grazie a tutti per la preziosa collaborazione, a presto.

my-invoice-for-sharing.php (12.8 KB)

Grazie @gsolina, tornerà sicuramente utile!
A presto, buon proseguimento.

Ciao @s2software
Mi aiuti a capire due cosucce?

  1. Come si ura il risultato di ->get()->result() che suggerivi di usare tu? Cioè che tipo di variabile diventa? Come la stampo?
  2. Come si può fare una query ad una tabella se non a disposione il relativo mdl? Cioè conosco il codice PHP e MySQL che occorre per una query. Ma immagino servano anche i dati come hostname, dbname, user, password, giusto? Devo includere un file che contiene questi dati? Poi fare una query con PHP? Oppure esiste già una funzione di IP per fare le query, una sorta di $myresult=IPQuery()… ?

Grazie

Ritorna un array di oggetti.
Per il resto, prova sbirciare nel codice, soprattutto nella cartella application/modules. Quando lavori con progetti PHP, usa Eclipse, così può cercare liberamente nel codice e vedere qualche esempio per capire come utilizzare le classi in dotazione. :wink:

ehhhh qui la cosa va oltre le mie capacità :wink:
grazie lo stesso
ciao