Guida Operativa F24 automatizzato

Area Staff β€” Studio Martinelli

Guide Operative β€” Sistema F24 SMDC

Documentazione interna aggiornata al 02 marzo 2026 β€” Sistema v2.5 Β· Core Congelato Β· In produzione

83
Clienti attivi
3
Trigger attivi
v2.5
Versione sistema
πŸ”’
Core Congelato

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.

⏱ Tempo totale operatore: ~2 minuti per F24 (step 1 + step 3). Tutto il resto è automatico.
1
Esporta PDF da DATEV e carica in Dropzone ⏱ 30 sec β€” TU β–Ό

DATEV genera i PDF con questo formato β€” non rinominare mai il file:

DDMMYYYY[PROGRESSIVO]-[CODICEFISCALE].pdf Esempio: 1602202611257-RSSMRA80A01H501U.pdf Esempio CF con suffisso: 1602202611257-RSSMRA80A01H501U-1.pdf ← anche questo funziona

Apri Google Drive β†’ F24_DROPZONE e carica nella cartella corretta:

CartellaQuando usarlaEffetto automatico
πŸ“ PAGA_CLIENTEIl cliente deve pagare autonomamentePDF pubblicato + notifica D-5 al cliente
πŸ“ PAGA_STUDIOLo Studio paga per conto del clientePDF archiviato solo β€” nessuna notifica
⚠️ Regola d’oro: la Dropzone deve essere vuota a fine giornata. File rimasti dopo 5 minuti = problema da investigare nel LOG_F24.
2
Il sistema crea il record in Airtable πŸ€– Automatico β€” entro 1 min β–Ό

monitoraDropzoneF24 (ogni 1 minuto) scansiona la Dropzone, crea il record in F24_SMDC e sposta il PDF in PROCESSATI:

Campo AirtableCompilato daValore
clienteπŸ€– SistemaLinked record trovato dal codice fiscale nel nome file
payer_effettivoπŸ€– SistemaCLIENTE o STUDIO β€” dalla cartella dropzone usata
drive_file_idπŸ€– SistemaID univoco file su Google Drive
f24_refπŸ€– SistemaProgressivo estratto dal nome file DATEV
stato_f24πŸ€– SistemaDA_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…
LOG_F24 β€” cosa vedere dopo step 1
2026-03-02T08:15:40Z CONFIG OK Config F24 validata. Twilio verificato (WA_ENABLED=true).
2026-03-02T08:15:42Z INGEST OK File ingerito.
2026-03-02T08:16:05Z INGEST_SUMMARY OK Scan completato. scanned=1 ingested=1 warnings=0 skipped=0 errors=0
⚠️ Se dopo 2 minuti non vedi ingested=1 nel log β†’ il CF nel nome file non corrisponde a nessun cliente in CLIENTI_SMDC. Vedi tab Troubleshooting.
3
Completa il record e valida in Airtable ⏱ 1 min β€” TU β–Ό

Vai in Airtable β†’ F24_SMDC β†’ trova il record con stato DA_COMPLETARE e compila:

Campi obbligatori da compilare:

β€’ 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.

⚠️ Non toccare payer_effettivo β€” Γ¨ impostato dalla cartella dropzone. Modificarlo manualmente causa disallineamenti.
⚠️ Non spuntare VALIDATO prima di compilare tutti i campi obbligatori β€” la pubblicazione parte entro 1 minuto e non Γ¨ reversibile.
4
Il sistema pubblica il PDF nella cartella cliente πŸ€– Automatico β€” entro 1 min β–Ό

