CatalogoStrumenti ›Uso quotidiano

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.

▶ Usa questa app

spesegruppoviaggiodivisione conto

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.

  1. Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
  2. I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
  3. Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
  4. 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.