Vai al contenuto

COGY91 -- Documenti in attesa di liquidazione

Sorgente: cbl/cogy91.cbl | Tipo: Programma con interfaccia grafica (griglia interattiva) | Program-ID: COGY91

Menu: Contabilita' > Documenti Iva > Iva per cassa > Documenti in attesa di liquidazione


Scopo

Calcola e visualizza i movimenti IVA soggetti al regime dell'IVA per cassa (campo iva-val = "K" su COGARIVA) che ricadono nell'intervallo di date indicato dall'utente e non sono ancora stati interamente liquidati. Per ogni documento IVA:

  • calcola la percentuale di incasso/pagamento dalla partita clienti/fornitori (COGMOVPA)
  • verifica se il documento ha superato il termine massimo configurato (tm-cfg-num-giorni)
  • sottrae le liquidazioni gia' effettuate in periodi precedenti (COGLIQUI)
  • scrive i risultati su un file di transito indicizzato (COGTRANS) per la visualizzazione in griglia

Interfaccia utente

Maschera di filtro

Campo Tipo Descrizione
tm-ultima-liquidazione 9(08) Data dell'ultima liquidazione IVA (calcolata dal programma)
tm-data-init 9(08) Data inizio periodo di analisi
tm-data-fine 9(08) Data fine periodo di analisi

Totali

Campo Descrizione
tm-tot-v-imp / tm-tot-v-iva Totale imponibile e IVA vendite
tm-tot-a-imp / tm-tot-a-iva Totale imponibile e IVA acquisti
tm-tot-iva-liq IVA totale da liquidare
tm-att-iva-cli / tm-att-iva-for IVA in attesa per clienti / fornitori
tm-att-differenza Differenza IVA

Griglia (tm-tab)

La griglia contiene una riga per ogni movimento IVA in attesa di liquidazione (scritto su COGTRANS).

Tasti funzione

Tasto Funzione
F1 Configurazione parametri (RNEWCONF)
F3 Conferma e lancia il calcolo
F8 Dettaglio partite documento (WIN062)
F9 Stampa prospetto (st-stampa)
S-F4 Gestione griglia (GRIDADMN)
S-F5 Esportazione Excel

File e Tabelle

File/Tabella Copybook Uso
COGARIVA cogy91.fd (via select) Archivio IVA -- tabella principale, scansione movimenti con iva-val = "K"
COGMOVPA cogy91.fd (via select) Movimenti partita (incassi/pagamenti)
COGLIQUI cogy91.fd (via select) Liquidazioni IVA gia' effettuate
COGFATTU cogy91.fd (via select) Fatture -- per calcolo totale documento
COGANAPP cogy91.fd (via select) Appendice anagrafica (flag concorsuale)
COGGEANA cogy91.fd (via select) Anagrafica clienti/fornitori
COGTABEL cogy91.fd (via select) Tabelle generiche (tipo 68 = tipi documento IVA, tipo 56 = divise)
COGCONFI cogy91.fd (via select) Configurazione programma
COGTRANS (definito inline) File di transito indicizzato per risultati calcolo
FILELOG (definito inline) File di log (binary sequential)
FLSTA flsta.fd, flsta.cpy File di stato
FEURTAB cogfiles.cpy File tabelle Euro

File COGTRANS (transito)

Struttura del record di transito (definita inline nel sorgente):

Campo Tipo Descrizione
trs-trec x(02) Tipo record (= tipo anagrafico)
trs-ann 9(04) Anno documento
trs-tip x(02) Tipo documento
trs-num 9(07) Numero documento
trs-nfatpro 9(01) Numero fattura progressivo
trs-prog 9(06) Progressivo (gestione duplicati)
trs-data-doc 9(08) Data documento
trs-perc s9(04)v99 Percentuale di incasso
trs-codali x(02) Codice aliquota IVA
trs-artese x(02) Articolo esenzione
trs-impon s9(12)v9(02) Imponibile residuo
trs-iva s9(12)v9(02) IVA residua
trs-note x(15) Note (es. "Oltre anno")
trs-ana-tipo x(01) Tipo anagrafico (C/F)
trs-ana-cod 9(05) Codice anagrafico
trs-cfo x(01) Flag conto fiscale obbligatorio
trs-saldo s9(12)v9(06) Saldo incassato nel periodo
trs-t-fat s9(12)v9(06) Totale fattura (imponibile + IVA)
trs-t-iva s9(12)v9(06) IVA totale fattura
trs-gia-incas s9(12)v9(06) Gia' incassato in periodi precedenti
trs-iva-gia-liq s9(12)v9(06) IVA gia' liquidata
trs-iva-residua s9(12)v9(06) IVA residua da liquidare
trs-iva-nd x(02) Flag non deducibile

Struttura del programma

Flusso principale

apri -> ctr-abil -> z-99-init-program -> open-files -> rd-azi
     -> x99-confi (configurazione)
     -> a4 (inizializzazione maschera)
     -> a-tm-data-init (accept data inizio)
     -> a-tm-data-fine (accept data fine)
     -> a-richiesta-conferma (validazione)
     -> ricalcolo -> esegue-calc-iva (calcolo effettivo)
     -> a30 (caricamento griglia) -> a-grid (navigazione griglia)

Paragrafi principali