processaValidati (ogni 1 minuto) trova il record VALIDATO=TRUE e pubblica:

  • Copia il PDF nella cartella Drive del cliente (2026/F24 da pagare/ o 2026/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
βœ… Il cliente vede il PDF nel portale /i-tuoi-f24/ entro 15 minuti (cache WordPress).
LOG_F24 β€” cosa vedere dopo step 3 (VALIDATO=TRUE)
2026-03-02T08:20:05Z PUBLISH OK PDF copiato in F24 da pagare: 2026-03-31_€1250,00_IVA_RSSMRA80_11257.pdf
2026-03-02T08:20:06Z PUBLISH OK MOVE OK: originale β†’ PROCESSATI/2026/03/2026-03-31_€1250,00_IVA_…
2026-03-02T08:20:10Z PUBLISH_SUMMARY OK Publish completato. processed=1 skipped=0 warnings=0 errors=0
5
Notifica automatica al cliente πŸ€– Automatico β–Ό
ScenarioQuando scattaCanaliLog atteso
⚑ Fast LaneScadenza ≀ 5 gg lavorativi da oggiEmail + WhatsApp* β€” immediatiPUBLISH OK: Fast lane: scadenza urgente
πŸ”” D-5 StandardScadenza > 5 gg β€” notifica ore 09:00 del giorno D-5Email + WhatsApp*D5_SUMMARY OK: sent=1 skipped=0
🏒 PAGA_STUDIOMai β€” nessuna notifica al clienteNessunoD5 SKIP: payer=STUDIO

* WhatsApp attivo solo per clienti con waOptIn = TRUE in CLIENTI_SMDC

βœ… Dopo la notifica: notificato_d5 = TRUE Β· stato_f24 = NOTIFICATO

I Tre Trigger β€” Come Funzionano

Tutti attivi dal 01/03/2026 Β· Account: massimomartinelli Β· Apps Script β†’ SMDC_F24.gs

monitoraDropzoneF24
ogni 1 min
πŸ“₯ Sorvegliante Dropzone
  • 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)
Log attesi β€” tutto OK
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
processaValidati
ogni 1 min
πŸ“€ Pubblicatore F24
  • 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
Log attesi β€” tutto OK
PUBLISH OK: PDF copiato in F24 da pagare: ... PUBLISH OK: MOVE OK: originale β†’ PROCESSATI/... PUBLISH_SUMMARY OK: processed=N skipped=0 errors=0
notificaD5
09:00 ogni giorno
πŸ”” Notificatore Giornaliero
  • 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
Log attesi β€” tutto OK
D5 OK: Email inviata a [cliente] D5 SKIP: payer=STUDIO (corretto, nessuna notifica) D5_SUMMARY OK: sent=N skipped=N
πŸ“‹ Guida completa ai messaggi di LOG_F24
Messaggio nel logTriggerSignificatoAzione
CONFIG OK: Config F24 validata. Twilio verificato (WA_ENABLED=true).tuttiConfigurazione caricata e verificata ad ogni runNORMALE
INGEST OK: File ingerito.monitoraDropzonePDF trovato, CF parsato, record Airtable creatoOK
INGEST_SUMMARY OK: scanned=1 ingested=1 warnings=0 skipped=0 (cache=0 badname=0) errors=0monitoraDropzoneRiepilogo run β€” tutto processato correttamenteOK
INGEST SKIP: Filename non conforme, skip (riprovabile).monitoraDropzoneNome file non parsa β€” CF non estrattoVERIFICA NOME FILE
PUBLISH OK: PDF copiato in F24 da pagare: [nome]processaValidatiF24 pubblicato correttamente nella cartella clienteOK
PUBLISH OK: Fast lane: scadenza urgente, invio notifica immediata D-5.processaValidatiScadenza ≀5gg β€” notifica inviata immediatamenteOK
PUBLISH OK: MOVE OK: originale β†’ PROCESSATI/2026/03/...processaValidatiFile originale spostato da Dropzone ad archivioOK
PUBLISH_SUMMARY OK: processed=1 skipped=0 warnings=0 errors=0processaValidatiRiepilogo publish β€” tutto okOK
PUBLISH OK: Nessun record da pubblicare.processaValidatiNessun F24 in attesa di pubblicazione β€” normaleNORMALE
D5_SUMMARY OK: sent=1 skipped=0notificaD5Notifica D-5 inviata correttamenteOK
D5_SUMMARY OK: sent=0 skipped=0 (Nessun record D-5 oggi)notificaD5Oggi non ci sono F24 con scadenza a 5gg β€” normaleNORMALE
D5 SKIP: payer=STUDIOnotificaD5F24 paga Studio β€” nessuna notifica clienteCORRETTO
INGEST WARN: Parsing warning: ...monitoraDropzoneCF parsato con avviso β€” verificare nome fileCONTROLLA
PUBLISH SKIP: Record giΓ  pubblicato (pdf_drive_url/pdf_filename presenti).processaValidatiAnti-duplicazione attiva β€” giΓ  pubblicatoNORMALE
INGEST ERROR: Folder ID mancante per payer=...monitoraDropzoneScript Properties incompletoCONTATTA MASSIMO
PUBLISH ERROR: Drive.Files.copy fallito: ...processaValidatiProblema copia Drive β€” permessi o cartella mancanteVERIFICA DRIVE
PUBLISH ERROR: Patch Airtable PUBBLICATO fallitaprocessaValidatiCopia avvenuta ma Airtable non aggiornatoCONTATTA MASSIMO

