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¶
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 66→conta-rec); costruisce i nomi dei file temporaneiCOGTRANS/COGTRANS2/COGTRANS10; prepara la griglia e i pulsanti custom (F6 totali).a-tm-da/a-tm-a— accept dell'intervallo date (viaCOGS52W,F8calendario) con controllo da <= a.a-tm-data-rit/a-tm-rif-f24— data ritenuta e riferimento F24 (per l'imputazione versamenti all'erario), abilitati secondox-enabled-*.a-tm-for— fornitore opzionale, con aiuto/ricerca tramiteCOGS65W(z-s65-tm-for).a-inizio-dati— conferma (F3); avvia l'elaborazione con clessidra.fill-file→fill-file1→fill-file-next— scandisceCOGRITACper 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 chiamaupd-cogtrans.upd-cogtrans— determina il segno della ritenuta (che segue il segno IVA) tramitefind-iva/tabella; legge l'anagrafica; converte gli importi in divisa conto (COGU10W) e accumula suCOGTRANSper percipiente, generando le righe di totale per tipo documento e il totale generale.vis-tabella/vis-tabella-disp— visualizza la griglia paginata delle ritenute; gestisce i tasti funzione:F5dettaglio documento (WCA019consorzi /WIN019standard),F6totali per tipo ritenuta (tm-tab-tot-tip,COGU10W),F7esportazione DCU,F8dettaglio partita (WIN062),F9/stampa, PgDn/PgUp paginazione, Shift-F4 gestione colonne (GRIDADMN), Shift-F5 export Excel.stampa/intesta/st-det/st-det-1— stampa il prospetto delle ritenute (vedi tracciato) tramiteCOGS54.esportazione(F7) — previa scelta parametri viaCOGY34: preparaCOGTRANS2(prepara-trs2), genera i record DCU (recA intestazione, recB sostituto, recD datore/certificazione, recH percipiente, recZ trailer) con relativi tag XML (scrivi-tag), scriveCOGTRANS10e lo trascrive suCOGDICU; produce il PDF (PDFMDL) e il file di controllo Excel; copia il file (COPIAF) e propone azioni post-export (DIALOGS, GRIDTOXS).fine/z-chiudi— chiude gli archivi, eliminaCOGTRANSed esce.
Tracciato di stampa (prospetto ritenute)¶
- Intestazione (
intesta): azienda, "Ritenute Effettuate Da A ", data di stampa, numero pagina. - Riga di dettaglio (
st-det-1, testataw-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,COGTRANS10sono archivi di lavoro temporanei nominati con#$+ program-id + operatore inext-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 dascrivi-tagconw-xml-*. - Il sorgente (5249 righe) usa estesamente
GO TOfra i paragrafi di accept, la griglia e l'elaborazione, ePERFORM ... 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.