COGZA8 — Conciliazione Fatture / Bollettini C.C.P.¶
Sorgente: cbl/cogza8.cbl | Program-ID: cogza8 | Tipo: interattivo a griglia paginata
Menu: Lab.Odont. > Fatturazione > Pagamenti con Bollettini C.C.P. > Conciliazione Fatture/Bollettini
Scopo¶
Concilia i bollettini C.C.P. già incassati (partite anticipate) con le fatture emesse per la stessa commessa. Per un intestatario selezionato, ricerca le partite anticipate dei bollettini (LODINFCC), individua la fattura collegata alla commessa e ne verifica lo stato (partita mancante, chiusa, fattura mancante, conciliabile). L'operatore seleziona in griglia le righe da conciliare; alla conferma il programma contabilizza le fatture non ancora registrate (via COGE51), sposta i movimenti della partita anticipata sulla partita della fattura (COGMOVPA/COGPNONC), chiude le partite ed eventualmente crea abbuoni attivi/passivi entro la soglia configurata. Riceve i parametri dal chiamante tramite la linkage za8-call.
File e tabelle¶
| File | Copybook | Accesso | Scopo |
|---|---|---|---|
| LODINFCC | lodinfcc.cpy (chiave k04) |
Lettura/scrittura | Bollettini incassati e loro riferimento a partita/commessa/fattura |
| COGPARTI | (via rd-cogparti) |
Lettura/scrittura/cancellazione | Partite aperte cliente — chiusura e cancellazione partita anticipata |
| COGMOVPA | (chiave k03) |
Lettura sequenziale/scrittura | Movimenti di partita — spostamento sulla partita fattura, calcolo saldo |
| COGPNONC | (via rd/wr/rwr-cogpnonc) |
Lettura/scrittura | Prima nota non contabilizzata — righe abbuono e ricollegamento partita |
| COGARIVA | (via st-cogariva) |
Lettura | Registro IVA — verifica se la fattura è già contabilizzata |
| COGFATTU | (via rd-cogfattu) |
Lettura | Testata fattura da passare a COGE51 |
| COGRACBB | cogracbb.cpy |
Lettura sequenziale | Raccordi bolle (tipo CD) per risalire alla fattura dalla commessa |
| COGRACCO | cogracco.cpy (chiave k02) |
Lettura | Raccordo bolla↔fattura, importo fattura |
| COGGEANA | coggeana.cpy |
Lettura | Anagrafica cliente/intestatario, riferimenti conto |
| COGTABEL | cogtabel.cpy |
Lettura | Registri IVA (tipo 68), mastri/conti partite (tipo 45), C.Costo (tipo 18), esercizio (tipo 66) |
| COGMOVCC | (via wr-cogmovcc) |
Scrittura | Movimenti di centro di costo per gli abbuoni |
| COGPNCON | (via rd-cogpncon) |
Lettura | Piano conti — verifica conto a reddito |
| tran-za8 | tran-za8.fd |
I/O (transito) | File temporaneo con le righe da conciliare e il loro flag/stato |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGE51 | Contabilizzazione della fattura (registrazione in prima nota/IVA) |
| COGS25 | Numeratore documenti di prima nota |
| COGZS1 | Formattazione codice commessa per la griglia |
| COGZDEW | (utility, cancellata in chiusura) |
| WIN062 | Dettaglio partita (F8) |
| WIN019 | Dettaglio fattura (F5) |
| DIALOGS | Conferme conciliazione e creazione abbuoni (F5) |
| GRIDADMN | Gestione/personalizzazione griglia |
| COGS65W | Gestione campo intestatario con aiuto |
| COGU10W | Editing/formattazione importi |
| RNEWCONF | Lettura configurazioni |
Copybook incluse¶
Working storage: feurtab.fd, cogza8.select, tran-za8.fd, cogfiles.cpy, cogza8.fd, cogza8.wrk, k-u10.cpy, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utildlg.cpy, lnke51.cpy, cogconta.cpy, utilncnf.cpy, utile22.cpy, utilf26.cpy, utilp41.cpy, utils25.cpy, utils52.cpy, utils54.cpy, utils65.cpy, utilu01.cpy, utilu02.cpy, utilu10.cpy, utilu21.cpy, utilu22.cpy, utilu35w.cpy, utilw02.cpy, utilw23.cpy, utilw19.cpy, utilw62.cpy, utilzde.cpy, utilzs1.cpy
Linkage: wcont.cpy, utils15.cpy, wcont1.cpy, za8-call
Procedure division: grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, call-u35.cpy, cogza8.prc, dtab.cpy, fscrol2.cpy, sendu22.cpy, sendw02.cpy, utilpggr.cpy, chiavi tran-za8.k01, cogmovpa.k03, lodinfcc.k04, cogracco.k02
Logica di elaborazione¶
- Avvio (
apri): apre i file, carica configurazione (x99-confi), prepara griglia. Costruisce il nome del transitotran-za8(#$cogza8.{operatore}). Se ricevutoza8-callcon intestatario/data, li precarica. - Parametri (
a-tm-nonno,a-tm-data-fattura): intestatario (cliente) e data fattura. Alla conferma (a-fine-dati-conferma) crea/apre il transito ed esegue la ricerca. - Ricerca (
b-ricerca): scorreLODINFCC; per ogni bollettino del cliente cerca la fattura collegata alla commessa (cerca-fattura) e calcola il saldo della partita anticipata (cerca-partita), impostando il flag riga:Dda conciliare,Ppartita mancante,Qpartita chiusa,Ffattura mancante. Scrive le righe con fattura nel transito. - Griglia (
a-grid): mostra cliente, commessa, bollettino, partita, importo pagato, riferimento fattura, importo fattura e lo stato. Invio commuta la selezioneD↔N; F5 apre il dettaglio fattura (WIN019); F8 il dettaglio partita (WIN062). - Conferma (
f3→aggiorna): due passate sul transito: - prima passata: per le righe
Deseguecontabilizza(se la fattura non è inCOGARIVA, chiamaCOGE51) econcilia(sposta i movimenti della partita anticipata sulla partita fattura, aggiorna prima nota, cancella la vecchia partita, flag →Z); - seconda passata:
verificasulle righeZ— ricalcola il saldo della partita fattura; se entro la soglia abbuono crea abbuono attivo/passivo, altrimenti chiude la partita a saldo zero; flag →C; aggiornaLODINFCC. - Riepilogo (
a100-100): mostra le somme conciliate/abbuoni via DIALOGS.
Paragrafi chiave¶
| Paragrafo | Scopo |
|---|---|
b-ricerca |
Costruisce il transito con i bollettini e il loro stato di conciliabilità |
cerca-fattura |
Risale alla fattura della commessa via COGRACBB/COGRACCO |
cerca-partita |
Calcola importo pagato e saldo della partita anticipata |
carica-tab / x-riempi-grid-record |
Caricamento e formattazione della griglia |
contabilizza |
Registra la fattura via COGE51 se non già a registro IVA |
concilia |
Sposta i movimenti sulla partita fattura e cancella la partita anticipata |
verifica |
Ricalcola il saldo, chiude la partita o genera abbuono |
crea-abbuono-passivo / crea-abbuono-attivo |
Generano le scritture di abbuono (partita + contropartita, eventuale movimento C.Costo) |
prendi-num |
Numeratore prima nota (COGS25) |
x99-confi |
Caricamento configurazioni (12 chiavi) |
Parametri di configurazione (RNEWCONF)¶
| Gruppo | Chiave | Variabile | Scopo |
|---|---|---|---|
PARTITE |
soglia-abbuono-cli |
tm-cfg-abbuono |
Soglia massima entro cui generare un abbuono a chiusura partita |
fatturaz |
proforma-da-bdp |
tm-cfg-proforma-da-bdp |
Gestione pre-fatture da BDP |
fattdescbo |
euta-c006-affogo-resi, euta-c006-d-tip, euta-c006-d-des, euta-c006-i-ok, euta-c006-b-ok, euta-c006-rif-in-stampa |
tm-cfg-* |
Parametri descrizione bolle in fattura |
fattbatch |
euta-c055-imp-zero, euta-c055-rgr, euta-c055-rgr-merce |
tm-cfg-* |
Parametri fatturazione batch |
commesse |
tipo-numerazione-commesse |
tm-cfg-tip-num-tsc |
Tipo numerazione commesse |
I conti/causali dell'acconto (tm-cfg-*-acc, IVA NI, art.esente 02, causale acconto) sono impostati fissi nel sorgente in coda a x99-confi.
Note¶
- Il file transito
tran-za8è per operatore (#$cogza8.{wo-oper}): l'apertura in output fallita segnala "Funzione gia' in uso dall'operatore" con possibilità di ritentare; viene cancellato alla chiusura (goback). - I flag riga significano:
Dda conciliare,Nnon conciliare,Zconciliato in corso (post-spostamento movimenti),Ceseguito,P/Q/Fnon conciliabile (partita mancante/chiusa, fattura mancante). - La scrittura dei movimenti di centro di costo avviene solo se
az-ccopr = "S".