COGE93 - Stampa Liquidazione IVA¶
| Campo | Valore |
|---|---|
| Sorgente | cbl/coge93.cbl |
| Tipo | Programma interattivo (maschera) |
| Menu | Contabilita' > Documenti IVA > Stampe / Iva per cassa |
| Voce | Liquidazione IVA |
Descrizione¶
COGE93 esegue la liquidazione IVA periodica (mensile o trimestrale) per il periodo selezionato. Carica i totali IVA in vendita (tm-tot-cli), in acquisto (tm-tot-for), il saldo da liquidazione precedente (tm-tot-pre) e l'eventuale acconto IVA gia' versato (tm-iva-acconto), per calcolare il debito/credito d'imposta del periodo. Nel caso di dichiarazione trimestrale con saldo a debito, applica gli interessi nella percentuale configurata (tm-ws-perc-sal).
La stampa avviene tramite modelli Word/AreaReport (utilwordmdl + COGPA3 per scelta modello).
File e tabelle¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| COGTRANS | I-O | File transito per griglia |
| COGTRANS3 / COGTRANS4 | I-O | File transito ausiliari (dettaglio registri / fonti) |
| COGCONTA1 | Input | Periodi di liquidazione IVA (definisce M=mensile, T=trimestrale) |
| COGCONTA | Input | Conti contabili (saldi reverse charge) |
| EURTABEL | Input | Codici esenzione, codici 16/17 per UPA |
| COGREGI | Input | Registri IVA (con flag tipo C=corrispettivi) |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| coge93.select / .fd / .wrk / .scr / .prc / .decla | Screen Designer |
| utilwordmdl.cpy | Generazione documenti Word/AreaReport |
| utilcogpa3.cpy | Scelta modello stampa |
| utils25.cpy / utils52.cpy / utils54.cpy | Routine standard |
| utilu10.cpy / utilw53.cpy | Edit campi numerici / formattazione |
| utily34.cpy | Routine controllo periodo |
| utilncnf.cpy | Lettura configurazioni RNEWCONF |
| utilcoge77.cpy | Routine comuni a COGE77 (verifica/preparazione) |
| wcont.cpy / wcont1.cpy | Working storage contabilita' |
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGSC1 | Configurazione specifica programma |
| RNEWCONF | Lettura configurazioni |
| COGPA3 | Scelta modello di stampa |
| WORDMDL | Generazione documento Word/AreaReport |
| COGU20W | Accept numerico con edit |
| COGU10 | Edit/arrotondamento valori monetari |
| S54 (call) | Apertura visualizzatore documento |
| Y34 | Validazione codici periodo IVA |
Logica di liquidazione¶
Calcolo saldo IVA¶
Per ogni periodo tm-per-mm/tm-per-aa, il programma calcola:
w-interessi = tm-tot-cli - tm-tot-for + tm-tot-pre - tm-iva-acconto
dove:
tm-tot-cli: totale IVA a debito (vendite del periodo)tm-tot-for: totale IVA a credito (acquisti del periodo)tm-tot-pre: saldo periodo precedente (gia' negativo se a credito)tm-iva-acconto: acconto IVA gia' versato per il periodo
Calcolo interessi per dichiarazione trimestrale¶
Se la dichiarazione e' trimestrale (w-dichiara = "T") e il saldo w-interessi e' positivo (debito), il programma:
- Rende visibile e modificabile il campo "Percentuale interessi" (
tm-ws-perc-sal) - Applica
w-interessi = w-interessi / 100 * tm-ws-perc-sal - Aggiorna il totale:
tm-tot-tot = tm-tot-tot + w-interessi
Al termine sottrae l'acconto IVA dal totale: tm-tot-tot = tm-tot-tot - tm-iva-acconto.
Conteggio reverse charge per UPA¶
Per le anagrafiche di tipo UPA (Unificato Pubblica Amministrazione, identificate da ragione sociale che non contiene "SRL"), i codici esenzione 16 e 17 attivano il conteggio separato su un registro distinto di reverse charge.
Tag XML per stampa¶
La stampa utilizza modelli Word/AreaReport con tag specifici:
| Tag | Contenuto |
|---|---|
| R2-TIPO | Tipo liquidazione (M/T) |
| R2-MM / R2-AA | Mese / Anno liquidazione |
| R2-DIVISA | Divisa (valorizzata dal programma AreaReport) |
| TS1-RAG / TS1-PIV / TS1-INT | Ragione sociale / Partita IVA / Intestazione |
| TS1-ANNO / TS1-PAG | Anno e numero pagina |
| TS2-IND / TS2-LOC / TS2-PRO | Indirizzo / Localita' / Provincia |
| TAB-DET | Tabella dettaglio (campi DESC, IMPO, STIL) |
| DES1 ... DES7 | Descrizioni finali |
Storico modifiche¶
2026-05-13: Fix calcolo interessi liquidazione IVA¶
Bug 1 — Acconto IVA non sottratto dalla base interessi. Aggiunto - tm-iva-acconto nella formula di calcolo w-interessi. Prima della correzione l'interesse sulla dichiarazione trimestrale veniva calcolato senza considerare l'acconto IVA gia' versato, sovrastimando l'importo dovuto. La nuova formula:
w-interessi = tm-tot-cli - tm-tot-for + tm-tot-pre - tm-iva-acconto
Bug 2 — Doppio calcolo della percentuale interessi. Rimossa la compute w-interessi = tm-tot-tot / 100 * tm-ws-perc-sal (introdotta da Mauro 30/10/2024) che sovrascriveva il risultato corretto della formula precedente w-interessi = w-interessi / 100 * tm-ws-perc-sal. La presenza dei due compute consecutivi azzerava l'effetto del primo, producendo un valore di interessi calcolato sul totale documento invece che sul saldo IVA.
Correzione cosmetica. Allineata indentazione di move spaces to euta-rec (precedentemente fuori dalla colonna 12).
2026-03-26: Reverse charge per UPA con codice esenzione 16¶
Per le anagrafiche UPA, il conteggio separato del reverse charge si applica anche al codice esenzione 16, oltre al codice 17 gia' gestito. Entrambi i codici (16 e 17) attivano il conteggio su registro distinto, a condizione che la ragione sociale non contenga "SRL".