netgescon-day0/docs/00-IMPORT/01-GESCON/MAPPATURA-FINALE-NETGESCON.md

202 lines
5.7 KiB
Markdown

# 🎯 MAPPATURA FINALE GESCON → NETGESCON
## 📊 **RIEPILOGO ESTRAZIONE COMPLETATA**
### **Struttura GESCON Analizzata:**
```
STABILE 0021 - SUPERCONDOMINIO MILIZIE 3 (cod. 148)
├── ANAGRAFICA COMPLETA
│ ├── 225 condomini (2024) → 229 condomini (2025)
│ ├── Proprietari + Inquilini con dettagli completi
│ └── Dati catastali, fiscali, comunicazioni
├── SISTEMA RATE & INCASSI
│ ├── 4.769 rate emesse (2024) + 2.917 rate (2025)
│ ├── 439 incassi (2024) + 64 incassi (2025)
│ └── RICONCILIAZIONE BANCARIA COMPLETA
├── FATTURAZIONE & FORNITORI
│ ├── 28 fatture fornitori con IVA
│ ├── Gestione ordinaria + riscaldamento separata
│ └── F24 e versamenti fiscali (20 record)
└── COMUNICAZIONI & ASSEMBLEE
├── 2.562 destinatari email + 392 PEC
├── 6 assemblee (2024) + 25 assemblee (2025)
└── Sistema corrispondenza tracciato
```
## 🗄️ **MAPPING NETGESCON TABLES**
### **1. ANAGRAFICA BASE**
```sql
-- Da Stabili.csv
stabili (
id, cod_stabile_old, denominazione, indirizzo, cap, citta,
provincia, codice_fiscale, iban_principale, amministratore_id,
codice_directory, scale, interni, data_ultima_modifica
)
-- Da Fornitori.csv
fornitori (
id, cod_forn_old, cognome, nome, indirizzo, cap, citta,
codice_fiscale, partita_iva, iban, email, pec, telefono
)
```
### **2. GESTIONE ANNUALE**
```sql
-- Da anni.csv
anni_gestione (
id, anno_ordinario, anno_riscaldamento, codice_directory,
periodo_ordinario_inizio, periodo_ordinario_fine,
periodo_riscaldamento_inizio, periodo_riscaldamento_fine
)
-- Da condomin.csv (per ogni anno)
condomini_stabile (
id, stabile_id, anno_gestione_id, cod_cond, scala, interno,
tipo_proprieta, nome_condomino, indirizzo, cap, citta,
email_condomino, email_inquilino, telefono, cellulare,
codice_fiscale_cond, codice_fiscale_inq,
iban_cond, iban_inq, note
)
```
### **3. SISTEMA RATE & INCASSI**
```sql
-- Da emes_gen.csv + emes_det.csv
rate_emesse (
id, stabile_id, anno_gestione_id, n_emissione, data_emissione,
cod_condomino, tipo_gestione, mese_rata, descrizione,
importo_dovuto, importo_dovuto_euro, data_scadenza
)
-- Da incassi.csv
incassi_pagamenti (
id, stabile_id, anno_gestione_id, cod_condomino,
n_riferimento, data_pagamento, importo_pagato,
importo_pagato_euro, n_ricevuta, tipo_gestione,
mese_riferimento, descrizione
)
```
### **4. FATTURAZIONE**
```sql
-- Da Fatture.csv
fatture_fornitori (
id, stabile_id, anno_gestione_id, fornitore_id,
numero_fattura, data_fattura, data_pagamento,
descrizione, imponibile, iva, totale,
gestione_tipo, registrata, pagata
)
-- Da F24.csv
versamenti_fiscali (
id, stabile_id, anno, mese, codice,
importo_ritenute, importo_versato, data_versamento,
riferimento_f24
)
```
### **5. COMUNICAZIONI & ASSEMBLEE**
```sql
-- Da Elenco_destinatari_email.csv + PEC
destinatari_comunicazioni (
id, stabile_id, cod_condomino, tipo_comunicazione,
email, pec, attivo, scala, note
)
-- Da Assemblee.csv
assemblee_verbali (
id, stabile_id, anno_gestione_id, data_assemblea,
tipo_assemblea, oggetto, delibere, presenti,
verbale_path, protocollata
)
```
## 🔄 **RICONCILIAZIONE BANCARIA AUTOMATICA**
### **Sistema Matching Rate ↔ Incassi:**
```sql
-- Vista riconciliazione
CREATE VIEW riconciliazione_bancaria AS
SELECT
r.cod_condomino,
r.n_emissione,
r.mese_rata,
r.importo_dovuto_euro AS dovuto,
i.importo_pagato_euro AS pagato,
i.data_pagamento,
CASE
WHEN i.id IS NULL THEN 'NON_PAGATA'
WHEN ABS(r.importo_dovuto_euro - i.importo_pagato_euro) < 0.01 THEN 'PAGATA'
ELSE 'PARZIALE'
END AS stato_pagamento
FROM rate_emesse r
LEFT JOIN incassi_pagamenti i ON (
r.cod_condomino = i.cod_condomino
AND r.mese_rata = i.mese_riferimento
AND r.tipo_gestione = i.tipo_gestione
AND r.anno_gestione_id = i.anno_gestione_id
);
```
## 📋 **SEQUENCE IMPORTAZIONE**
### **Step 1: Infrastruttura** (0 duplicati)
1. `stabili` ← Stabili.csv (14 record)
2. `fornitori` ← Fornitori.csv (370 record)
3. `anni_gestione` ← anni.csv (2 record)
### **Step 2: Anagrafica Condomini** (controllo duplicati)
4. `condomini_stabile` ← condomin.csv (454 record totali)
### **Step 3: Operazioni Finanziarie** (controllo duplicati)
5. `rate_emesse` ← emes_det.csv (7.686 record)
6. `incassi_pagamenti` ← incassi.csv (503 record)
7. `fatture_fornitori` ← Fatture.csv (28 record)
### **Step 4: Gestione Avanzata**
8. `versamenti_fiscali` ← F24.csv (20 record)
9. `destinatari_comunicazioni` ← Elenco_destinatari_*.csv (2.954 record)
10. `assemblee_verbali` ← Assemblee.csv (31 record)
## 🛡️ **CONTROLLI ANTI-DUPLICAZIONE**
### **Chiavi Univocità:**
```sql
-- Stabili
UNIQUE(cod_stabile_old, codice_directory)
-- Condomini
UNIQUE(stabile_id, anno_gestione_id, cod_cond)
-- Rate
UNIQUE(stabile_id, anno_gestione_id, n_emissione, cod_condomino, mese_rata)
-- Incassi
UNIQUE(stabile_id, anno_gestione_id, cod_condomino, n_riferimento, data_pagamento)
```
### **Validazioni Business:**
- Rate emesse sempre ≥ 0
- Data scadenza > data emissione
- Incassi con riferimento a rate esistenti
- Codici condomini validi in anagrafica
- Importi in euro coerenti con lire (dove presenti)
## ✅ **RISULTATO FINALE**
**Sistema pronto per:**
- ✅ Import completo 14 stabili GESCON → NetGescon
- ✅ Riconciliazione bancaria automatica
- ✅ Storico completo rate/incassi 2024-2025
- ✅ Gestione fatture e F24 integrata
- ✅ Sistema comunicazioni email/PEC
- ✅ Assemblee e delibere tracciate
**Volume totale stimato: ~60.000 record**
La migrazione GESCON → NetGescon è **architettata e pronta per esecuzione**!