Guide Operative β Sistema F24 SMDC
Documentazione interna aggiornata al 02 marzo 2026 β Sistema v2.5 Β· Core Congelato Β· In produzione
Flusso Operativo Quotidiano
5 passi dal PDF DATEV al cliente notificato. Lavoro manuale: ~2 minuti. Il resto Γ¨ automatico.
Fast Lane β Scadenze Urgenti (β€ 5 giorni lavorativi)
Se data_scadenza β€ 5 giorni lavorativi, il sistema NON aspetta le 09:00. Appena spunti VALIDATO = TRUE, processaValidati lancia email + WhatsApp immediatamente. Il log mostra: PUBLISH OK: Fast lane: scadenza urgente, invio notifica immediata D-5.
DATEV genera i PDF con questo formato β non rinominare mai il file:
Apri Google Drive β F24_DROPZONE e carica nella cartella corretta:
| Cartella | Quando usarla | Effetto automatico |
|---|---|---|
| π PAGA_CLIENTE | Il cliente deve pagare autonomamente | PDF pubblicato + notifica D-5 al cliente |
| π PAGA_STUDIO | Lo Studio paga per conto del cliente | PDF archiviato solo β nessuna notifica |
monitoraDropzoneF24 (ogni 1 minuto) scansiona la Dropzone, crea il record in F24_SMDC e sposta il PDF in PROCESSATI:
| Campo Airtable | Compilato da | Valore |
|---|---|---|
| cliente | π€ Sistema | Linked record trovato dal codice fiscale nel nome file |
| payer_effettivo | π€ Sistema | CLIENTE o STUDIO β dalla cartella dropzone usata |
| drive_file_id | π€ Sistema | ID univoco file su Google Drive |
| f24_ref | π€ Sistema | Progressivo estratto dal nome file DATEV |
| stato_f24 | π€ Sistema | DA_COMPLETARE (stato iniziale) |
| data_scadenza | π€ Tu (step 3) | Da compilare |
| importo | π€ Tu (step 3) | Da compilare |
| tipo_tributo | π€ Tu (step 3) | IVA, IRPEF, INPS, IMU… |
ingested=1 nel log β il CF nel nome file non corrisponde a nessun cliente in CLIENTI_SMDC. Vedi tab Troubleshooting.Vai in Airtable β F24_SMDC β trova il record con stato DA_COMPLETARE e compila:
β’ data_scadenza β formato YYYY-MM-DD (es. 2026-03-31)
β’ importo β importo totale in euro (es. 1250.00)
β’ tipo_tributo β IVA Β· IRPEF Β· INPS Β· IMU Β· ALTRO
β’ descrizione_breve β es. “IVA Gennaio 2026” (appare nell’email al cliente)
Dopo aver compilato tutto β spunta VALIDATO = TRUE. Questo Γ¨ il trigger della pubblicazione.
processaValidati (ogni 1 minuto) trova il record VALIDATO=TRUE e pubblica:
- Copia il PDF nella cartella Drive del cliente (
2026/F24 da pagare/o2026/F24 studio paga/) - Rinomina con formato standard:
2026-03-31_β¬1250,00_IVA_RSSMRA80_11257.pdf - Sposta originale in DROPZONE_PROCESSATI/2026/03/
- Aggiorna Airtable: PUBBLICATO Β· pdf_drive_url Β· data_pubblicazione
| Scenario | Quando scatta | Canali | Log atteso |
|---|---|---|---|
| β‘ Fast Lane | Scadenza β€ 5 gg lavorativi da oggi | Email + WhatsApp* β immediati | PUBLISH OK: Fast lane: scadenza urgente |
| π D-5 Standard | Scadenza > 5 gg β notifica ore 09:00 del giorno D-5 | Email + WhatsApp* | D5_SUMMARY OK: sent=1 skipped=0 |
| π’ PAGA_STUDIO | Mai β nessuna notifica al cliente | Nessuno | D5 SKIP: payer=STUDIO |
* WhatsApp attivo solo per clienti con waOptIn = TRUE in CLIENTI_SMDC
notificato_d5 = TRUE Β· stato_f24 = NOTIFICATOI Tre Trigger β Come Funzionano
Tutti attivi dal 01/03/2026 Β· Account: massimomartinelli Β· Apps Script β SMDC_F24.gs
- Scansiona PAGA_CLIENTE/ e PAGA_STUDIO/
- Trova PDF nuovi non ancora processati
- Parsa CF e progressivo dal nome file
- Cerca CF in CLIENTI_SMDC β linka cliente
- Crea record Airtable in DA_COMPLETARE
- Marca file come processato (anti-duplica)
CONFIG OK: Config F24 validata.
INGEST OK: File ingerito.
INGEST_SUMMARY OK: scanned=N ingested=N warnings=0 skipped=0 (cache=0 badname=0) errors=0
- Cerca record con VALIDATO=TRUE non ancora pubblicati
- Copia PDF nella cartella Drive del cliente
- Rinomina con schema standard (data_β¬_tributo_CF_ref)
- Sposta originale in PROCESSATI/YYYY/MM/
- Aggiorna Airtable β PUBBLICATO
- Se scadenza β€5gg β Fast Lane immediata
PUBLISH OK: PDF copiato in F24 da pagare: ...
PUBLISH OK: MOVE OK: originale β PROCESSATI/...
PUBLISH_SUMMARY OK: processed=N skipped=0 errors=0
- Gira alle 09:00 Europe/Rome ogni giorno
- Cerca F24 PUBBLICATI con scadenza = oggi +5 gg lavorativi
- Controlla payer_effettivo = CLIENTE
- Controlla notificato_d5 = FALSE (idempotenza)
- Invia email con PDF allegato via GmailApp
- Invia WhatsApp via Twilio se waOptIn=TRUE
- Aggiorna notificato_d5=TRUE atomicamente
D5 OK: Email inviata a [cliente]
D5 SKIP: payer=STUDIO (corretto, nessuna notifica)
D5_SUMMARY OK: sent=N skipped=N
| Messaggio nel log | Trigger | Significato | Azione |
|---|---|---|---|
CONFIG OK: Config F24 validata. Twilio verificato (WA_ENABLED=true). | tutti | Configurazione caricata e verificata ad ogni run | NORMALE |
INGEST OK: File ingerito. | monitoraDropzone | PDF trovato, CF parsato, record Airtable creato | OK |
INGEST_SUMMARY OK: scanned=1 ingested=1 warnings=0 skipped=0 (cache=0 badname=0) errors=0 | monitoraDropzone | Riepilogo run β tutto processato correttamente | OK |
INGEST SKIP: Filename non conforme, skip (riprovabile). | monitoraDropzone | Nome file non parsa β CF non estratto | VERIFICA NOME FILE |
PUBLISH OK: PDF copiato in F24 da pagare: [nome] | processaValidati | F24 pubblicato correttamente nella cartella cliente | OK |
PUBLISH OK: Fast lane: scadenza urgente, invio notifica immediata D-5. | processaValidati | Scadenza β€5gg β notifica inviata immediatamente | OK |
PUBLISH OK: MOVE OK: originale β PROCESSATI/2026/03/... | processaValidati | File originale spostato da Dropzone ad archivio | OK |
PUBLISH_SUMMARY OK: processed=1 skipped=0 warnings=0 errors=0 | processaValidati | Riepilogo publish β tutto ok | OK |
PUBLISH OK: Nessun record da pubblicare. | processaValidati | Nessun F24 in attesa di pubblicazione β normale | NORMALE |
D5_SUMMARY OK: sent=1 skipped=0 | notificaD5 | Notifica D-5 inviata correttamente | OK |
D5_SUMMARY OK: sent=0 skipped=0 (Nessun record D-5 oggi) | notificaD5 | Oggi non ci sono F24 con scadenza a 5gg β normale | NORMALE |
D5 SKIP: payer=STUDIO | notificaD5 | F24 paga Studio β nessuna notifica cliente | CORRETTO |
INGEST WARN: Parsing warning: ... | monitoraDropzone | CF parsato con avviso β verificare nome file | CONTROLLA |
PUBLISH SKIP: Record giΓ pubblicato (pdf_drive_url/pdf_filename presenti). | processaValidati | Anti-duplicazione attiva β giΓ pubblicato | NORMALE |
INGEST ERROR: Folder ID mancante per payer=... | monitoraDropzone | Script Properties incompleto | CONTATTA MASSIMO |
PUBLISH ERROR: Drive.Files.copy fallito: ... | processaValidati | Problema copia Drive β permessi o cartella mancante | VERIFICA DRIVE |
PUBLISH ERROR: Patch Airtable PUBBLICATO fallita | processaValidati | Copia avvenuta ma Airtable non aggiornato | CONTATTA MASSIMO |
Gestione Airtable
Due tabelle: F24_SMDC (una riga = un F24) e CLIENTI_SMDC (anagrafica)
| Stato | Significato | Chi lo imposta |
|---|---|---|
| DA_COMPLETARE | PDF ingerito, campi da compilare | π€ Sistema all’ingest |
| PUBBLICATO | PDF nella cartella cliente, portale aggiornato | π€ Sistema al publish |
| NOTIFICATO | Email/WA D-5 inviata al cliente | π€ Sistema alla notifica |
| Campo | Descrizione | Critico |
|---|---|---|
codice_fiscale | 16 caratteri maiuscoli β usato per lookup automatico | β οΈ SΓ¬ |
email | Destinatario notifiche D-5 e Fast Lane | β οΈ SΓ¬ |
folder_id | ID cartella Drive cliente β estratto dalla URL Drive | β οΈ SΓ¬ |
waOptIn | TRUE = riceve anche WhatsApp oltre all’email | No |
attivo | FALSE = escluso completamente dalle notifiche | No |
Problemi Comuni e Soluzioni
Clicca su ogni problema per espandere la soluzione dettagliata
Causa 1 β CF non in CLIENTI_SMDC: il log mostra INGEST SKIP: Filename non conforme o nessun record creato in Airtable. Soluzione: aggiungi il cliente in CLIENTI_SMDC con il CF corretto (16 car., maiuscolo, no spazi).
Causa 2 β Trigger non attivo: Apps Script β menu Attivatori β verifica che monitoraDropzoneF24 sia presente con frequenza “ogni minuto”.
Causa 3 β Autorizzazione scaduta: Apps Script β apri SMDC_F24.gs β esegui manualmente validateConfigF24 β autorizza le permission richieste.
Causa 1: VALIDATO non salvato correttamente β riapri il record Airtable e verifica che VALIDATO sia TRUE.
Causa 2: folder_id mancante in CLIENTI_SMDC β trova il cliente β inserisci folder_id dalla URL Drive.
Causa 3: Log mostra PUBLISH ERROR: Drive.Files.copy fallito: permission denied β la cartella cliente non Γ¨ condivisa con l’account Google dello Studio.
Causa 4: Log mostra PUBLISH SKIP: drive_file_id mancante nel record β il record Γ¨ stato creato manualmente. Elimina e ricarica il PDF dalla Dropzone.
Verifica questi campi in Airtable β F24_SMDC sul record specifico:
- payer_effettivo = CLIENTE (se Γ¨ STUDIO il sistema non notifica β corretto)
- validato = TRUE
- notificato_d5 = FALSE (se TRUE β giΓ inviata, non rimanda)
- stato_f24 = PUBBLICATO (se DA_COMPLETARE β non ancora pubblicato)
- data_scadenza = tra esattamente 5 giorni lavorativi da oggi
- CLIENTI_SMDC β email del cliente compilata e corretta
noreply@studiocommercialistamartinelli.itCausa 1: sm_codice_fiscale non compilato nel profilo WP β WP Admin β Utenti β profilo cliente β compila il campo.
Causa 2: Il CF in WP non corrisponde esattamente al CF in CLIENTI_SMDC (case-sensitive: deve essere maiuscolo).
Causa 3: Nessun record con stato_f24 = PUBBLICATO per quel CF β verifica in Airtable che il publish sia avvenuto.
Causa 4: Cache WordPress ancora attiva β attendere max 15 minuti. In urgenza: WP Admin β plugin cache β svuota cache.
Il CF estratto dal nome file non corrisponde a nessun cliente in CLIENTI_SMDC.
Soluzione: CLIENTI_SMDC β cerca il cliente β verifica campo codice_fiscale: deve essere esattamente 16 caratteri, tutto maiuscolo, nessuno spazio.
Nota: Il sistema gestisce automaticamente i CF con suffisso -1 nel nome file β non Γ¨ un problema. Il warning puΓ² apparire per altri motivi di formato.
Apps Script β icona orologio (Attivatori) nel menu laterale β seleziona tutti e 3 i trigger β elimina
Il sistema si ferma istantaneamente. Nessun F24 verrΓ processato o notificato.
Per riattivare: ricrea i 3 trigger manualmente con le frequenze originali (1 min / 1 min / giornaliero 09:00).
Checklist Operative
Spunta ogni voce β le selezioni vengono ricordate durante la sessione
Link Rapidi
Accesso diretto a tutti gli strumenti del sistema F24 SMDC
| Parametro | Valore |
|---|---|
| Versione sistema | SMDC v2.5 β Core Congelato β in produzione dal 01/03/2026 |
| Formato file DATEV | DDMMYYYY[PROG]-[CF].pdf β non rinominare |
| Portale cliente | /i-tuoi-f24/ β protetto Members, richiede login WordPress |
| Cache portale WP | 15 minuti (SMDC_F24_CACHE_TTL = 900) |
| Anno corrente sistema | 2026 β da aggiornare a dicembre in SMDC_F24.gs |
| Finestra notifica D-5 | Esattamente +5 giorni lavorativi da oggi (esclude sabato/domenica/festivi) |
| monitoraDropzoneF24 | Ogni 1 minuto β scansione Dropzone e ingest |
| processaValidati | Ogni 1 minuto β publish e Fast Lane |
| notificaD5 | Daily ore 09:00 Europe/Rome |
| Credenziali Airtable | Bitwarden β “SMDC_Airtable_Token” |
| Email notifiche mittente | noreply@studiocommercialistamartinelli.it |
| WhatsApp provider | Twilio β waOptIn=TRUE in CLIENTI_SMDC per attivare |
