Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Dmytro Romanchuk

Zaproponuj Dmytro pracę nad swoim kolejnym zleceniem.

Ukraina Czerkasy, Ukraina
teraz online
odpowiada na 60% wiadomości
Częściowo zajęty częściowo zajęty
Zakończono 9 Sejfów
3 dni temu
7 zleceniodawców
zamieszczono 45 ofert
wiek 47 lat
w Serwisie 1 rok

Ranking

Zakończonych zleceń
100%
Średnia ocena
9.98 z 10
Ranking
1738
Python
Tworzenie chatbota
6 zleceń
Tworzenie chatbota
5 zleceń
Python
2 zlecenia
Doradztwo inżynieryjne
2 zlecenia
Programowanie stron internetowych

Poziom znajomości języków obcych

Українська Українська: native

Umiejętności i kwalifikacje

Portfolio


  • 579 PLN

    ConcreteBuildControl bot

    Python
    Nazwa projektu: System automatyzacji logistyki i dostaw obiektów budowlanych (Bot Telegram)
    Krótki opis: Opracowałem kompleksowego bota Telegram dla firmy budowlanej, który w pełni zautomatyzował cykl zakupu materiałów: od zgłoszenia kierownika budowy na obiekcie do dostawy i raportowania. System wykorzystuje Google Sheets jako bazę danych i CRM, co pozwala klientowi zarządzać procesami w znanym interfejsie bez wydatków na drogie panele administracyjne.

    Problem, który rozwiązuje projekt:
    Wcześniej komunikacja odbywała się w chaotycznych czatach: zgłoszenia ginęły, PTO (dział inżynieryjny) nie zdążał zatwierdzać faktur, a dostawcy nie wiedzieli, co i gdzie przewozić. Brakowało przejrzystości statusów zamówień.

    Funkcjonalność i Role:
    Bot realizuje system rozgraniczenia praw dostępu (RBAC) dla 4 typów użytkowników:

    1. Kierownik budowy (Foreman):
    Tworzenie zgłoszeń na materiały (tekst lub zdjęcie).
    Wybór obiektu z dynamicznej listy.
    Przyjęcie materiałów na obiekcie (obowiązkowy raport zdjęciowy + komentarz).
    Ewidencja materiałów od zamawiającego.
    Cotygodniowe raporty o zużyciu materiałów.
    Otrzymywanie powiadomień o statusie zgłoszenia ("Odrzucone", "Jedzie samochód").

    2. PTO (Kontrola inżynieryjna):
    Walidacja zgłoszeń: przyciski "Zatwierdź" / "Odrzuć".
    Możliwość edytowania listy materiałów przed zatwierdzeniem.
    Przeglądanie zgłoszeń zdjęciowych i raportów o przyjęciu.
    Automatyczne przekazywanie zatwierdzonych zgłoszeń do działu dostaw.

    3. Dostawy (Supply):
    Otrzymywanie powiadomień o nowych zatwierdzonych zgłoszeniach (ze zdjęciami i szczegółami).
    Oznaczanie zgłoszeń statusem "Zamówione".

    4. Logistyka:
    Kontrola gotowych do wysyłki ładunków.
    Zmiana statusu na "Wysłane" (automatyczne powiadomienie kierownika budowy).

    Stos technologiczny:
    Język: Python 3.10+
    Framework: aiogram 3.x (architektura asynchroniczna).
    Baza danych: Google Sheets API (biblioteka gspread). Używana jako Baza Danych dla łatwości edytowania przez menedżerów.
    Deployment: VPS (Linux), PM2 do zarządzania procesami.

    Kluczowe rozwiązania techniczne (High-lights):
    Optymalizacja pamięci: Zrealizowano niestandardowe zarządzanie pamięcią za pomocą gc (Garbage Collector) oraz zoptymalizowanych zapytań do API Google. To pozwoliło na zmniejszenie zużycia RAM na słabym VPS, unikając ładowania dużych zbiorów danych.

    Niezawodne wyszukiwanie danych: Opracowano algorytm "Smart Search", który znajduje ID zamówienia w tabeli niezależnie od formatowania (ignoruje zera z lewej, spacje, tekstowy format komórek), co wyeliminowało błędy przy ręcznym edytowaniu tabeli przez menedżerów.

    Bezproblemowa interakcja: Zrealizowano łańcuch wiadomości. Po naciśnięciu przycisku "Zatwierdź" bot nie tylko zmienia zapis w Baza Danych, ale natychmiast wysyła utworzoną kartę zamówienia (ze zdjęciem) do czatu następnego działu.

    Wynik:
    Bot połączył pracę działów w jeden strumień. Czas przetwarzania zgłoszenia skrócił się, straty informacji zostały zredukowane do zera, a kierownictwo otrzymało przejrzyste raporty w Google Arkuszach w czasie rzeczywistym.
  • 331 PLN

    Strona wizytówka

    Układ HTML i CSS
    Ogólny opis

    To kod strony typu one-page (Landing Page) dla klubu fitness "SPARTA", stworzony z użyciem HTML, CSS i JavaScript. Jego głównym celem jest przedstawienie oferty promocyjnej oraz zebranie danych kontaktowych klientów za pomocą formularza rezerwacji.

    Struktura i Stylizacja (HTML/CSS)

    Strona ma logiczną strukturę z kluczowymi blokami: baner promocyjny, "przyklejona" nagłówek strony, główny ekran na pełną wysokość (100vh) z tłem obrazem, formularz rezerwacji oraz informacyjna stopka.

    Projekt wykonany jest w jasnej żółto-czarnej kolorystyce, kolory są zadane przez zmienne CSS dla łatwej zmiany. Strona jest w pełni responsywna dla urządzeń mobilnych, używa standardowych czcionek dla czytelności i ma płynne efekty interaktywne przy najeżdżaniu na przyciski i linki.

    Interaktywność (JavaScript)

    Cała funkcjonalność została zrealizowana w "czystym" JavaScript:

    Mobilne menu: Responsywne menu-burger, które wysuwa się z prawej strony, z animacją i przyciemnieniem tła. Obsługuje zagnieżdżone podmenu, które rozwijają się po kliknięciu.

    Interfejs: Użytkownik może zamknąć górny baner promocyjny.

    Obsługa formularza: Formularz rezerwacji wysyła dane na email za pomocą zewnętrznego serwisu FormSubmit.co, który nie wymaga własnego backendu. Po pomyślnym wysłaniu użytkownik automatycznie przekierowywany jest na stronę podziękowania (thank-you.html).
  • 248 PLN

    Panel webowy do automatyzacji i zarządzania wysyłkami Telegram

    Układ HTML i CSS
    To jest panel sterowania, napisany w Pythonie z wykorzystaniem frameworka FastAPI, który służy jako graficzny interfejs dla wcześniej opisanego skryptu automatyzacji wysyłek w Telegramie (core_logic.py). Panel pozwala użytkownikowi zarządzać kontami Telegram, uruchamiać wysyłki i śledzić ich wykonanie przez przeglądarkę. Do przechowywania danych używana jest baza danych SQLAlchemy.

    Kluczowe możliwości

    Centralne zarządzanie kontami: Interfejs webowy pozwala na dodawanie nowych, przeglądanie listy istniejących oraz usuwanie kont Telegram z bazy danych wraz z ich plikami sesji.

    Autoryzacja webowa: Zrealizowano krokowy proces dodawania nowych kont bezpośrednio przez przeglądarkę. Użytkownik wprowadza numer telefonu, następnie kod potwierdzający z Telegramu, a w razie potrzeby, hasło dwuskładnikowej autoryzacji (2FA). System przetwarza wszystkie etapy, tworzy plik sesji i zapisuje konto.

    Uruchamianie i konfigurowanie kampanii: Użytkownik może wybierać konta do udziału w wysyłce i uruchamiać zadania w tle. Dla każdej kampanii można określić indywidualne ustawienia (np. pliki z celami i wiadomościami).

    Wykonywanie zadań w tle: Wysyłki są realizowane jako procesy w tle (BackgroundTasks). Oznacza to, że użytkownik może zamknąć stronę w przeglądarce, a zadanie będzie kontynuowane na serwerze.

    Monitorowanie w czasie rzeczywistym: Panel wyświetla bieżący status zadania (np. "Gotowy do uruchomienia", "Wykonywane", "Zakończone", "Błąd") i pozwala przeglądać ostatnie wpisy z pliku logów, co umożliwia śledzenie postępu i diagnozowanie problemów.

    Bezpieczne zatrzymanie: Przewidziano możliwość wysłania sygnału do poprawnego zatrzymania bieżącego zadania. Skrypt zakończy swoją bieżącą akcję (np. wysyłanie wiadomości) i zatrzyma się, nie przerywając procesu nagle.

    Logika działania

    Użytkownik otwiera stronę główną, gdzie widzi tabelę ze wszystkimi dodanymi kontami Telegram i ich statusami, a także panel sterowania do uruchamiania zadań.

    Dodawanie konta: Użytkownik wypełnia formularz, podając numer telefonu i inne ustawienia (proxy, pliki). Serwer inicjuje proces autoryzacji przez Telethon, wysyłając kod na podany numer. Po wprowadzeniu kodu (i hasła 2FA, jeśli to konieczne) serwer zapisuje plik sesji i dodaje wpis o koncie do bazy danych.

    Uruchamianie kampanii: Użytkownik wybiera jedno lub kilka aktywnych kont, konfiguruje parametry i naciska przycisk "Start".

    Przeglądarka wysyła zapytanie do serwera. Serwer (FastAPI) przyjmuje to zapytanie, sprawdza, czy nie jest wykonywane inne zadanie, i uruchamia główną logikę wysyłki (run_script_logic) w tle.

    Użytkownik natychmiast zostaje przekierowany z powrotem na stronę główną, gdzie widzi, że status zadania zmienił się na "Uruchamiane..." lub "Wykonywane".

    JavaScript na stronie okresowo wysyła zapytania do serwera w celu uzyskania aktualnego statusu i logów, aktualizując informacje na ekranie bez przeładowania strony.

    Po zakończeniu wysyłki status automatycznie aktualizuje się na "Zakończone" lub "Błąd".
  • 207 PLN

    Bot fitness w Telegramie

    Python
    To jest bot Telegram, napisany w Pythonie z wykorzystaniem biblioteki python-telegram-bot. Jego głównym celem jest dostarczanie użytkownikom programów treningowych na podstawie ich płci, celu (utrata wagi, przyrost masy itp.), wzrostu i wagi. W celu interakcji z użytkownikiem bot wykorzystuje dialog krok po kroku (ConversationHandler), co sprawia, że proces jest intuicyjny.

    Główne komponenty i ich przeznaczenie

    Biblioteka python-telegram-bot: To podstawa, która zapewnia interakcję z Telegram API. Kod wykorzystuje jej asynchroniczną wersję (async def), co jest nowoczesną praktyką.

    ConversationHandler: To kluczowy element logiki bota. Pozwala na stworzenie "dialogu" z użytkownikiem, który składa się z kilku kroków lub "stanów". Bot kolejno zadaje pytania i czeka na odpowiedzi, przechodząc od jednego stanu do drugiego.

    Stany (States):

    Zmienne SELECT_GENDER, GET_HEIGHT itd. — to unikalne identyfikatory dla każdego kroku rozmowy. Pomagają ConversationHandler zrozumieć, na jakim etapie dialogu znajduje się użytkownik i którą funkcję wywołać następnie.

    Klawiatury (ReplyKeyboardMarkup):

    Zamiast zmuszać użytkownika do wpisywania tekstu ("Mężczyzna", "Utrata wagi"), bot oferuje gotowe przyciski. Zmniejsza to prawdopodobieństwo błędów i sprawia, że interfejs jest bardziej przyjazny. W kodzie znajdują się trzy różne klawiatury: do wyboru płci, do wyboru celu przez mężczyzn i kobiety.

    Dane treningów (male_programs, female_programs):

    To dwa duże słowniki (dictionaries), które stanowią "bazę danych" bota. Zawierają gotowe programy treningowe, uporządkowane według płci, celu i dni tygodnia. Obecnie te dane są na stałe zapisane w kodzie.

    Funkcje-obsługiwacze (Handlers):

    start: Uruchamia dialog, wita użytkownika i proponuje wybór płci.

    select_gender, select_male_goal, select_female_goal: Obsługują wybór użytkownika z klawiatury, zapisują dane (context.user_data) i zadają następne pytanie.

    get_height, get_weight: Odbierają wiadomości tekstowe, przekształcają je w liczby, sprawdzają poprawność i zapisują.

    show_workout_program: Ostateczna funkcja. Zbiera wszystkie zapisane dane, oblicza Wskaźnik Masy Ciała (BMI) i znajduje odpowiedni program treningowy w słownikach. Następnie formułuje dużą wiadomość tekstową i wysyła ją do użytkownika.

    cancel: Pozwala użytkownikowi w dowolnym momencie przerwać dialog komendą /cancel.

    Logika działania (Krok po kroku)

    Użytkownik wysyła komendę /start.

    Bot odpowiada powitalną wiadomością i pokazuje klawiaturę z przyciskami "Mężczyzna" i "Kobieta". Dialog przechodzi w stan SELECT_GENDER.

    Użytkownik naciska jeden z przycisków.

    W zależności od wyboru, bot pokazuje nową klawiaturę:

    Dla mężczyzn: "Utrata wagi", "Przyrost".

    Dla kobiet: "Utrata wagi", "Tonizacja mięśni".

    Dialog przechodzi w stan SELECT_MALE_GOAL lub SELECT_FEMALE_GOAL.

    Użytkownik wybiera cel.

    Bot zapisuje cel i prosi o podanie wzrostu. Dialog przechodzi w stan GET_HEIGHT.

    Użytkownik wysyła swój wzrost w centymetrach. Bot sprawdza, czy to liczba, i zapisuje ją.

    Bot prosi o podanie wagi. Dialog przechodzi w stan GET_WEIGHT.

    Użytkownik wysyła swoją wagę. Bot sprawdza, czy to liczba, i zapisuje ją.

    Bot wywołuje funkcję show_workout_program, która:

    Oblicza BMI według wzoru waga / (wzrost w metrach)².

    Określa kategorię BMI ("Norma", "Otyłość" itd.).

    Na podstawie płci i celu znajduje odpowiedni program treningowy.

    Formułuje i wysyła ostateczną wiadomość z BMI i programem na 3 dni.

    Dialog kończy się (ConversationHandler.END).
  • 497 PLN

    Korporacyjny bot Telegram: Zarządzanie zmianami, agregacja danych

    Python
    Kompleksowy system do zautomatyzowanego zbierania raportów finansowych i magazynowych od personelu sieci handlowej. System strukturyzuje dane wejściowe z czatów, minimalizuje czynnik ludzki i tworzy analitykę dla zarządu.

    Zrealizowano:

    Smart Parsing: Algorytm rozpoznawania dowolnego tekstu (podział na kategorie/ilość/sumę) z ochroną przed błędami wprowadzania.

    Data Wizard: Krokowy interfejs składania raportu z możliwością powrotu i edytowania wcześniejszych kroków (Zarządzanie stanem).

    Smart Editing: Mechanizm edytowania już wysłanych raportów z automatycznym wypełnianiem formularzy wcześniejszymi danymi.

    Security: Model ról dostępu (Admin/Pracownik), ochrona roboczych czatów przed spamem i zbędnymi komendami.

    Stos: Python (Aiogram 3), PostgreSQL, SQLAlchemy, Docker Compose.

    #telebot #Telegram #python #docker #ChatBots
  • 248 PLN

    Krypto bot

    Python
    To autonomiczny bot-analizator Telegram, napisany w Pythonie, który jest przeznaczony do automatycznego zbierania, analizy i publikacji codziennych raportów o rynku kryptowalut. Bot integruje kilka usług: zbiera informacje z kanałów RSS i publicznych kanałów Telegram, przetwarza je za pomocą sztucznej inteligencji (Google Gemini), a następnie publikuje uporządkowany raport w wskazanym kanale Telegram.

    Kluczowe możliwości

    Agregacja z wielu źródeł: Bot jednocześnie zbiera wiadomości z różnych źródeł: stron informacyjnych przez kanały RSS oraz popularnych kanałów Telegram.

    Parsowanie pełnego tekstu: Dla wiadomości ze stron bot stara się przejść do linku i uzyskać pełny tekst artykułu, a nie tylko krótki opis z RSS, co zapewnia głębszy kontekst do analizy.

    Analiza za pomocą AI: Cała zebrana tekstowa informacja jest wysyłana do modelu językowego Google Gemini z specjalnym zapytaniem (prompt), które wymaga analizy nastroju rynku, wydobycia kluczowych wydarzeń i podania krótkiej prognozy.

    Automatyczna publikacja według harmonogramu: Dzięki wbudowanemu harmonogramowi zadań (apscheduler), bot automatycznie generuje i publikuje raport codziennie o ustalonej porze (na przykład o 9:00 rano).

    Zarządzanie przez komendy: Administrator bota może uruchomić proces analizy i publikacji ręcznie w dowolnym momencie za pomocą komendy /analyze. Dla zwykłych użytkowników dostępna jest informacyjna komenda /start.

    Wykorzystanie dwóch bibliotek Telegram: python-telegram-bot jest używany do stworzenia samego bota i obsługi komend, podczas gdy Telethon jest używany do uzyskiwania dostępu do innych kanałów w imieniu konta użytkownika w celu zbierania wiadomości.

    Logika działania

    Inicjalizacja: Po uruchomieniu skrypt inicjalizuje bota, łączy się z API Telegram i ustawia harmonogram, który zadziała w określonym czasie.

    Zbieranie danych (na wyzwalaczu): Gdy uruchamia się timer harmonogramu lub administrator wywołuje komendę /analyze, uruchamiana jest główna funkcja analizy:

    Bot przechodzi przez listę linków RSS, zbiera artykuły opublikowane w ciągu ostatniej doby i stara się załadować ich pełny tekst.

    Jednocześnie, używając Telethon, łączy się z Telegramem jako użytkownik i zbiera ostatnie posty z listy docelowych kanałów.

    Analiza w AI: Wszystkie zebrane teksty są łączone w jeden duży kontekst i wysyłane do modelu Gemini.

    Przetwarzanie i formatowanie: Bot otrzymuje odpowiedź od AI w postaci prostego tekstu ze specjalnymi znacznikami ([SENTYMENT], [WYDARZENIA] itd.). Skrypt zamienia te znaczniki na formatowanie (emoji, pogrubienie) dla lepszej czytelności.

    Publikacja: Ostateczny, sformatowany raport wraz z listą źródeł jest wysyłany do docelowego kanału Telegram.
  • 662 PLN

    Skrypt do wysyłki w telegramie

    Python
    Ogólny opis

    To potężny skrypt do automatyzacji masowych wysyłek w Telegramie, napisany w Pythonie z wykorzystaniem biblioteki Telethon. W przeciwieństwie do standardowych botów, działa, zarządzając rzeczywistymi kontami użytkowników, co pozwala na wysyłanie prywatnych wiadomości i komentowanie w grupach. Skrypt jest częścią większego systemu, prawdopodobnie z interfejsem webowym do zarządzania.

    Kluczowe możliwości

    Wielokrotne konta: Skrypt może jednocześnie zarządzać nieograniczoną liczbą kont Telegram.

    Autoryzacja i sesje: Automatycznie loguje się na konta (w tym z dwuetapową weryfikacją), przechowuje sesje, aby uniknąć ponownych logowań i potrafi określać zablokowane konta, aktualizując ich status w bazie danych.

    Wsparcie dla proxy: Dla każdego konta można skonfigurować indywidualne proxy, co zwiększa anonimowość i zmniejsza ryzyko zablokowania.

    Elastyczne zarządzanie kampaniami: Listy celów (użytkowników/grup) oraz teksty wiadomości są ładowane z oddzielnych plików, co pozwala na łatwe dostosowywanie wysyłek bez zmiany kodu.

    "Ludzka" zachowanie: Skrypt wykorzystuje losowe opóźnienia między wysyłaniem wiadomości a przełączaniem między kontami, naśladując działania żywej osoby, aby obejść filtry spamowe Telegramu.

    Rozszerzona logika: Przed wysłaniem skrypt sprawdza, czy istnieje docelowy użytkownik. Jeśli konto nie ma uprawnień do pisania w grupie, automatycznie próbuje do niej dołączyć i powtórzyć wysyłkę.

    Logika działania

    Skrypt otrzymuje na wejściu listę kont, które mają wziąć udział w wysyłce.

    Kolejno łączy się z każdym kontem, używając zapisanych plików sesji i skonfigurowanych proxy.

    Dla każdego podłączonego konta ładowana jest jego indywidualna lista celów i wiadomości.

    Skrypt rozpoczyna pętlę, w której dla każdego celu wybierana jest losowa wiadomość i wysyłana w imieniu aktualnego konta.

    Po każdej akcji wykonywana jest przerwa. Po zakończeniu pracy z jednym kontem, skrypt robi dłuższą przerwę i przechodzi do następnego.

    Proces można zatrzymać zdalnie (na przykład z panelu webowego).

    Po zakończeniu zadania wszystkie konta są poprawnie odłączane, a wyniki (liczba wysłanych i nieudanych wiadomości) są zwracane do raportu.