Paragrafo Funzione
esegue-calc-iva Scorre COGARIVA per tutti i movimenti con iva-val = "K" nel periodo. Per ogni record esegue iva-k
iva-k Logica principale per singolo documento IVA: calcola giorni, verifica soglia, calcola percentuale incasso
controlla-perc-liq Verifica la percentuale gia' liquidata confrontando COGLIQUI con COGFATTU
riempi-trs Scrive il record di transito su COGTRANS con i dati calcolati
ricerca-liquidazioni-precedenti Cerca in COGLIQUI le liquidazioni precedenti per lo stesso documento
calcola-saldo-prec Calcola il saldo gia' incassato prima dell'inizio periodo
totali-cogtrans-finali Calcola i totali aggregati dopo il ricalcolo
calcola-totale Calcola i totali per la visualizzazione in maschera
st-stampa Genera la stampa del prospetto

Logica di elaborazione

Calcolo IVA per cassa (esegue-calc-iva + iva-k)

Per ogni movimento IVA con iva-val = "K" e data compresa nel periodo:

  1. Verifica liquidazioni precedenti (controlla-perc-liq):
  2. Scorre COGLIQUI per lo stesso documento e somma le liquidazioni gia' effettuate in w-tot-liq
  3. Calcola w-perc = w-tot-liq * 100 / fat-importo(40) (percentuale gia' liquidata)
  4. Se w-perc >= 100 (o -100), il documento e' gia' stato interamente liquidato: skip

  5. Controllo superamento termine (tm-cfg-num-giorni):

  6. Calcola i giorni tra la data del documento (iva-damov) e la data fine periodo tramite subroutine DTPRG
  7. Se i giorni superano la soglia configurata, il documento viene considerato interamente da liquidare (w-perc = 100 - perc_gia_liquidata)
  8. I soggetti concorsuali (aap-concorsuale = "S") sono esclusi da questa regola

  9. Calcolo incasso nel periodo:

  10. Scorre COGMOVPA per la partita del documento
  11. Calcola il saldo gia' incassato prima dell'inizio periodo (w-saldo-prec) usando la tabella 68 (tipo documento)

  12. Scrittura transito (riempi-trs):

  13. Calcola imponibile e IVA residui sottraendo le liquidazioni precedenti
  14. Se aliquota = "ND" (non deducibile), IVA = 0
  15. Scrive su COGTRANS; in caso di chiave duplicata incrementa trs-prog

Configurazione (tm-cfg)

Campo Significato
tm-cfg-num-giorni Numero di giorni oltre i quali il documento viene liquidato d'ufficio
tm-cfg-data-inizio Data di inizio validita' regime IVA per cassa
tm-cfg-iva-acq / tm-cfg-iva-ven / tm-cfg-iva-erario Conti IVA acquisti, vendite, erario
tm-cfg-to Tipo operazione
tm-cfg-perc-soglia Percentuale soglia
tm-cfg-vis-esenti Visualizza movimenti esenti

Chiamate esterne

Programma Scopo
RNEWCONF Lettura configurazioni
COGS52W Gestione campo data (accept/display)
COGS25W Gestione anagrafica
COGS53W Gestione tabelle
COGS68W Gestione merce
WIN062 Finestra dettaglio partite documento
GRIDADMN Gestione griglia interattiva
DTPRG Calcolo progressivo giorni da data
COGU10W Utility valute/divisioni
COGS65W Selezione cliente/fornitore

Copybook utilizzate

Copybook generate da Screens

cogy91.select, cogy91.fd, cogy91.wrk, cogy91.prc, cogy91.decla, cogy91-01.scr

Copybook di libreria

  • cogfiles.cpy -- Definizione file Euro
  • k-tipi-cogtabel.cpy -- Costanti tipi tabella
  • k-u10.cpy, utilu10.cpy -- Utility valute
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy -- Working storage standard
  • cogazien.cpy -- Dati azienda
  • wgrid.cpy, utilgdad.cpy -- Griglia interattiva
  • utilncnf.cpy -- Interfaccia RNEWCONF
  • utils25.cpy, utils68.cpy, utils65.cpy, utils52.cpy -- Utility varie
  • utils25ca.cpy, utils53ca.cpy, utils53.cpy, utils54.cpy, utils77.cpy -- Utility supplementari
  • cogconta.cpy -- Dati contabili
  • utilw62.cpy -- Interfaccia WIN062
  • utilu20.cpy -- Utility esportazione
  • utildlg.cpy -- Utility dialog box
  • flsta.fd, flsta.cpy -- File di stato

Linkage

  • wcont.cpy -- Struttura linkage standard
  • utilcoge43.cpy -- Interfaccia COGE43
  • utilcoge77.cpy -- Interfaccia COGE77
  • wcont1.cpy -- Linkage supplementare

Note tecniche

  • Il file COGTRANS viene creato nella directory temporanea con nome univoco per operatore (#$cogy91.{datasis}{timesis}{wo-oper}), eliminato alla chiusura del programma.
  • La chiave primaria di COGTRANS e' composta da tipo record + anno + tipo doc + numero + progressivo fattura + progressivo riga. La chiave alternata 2 e' su trs-trec + trs-codali + trs-artese (per i totali per codice IVA).
  • Il programma supporta la modalita' chiamata (CALLED) tramite utilcoge43.cpy e utilcoge77.cpy, ma la logica non sembra essere attivamente utilizzata nel flusso principale.
  • La stampa genera un prospetto a 189 colonne (k-chr-stampa-c = 189) con dettaglio per documento e totali per codice IVA e articolo esenzione.

Documentazione tecnica -- 2026-04-16