nippur72 / issuep

0 stars 1 forks source link

documenti di magazzino sbilancio partita doppia #13

Closed studioReggio closed 9 years ago

studioReggio commented 9 years ago

Inserendo una fattura in documenti di magazzino come da esempio in Stage (ft.N.1 del 29.04.2015 ) dà sbilancio in partita doppia.

nippur72 commented 9 years ago

Ho riscontrato due problemi:

  1. Il primo più grave è che la parte che scrive nel Comovcon non tiene assolutamente conto degli sconti documento, semplicemente ricava gli importi di contabilità dal corpo del documento dove gli sconti non sono ancora stati calcolati, quindi la parte "avere" dell'articolo P.D. risulta maggiore.

Ho messo un TODO(nino) in 'DocumentiMagazzino.ComovCon.pc` dove secondo me andrebbero scorporati gli sconti, ma ne dobbiamo discutere perchè non sono sircuro.

  1. L'altro problema di squadramento riguarda l'IVA, se il documento è "iva compresa" allora nello scorporare l'iva certe volte genera uno squadro di 0,01.
mariocarmelo commented 9 years ago

No! Il comovcon va bene. Il problema non sta in DocumentiMagazzino.Comovcon.pc bensì in DocumentiMagazzino.Pc esattamente nelle sub AggiornaImportoRigo e CompletaCastelletto. AggionaImportoRigo alla 5026 correttamente toglie l'IVA se è stato previsto lo scorporo. CompletaCastelletto alla 5683 dovrebbe ripetere la stessa cosa l'errore consiste proprio perché CompletaCastelletto non si pone il problema scorporo si scorporo no. Quindi l'errore che notate in stage nella fattura 1 è esattamente l'IVA sullo sconto nel caso di scorporo. In caso di IVA aggiunta funziona perfettamente. Provate Infatti a fare la stessa fattura però con prezzo IVA esclusa e vedrete che in comovcon viene sviluppato l'articolo complesso in modo impeccabile.

mariocarmelo commented 9 years ago

"L'altro problema di squadramento riguarda l'IVA, se il documento è "iva compresa" allora nello scorporare l'iva certe volte genera uno squadro di 0,01". Questo è un problema della notte dei tempi me lo ricordo con Coppola in Sovel. Sta nel fatto che con "iva compresa" deve scorporare, come visto sopra, rigo per rigo quindi è facile che capiti uno 0,0... di differenza rispetto ai totali riportati sul piede. L'accorgimento è nel piede. In caso di scorporo, prima di scrivere in Comoviva e Comovcon, oltre che calcolare correttamente gli eventuali importi sconto dei quali ho detto sopra, anche che non ci sia squadratura dell'Iva.

mariocarmelo commented 9 years ago

Visto che a DocumentiMagazzino si stanno apportando modifiche pesanti, suggerisco, prima di procedere con i test, di risolvere tutti i TODO che prevedono altri miglioramenti. Giusto perchè a questo punto i test dovranno essere abbastanza approfonditi e richiederanno tempo.

nippur72 commented 9 years ago

@mariocarmelo:

AggionaImportoRigo alla 5026 correttamente toglie l'IVA se è stato previsto lo scorporo. 

se guardi bene non è così, il calcolo dell'IVA c'è ma non viene aggiornato su ImportoRigo, serve solo ai fini delle provvigioni.

Comunque dobbiamo vedere insieme questo errore, perchè a me sembra invece che sia il comovcon a sbagliare.

Secondo la mia analisi, il comovcon usa Mov_Mag.ImportoRigo per scrivere sul giornale, ma ImportoRigo è al lordo degli sconti, per cui la parte avere dell'articolo risulta sbilanciata.

mariocarmelo commented 9 years ago

