Ricarico sul listinoSviluppo e personalizzazione

Uno script Python che applica le sue regole di ricarico e arrotondamento al listino di un fornitore e salva il suo

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.

Uno script Python che applica le sue regole di ricarico e arrotondamento al listino di un fornitore e salva il suo

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

Quando un fornitore invia un nuovo listino ogni settimana, ricalcolare a mano i suoi prezzi significa ore in Excel ed errori nelle formule. Questo script Python legge il file del fornitore e applica le sue regole: un ricarico in percentuale o un importo fisso, dallo Standard ricarichi diversi per categoria, marchio o fascia di prezzo, un margine minimo, un tasso di cambio che inserisce lei, e arrotondamenti come a .99 o alla decina più vicina. Salva un nuovo listino con le colonne che le servono, pronto per il negozio o per i clienti, ed elenca le righe che non è riuscito a prezzare. Le regole sono sue; lo script fa i calcoli e non dà consigli sui prezzi. Lo esegue lei sul suo computer, quindi confronti i primi listini con qualche prezzo calcolato a mano.

Cosa è incluso

  • Cosa riceveUn archivio ZIP con lo script Python, un README con le istruzioni passo passo e, dallo Standard, un file di impostazioni con ricarichi e arrotondamenti; il codice è visibile anche nella pagina dell'ordine.
  • Le sue regole di ricaricoPercentuale o fisso, per categoria, marchio o fascia di prezzo
  • Arrotondamento a sua sceltaA .99, alla decina più vicina, o come imposta lei
  • Le sue colonneSolo le colonne che le servono, nel suo ordine
  • Righe con problemi elencateVengono segnalate le righe senza prezzo o con una categoria sconosciuta
  • Codice leggibileCon commenti, facile cambiare una regola in seguito

Come funziona

  1. 1
    RegoleLei invia un campione del file del fornitore e le sue regole di ricarico
  2. 2
    CodiceScriviamo lo script e la guida per eseguirlo
  3. 3
    Lo proviLo esegue sull'ultimo listino e controlla a mano qualche prezzo
  4. 4
    ModificheChiede modifiche nei limiti del pacchetto e invia eventuali messaggi di errore

Cosa ci serve da lei

20-30 righe del listino del fornitore così come arriva (Excel o CSV), le sue regole di ricarico scritte in modo semplice (per esempio 35% su tutto sotto i 50, 25% sopra, almeno 5 di margine), l'arrotondamento desiderato, il tasso di cambio se i prezzi vanno convertiti e da dove viene, e le colonne che deve avere il suo listino. Se ha più fornitori (Premium), un campione da ciascuno. Il suo sistema: Windows, macOS o Linux.

Le chiederemo:

  • Cosa invia il fornitore?
  • Quali sono le sue regole di ricarico?
  • Come vanno arrotondati i prezzi?
  • Cosa deve contenere il suo listino?

Confronto dei pacchetti

PacchettiBaseUna regola di ricarico15 €StandardRicarico con impostazioni30 €PremiumStrumento prezzi60 €
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ì
LinguaggioPythonPythonPython
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

Può prendere il tasso di cambio da internet?

Nel Premium può leggere il tasso da una fonte pubblica a sua scelta, come i tassi pubblicati dalla sua banca centrale. Altrimenti inserisce il tasso nelle impostazioni prima di ogni avvio.

Può caricare i prezzi nel mio negozio?

Questa offerta crea il file del listino. Molte piattaforme e-commerce importano i prezzi da un file del genere; ci dica la sua e adatteremo le colonne alla sua importazione.

E se il fornitore cambia il file?

Dallo Standard i nomi delle colonne stanno nel file di impostazioni, quindi una colonna rinominata si sistema cambiando una riga. Una struttura completamente nuova può richiedere di adattare lo script.

Mi direte quale ricarico applicare?

No. Non diamo consigli sui prezzi né finanziari: lo script applica le regole che imposta, e i numeri sono una sua decisione.

Non hai trovato la risposta?

Pacchetti