Vai al contenuto

COGG20 — Ritenute d'acconto: controllo, versamenti e certificazione

Sorgente: cbl/cogg20.cbl | Tipo: interattivo a maschera con elaborazione batch (griglia + stampa + esportazione) | Program-ID: cogg20

Menu: Contabilita' > Fornit. a Part.Aperte > Stampe > Ritenute da Versare ; Contabilita' > Fornit. a Part.Aperte > Ritenute d'acconto > Controllo ritenute da versare ; Contabilita' > Fornit. a Part.Aperte > Ritenute d'acconto > Imputazione versamenti ad erario


Scopo

Elabora e visualizza le ritenute d'acconto (fiscali, previdenziali, SSN) operate verso i fornitori/percipienti in un intervallo di date, consentendo il controllo delle ritenute da versare all'erario, la stampa del prospetto e l'esportazione della Certificazione Unica (CU/DCU) in formato telematico. Le ritenute vengono ricavate dall'archivio COGRITAC (movimenti ritenuta) incrociato con l'anagrafica (COGGEANA), le tabelle documenti/ritenute (COGTABEL) e l'IVA di documento (COGARIVA), e aggregate su un archivio di lavoro temporaneo (COGTRANS) per percipiente e tipo ritenuta.

Dalla griglia l'operatore puo': consultare il dettaglio del documento (F5), i totali per tipo ritenuta (F6), il dettaglio partita (F8); esportare la certificazione DCU (F7), stampare il prospetto (F9), esportare in Excel (Shift-F5). L'imputazione dei versamenti ad erario (data ritenuta, riferimento F24) avviene sui campi tm-data-rit/tm-rif-f24 e sul dettaglio riga.

File e tabelle principali

File/Tabella Copybook Uso
COGRITAC (catena cogg20.select/.fd) Archivio ritenute operate: scandito per chiave secondaria chia2 (rit-codritac2, rit-datapag2, rit-cliente2, rit-propro2); campi rit-tipo, rit-anno, rit-nfat, rit-cliente
COGARIVA (catena) IVA di documento: usato da find-iva per ricavare imponibile e IVA della fattura
COGTABEL (feurtab) cogfiles.cpy Tabella generica: euta-tipo 68 (tipo documento: euta-clifotiva, euta-segnotiva), euta-tipo 46 (ritenuta: euta-aliq-rit, euta-riquadro, euta-cod-cu, euta-cod-spese, euta-descritac)
COGGEANA (catena azienda) Anagrafica percipiente/fornitore: nome, riferimenti mastro/conto, dati per certificazione (comune, provincia, CAP, codice fiscale, ecc.)
COGCNDCF (catena) Condizioni cliente/fornitore: esclusione dalla CU (cnd-cnd = "EP", cnd-dati = "S")
COGTRANS = #$COGG20.<oper> (FD inline trs-rec) Archivio di lavoro temporaneo (indexed, ricreato in output): righe aggregate per percipiente/tipo ritenuta; chiave trs-chia1 (tipo/cod/data/prog) e trs-chia2 (codritac2)
COGTRANS2 = #$2COGG20.<oper> (FD inline trs2-rec) Transito per esportazione: aggregato per percipiente (preparato da prepara-trs2)
COGTRANS10 = #$cogg20-10.<oper> (FD inline trs10-rec) Transito record DCU (indexed) prima della scrittura su COGDICU
COGDICU (FD inline) File binario di output della certificazione DCU (CU telematica)
FILEASC2 (FD inline as2-rec) File ASCII/CSV di controllo (foglio Excel dei record esportati)
FLSTA flsta.cpy File di stato/servizio stampa

Copybook di servizio: certdicu.cpy (tracciato record DCU: recA/B/D/H/Z), cogconta.cpy, cogazien.cpy, wgrid.cpy/utilgdad.cpy (griglia), utils52.cpy (date), utils65.cpy (aiuto fornitore), utilu10.cpy/k-u10.cpy (divisa/edit importi), utils54.cpy (stampa), utilncnf.cpy (configurazione), utilwca019.cpy/utilw19.cpy/utilw62.cpy (dettagli documento/partita), utily34.cpy (parametri CU), utildlg.cpy, utilpdfmdl.cpy, l-copiaf.cpy/u-copiaf.cpy (copia file). Chiavi secondarie incluse a fine PD: cogritac.k03, cogtbcom.k05, cogtrans.k01/k02, cogtran2.k01.

