ProgramowanieOchrona płatnościSzczegóły
- Poprawki w ramach pakietu są bezpłatne.
- Jeśli nie odpowiesz w ciągu 3 dni od dostarczenia pracy, zostanie ona zaakceptowana automatycznie.
Pieniądze są rezerwowane w chwili płatności i przekazywane dopiero po akceptacji pracy.

Przykładowy rezultat
Łączenie miesięcznych plików sprzedaży 9 sklepów w jeden raport w Excelu
Jak się go uruchamia
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, znaleziono 9 plików
2026-11-02 09:14:03 INFO shop-01.csv: 1284 wiersze
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 wierszy
2026-11-02 09:14:04 WARN shop-07.csv: pominięto 3 wiersze bez ceny (linie 88, 412, 913)
2026-11-02 09:14:05 INFO Gotowe: 10 412 wierszy -> report-2026-10.xlsx (arkusze „Sprzedaż” i „Podsumowanie”)
Ustawienia zamiast kodu
Nazwy kolumn każdego sklepu są zapisane w settings.ini, więc nowy sklep albo kolumna o zmienionej nazwie to po prostu jeden wiersz w tym pliku:
[columns]
date = Data, Data sprzedaży, Dzień
product = Produkt, Towar, Nazwa
quantity = Ilość, Szt., Liczba sztuk
price = Cena, Cena jedn.
Fragment kodu
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Wczytuje plik jednego sklepu i nadaje mu nazwy kolumn raportu."""
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}: brak kolumny dla '{name}' (szukano: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Pliki: archiwum ZIP z plikami merge_sales.py (310 wierszy), settings.ini, requirements.txt oraz README, które opisuje instalację Pythona, uruchomienie skryptu i znaczenie każdego komunikatu w dzienniku. Klient uruchamia skrypt na własnym komputerze.
Klient: mała sieć 9 sklepów papierniczych; każdy sklep przesyła sprzedaż za miesiąc w pliku CSV lub Excel, z nieco innymi nazwami kolumn. Zadanie: jeden skrypt, który wczytuje każdy plik z folderu, sprowadza kolumny do jednego układu i zapisuje jeden raport w Excelu z całą sprzedażą oraz arkuszem podsumowań według sklepów.
Klient i wszystkie dane są wymyślone.
O usłudze
Jeśli Twoje ceny, faktury lub raporty zależą od kursów walut, łatwo zapomnieć o wpisywaniu ich każdego ranka. Ten skrypt Google Apps Script odczytuje kursy z wybranego przez Ciebie publicznego źródła, na przykład kursy publikowane przez Twój bank centralny lub serwis kursowy, w którym masz własny klucz, i zapisuje potrzebne waluty w Twoim Arkuszu Google z datą. Od pakietu Standard prowadzi kartę historii z wierszem na każdy dzień, dzięki czemu Twoje formuły mogą sprawdzić kurs z dowolnej daty; pakiet Premium dodaje drugie źródło na wypadek, gdyby pierwsze nie odpowiadało, i uzupełnia daty wsteczne. Arkusze Google mają własną funkcję GOOGLEFINANCE dla niektórych walut; ten skrypt jest na wypadek, gdy potrzebujesz konkretnego źródła lub zapisanej historii. Kursy pochodzą ze źródła; nie udzielamy porad finansowych.
Co obejmuje usługa
- Co otrzymaszArchiwum ZIP z kodem Apps Script i plikiem README, który pokazuje, jak dodać go do arkusza, zezwolić na dostęp i ustawić codzienne uruchamianie; kod widać też na stronie zamówienia.
- Twoje źródłoKursy oficjalne lub z serwisu, który wybierzesz
- Twoje walutyTylko te, których potrzebujesz, względem Twojej waluty bazowej
- Historia z datamiOd pakietu Standard wiersz na każdy dzień do wyszukiwania
- Klucz poza kodemJeśli źródło go wymaga, wpisujesz go sam
- Czytelny kodZ komentarzami, łatwo później dodać walutę
Jak to działa
- 1ŹródłoPodajesz waluty i źródło, któremu ufasz
- 2KodPiszemy skrypt według dokumentacji źródła i instrukcję instalacji
- 3WypróbujUruchamiasz go w kopii arkusza i porównujesz ze stroną źródła
- 4ZmianyZgłaszasz poprawki w ramach pakietu i przesyłasz ewentualny komunikat o błędzie
Czego potrzebujemy od Ciebie
Potrzebne waluty i Twoja waluta bazowa, źródło, z którego chcesz korzystać (link do strony lub dokumentacji, gdzie publikuje kursy, albo nasza propozycja publicznych źródeł do wyboru), jak często i o której godzinie potrzebujesz kursów i gdzie mają trafiać w arkuszu. Jeśli potrzebujesz dat wstecznych (Premium), od jakiej daty. Jeśli źródło wymaga klucza, utwórz go na swoim koncie; nigdy nam go nie przesyłaj.
Zapytamy Cię:
- Jakich walut potrzebujesz?
- Z jakiego źródła ma korzystać?
- Jak często i do kiedy?
- Czy potrzebujesz dat wstecznych?
Porównaj pakiety
| Pakiety | PodstawowyDzisiejsze kursy61 zł | StandardKursy z historią125 zł | PremiumNarzędzie do kursów252 zł |
|---|---|---|---|
| Termin | 1 dzień | 2 dni | 3 dni |
| Poprawki | 1 | 2 | 3 |
| Kod | do 150 wierszy | do 400 wierszy | do 1000 wierszy |
| Pliki z kodem | 1 | do 3 | do 8 |
| Plik ustawień | Nie | Tak | Tak |
| Czytelne komunikaty o błędach i log | Nie | Tak | Tak |
| Opcje uruchamiania i instrukcja uruchamiania według harmonogramu | Nie | Nie | Tak |
| Instrukcja instalacji i uruchomienia (README) | Tak | Tak | Tak |
| Język | Google Apps Script | Google Apps Script | Google Apps Script |
| Zamów Podstawowy | Zamów Standard | Zamów Premium |
Ochrona płatności
Płacisz przy składaniu zamówienia, ale pieniądze są przekazywane tylko za zaakceptowaną pracę.
- Stała cenaCena pakietu nie zmienia się po zapłacie.
- Pieniądze są zarezerwowanePrzy płatności kwota jest tylko rezerwowana. Serwis otrzymuje ją dopiero po akceptacji pracy.
- Sprawdzone przed dostarczeniemKażdy wynik przechodzi kontrolę jakości, zanim do Ciebie trafi, a przed akceptacją widzisz go na stronie zamówienia.
- Bezpłatne poprawkiProś o poprawki w ramach briefu tyle razy, ile przewiduje pakiet.
- Akceptacja po 3 dniachJeśli w ciągu 3 dni od dostarczenia pracy ani jej nie zaakceptujesz, ani nie poprosisz o poprawki, zostanie zaakceptowana automatycznie. Jeśli po dostarczeniu napiszesz na czacie zamówienia, zamówienie czeka; po naszej odpowiedzi możemy ponownie uruchomić odliczanie 3 dni i poinformujemy o tym na czacie.
- Ponowne wykonanie lub pełny zwrot pieniędzyJeśli wynik nie odpowiada Twojemu briefowi, a poprawki tego nie naprawiły, lub praca trwa ponad dwa razy dłużej niż termin, napisz na czacie zamówienia: wykonamy pracę ponownie albo zwrócimy całą płatność.
Pytania i odpowiedzi
Czy kursy są dokładne?
Są dokładnie takie, jakie publikuje wybrane źródło. Kursy oficjalne ustalane są zwykle raz na dzień roboczy, a skrypt nie może być bardziej aktualny niż jego źródło.
Czy może aktualizować się co minutę na potrzeby handlu?
Jest przeznaczony do kursów dziennych lub godzinowych na potrzeby cen, faktur i raportów, a nie do handlu. Nie udzielamy porad finansowych.
Co dzieje się w weekendy i święta?
Wiele oficjalnych źródeł nic w te dni nie publikuje. Od pakietu Standard wybierasz, czy historia powtarza ostatni kurs, czy zostawia dzień pusty.
Czy dostajecie dostęp do mojego arkusza?
Nie. Dodajesz skrypt do własnego arkusza i sam przyznajesz mu dostęp. Nigdy nie logujemy się na Twoje konto Google.
Nie ma tu odpowiedzi?


