Vai al contenuto

COGY90 -- Pre-Liquidazione IVA per Cassa

Sorgente: cbl/cogy90.cbl | Tipo: Programma con griglia e stampa | Program-ID: COGY90

Menu: Contabilita' > Documenti Iva > Iva per cassa > Pre-Liquidazione IVA per cassa


Scopo

Calcola il conteggio di pre-liquidazione dell'IVA per cassa (esigibilita' differita, iva-val = "K"). Per ogni fattura con IVA per cassa, determina la percentuale di incasso/pagamento nel periodo e calcola l'IVA da liquidare proporzionalmente. Gestisce anche i documenti oltre un anno (obbligo di liquidazione integrale) e l'IVA ordinaria (non per cassa).


Interfaccia utente

Maschera filtri

Campo Tipo Descrizione
tm-ultima-liquidazione 9(08) Data ultima liquidazione confermata (read-only)
tm-data-init 9(08) Data inizio periodo (AAAAMMGG)
tm-data-fine 9(08) Data fine periodo (AAAAMMGG)

Totali (campi display)

Campo Descrizione
tm-tot-v-imp Totale vendite imponibile
tm-tot-v-iva Totale vendite IVA
tm-tot-a-imp Totale acquisti imponibile
tm-tot-a-iva Totale acquisti IVA
tm-tot-iva-liq Totale IVA da liquidare
tm-att-iva-cli Attesa IVA clienti (non ancora incassata)
tm-att-iva-for Attesa IVA fornitori (non ancora pagata)
tm-att-differenza Differenza attesa clienti - fornitori
tm-inc-imp Incassato imponibile
tm-inc-iva Incassato IVA

Griglia

La griglia e' gestita con spaginamento (pg-dwn/pg-up). Le colonne sono definite nel sorgente tramite le strutture tm-grid-dati-*.

Tasti funzione

Tasto Funzione
F1 Configurazione (x99-confi tramite RNEWCONF)
F5 Consolidamento: conferma liquidazione (a1-aggiorna)
F8 Dettaglio documento (WIN062)
F9 Stampa prospetto (st-stampa)
Shift+F4 Gestione griglia (GRIDADMN)
Shift+F5 Esportazione Excel (z-esporta-tm-tab)
Pag.Su/Giu' Navigazione pagine griglia
ESC Uscita

File e Tabelle

File/Tabella Copybook Uso
COGARIVA (da cogy90.fd) Archivio IVA: scansione documenti con iva-val = "K" (per cassa) e iva-val = " " (ordinaria)
COGMOVPA (da cogy90.fd) Movimenti partite: calcolo incassi/pagamenti per periodo
COGFATTU (da cogy90.fd) Fatture: lettura importo totale e IVA del documento
COGLIQUI (da cogy90.fd) Liquidazioni IVA per cassa: lettura precedenti e scrittura consolidamento
COGANAPP (da cogy90.fd) Appendice anagrafica: flag aap-concorsuale
COGTABEL (tipo 66) cogfiles.cpy Tabella esercizio contabile
COGTABEL (tipo 68) cogfiles.cpy Tabella tipi documento IVA: segno IVA (euta-segnotiva), segno dare/avere (euta-ivada)
COGTABEL (tipo AQ) cogfiles.cpy Configurazione programma
COGTABEL (tipo BM) cogfiles.cpy Configurazione date
COGTRANS (inline, temporaneo) File di transito per i conteggi
FLSTA flsta.cpy File stampa
FILELOG (inline) File log (opzionale)

Programmi chiamati

