Wypożyczalnia narzędzi jako moduł Studio TCS.net

Wypożyczalnia narzędzi występuje w dwóch odmianach. Pierwsza jest firmą, która wynajmuje klientom sprzęt budowlany i elektronarzędzia. Druga to wewnętrzna wypożyczalnia zakładu, z której korzystają pracownicy. Moduł Wypożyczalnia w Studio TCS.net obsługuje oba przypadki: sprzęt trafia zarówno do pracowników, jak i do kontrahentów zewnętrznych.

Wewnętrzny obieg narzędzi, z kartą wypożyczenia i terminami zwrotu, opisuje artykuł o wypożyczaniu narzędzi z magazynu. Ta strona dotyczy wypożyczalni z klientem zewnętrznym: kartoteki sprzętu, cyklu od rezerwacji do rozliczenia oraz uruchomienia modułu w firmie.

CechaWypożyczenie wewnętrzneWypożyczenie klientowi zewnętrznemu
BiorącyPracownik zakładuKontrahent, często firma z własnym NIP
Podstawa odpowiedzialnościRegulamin pracy i dokument wydaniaUmowa lub regulamin wypożyczalni
ZabezpieczenieZwykle brakZwrotna kaucja
RozliczenieKoszt wewnętrzny, bez fakturyStawka z cennika i faktura

Reguła: sprzęt zewnętrzny wychodzi z wypożyczalni dopiero po zapisie kaucji i terminu zwrotu. Wydanie bez tych dwóch danych zostawia firmę bez podstawy do rozliczenia.

Oprogramowanie dla firm wynajmujących sprzęt obejmuje wypożyczenia i rezerwacje oraz faktury, a także magazyn. Moduł wypożyczalni jest jednym z modułów, które łączy się w Studio TCS.net na wspólnej bazie. Zakres modułów całego programu przedstawia strona o programie do narzędziowni.

Kartoteka sprzętu w wypożyczalni

Podstawą modułu jest kartoteka narzędzi. Każdy egzemplarz ma własny rekord, do którego można dołączyć załączniki, na przykład instrukcję obsługi albo zdjęcie sprzętu. Pracownik przy ladzie ma je pod ręką w chwili wydania i nie szuka dokumentacji w segregatorze.

Pracownica przy ladzie z półkami sprzętu i monitorem oraz pracownik w kasku w tle, ilustracja wydawania narzędzi z wypożyczalni
Stanowisko wydań: kartoteka z załącznikami jest dostępna od ręki, przed podpisaniem dokumentu

W wypożyczalni komercyjnej kartoteka ma więcej pól niż w narzędziowni wewnętrznej, bo sprzęt trafia do osób, które go nie znają. Poniższe cztery elementy decydują o tym, czy późniejsze rozliczenie da się obronić.

  • Numer ewidencyjny i seryjny - identyfikator z etykiety oraz numer producenta, przydatny przy gwarancji i serwisie.
  • Grupa cennikowa - przypisanie do stawki, z której liczy się opłata za wypożyczenie.
  • Stan przy wydaniu - opis wizualny i ewentualne uszkodzenia zapisane przed odbiorem przez klienta.
  • Osprzęt w zestawie - lista elementów wydawanych razem ze sprzętem, sprawdzana przy zwrocie.

Osprzęt zestawu zasługuje na osobną uwagę. Wiertarka wydawana z ładowarką i dwoma akumulatorami ma cztery elementy, z których każdy może zginąć niezależnie od głównego sprzętu. Lista osprzętu zapisana w kartotece pozwala przy zwrocie odhaczyć elementy po kolei, a brak któregokolwiek zamienia się w konkretną pozycję do rozliczenia.

Stan przy wydaniu jest dowodem w sporze o uszkodzenie. Bez zapisu z daty odbioru nie da się wykazać, że rysa albo pęknięcie powstały u klienta. Strukturę kartoteki i statusy egzemplarza rozwija artykuł o ewidencji narzędzi w narzędziowni.

Cykl wypożyczenia od rezerwacji do rozliczenia

Wypożyczenie klienta przechodzi przez pięć etapów. Każdy kończy się zapisem w systemie, a zapis zmienia status egzemplarza. Dzięki temu w dowolnej chwili widać, które narzędzia są dostępne, a które wydane lub zablokowane po zwrocie.