Recenzje dotyczące zrealizowanych zleceń 9

17 czerwca 579 PLN
Automatyzacja FB pisania skryptu w Pythonie

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Praca wykonana w terminie )

7 czerwca 331 PLN
Opracowanie skryptu w BAS (Browser Automation Studio) do automatyzacji Facebooka za pomocą Dolphin Anty AP

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Praca została wykonana przed wcześniej ustalonym terminem, maksymalnie efektywnie)

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Wszystko nie wychodziło za pierwszym razem, ale w rezultacie pokonaliśmy postawione zadania.

19 stycznia 331 PLN
Przeniesienie modelu z ANSYS APDL (Classic) do ANSYS Workbench / Skrypt Pythona do automatyzacji przeniesienia

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Wszystko świetnie. Po wszystkich kryteriach. Wykonawca szybko zrozumiał zupełnie nową i skomplikowaną tematykę. I udało mu się rozwiązać wszystko w ramach postawionego zadania.

Ivan Ivanov | Indywidualny | Wzajemna opinia

19 stycznia 83 PLN
Napisanie skryptu w Pythonie do konwersji APDL w Workbench

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Wszystko świetnie. Po wszystkich kryteriach. Wykonawca szybko zrozumiał zupełnie nową i skomplikowaną tematykę. I udało mu się rozwiązać wszystko w ramach postawionego zadania.

