Qualche tempo fa scrissi che volevo scrivere un modulo per la gestione delle fatture (nel rispetto delle regole italiane), che quindi non avesse buchi nella numerazione, ecc. ecc. Dopo aver abbandonato l'idea iniziale di utilizzare uno stato "ad-hoc", mi sono studiato un po' la struttura dei moduli 1.5.x, ed ho messo in piedi un qualcosa di usabile (al momento solo per clienti "privati", ma facilmente modificabile per gli "aziendali", basta visualizzare la partita iva invece che il cf) che prende i dati dagli ordini, e li riporta (effettuando un po' di calcoli) in una struttura tabellare simile legata alla fatturazione (in questo modo non si devono resettare gli ordini a fine anno). Poi ho fatto una modulo "fattura" PDF tramite le librerie fpdf, che va a leggere in queste tabelle per creare la fattura.
Ora pero' mi sto scontrando con la banalita' piu' assoluta dei calcoli.
Non capisco come vengano eseguiti i calcoli durante la creazione ed il checkout dell'ordine.
Partendo dagli importi indicati in orders, se sommo i vari imponibili (netti) e ci calcolo sopra l'iva, ottengo gli stessi totali indicati anche nell'ordine, ma se poi li sommo agli imponibili (che li hanno generati) non riesco quasi mai ad ottenere il totale effettivo dell'ordine, ma sgarro sempre di qualche centesimo.
Senza stare a studiarmi tutta la parte dei calcoli dell'ordine, c'e' qualcuno che ci si e' gia' imbattuto ed ha qualche minuto per indirizzarmi verso la giusta strada?
Al momento stavo pensando (e dovrebbe essere in regola con la legge italiana) di procedere in questo modo:
- calcolare le tasse dal netto (che risponderebbe ai totali dell'ordine),
- calcolare nuovamente il netto (imponibile) sottraendo l'iva dal lordo.
In questo modo potrei avere un imponibile un filo piu' basso, ma rimarrebbe inalterato il totale lordo (pagato dal cliente) e soprattutto non commetterei evasione d'imposta (perche' al limite pagherei 1-2 centesimi in piu').
Consigli da chi ha gia' affrontato l'argomento?!?
Una volta terminato il lavoro saro' anche felice di mettere qualche commento qua e l a condividere!!!