Divisore Spese di Gruppo — chi deve dare e chi deve avere
Un viaggio con gli amici, un appartamento condiviso, una cena in tanti: chi ha pagato cosa, e chi deve dare o ricevere quanto? Inserisci ogni spesa con chi l'ha anticipata e l'app calcola da sola il saldo di ognuno — un'alternativa gratuita e senza account alle solite app di divisione spese, con lo storico salvato sul dispositivo.
Cosa registra
- Descrizione, es. Cena, benzina, affitto
- Importo (€)
- Chi ha pagato, es. Marco
Come funziona
Questa è un'app Reactive: un semplice documento di testo che il browser trasforma in un'app funzionante — moduli, dati dal vivo, tabelle, statistiche e persino grafici, senza installare né configurare nulla.
- Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
- I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
- Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
- Condividila come file. Un'app è un semplice file: salvalo, esportalo o condividilo con un link; e con la collaborazione cifrata più persone modificano gli stessi dati in tempo reale.
Il testo dell'app
# 🧾 Divisore Spese di Gruppo
Un viaggio con gli amici, un appartamento condiviso, una cena in tanti: chi
ha pagato cosa, e chi deve dare o ricevere quanto? Inserisci ogni spesa con
chi l'ha anticipata e l'app calcola da sola il saldo di ognuno — un'alternativa
gratuita e senza account alle solite app di divisione spese, con lo storico
salvato sul dispositivo.
::::form{path="spese" id="fsp"}
::input{form="fsp" field="descrizione" placeholder="Descrizione, es. Cena, benzina, affitto" required="true"}
::input{form="fsp" field="importo" type="number" placeholder="Importo (€)" required="true"}
::input{form="fsp" field="pagato_da" placeholder="Chi ha pagato, es. Marco" required="true"}
::add-form{form="fsp" path="spese" label="Aggiungi spesa"}
::::
:::python{data="spese"}
```
righe = data["spese"]
totale = sum(float(r["importo"]) for r in righe) if righe else 0
persone = sorted(set(r["pagato_da"] for r in righe if r["pagato_da"]))
if persone:
quota = totale / len(persone)
print(f"Totale speso: € {totale:.2f} — quota a testa: € {quota:.2f}\n")
for p in persone:
pagato = sum(float(r["importo"]) for r in righe if r["pagato_da"] == p)
saldo = pagato - quota
if saldo >= 0:
print(f"{p}: ha pagato € {pagato:.2f}, quota € {quota:.2f} → deve ricevere € {saldo:.2f}")
else:
print(f"{p}: ha pagato € {pagato:.2f}, quota € {quota:.2f} → deve dare € {-saldo:.2f}")
else:
print("Aggiungi una spesa indicando chi ha pagato per vedere il riepilogo.")
```
:::
## Storico spese
:::table{path="spese" headers="Descrizione,Importo,Pagato da" deletable="true" editform="fsp"}
{descrizione} | € {importo} | {pagato_da}
:::
Totale speso: **€ :sum[tot]{path="spese" field="importo"}**
Ricordati: ogni spesa resta salvata sul dispositivo, così puoi tornare a
saldare i conti anche giorni dopo il viaggio o la cena.