Ivan Ivanov | Indywidualny | Wzajemna opinia

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Projekt wykonany zgodnie z TZ

2 stycznia 414 PLN
Telegram-skrypt

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Wspaniały specjalista!
Pracę wykonał szybko i jakościowo. Zawsze był w kontakcie, szybko odpowiadał na wszystkie pytania i uwzględniał wszystkie uwagi i życzenia. Bardzo uprzejmy, odpowiedzialny i profesjonalny w swoim fachu. Współpracą jestem całkowicie zadowolony - zdecydowanie polecam!

26 grudnia 2025 166 PLN
Dopracować bota Python

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Zrobił szybko i był w kontakcie, teraz testujemy. Ale błędów jak na razie nie znaleziono! Polecam

6 grudnia 2025 579 PLN
Stworzyć czat bota

Jakość
Profesjonalizm
Koszt
Zawsze w kontakcie
Terminy

Jestem całkowicie zadowolony z pracy. Wykonane bardzo szybko i profesjonalnie.

Aktywność

  Ostatnie oferty 10
Specjalista ds. optymalizacji GPU
186 PLN
Szukamy dewelopera do stworzenia bota handlowego/bota czatu
83 PLN
Bot Telegram dla serwisu samochodowego
83 PLN
~5 mikroserwisów na FastAPI + poprawki i refaktoryzacja
1301 PLN
Przywrócenie dostępu do konta Telegram.
828 PLN
Automatyczne publikowanie relacji na Instagramie
83 PLN
Power BI
83 PLN
Bot automatyzacji dla playerok.com
331 PLN
Trzeba stworzyć prostego bota do checkpointów na serwerze GTA5
207 PLN
Ustawienie bota Telegram do uzyskiwania informacji z Elektronicznego Biura Podatnika
83 PLN