EtapZdarzenieZapis i status egzemplarza
RezerwacjaKlient zamawia sprzęt na terminZamówienie na przedział czasu, egzemplarz nadal dostępny
WydanieOdbiór sprzętu, wpłata kaucjiDokument wypożyczenia, status: wydany
UżytkowanieSprzęt pracuje u klientaLicznik dób, ewentualne przedłużenie
ZwrotKontrola stanu i kompletuDokument zwrotu, status: dostępny albo w serwisie
RozliczenieNaliczenie opłaty, zwrot kaucjiFaktura i zamknięcie dokumentu

Dokumenty wypożyczeń są powiązane z kartoteką osoby lub firmy oraz z kartotekami narzędzi. Historię da się filtrować po kliencie i po sprzęcie. Formy dokumentów i ich rejestr opisują strony o dokumentach wypożyczeń oraz o zwrotach narzędzi w narzędziowni.

Przedłużenie wypożyczenia

Klient często prosi o przedłużenie terminu, kiedy praca się przeciąga. Przedłużenie nie powinno być zwykłą zmianą daty w istniejącym dokumencie, bo zaciera pierwotne ustalenia. Lepszym rozwiązaniem jest zapis nowego terminu z datą decyzji i osobą, która go zatwierdziła, przy zachowaniu terminu pierwotnego w historii.

Przed zatwierdzeniem trzeba sprawdzić, czy egzemplarz nie jest zarezerwowany przez kolejnego klienta. Jeżeli jest, przedłużenie wymaga rozmowy z obiema stronami albo wydania sprzętu zastępczego z tej samej grupy cennikowej.

Rezerwacje i dostępność sprzętu

Rezerwacja dotyczy sprzętu, który w danej chwili może być jeszcze wypożyczony przez kogoś innego. Zamawia się go na określony przedział czasu, od początku do końca zamierzonego użycia. Zasady rezerwowania opisuje strona o rezerwacjach narzędzi. W narzędziowni wewnętrznej rezerwacja działa kontrolnie i nie blokuje wydań, natomiast w wypożyczalni komercyjnej często obowiązuje ostrzejsza reguła.

Ostrzejsza reguła wymaga sprawdzenia, czy przedziały czasu się nie nakładają. Dwa przedziały zachodzą na siebie, gdy początek jednego jest wcześniejszy niż koniec drugiego i na odwrót. Poniższy szkic w języku T-SQL zapisuje tę kontrolę, a wskazówki blokujące opisuje dokumentacja table hints w T-SQL. Nazwy tabel są przykładowe i nie odwzorowują schematu żadnego produktu.

BEGIN TRANSACTION;

IF EXISTS (SELECT 1
           FROM dbo.Rezerwacje AS r WITH (UPDLOCK, HOLDLOCK)
           WHERE r.EgzemplarzId = @EgzemplarzId
             AND r.OdKiedy < @DoKiedy
             AND r.DoKiedy > @OdKiedy)
BEGIN
    ROLLBACK TRANSACTION;
    THROW 50020, N'Egzemplarz jest zarezerwowany w tym terminie.', 1;
END;

INSERT INTO dbo.Rezerwacje (EgzemplarzId, KlientId, OdKiedy, DoKiedy)
VALUES (@EgzemplarzId, @KlientId, @OdKiedy, @DoKiedy);

COMMIT TRANSACTION;

Wskazówki UPDLOCK i HOLDLOCK sprawiają, że dwie równoległe sesje nie zapiszą nakładających się rezerwacji jednocześnie. Druga poczeka na zakończenie pierwszej transakcji, a potem zobaczy jej wynik. Bez nich obie sesje mogłyby uznać ten sam termin za wolny.

Cennik i kaucja w rozliczeniu wypożyczenia

Klient płaci zwrotną kaucję oraz stawkę wynajmu określoną w cenniku. Kaucja zabezpiecza zwrot sprzętu i zostaje oddana po kontroli stanu. Stawka zależy od grupy cennikowej egzemplarza i od czasu użytkowania, więc moduł musi znać zarówno cennik, jak i dokładną datę wydania oraz zwrotu.

Sposób liczenia doby jest decyzją regulaminu wypożyczalni, a nie oprogramowania. Jedna firma liczy każdą rozpoczętą dobę, inna daje kilka godzin tolerancji. Poniższe zapytanie stosuje regułę rozpoczętej doby i korzysta z funkcji DATEDIFF w T-SQL. Dla wypożyczeń otwartych za datę końcową przyjmuje bieżący czas.

