Vai al contenuto

COGY78 - Liquidazione IVA Telematica

Sorgente: cbl/cogy78.cbl | Program-ID: COGY78 | Tipo: interattivo a griglia con elaborazione e export XML

Menu: Contabilita' > Documenti Iva > Stampe > Liquidazione Iva telematica


Scopo

Calcola e produce la comunicazione telematica trimestrale IVA (LIPE - Liquidazione Periodica IVA) da trasmettere all'Agenzia delle Entrate. Il programma lavora in due fasi distinte presentate su un tab-control a due pagine: la prima pagina raccoglie i parametri della dichiarazione (anno, trimestre, dati del dichiarante, opzioni prorata, acconto), la seconda esegue il calcolo e presenta i risultati in griglia modificabile. Alla conferma, genera il file XML nel formato telematico e lo copia nella cartella di destinazione configurata; facoltativamente puo' produrre anche un PDF tramite COGY79.

File e tabelle

File/Tabella Copybook Modalita' Uso
COGTABEL cogtabel.cpy, cogtabel.fd, cogtabel.k01 Input/Output Legge parametri periodo (tipo 66), saldi IVA periodo precedente (tipo 49), tipi documento RC/NR (tipo 'AT'); aggiorna saldi dopo calcolo
COGARIVA cogariva.cpy, cogariva.fd, cogariva.k01 Input sequenziale Registro IVA: scansione per anno (iva-anno) per calcolo debiti/crediti
COGARIV2 cogariv2.cpy, cogariv2.fd, cogariv2.k01, cogariv2.k02 Input/Output Movimenti IVA con data di competenza diversa dal periodo (prorata, IVA di cassa); chiave secondaria .k02 usata per filtraggio per data competenza
COGGEANA coggeana.cpy, coggeana.fd, coggeana.k01 Input Legge ragione sociale, P.IVA e codice fiscale dell'azienda contribuente
COGCNDCF (inclusa tramite cogy78.select / cogy78.fd) Input Legge il codice fiscale del dichiarante da tabella condizioni cliente
COGTRANS (definito inline nel sorgente) Output / Input-Output File temporaneo di lavoro con i dati delle righe VP1-VP14 per ogni periodo del trimestre; eliminato alla chiusura
FEURTAB feurtab.fd, cogfiles.cpy Utility runtime File di supporto AcuCOBOL

Programmi chiamati

Programma Scopo
RNEWCONF Lettura configurazioni RNEWCONF (batch di 12 chiavi, vedere sezione Configurazioni)
COGE05 Validazione formale del codice fiscale (usato su codice dichiarante, P.IVA controllante, codice fiscale CAF)
GRIDADMN Gestione griglia risultati (Prepara, operazioni su colonne)
W$MENU Popup menu contestuale sulla griglia
COPIAF Copia il file XML generato dalla directory temporanea alla cartella di destinazione configurata
DIALOGS Dialog di conferma con opzioni dopo la creazione dell'XML
COGU10W Utility arrotondamento numerico (per calcolo prorata)
COGY79 Genera la stampa PDF della liquidazione (richiamato da dialog post-estrazione con F9)
c$justify Funzione di sistema AcuCOBOL per giustificazione stringhe XML

Copybook principali

Screen Designer / griglia: cogy78.select, cogy78.fd, cogy78.wrk, cogy78.prc, cogy78.decla, cogy78-01.scr, cogy78.tm, cogy78.imppredf-wrk, wgrid.cpy, utilgdad.cpy

Gestionale: cogazien.cpy, cogfiles.cpy, cogcont1.cpy, k-tipi-cogtabel.cpy, k-personal.cpy

Utility: wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy, utilncnf.cpy, utils52.cpy, utils93.cpy, utilu10.cpy, utilu20.cpy, utilw73.cpy, utilimppredf.cpy, utildlg.cpy, k-u10.cpy, wcont.cpy, u-copiaf.cpy, utilcogy58.cpy, wcont1.cpy, l-copiaf.cpy, acucobol810.def, cxml-wrk.cpy

Logica di elaborazione

Apertura: inizializzazione standard, lettura configurazioni RNEWCONF (x-configurazione), lettura dati azienda, creazione del file temporaneo COGTRANS. Caricamento bitmap e pulsante custom F5 (Commessa). Costruzione menu popup griglia.

Pagina filtri (tab 1 - a-pag-filtri): raccoglie i parametri della dichiarazione: - Anno dichiarazione (validato tra 2017 e 2030) - Trimestre (1-5; il valore 5 indica il quinto trimestre per regimi speciali) - Modalita' periodo: mensile ("M") o trimestrale ("T"), letta da conta1-periodo (COGTABEL tipo 66) - Dati dichiarante: codice fiscale, flag caricamento, P.IVA controllante, ultimo mese, liquidazione di gruppo, codice fiscale obbligato, carica, P.IVA dichiarante, codice fiscale CAF - Opzioni: flag prorata, percentuale prorata, operazione straordinaria, metodo calcolo acconto, impegno telematico, data impegno

La conferma con F3 o F7 passa alla pagina risultati.

