take two.

Take Two · AI nelle attività IT

Laboratorio pratico per creare un report casse da CSV

Esegui un report casse da CSV con Python: download gratuito, dati fittizi, test e prompt AI. Gestisci dati mancanti, duplicati e revisioni.

Take Two · · 5 min di lettura

Un report su casse e scontrinato deve mostrare sia gli importi ricevuti sia le casse ancora mancanti. In questo laboratorio puoi eseguire uno script Python su dati fittizi, aprire il report nel browser e provare cosa cambia quando arriva un riepilogo in ritardo.

Il pacchetto contiene lo script, tre CSV, le istruzioni in italiano e inglese, quindici test automatici e report già generati. Python calcola i risultati e prepara un prompt da usare nel tuo strumento AI per scrivere il commento.

Scarica e prova il laboratorio

Scarica il laboratorio completo ZIP. Tutti i materiali sono gratuiti e disponibili senza account.

Servono Python 3.10 o successivo e un terminale. Non sono richieste librerie aggiuntive né chiavi API. Lo script lavora sui file locali e non contatta servizi esterni.

Estrai il pacchetto, apri un terminale nella cartella estratta ed esegui su Windows:

py report.py --inventory casse-attese.csv --uploads invii.csv --date 2026-10-07 --out risultato --lang it

Su Linux e macOS usa python3 al posto di py. Le istruzioni nel pacchetto spiegano anche l’alternativa python su Windows.

Apri il file HTML nella cartella risultato. Puoi vedere anche il report di esempio già generato.

Capire i due input

Il primo CSV elenca le quattro casse attese per la giornata commerciale del 7 ottobre 2026. Il secondo contiene i riepiloghi ricevuti, con numero di scontrini, lordo, resi, revisione e indicazione di completezza. Tutti gli identificativi e gli importi sono fittizi.

Sono riepiloghi dell’intera giornata: la revisione 2 di una cassa sostituisce la revisione 1. Non sono lotti incrementali da sommare. Il file include una riga duplicata e una revisione superata per verificare che il totale non cresca per errore.

La giornata commerciale viene dal sistema sorgente. Il laboratorio filtra quella data, senza convertire timestamp o fusi orari. Per dati reali, l’elenco delle casse attese e le regole di giornata devono essere concordati prima dell’esportazione.

Controllare il primo risultato

Misura Risultato atteso
Casse complete su attese 3 su 4
Copertura 75%
Scontrini disponibili 295
Lordo disponibile 11.800,00 EUR
Resi disponibili 300,00 EUR
Netto disponibile 11.500,00 EUR
Cassa mancante ST018 POS02

Il netto è lordo meno resi; non è una riconciliazione dei pagamenti. Il totale resta incompleto perché manca una cassa. ST017 ha due casse complete e 7.800,00 euro netti; ST018 ha una cassa completa su due e 3.700,00 euro netti disponibili.

Gli importi sono calcolati in centesimi interi. Una cassa con zero vendite e un riepilogo completo conta nella copertura. Una cassa senza riepilogo resta mancante. Se nessuna cassa è completa, gli importi disponibili sono indicati come non disponibili.

Simulare l’arrivo dei dati mancanti

Il terzo CSV aggiunge il riepilogo di ST018 POS02. Esegui:

py report.py --inventory casse-attese.csv --uploads invii-completi.csv --date 2026-10-07 --out risultato-completo --lang it

La copertura diventa 100%, gli scontrini sono 350 e il netto sale a 13.700,00 euro. Il primo report non era sbagliato: rappresentava un perimetro incompleto. Conserva entrambi i risultati per vedere quali dati sono cambiati.

Una nuova esecuzione con la stessa cartella, data e lingua sostituisce i quattro output di quella esecuzione. Usa cartelle diverse per conservare le versioni, come in questi due comandi.

Preparare il commento con l’AI

Ogni esecuzione crea un report HTML, una versione Markdown, i risultati JSON e un file con suffisso -ai-prompt.txt. Quest’ultimo contiene le istruzioni e i valori calcolati.

Copia il contenuto nel tuo strumento AI autorizzato. Poi confronta la risposta con il report: deve riportare copertura e importi disponibili, riconoscere la cassa mancante e non dedurre guasti o vendite perse. Nel laboratorio non viene chiamato un modello e non è fornito un commento AI misurato.

Il calcolo resta verificabile anche se la generazione del commento fallisce. Il report HTML funziona senza AI.

Provare gli errori prima di adattare i dati

I quindici test inclusi verificano duplicati, ordine delle revisioni, arrivo tardivo, zeri, dati mancanti, importi invalidi e output nelle due lingue. Per eseguirli:

py -m unittest test_report.py

Puoi anche copiare un CSV di esempio e cambiare un valore mantenendo la stessa revisione di una riga duplicata: lo script deve fermarsi segnalando il conflitto. I test sono stati eseguiti sul pacchetto pubblicato.

Prima di usare dati reali, adatta le definizioni di scontrini, lordo e resi al tuo gestionale. Il README documenta intestazioni, separatore e formato degli importi. Non basta rinominare un file Excel in CSV: occorre rispettare il contratto degli input.

Per capire il metodo leggi anche il report giornaliero su casse e scontrinato. Per lavorare su istruzioni e materiali, continua con il corso gratuito sui prompt strutturati, con account gratuito.

Continua a esplorare