Programma Scopo
COGS52W Gestione date
COGS65W Selezione anagrafica
COGS25CA Utility (contabilita' analitica)
COGS53CA Utility (contabilita' analitica)
COGS53 Utility
COGS54 Utility
COGS68W Stampa
COGS77 Utility
COGU10W Utility valute
COGU20 Utility varie
WIN062 Dettaglio partite documento
COGE43 Estratto conto (commentato nel sorgente)
COGE77 Utility contabile
GRIDADMN Gestione griglia
RNEWCONF Lettura configurazioni
DIALOGS Finestra di dialogo
DTPRG / PRGDT Conversione data/progressivo giorni

Copybook principali

  • cogy90.select, cogy90.fd, cogy90.wrk, cogy90.decla, cogy90-01.scr -- Definizioni generate da Screens
  • k-tipi-cogtabel.cpy -- Costanti tipi tabella generica
  • cogconta.cpy -- Struttura tabella esercizio contabile
  • flsta.cpy -- Struttura file stampa
  • cogazien.cpy -- Dati azienda
  • utilcoge43.cpy -- Interfaccia COGE43
  • utilcoge77.cpy -- Interfaccia COGE77
  • utilw62.cpy -- Interfaccia WIN062
  • utilncnf.cpy -- Interfaccia configurazioni
  • utildlg.cpy -- Interfaccia DIALOGS

Logica di Elaborazione

Configurazione (tm-cfg)

All'avvio viene letta la configurazione tramite RNEWCONF:

Parametro Campo Descrizione
Numero giorni tm-cfg-num-giorni Soglia giorni per "oltre anno" (default: 365)
Data inizio tm-cfg-data-inizio Data da cui decorre la gestione IVA per cassa
IVA acquisti tm-cfg-iva-acq Conto IVA acquisti
IVA vendite tm-cfg-iva-ven Conto IVA vendite
IVA erario tm-cfg-iva-erario Conto IVA erario
Tipo operazione tm-cfg-to Tipo operazione per le registrazioni
Percentuale soglia tm-cfg-perc-soglia % oltre la quale si arrotonda al 100%
Visibilita' esenti tm-cfg-vis-esenti Mostra documenti con aliquota esente

Ultima liquidazione (cerca-ultima-liquidazione)

Cerca in COGLIQUI l'ultima liquidazione consolidata per determinare la data di partenza.

Ricalcolo (ricalcolo)

  1. Se esistono liquidazioni nel periodo, le cancella da COGLIQUI
  2. Esegue esegue-calc-iva

Elaborazione IVA (esegue-calc-iva)

Scorre tutto l'archivio COGARIVA. Per ogni record:

Documenti IVA per cassa (iva-val = "K", iva-k)

  1. Controllo percentuale gia' liquidata (controlla-perc-liq): cerca in COGLIQUI le liquidazioni precedenti del documento e calcola w-perc-liquidata
  2. Se gia' liquidata al 100%, salta
  3. Controllo oltre anno: calcola i giorni tra iva-damov e tm-data-fine. Se >= tm-cfg-num-giorni e il soggetto non e' in procedura concorsuale (aap-concorsuale not = "S"), liquida la percentuale residua (100% - gia' liquidata)
  4. Calcolo percentuale incasso (calc-tot-partita): scorre COGMOVPA per il documento e calcola il totale incassato nel periodo
  5. Calcola w-perc = incassato * 100 / totale_partita
  6. Soglia: se w-perc + w-perc-liquidata >= tm-cfg-perc-soglia, arrotonda al 100%
  7. Riempimento record transito (riempi-trs): calcola imponibile e IVA proporzionali alla percentuale

Documenti IVA ordinaria (iva-val = spaces, iva-ncs)

Liquidati integralmente al 100% (w-perc = 100, w-ncs = "S").

Calcolo incasso nel periodo

Nel paragrafo iva-k, dopo il controllo "oltre anno", il programma scorre COGMOVPA:

  • Movimenti con mov-data-valuta < tm-data-init: accumulati in w-saldo-prec (incassato in periodi precedenti)
  • Movimenti con mov-data-valuta nel periodo: accumulati in w-saldo (incassato nel periodo)
  • Movimenti di tipo "insoluto" (mov-to = az-to-insoluto): sottratti dall'incasso

Il segno viene determinato confrontando mov-segno con euta-ivada (dalla tabella tipo documento).

Riempimento record transito (riempi-trs)

Calcola l'IVA e l'imponibile da liquidare:

  • Se w-perc-totale = 100 e w-perc-liquidata = 0: importi per differenza (iva-impon - w-impon-liqui)
  • Altrimenti: proporzionali alla percentuale (iva-impon * w-perc / 100)
  • Se aliquota "ND" (non deducibile): IVA = 0
  • Inverte il segno se euta-segnotiva = "-"

Scrive il record su COGTRANS e aggiorna i totali per codice aliquota (totali-cogtrans).

Totali per la griglia (totali-cogtrans-finali)

Scorre COGTRANS e accumula i totali per tipo record (record "Z" di totalizzazione per aliquota/articolo).

Consolidamento (a1-aggiorna)

Conferma definitiva: scrive i record di liquidazione in COGLIQUI e aggiorna lo stato.

Stampa (st-stampa)

Produce un prospetto dettagliato su file stampa (FLSTA) con:

  • Intestazione con data e periodo
  • Dettaglio per ogni documento: anno/tipo/numero, data, anagrafica, percentuale, aliquota, imponibile, IVA, IVA precedente, IVA residua, totale documento, IVA totale, incassato, cassa precedente
  • Totali per aliquota IVA / articolo esenzione
  • Totali generali separati per vendite e acquisti

Note tecniche

  • Il programma utilizza PERFORM ... THRU in diversi punti (stile legacy: ricalcolo thru ex-ricalcolo, esegue-calc-iva thru ex-esegue-calc-iva, riempi-trs thru ex-riempi-trs, ecc.).
  • Il file COGTRANS e' un file temporaneo indicizzato con chiave composta (tipo record + anno + tipo doc + numero + nfatpro + progressivo). I record di totalizzazione hanno trs-trec(2:1) = "Z".
  • I documenti con data anteriore al 01/01/2024 (iva-damov not < 20240101) non vengono processati.
  • Nel sorgente sono presenti alcune condizioni specifiche (es. iva-anno = 2024 and iva-nfat = 37 and iva-tdoc = "FF") per gestire eccezioni su singoli documenti.
  • La griglia usa il pattern di spaginamento con fl-read che assume i valori "E" (fine dati) e "B" (inizio dati).
  • Il programma supporta la modalita' richiamata (w-dc-called = "S") e la modalita' selezione (a-modalita = "S").

Documentazione tecnica -- 2026-04-16