SELECT w.WypozyczenieId,
       d.Doby,
       d.Doby * c.StawkaDobowa AS OplataNetto
FROM dbo.Wypozyczenia AS w
JOIN dbo.CennikSprzetu AS c ON c.GrupaId = w.GrupaId
CROSS APPLY (
    SELECT CEILING(DATEDIFF(MINUTE, w.DataWydania,
                            COALESCE(w.DataZwrotu, SYSDATETIME())) / 1440.0) AS Doby
) AS d;

Dzielenie przez 1440 zamienia minuty na doby, a funkcja CEILING zaokrągla wynik w górę. Sposób wyliczenia trzeba zapisać w regulaminie, bo klient widzi tylko kwotę na fakturze i ma prawo zapytać, jak ją policzono. Cennik przechowuje się w tabeli, a nie w kodzie, żeby zmiana stawki nie wymagała ingerencji programisty.

Zwrot sprzętu i kontrola stanu po wypożyczeniu

Zwrot rozpoczyna się od porównania sprzętu z zapisem stanu przy wydaniu i z listą osprzętu. Pracownik wypożyczalni odnotowuje różnice, a system zmienia status egzemplarza zależnie od wyniku. Sprzęt sprawny wraca do puli dostępnych, natomiast uszkodzony trafia do serwisu i nie da się go wydać, dopóki naprawa nie zostanie zamknięta.

Pracownica w goglach ochronnych przy elementach maszyny z holograficznym schematem, ilustracja kontroli stanu technicznego sprzętu po zwrocie
Kontrola po zwrocie: wynik decyduje, czy egzemplarz wraca do puli dostępnych, czy do serwisu

Rozliczenie uszkodzeń z kaucji

Uszkodzenie stwierdzone przy zwrocie może obniżyć kwotę zwracanej kaucji. Podstawą jest porównanie dwóch zapisów: stanu przy wydaniu i stanu przy zwrocie, oba z datą i osobą. Brak jednego z nich osłabia pozycję wypożyczalni w sporze, dlatego pola stanu nie powinny być opcjonalne.

Zasady potrącania z kaucji wynikają z umowy z klientem, a ich zgodność z prawem konsumenckim i cywilnym należy potwierdzić u prawnika firmy. Oprogramowanie zapisuje fakty, natomiast nie rozstrzyga, jaka kwota jest należna.

Serwis i przeglądy sprzętu wypożyczanego

Sprzęt wynajmowany wielu klientom zużywa się szybciej niż używany wewnątrz zakładu. Terminy przeglądów liczy się więc od liczby wypożyczeń albo przepracowanych godzin, a nie wyłącznie od daty. Historia napraw zapisana w kartotece pozwala ocenić, które egzemplarze kosztują więcej, niż przynoszą.

Dane klientów i historia wypożyczeń

Moduł przechowuje dane klientów oraz historię ich wypożyczeń i faktur, więc wypożyczalnia staje się administratorem danych osobowych. Kartoteka klienta powinna zawierać tylko te pola, które są potrzebne do umowy i rozliczenia. Każde dodatkowe pole zwiększa ryzyko, a jego użyteczność zwykle jest niewielka.

DaneDo czego służąUwaga
Nazwa i identyfikator firmyUmowa i fakturaDane firmy, nie osoby fizycznej
Osoba odbierająca sprzętPotwierdzenie wydania i zwrotuDane osoby fizycznej, wymagają ochrony
Historia wypożyczeńOcena wiarygodności i spory o uszkodzeniaOkres przechowywania ustala zakład

Dostęp do danych klientów ogranicza się rolami: pracownik przy ladzie widzi dane potrzebne w chwili wydania, a pełną historię i faktury ma kierownik oraz księgowość. Okres przechowywania i podstawę prawną przetwarzania powinien potwierdzić prawnik lub inspektor ochrony danych firmy, bo zależą od rodzaju klienta i umowy.

Uruchomienie modułu wypożyczalni w firmie

Studio TCS.net działa w modelu webowym, dostępnym z przeglądarki, a dane leżą w bazie MS SQL. System można uruchomić na serwerach firmy albo w modelu chmurowym. Procedurę techniczną uruchomienia ustala się z producentem przy wdrożeniu konkretnej firmy. Ten artykuł opisuje przygotowanie danych i reguł po stronie wypożyczalni, a nie instalację.