Gestione Airtable

Due tabelle: F24_SMDC (una riga = un F24) e CLIENTI_SMDC (anagrafica)

πŸ—‚οΈ Tabella F24_SMDC β€” Stati operativi
StatoSignificatoChi lo imposta
DA_COMPLETAREPDF ingerito, campi da compilareπŸ€– Sistema all’ingest
PUBBLICATOPDF nella cartella cliente, portale aggiornatoπŸ€– Sistema al publish
NOTIFICATOEmail/WA D-5 inviata al clienteπŸ€– Sistema alla notifica
ℹ️ Il campo VALIDATO Γ¨ solo il trigger tecnico della pubblicazione β€” non Γ¨ uno stato operativo. Spuntarlo = dare il via alla pubblicazione.
πŸ‘€ Tabella CLIENTI_SMDC β€” Campi chiave
CampoDescrizioneCritico
codice_fiscale16 caratteri maiuscoli β€” usato per lookup automatico⚠️ SΓ¬
emailDestinatario notifiche D-5 e Fast Lane⚠️ Sì
folder_idID cartella Drive cliente β€” estratto dalla URL Drive⚠️ SΓ¬
waOptInTRUE = riceve anche WhatsApp oltre all’emailNo
attivoFALSE = escluso completamente dalle notificheNo
βž• Aggiungere un nuovo cliente
πŸ“‹ Controllo quotidiano (2 minuti)

Problemi Comuni e Soluzioni

Clicca su ogni problema per espandere la soluzione dettagliata

❌Il file non viene ingerito dopo 2 minuti (INGEST_SUMMARY: ingested=0)β–Ό

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.

❌Il PDF non viene pubblicato dopo VALIDATO=TRUE (PUBLISH_SUMMARY: processed=0)β–Ό

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.

❌Il cliente non riceve la notifica email D-5β–Ό

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
Se tutto Γ¨ corretto ma l’email non arriva β†’ controlla spam del cliente. Il mittente Γ¨ noreply@studiocommercialistamartinelli.it
❌Il cliente vede “Dati non disponibili” nel portale /i-tuoi-f24/β–Ό

Causa 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.

❌CF non trovato β€” “INGEST WARN: Parsing warning” nel logβ–Ό

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.

Se il cliente non esiste ancora β†’ aggiungilo in CLIENTI_SMDC prima di ricaricare il PDF.
πŸ†˜Emergenza β€” disattivare immediatamente il sistemaβ–Ό
Per bloccare tutti i trigger immediatamente:
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).

⚠️ Contattare sempre Massimo prima di eliminare i trigger in produzione.

Checklist Operative

Spunta ogni voce β€” le selezioni vengono ricordate durante la sessione

β˜€οΈ Checklist mattutina quotidiana
πŸ”§ Checklist manutenzione mensile
πŸš€ Checklist cambio anno (dicembre)