Ödeme korumasıAyrıntılar
- Paket kapsamındaki revizyonlar ücretsizdir.
- Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.
Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Örnek sonuç
Merging the monthly sales files of 9 shops into one Excel report
How it is run
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")
Settings, not code
The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:
[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price
A part of the code
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Reads one shop's file and gives it the report's column names."""
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}: no column for '{name}' (looked for {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.
Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.
Müşteri ve tüm ayrıntılar kurgusaldır.
Bu hizmet hakkında
Google Drive'da bir klasörü içindeki her şeyle birlikte kopyalayan bir düğme yoktur ve birkaç yıl sonra ortak bir drive eski sürümlerle ve kimsenin bulamadığı dosyalarla dolar. Bu Google Apps Script, Drive'ın yapmadığı işleri yapar: bir klasörü tüm alt klasörleriyle kopyalar, neyin yer kapladığını görmeniz için her dosyayı boyutu, sahibi, türü ve son değişikliğiyle bir tabloda listeler ve Standart paketten itibaren belirlediğiniz tarihten eski dosyaları bir arşiv klasörüne taşır. Premium, kontrol etmeniz için olası kopyaları listeler ve her ay bir klasörün tarihli bir kopyasını oluşturabilir. Asla silmez: dosyalar yalnızca kopyalanır ya da taşınır ve yalnızca kurallarınıza göre. Başkalarına ait dosyalar taşınamayabilir. Bir çalıştırma yaklaşık altı dakika sürer, bu yüzden büyük klasörler parça parça işlenir. Hesabınızda siz çalıştırırsınız.
Neler dahil
- Neler alırsınızApps Script kodunu ve onu bir tabloya nasıl ekleyeceğinizi, erişime nasıl izin vereceğinizi ve nasıl çalıştıracağınızı gösteren bir README dosyasını içeren bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
- Bütün klasör kopyalarıİçindeki her alt klasör ve dosyayla
- Tabloda bir raporHer dosyanın boyutu, sahibi, türü ve son değişikliği
- Yaşa göre arşivStandart paketten itibaren eski dosyalar tarih kuralınıza göre taşınır
- Hiçbir şey silinmezDosyalar yalnızca kopyalanır ya da taşınır
- Okunabilir kodYorumlarla; sonradan kural değiştirmek kolay
Nasıl çalışır
- 1KurallarKlasörleri ve onlara ne olacağını anlatırsınız
- 2KodBetiği ve kurulum kılavuzunu yazarız
- 3DeneyinÖnce bir deneme klasöründe çalıştırır ve rapora bakarsınız
- 4DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz
Sizden neler gerekiyor
Betiğin hangi klasörler üzerinde çalışacağı (Drive'ım ya da ortak bir drive), onlarla ne yapılacağı (kopyalama, rapor, arşiv) ve kurallar: bir dosyanın arşive gitmesi için ne kadar eski olması gerektiği, arşiv klasörünün nerede olduğu, neyin olası kopya sayılacağı (aynı ad, aynı boyut). Yaklaşık kaç dosya olduğu, sahiplerinin kim olduğu (siz ya da iş arkadaşlarınız) ve ücretsiz bir hesap mı yoksa Google Workspace mi kullandığınız. Klasör düzeninin bir ekran görüntüsü yardımcı olur.
Size soracaklarımız:
- Hangi klasörler ve neye ihtiyacınız var?
- Arşive ne gidecek?
- Dosyaların sahibi kim?
- Asla yapmaması gereken bir şey
Paketleri karşılaştırın
| Paketler | TemelTek iş$16 | StandartAyarlı düzenleme$33 | PremiumDrive aracı$67 |
|---|---|---|---|
| Teslim süresi | 1 gün | 2 gün | 3 gün |
| Revizyonlar | 1 | 2 | 3 |
| Kod | en fazla 150 satır | en fazla 400 satır | en fazla 1.000 satır |
| Kod dosyası | 1 | en fazla 3 | en fazla 8 |
| Ayar dosyası | Hayır | Evet | Evet |
| Anlaşılır hata mesajları ve log | Hayır | Evet | Evet |
| Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzu | Hayır | Hayır | Evet |
| Kurulum ve çalıştırma kılavuzu (README) | Evet | Evet | Evet |
| Dil | Google Apps Script | Google Apps Script | Google Apps Script |
| Sipariş ver Temel | Sipariş ver Standart | Sipariş ver Premium |
Ödeme koruması
Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.
- Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
- Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
- Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
- Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
- 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
- Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Sorular ve yanıtlar
Kopyaları ya da eski dosyaları silecek mi?
Hayır. Eski dosyalar kuralınıza göre bir arşiv klasörüne taşınır; olası kopyalar yalnızca tabloda listelenir, böylece neyi sileceğinize kendiniz karar verirsiniz.
Bazı dosyaları neden taşıyamıyor?
Drive, kimin sahip olduğuna ve ortak drive rollerine bağlı olarak bir dosyayı yalnızca belirli kişilerin taşımasına izin verir. Betiğin taşıyamadığı dosyalar nedeniyle birlikte log kaydında listelenir.
Kopya paylaşım ayarlarını korur mu?
Hayır: kopyalar size aittir ve her yeni dosya gibi paylaşılır. README, kopyalanan klasörü yeniden nasıl paylaşacağınızı gösterir.
Drive'ıma erişiminiz olacak mı?
Hayır. Betiği kendi hesabınıza siz ekler ve erişime kendiniz izin verirsiniz. Asla giriş yapmayız ya da dosyalarınızı görmeyiz.
Yanıtınızı bulamadınız mı?