Calcolo IVA (carico-cogtrans): il calcolo viene eseguito solo alla prima apertura dei risultati (w-primo = "N"). Per ciascun periodo (1 mese per regime mensile, 1 trimestre per regime trimestrale): - Scansione di COGARIVA per l'anno (x-calcola-iva): accumula debiti e crediti per aliquota - Lettura di COGARIV2 per movimenti con data di competenza diversa (IVA di cassa o prorata) - Calcolo delle righe VP1-VP14 (struttura della comunicazione telematica), scritte su COGTRANS - Risoluzione del saldo precedente da COGTABEL tipo 49 - Applicazione prorata se attiva: trs-crediti-prorata = trs-crediti-no-prorata * tm-perc-prorata / 100 - Calcolo interessi trimestrali (riga VP12) con percentuale da configurazione RILIVA.PERCENTUALE-INTERESSI-IVA-TRIM - Se abilitata, applicazione IVA margine (x-iva-margine)

Pagina risultati (tab 2 - a-pag-risultati): la griglia mostra le righe VP1-VP14 per il periodo selezionato. Le celle modificabili (debiti/crediti) sono editabili direttamente; al termine di ogni modifica (x-controlla-tm-r-crediti, x-controlla-tm-r-debiti) il saldo viene ricalcolato e sincronizzato su COGTRANS. In regime mensile, F5/F6 scorrono tra i 3 mesi del trimestre.

Estrazione XML (x-estrai): alla pressione di F7 con conferma, genera il file XML nel formato telematico LIPE nella directory temporanea (open-xml, xml-frontespizio, xml-dati-contabili) usando le routine cxml-*. Poi lo copia nella cartella configurata (tm-cfg-folder-out) tramite COPIAF con nome IT<PIVA>_LI_<ANNO><TRIMESTRE>.XML. Dialog DIALOGS propone Esc (esci) o F9 (PDF via COGY79).

Chiusura: chiude e cancella il file temporaneo COGTRANS e il file griglia t-grid-det.

Configurazioni RNEWCONF

Lette in batch all'avvio tramite call "RNEWCONF":

Gruppo Chiave Campo destinazione Uso
(azienda) cfis-caf tm-cfg-cfis-caf Codice fiscale CAF pre-compilato
CONTABIL tipo-doc-iva-docmag-vendita tm-cfg-docmag-vendita Tipo documento vendita per IVA
CONTABIL tipo-doc-iva-docmag-resi-cli tm-cfg-docmag-resi Tipo documento resi cliente per IVA
fatturepa split-payment-art-ese tm-cfg-split-art-ese Articolo di esenzione split payment
RILIVA PERCENTUALE-INTERESSI-IVA-TRIM tm-cfg-interessi Percentuale interessi trimestrali (default 1 se zero)
contabil iva-margine-art1 tm-cfg-iva-marg-art1 Articolo 1 IVA margine
contabil iva-margine-art2 tm-cfg-iva-marg-art2 Articolo 2 IVA margine
contabil iva-margine-aliq1 tm-cfg-iva-marg-aliq1 Aliquota 1 IVA margine
contabil iva-margine-aliq2 tm-cfg-iva-marg-aliq2 Aliquota 2 IVA margine
contabil iva-margine-abilita tm-cfg-iva-marg-abilita Abilita gestione IVA margine
contabil lipe-conteggio-imponibile tm-cfg-lipe-impon Modalita' conteggio imponibile LIPE
odonto gestione-iva-ordinaria tm-cfg-odonto-iva-ordinaria Gestione IVA ordinaria per Odontosoft

Note

  • Il file COGTRANS e' dichiarato inline con record strutturato (righe VP, periodo, mese, trimestre, debiti, crediti, prorata); non usa copybook FD.
  • La struttura XML e' hardcoded con namespace urn:www.agenziaentrate.gov.it:specificheTecniche:sco:ivp; il codice fornitura e' fisso a "IVP18".
  • I filtri salvati (preset) sono gestiti tramite utilimppredf.cpy con le routine z-imppredf-carica-default, z-imppredf-seleziona, z-imppredf-salva.
  • COGARIV2 viene usato per i movimenti con competenza IVA diversa dalla data documento (IVA di cassa e rettifiche prorata); se il movimento originale non e' piu' trovato in COGARIVA, il record COGARIV2 viene eliminato.
  • Il quinto trimestre (tm-trimestre = 5) corrisponde ai mesi ottobre-dicembre per contribuenti con periodo diverso.

Storico modifiche

2026-07-28 - Encoding XML in base alla versione del runtime

Nella fase di estrazione (x-estrai), prima dell'apertura del file XML (cxml-f-open), il campo xml-w-encoding viene ora impostato in base a ext-runtime-version: "utf-8" per i runtime versione 07, 08, 09, 1000 e 1001; "iso-8859-1" per le versioni precedenti. In questo modo la dichiarazione di encoding nel prologo del file XML LIPE rispecchia i byte effettivamente prodotti dal runtime AcuCOBOL in uso. Contestualmente e' stato rimosso un end-perform residuo (senza perform di apertura corrispondente) nel blocco di segnalazione precedente, che poteva alterare il flusso di controllo.


Documentazione tecnica generata -- 2026-07-15