Krok uruchomieniaCo trzeba ustalićKto decyduje
Analiza potrzebZakres wypożyczeń: pracownicy, klienci zewnętrzni albo oba przypadkiWłaściciel procesu i dostawca
Konfiguracja kartotekGrupy sprzętu, grupy cennikowe, pola stanu przy wydaniuKierownik wypożyczalni
Import danychLista sprzętu z arkusza, kontrola duplikatów numerówDostawca z kierownikiem
Cennik i regulaminStawki, kaucje, sposób liczenia doby, potrąceniaZarząd lub właściciel firmy
Szkolenie i próbaPróbne wypożyczenie i zwrot na danych testowychWszyscy użytkownicy stanowiska wydań

Reguła: cennik oraz kaucje i regulamin zwrotów zapisuje się przed konfiguracją modułu. Program egzekwuje przyjęte reguły, ale ich treści nie wymyśli.

Dane startowe wprowadza się najczęściej z istniejących arkuszy. Przed importem warto ujednolicić nazwy grup i wyłapać powtórzone numery, bo baza odrzuci duplikat identyfikatora. Do rozpoznawania sprzętu przy wydaniu służą kody kreskowe albo znaczniki RFID, o których pisze artykuł o tagach RFID w narzędziowni. Wersję demonstracyjną można obejrzeć w demo narzędziowni SoftwareStudio.

Raporty i wskaźniki wypożyczalni

Rejestr wypożyczeń dostarcza danych do decyzji o zakupie. Widać z niego, które narzędzia wracają szybko, a które krążą u klientów tygodniami, oraz czy krótka kolejka przy ladzie wynika z braku sprzętu, czy z jego przetrzymywania. Raporty można filtrować po kliencie i sprzęcie oraz po okresie.

WskaźnikSposób liczeniaDecyzja, którą wspiera
Wykorzystanie egzemplarzaDni wypożyczone podzielone przez dni kalendarzowe okresuCzy dokupić drugą sztukę, czy sprzedać rzadko używaną
Przychód na egzemplarzSuma opłat netto w okresiePorównanie ceny zakupu z wpływami
Koszt naprawSuma faktur serwisowych przypisanych do egzemplarzaNaprawa albo wymiana
Średnia długość wypożyczeniaSuma dób podzielona przez liczbę wypożyczeńKonstrukcja cennika dla dłuższych okresów

Wskaźnik wykorzystania wymaga uwzględnienia wypożyczeń, które zaczęły się przed okresem raportu albo trwają po jego końcu. Zapytanie poniżej przycina każde wypożyczenie do granic okresu, zanim policzy dni. Jest to uproszczenie: wypożyczenie zakończone tego samego dnia, w którym się zaczęło, daje w nim zero dni, więc dla krótkich wynajmów godzinowych trzeba użyć minut, tak jak przy naliczaniu opłaty.

DECLARE @Od DATE = '2026-01-01';
DECLARE @Do DATE = '2026-04-01';

SELECT w.EgzemplarzId,
       1.0 * SUM(DATEDIFF(DAY,
           CASE WHEN CAST(w.DataWydania AS DATE) < @Od THEN @Od
                ELSE CAST(w.DataWydania AS DATE) END,
           CASE WHEN COALESCE(CAST(w.DataZwrotu AS DATE), @Do) > @Do THEN @Do
                ELSE COALESCE(CAST(w.DataZwrotu AS DATE), @Do) END))
           / DATEDIFF(DAY, @Od, @Do) AS Wykorzystanie
FROM dbo.Wypozyczenia AS w
WHERE CAST(w.DataWydania AS DATE) < @Do
  AND COALESCE(CAST(w.DataZwrotu AS DATE), @Do) > @Od
GROUP BY w.EgzemplarzId;

Wskaźniki mają sens tylko wtedy, gdy dane są kompletne, czyli gdy każde wydanie i zwrot tworzą dokument. Rozliczenie sprzętu wypożyczanego od dostawców, który uzupełnia własny park w szczycie zapotrzebowania, opisuje artykuł o wynajmie narzędzi od dostawców. Samoobsługę pracowników przy wypożyczaniu prostego asortymentu omawia strona o wypożyczalni narzędzi przez pracowników. Opis modułu publikuje także producent w serwisie Studio TCS.net na stronie SoftwareStudio.