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:
- Verifica liquidazioni precedenti (
controlla-perc-liq): - Scorre COGLIQUI per lo stesso documento e somma le liquidazioni gia' effettuate in
w-tot-liq - Calcola
w-perc = w-tot-liq * 100 / fat-importo(40)(percentuale gia' liquidata) -
Se
w-perc >= 100(o -100), il documento e' gia' stato interamente liquidato: skip -
Controllo superamento termine (
tm-cfg-num-giorni): - Calcola i giorni tra la data del documento (
iva-damov) e la data fine periodo tramite subroutine DTPRG - Se i giorni superano la soglia configurata, il documento viene considerato interamente da liquidare (
w-perc = 100 - perc_gia_liquidata) -
I soggetti concorsuali (
aap-concorsuale = "S") sono esclusi da questa regola -
Calcolo incasso nel periodo:
- Scorre COGMOVPA per la partita del documento
-
Calcola il saldo gia' incassato prima dell'inizio periodo (
w-saldo-prec) usando la tabella 68 (tipo documento) -
Scrittura transito (
riempi-trs): - Calcola imponibile e IVA residui sottraendo le liquidazioni precedenti
- Se aliquota = "ND" (non deducibile), IVA = 0
- 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 Eurok-tipi-cogtabel.cpy-- Costanti tipi tabellak-u10.cpy,utilu10.cpy-- Utility valutewstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpy-- Working storage standardcogazien.cpy-- Dati aziendawgrid.cpy,utilgdad.cpy-- Griglia interattivautilncnf.cpy-- Interfaccia RNEWCONFutils25.cpy,utils68.cpy,utils65.cpy,utils52.cpy-- Utility varieutils25ca.cpy,utils53ca.cpy,utils53.cpy,utils54.cpy,utils77.cpy-- Utility supplementaricogconta.cpy-- Dati contabiliutilw62.cpy-- Interfaccia WIN062utilu20.cpy-- Utility esportazioneutildlg.cpy-- Utility dialog boxflsta.fd,flsta.cpy-- File di stato
Linkage¶
wcont.cpy-- Struttura linkage standardutilcoge43.cpy-- Interfaccia COGE43utilcoge77.cpy-- Interfaccia COGE77wcont1.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.cpyeutilcoge77.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