Vai al contenuto

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:

  1. Rende visibile e modificabile il campo "Percentuale interessi" (tm-ws-perc-sal)
  2. Applica w-interessi = w-interessi / 100 * tm-ws-perc-sal
  3. 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".