Quel che tu sostieni è che uno sconto inserito sul piede della fattura sbilancia comunque un articolo di P.D. perchè "ImportoRigo è al lordo di quello sconto". ImpirtoRigo "deve" essere al lordo dello sconto perchè in dare deve imputare "Sconti su vendite". Basta una fattura con sconto sul piede ma con IVA esclusa per vedere che funziona esattamente. Guarda la 5 di stage dove la registrazione in P.D. è perfetta. Nella 1 lo sbilancio di € 1,39 è esattamente l'Iva degli sconti: 0,07 (10% su 0,72) + 1,32 (22% su 7,32).

mariocarmelo commented 9 years ago

Funzionasse perfettamente come per la 5 nella 1 la P.D. dovrebbe riportare in avere: Vendita Merce € 9,57 e Vendita Prodotti € 13,32 che più € 3,18 dell'Iva C/Vendite fanno totale avere € 26,07. Come puoi notare "Merci Varie" che non ha sconto al piede ma anch'essa soggetta allo scorporo è stata imputata correttamente.

nippur72 commented 9 years ago

Ho sistemato il problema (che era appunto nel comovcon come dicevo io).

Riporto il commento che ho lasciato in DocumentiMagazzino.ComovCon.pc:

// TODO(nino) 01/05/2015: se ci sono sconti documento, l'importo merce deve restare al LORDO degli sconti 
// ma al netto dell'IVA, tenendo conto che l'IVA va calcolata sull'imponibile al NETTO degli stessi sconti.
// Poichè lo sconto è sul piede del documento, va ripartito proporzionalmente su ogni conto merce            
if(DocMag.IvaCompresa)
{
  var iva, importo_scontato;     
  if(totsconti>0) importo_scontato = importo - (totsconti * importo / totmerce);  // ripartisce             
  else            importo_scontato = importo;      

  Calcola_Iva(importo_scontato,decimal(Tab.Aliquotalfa),iva);   // calcola iva e scarta importo_scontato

  // se iva compresa, toglie IVA dall'importo lordo 
  if(DocMag.IvaCompresa) importo = importo - iva;
}

Dobbiamo discutere se va bene, perché nel caso andrebbe esteso anche agli altri casi oltre FatturaVendita().

Resta ancora irrisolto:

nippur72 commented 9 years ago

Aggiornamento del 2/5/2015, ho risolto anche il caso delle spese, adesso ci sono due cicli diversi per "merci" (TipoArticolo 1,4) e "spese" (TipoArticolo 2,3,5)

mariocarmelo commented 9 years ago

Caro Nino tu guardavi a Sud e vedevi un panorama. Io guardavo a Nord e vedevo un panorama simile e pensavo fosse lo stesso. Considera che una terza persona con lo sguardo ad Est o Ovest avrebbe visto un panorama e ritenuto essere lo stesso visto da noi. In effetti sarebbe il terzo o il quarto simile. Ahimè è la punta di un iceberg. Tu guardavi comovcon e ti rendevi conto dell'incongruenza io guardavo DocumentiMagazzino e trovavo "la stessa" incongruenza. La terza persona guardando "margini" avrebbe trovato la stessa cosa e forse più pesante. Voglio dire che deve essere DocumentiMagazzino che determina "una sola volta" correttamente i valori da utilizzare per quindi metterli a disposizione dei vari moduli esterni: al "tuo" comovcon (sia fatture che per le note credito in entrata ed in uscita come per scontrini o R.F. e quant'altro), al modulo di calcolo delle provvigioni (analizzato da me e difatti non funziona) al terzo per "margini" che è ancora peggio, è così via secondo bisogni. Ora è il giusto momento per questa modifica grazie alle nuove strutture del linguaggio. Se non si fa questa pulizia allora la modifica che hai fatto la devi ripetere 5/6 volte per Comovcon e quindi per provvigioni e margini e poi resterá a tutti il dubbio della completezza e l'onore pesante di tutti i test.

mariocarmelo commented 9 years ago

Per quanto riguarda questo specifico sbilancio è stato sistemato e funziona correttamente.