Flusso principale

  1. apri — init, open-files, x-configurazione (RNEWCONF); attiva i tasti funzione (F3, F5, F6, F7, F8, F9, Shift-F4/F5); legge l'esercizio contabile (euta-tipo 66conta-rec); costruisce i nomi dei file temporanei COGTRANS/COGTRANS2/COGTRANS10; prepara la griglia e i pulsanti custom (F6 totali).
  2. a-tm-da / a-tm-a — accept dell'intervallo date (via COGS52W, F8 calendario) con controllo da <= a.
  3. a-tm-data-rit / a-tm-rif-f24 — data ritenuta e riferimento F24 (per l'imputazione versamenti all'erario), abilitati secondo x-enabled-*.
  4. a-tm-for — fornitore opzionale, con aiuto/ricerca tramite COGS65W (z-s65-tm-for).
  5. a-inizio-dati — conferma (F3); avvia l'elaborazione con clessidra.
  6. fill-filefill-file1fill-file-next — scandisce COGRITAC per ciascuno dei 30 codici ritenuta (tm-cod = "123456789ABCDEFGHILMNOPQRSTUVZ"), filtrando per intervallo date e fornitore; verifica il tipo documento (euta-tipo 68, solo fornitori), l'esclusione CU (COGCNDCF), legge i parametri ritenuta (euta-tipo 46) e chiama upd-cogtrans.
  7. upd-cogtrans — determina il segno della ritenuta (che segue il segno IVA) tramite find-iva/tabella; legge l'anagrafica; converte gli importi in divisa conto (COGU10W) e accumula su COGTRANS per percipiente, generando le righe di totale per tipo documento e il totale generale.
  8. vis-tabella / vis-tabella-disp — visualizza la griglia paginata delle ritenute; gestisce i tasti funzione: F5 dettaglio documento (WCA019 consorzi / WIN019 standard), F6 totali per tipo ritenuta (tm-tab-tot-tip, COGU10W), F7 esportazione DCU, F8 dettaglio partita (WIN062), F9/stampa, PgDn/PgUp paginazione, Shift-F4 gestione colonne (GRIDADMN), Shift-F5 export Excel.
  9. stampa / intesta / st-det / st-det-1 — stampa il prospetto delle ritenute (vedi tracciato) tramite COGS54.
  10. esportazione (F7) — previa scelta parametri via COGY34: prepara COGTRANS2 (prepara-trs2), genera i record DCU (recA intestazione, recB sostituto, recD datore/certificazione, recH percipiente, recZ trailer) con relativi tag XML (scrivi-tag), scrive COGTRANS10 e lo trascrive su COGDICU; produce il PDF (PDFMDL) e il file di controllo Excel; copia il file (COPIAF) e propone azioni post-export (DIALOGS, GRIDTOXS).
  11. fine / z-chiudi — chiude gli archivi, elimina COGTRANS ed esce.

Tracciato di stampa (prospetto ritenute)

  • Intestazione (intesta): azienda, "Ritenute Effettuate Da A ", data di stampa, numero pagina.
  • Riga di dettaglio (st-det-1, testata w-int-2): Data | Nominativo | Rit.Fiscali | Rit.Previd. | Rit.SSN. | Rif.Fattura | Tot.Lordo | Iva | Imponibile | Rimborsi | Pagato | Aliq.Rit.
  • Riga finale: "Totale da Versare Euro ".
  • Carattere di stampa k-chr-stampa = 164.

Configurazione (RNEWCONF, x-configurazione)

Carica 15 parametri (gruppi riliva/RILIVA, CONTABIL, abilita), fra cui riliva-soglia, riliva-codice-attivita, tipo-doc-iva-docmag-vendita/-resi-cli, cfisc-caf, RILIVA-TAPPO, estrazione-dcu (abilita l'esportazione F7), nome-modello-cud, nome-file-tags-cud. Il codice fiscale ente ha un default (02564260368) se non configurato.

Sottoprogrammi chiamati

Programma Ruolo
COGS52W Editing/validazione date (intervallo, data ritenuta)
COGS65W Aiuto/ricerca fornitore
COGS54 Gestione avvio/chiusura stampa del prospetto
COGU10W Cambio ed editing importi in divisa (griglia, totali, stampa)
GRIDADMN Gestione griglia (prepara colonne, add/svuota record, gestione colonne, export)
WCA019 Dettaglio documento (variante consorzi, az-consorzi = "S")
WIN019 Dettaglio documento (standard)
WIN062 Dettaglio partita/documento con codice fiscale
COGY34 Scelta parametri della Certificazione Unica (telematica, CF CAF)
RNEWCONF Lettura configurazioni RNEWCONF
PDFMDL Generazione del PDF della certificazione da modello
COPIAF Copia del file DCU generato verso la destinazione
DIALOGS Menu di azioni post-esportazione
GRIDTOXS Apertura del file di controllo .asc in Excel
AZVALIDA.COB Validazione (dati aziendali/anagrafici) in fase di esportazione

Note

  • COGTRANS, COGTRANS2, COGTRANS10 sono archivi di lavoro temporanei nominati con #$ + program-id + operatore in ext-tmp-dir, aperti in output (ricreati): l'esecuzione non e' condivisibile fra piu' istanze dello stesso operatore ("Funzione gia' in uso").
  • L'esportazione DCU (F7) e' subordinata alla configurazione estrazione-dcu (tm-cfg-abilita = "S"): se non abilitata, la funzione avvisa di contattare l'assistenza.
  • Il segno della ritenuta segue il segno IVA del tipo documento (euta-segnotiva); sono elaborati solo i documenti la cui anagrafica e' di tipo fornitore (euta-clifotiva).
  • I record DCU e i relativi tag XML sono descritti dal copybook certdicu.cpy (recA/B/D/H/Z); i tag sono serializzati da scrivi-tag con w-xml-*.
  • Il sorgente (5249 righe) usa estesamente GO TO fra i paragrafi di accept, la griglia e l'elaborazione, e PERFORM ... THRU (fill-file-next thru ex-fill-file-next, esportazione thru ex-esportazione, intesta thru ex-intesta, ecc.): forme legacy della conversione, da non replicare.