Fatture da Fogli GoogleSviluppo e personalizzazione

Un Google Apps Script che con un pulsante trasforma le righe del suo foglio Google in fatture PDF sul suo modello

Di solito pronto in 15 minutiRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Un Google Apps Script che con un pulsante trasforma le righe del suo foglio Google in fatture PDF sul suo modello

Esempio di risultato

Esempio per il pacchetto Standard

Unire i file mensili delle vendite di 9 negozi in un unico report Excel

Come si esegue

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Cartella: sales/2026-10, 9 file trovati
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 righe
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 righe
2026-11-02 09:14:04 WARN  shop-07.csv: saltate 3 righe senza prezzo (righe 88, 412, 913)
2026-11-02 09:14:05 INFO  Fatto: 10.412 righe -> report-2026-10.xlsx (fogli "Vendite" e "Totali")

Impostazioni, non codice

I nomi delle colonne di ogni negozio si trovano in settings.ini, quindi un nuovo negozio o una colonna rinominata è una riga lì:

[columns]
date = Data, Data vendita, Giorno
product = Prodotto, Articolo, Descrizione
quantity = Q.tà, Quantità, Pz
price = Prezzo, Prezzo unitario

Una parte del codice

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Legge il file di un negozio e gli dà i nomi di colonna del report."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: nessuna colonna per '{name}' (cercate: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: un archivio ZIP con merge_sales.py (310 righe), settings.ini, requirements.txt e un README su come installare Python, eseguire lo script e cosa significa ogni messaggio del registro. Il cliente lo esegue sul proprio computer.

Cliente: una piccola catena di 9 cartolerie; ogni negozio invia le vendite del mese in un file CSV o Excel, con nomi di colonna leggermente diversi. Compito: un unico script che legge tutti i file di una cartella, porta le colonne a una stessa forma e scrive un solo report Excel con tutte le vendite e un foglio di totali per negozio.

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

Se tiene ordini od ore di lavoro in un foglio Google, fare ogni fattura a mano significa copiare cliente, voci e totali in un documento e salvare un PDF. Questo Google Apps Script aggiunge un pulsante al suo foglio: compila il suo modello di fattura in Documenti Google o Fogli Google con i dati della riga, salva un PDF con il nome che preferisce in una cartella di Drive e riporta il link nella riga. Dallo Standard gestisce più righe di voci e la numerazione; il Premium può inviare ogni PDF al cliente dal suo Gmail. Totali, imposte e diciture vengono dal suo foglio e dal suo modello: lo script fa i calcoli che descrive e non dà consulenza fiscale o contabile, quindi controlli le prime fatture. Lo installa e lo esegue lei nel suo account Google.

Cosa è incluso

  • Cosa riceveUn archivio ZIP con il codice Apps Script e un README che spiega come aggiungerlo al foglio e al modello; il codice è visibile anche nella pagina dell'ordine.
  • Il suo modelloLa sua impaginazione, il logo e le diciture in Documenti Google o Fogli Google
  • PDF su DriveCon nome per numero, cliente e data, nella cartella che imposta
  • Link nella rigaVede quali righe hanno già una fattura
  • NumerazioneDallo Standard, il numero successivo preso dal suo foglio
  • Codice leggibileCon commenti, facile cambiare un campo in seguito

Come funziona

  1. 1
    ModelloLei invia le colonne del foglio e il suo modello di fattura
  2. 2
    CodiceScriviamo lo script e la guida all'installazione
  3. 3
    Lo proviCrea fatture di prova in una copia del foglio e controlla i calcoli
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

I nomi delle colonne del foglio con due o tre righe di dati inventati, il suo modello di fattura (un documento o un foglio Google, o il PDF di una fattura che invia ora) con i punti in cui va ogni valore, e come si calcolano i totali: aliquota, sconti, valuta e arrotondamenti, come le indica il suo commercialista. Come vengono numerate e chiamate le fatture, la cartella di Drive per i PDF e, per il Premium, il testo dell'email al cliente.

Le chiederemo:

  • Per cosa emette fattura?
  • Quali sono le colonne del foglio?
  • Com'è la sua fattura?
  • Come si calcolano i totali?

Confronto dei pacchetti

PacchettiBaseUna fattura alla volta15 €StandardFatture con impostazioni30 €PremiumStrumento di fatturazione60 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Codicefino a 150 righefino a 400 righefino a 1.000 righe
File di codice1fino a 3fino a 8
File di impostazioniNoSìSì
Messaggi di errore chiari e un logNoSìSì
Opzioni di avvio e una guida per eseguirlo a orari programmatiNoNoSì
Guida all'installazione e all'avvio (README)SìSìSì
LinguaggioGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Le fatture saranno corrette dal punto di vista legale?

Lo script compila ciò che contengono il suo modello e il suo foglio e calcola come descrive lei. Cosa deve contenere una fattura nel suo paese lo decidete lei o il suo commercialista; noi non diamo consulenza fiscale o legale.

Può inviare le fatture via email?

Nel Premium sì: dal suo Gmail all'indirizzo nella riga, entro il limite giornaliero di invio che Google fissa per il suo account. Può disattivare l'invio e limitarsi a salvare i PDF.

Può incassare pagamenti o collegarsi al mio programma di contabilità?

No, crea PDF. Un link di pagamento che già possiede può essere stampato sulla fattura come testo preso dal suo foglio.

Avete accesso al mio Drive?

No. Aggiunge lei il codice al suo foglio e ne autorizza l'accesso. Non accediamo mai al suo account Google.

Non hai trovato la risposta?

Pacchetti