Zakres funkcji oprogramowania dla firm transportowych

Firma transportowa sprzedaje przewóz, ale pracuje na czterech strumieniach informacji naraz. Zlecenie przychodzi od klienta, trasę układa dyspozytor, kierowca wykonuje kurs i rozlicza czas pracy, a biuro zamyka sprawę dokumentami i fakturą. Oprogramowanie dla firm transportowych ma jeden cel: ten sam zapis o kursie powinien przechodzić przez wszystkie cztery strumienie bez ponownego wpisywania.

Tabela pokazuje, co każdy obszar bierze na wejściu i co oddaje następnemu. Kolejne sekcje opisują je po kolei, z uwzględnieniem tego, gdzie w praktyce pojawiają się błędy.

ObszarZadanieDane na wejściuDane na wyjściu
ZleceniaPrzyjęcie i kontrola przewozuZapytanie klienta, adresy, termin, ładunekZlecenie ze statusem i stawką
TrasyPrzydział kierowcy oraz pojazdu z naczepąZlecenia do realizacji i dostępność zasobówHarmonogram kursów
Rozliczenia kierowcówCzas pracy i należności za kursKursy z harmonogramu i dane z tachografuZestawienie do wypłaty
Dokumenty przewozoweObieg i kompletność dokumentówZlecenie, kurs, potwierdzenia dostawKomplet do faktury

Reguła: numer zlecenia jest wspólnym kluczem wszystkich czterech obszarów, więc nie może być nadawany ręcznie ani zmieniany po zaplanowaniu kursu.

Tę samą strukturę widać w ogólnym przeglądzie funkcji opisanym w tekście o oprogramowaniu dla transportu. Tutaj uwaga skupia się na zakresie, czyli na tym, co dany moduł powinien obejmować, zanim firma zacznie go oceniać.

Zlecenia transportowe - od zapytania do zamknięcia

Zlecenie jest jednostką, wokół której system organizuje pracę. Każde ma adresy załadunku i rozładunku oraz okna czasowe. Do tego dochodzą opis ładunku oraz stawka. Jakość danych na starcie decyduje o wszystkim, co dzieje się później, bo błędny adres albo brakujące okno rozładunku ujawnia się dopiero w trasie.

Przyjęcie zlecenia i kontrola danych

Zlecenia napływają z poczty elektronicznej albo z portali klientów, a część klientów przesyła je wymianą elektroniczną. Import danych ogranicza przepisywanie, a walidacja przy zapisie wychwytuje niekompletne wpisy, na przykład brak okna rozładunku albo nieznany adres. Zlecenie z błędem powinno zatrzymać się na etapie wprowadzania, a nie w chwili wystawiania faktury.

Statusy zlecenia i ich znaczenie

Status jest maszyną stanów: zlecenie przechodzi z jednego stanu do następnego tylko w określony sposób. Dzięki temu nie da się zamknąć kursu, którego nie zaplanowano, ani zafakturować przewozu bez potwierdzenia dostawy. Tabela pokazuje przykładowy cykl.

StatusWarunek przejścia dalejKto go zmienia
PrzyjęteKomplet danych i zaakceptowana stawkaSpedytor
ZaplanowanePrzypisany kierowca z pojazdem i terminemDyspozytor
W realizacjiPotwierdzony załadunekKierowca lub system
DostarczonePotwierdzenie rozładunku z dokumentemKierowca
RozliczoneKomplet dokumentów i wystawiona fakturaBiuro rozliczeń

Osobno traktuje się zlecenia realizowane przez podwykonawców. Wymagają własnych statusów, bo przewoźnik zewnętrzny nie zawsze przekazuje potwierdzenia w tym samym formacie. Specyfikę przewozów międzynarodowych opisuje artykuł o TMS dla spedytorów i przewoźników w transporcie międzynarodowym.

Planowanie tras i przydział zasobów

Planowanie polega na ułożeniu zleceń w czasie. Kierowca i pojazd z naczepą nie mogą pracować w dwóch miejscach jednocześnie i muszą mieścić się w dozwolonym czasie pracy. Według opisu producenta w Linkway TMS harmonogram tworzy się metodą przeciągnij i upuść, a system pokazuje konflikty w czasie rzeczywistym. Sama wizualizacja jest tylko warstwą nad regułami, które trzeba zdefiniować. Dotyczą one dostępności kierowców oraz wymagań ładunku.

Tablet z mapą tras i oznaczonymi pojazdami, ilustracja planowania kursów na podstawie pozycji floty
Widok mapy pomaga dyspozytorowi ocenić, który pojazd jest najbliżej załadunku, zanim przypisze do niego kurs.

Wykrywanie konfliktów w harmonogramie

Konflikt oznacza dwa przydziały tego samego zasobu w nakładających się przedziałach czasu. Wykrycie go sprowadza się do porównania przedziałów: dwa przedziały nakładają się, jeśli początek każdego z nich jest wcześniejszy niż koniec drugiego. Przykład poniżej znajduje kierowców przypisanych do dwóch kursów jednocześnie. Nazwy tabeli i kolumn są przykładowe i nie odpowiadają schematowi żadnego produktu.

SELECT a.id_kierowcy,
       a.id_kursu AS kurs_a,
       b.id_kursu AS kurs_b
FROM dbo.przydzial AS a
JOIN dbo.przydzial AS b
  ON  b.id_kierowcy = a.id_kierowcy
  AND b.id_kursu    > a.id_kursu
  AND a.start_plan  < b.koniec_plan
  AND b.start_plan  < a.koniec_plan;

Warunek b.id_kursu > a.id_kursu odrzuca duplikaty pary i porównanie przydziału z samym sobą. To samo zapytanie po zamianie kolumny sprawdza także pojazdy. Składnię łączenia tabel opisuje dokumentacja złączeń w SQL Server.

Ograniczenia pojazdu i ładunku

Poza czasem system powinien znać wymagania ładunku. Według opisu producenta podpowiada okna załadunkowe oraz zwraca uwagę na ograniczenia ADR i kabotaż. Dla przewozu ładunków niebezpiecznych oznacza to wymóg uprawnień po stronie kierowcy oraz wyposażenia po stronie pojazdu, a system nie powinien pozwolić na przypisanie kursu do zasobu bez nich. Zakres i zasady tych ograniczeń wynikają z przepisów, więc konfigurację reguł trzeba uzgodnić z osobą odpowiedzialną za zgodność w firmie.

Szersze omówienie planowania, w tym różnicy między planem a jego wykonaniem, zawiera tekst o planowaniu transportu.

Rozliczenia kierowców i czas pracy

Rozliczenie kierowcy łączy dwa rodzaje danych: opis wykonanej pracy oraz zasady wypłaty z regulaminu wynagradzania. Pierwszy pochodzi z harmonogramu i tachografu. Źródła bywają prowadzone w różnych systemach, więc pierwszym zadaniem oprogramowania jest przypisanie ich do tej samej osoby i tego samego okresu.

Element rozliczeniaŹródłoTypowa kontrola
Czas jazdy i odpoczynkuTachografZgodność z limitami czasu pracy
Kursy w okresieHarmonogram i statusy zleceńBrak kursów bez przypisanego kierowcy
Należności za kursRegulamin wynagradzania i trasaZgodność z zasadami obowiązującymi w firmie

Producent opisuje integrację danych z systemem NANOSERWIS, dzięki której dane z tachografu można porównać z danymi z systemu i dokładniej rozliczyć czas pracy kierowców. Opis znajduje się na stronie integracji Linkway z NANOSERWIS. Odczyty tachografu i ich analizę opisuje także artykuł o programie do logistyki transportu i tachografie.

Reguła: system stosuje zasady rozliczeń, które firma zdefiniowała, ale ich zgodność z przepisami potwierdza księgowy lub prawnik.

Aplikacja mobilna kierowcy skraca obieg informacji. Kierowca potwierdza etapy kursu i przesyła dokumenty z telefonu, a biuro widzi je w zleceniu bez telefonu do kabiny. Funkcje takiej aplikacji porównuje tekst o aplikacji dla kierowcy.

Dokumenty przewozowe i kompletność teczki zlecenia

Zamknięcie zlecenia wymaga kompletu dokumentów. W przewozie krajowym jest to zwykle list przewozowy z potwierdzeniem odbioru, a w międzynarodowym dokument CMR, czyli międzynarodowy list przewozowy. Braki wychodzą na jaw, gdy klient odmawia zapłaty za przewóz bez podpisanego potwierdzenia, więc kontrola powinna zachodzić wcześniej, w trakcie kursu.

System zarządzania transportem generuje z danych źródłowych zlecenia listy przewozowe oraz faktury, a także wskazuje niekompletną teczkę. Sposób, w jaki producent opisuje obieg dokumentów w Linkway.TMS, zawiera artykuł o zarządzaniu dokumentami w Linkway.TMS. Kontrolę kompletności można wyrazić jednym zapytaniem, które wykorzystuje predykat EXISTS z T-SQL.

SELECT z.nr_zlecenia, z.data_rozladunku
FROM dbo.zlecenie AS z
WHERE z.status = 'Dostarczone'
  AND NOT EXISTS (
        SELECT 1
        FROM dbo.dokument AS d
        WHERE d.id_zlecenia = z.id_zlecenia
          AND d.typ = 'CMR'
          AND d.data_potwierdzenia IS NOT NULL)
ORDER BY z.data_rozladunku;

Wynikiem jest lista dostarczonych zleceń bez potwierdzonego CMR, uporządkowana od najstarszych. Takie zestawienie powinno trafiać do biura rozliczeń codziennie, żeby brak dokumentu był ścigany, dopóki kierowca pamięta kurs.

Ciężarówka z naczepą i dokumentami przewozowymi na pierwszym planie, ilustracja obiegu dokumentów kursu
Dokumenty przewozowe są częścią zlecenia i przechodzą z nim przez wszystkie statusy aż do faktury.

Uprawnienia i praca w terenie

Uprawnienia i ślad zmian w zleceniu

W firmie transportowej ze zleceniem pracuje kilka osób o różnych rolach i każda powinna widzieć tylko to, czego potrzebuje. Dyspozytor zmienia przydziały, ale nie powinien edytować stawki po akceptacji. Biuro rozliczeń wystawia faktury, ale nie zmienia okien rozładunku. Model uprawnień oparty na rolach realizuje to na poziomie akcji, a nie całych ekranów.

RolaMoże zmieniaćNie może zmieniać
SpedytorDane zlecenia i stawkę przed akceptacjąRozliczeń i faktur
DyspozytorPrzydziały kierowców i pojazdówStawki po akceptacji
Biuro rozliczeńDokumenty i fakturyHarmonogramu kursów

Równie ważny jest ślad zmian. Każda modyfikacja zlecenia po zaplanowaniu powinna zapisywać, kto ją wykonał i kiedy, a także jaka była wartość poprzednia. Przy sporze z klientem o zmieniony termin taki zapis rozstrzyga sprawę w kilka minut, bo pokazuje, kiedy termin został zmieniony i przez kogo. W bazie SQL Server ślad można prowadzić w tabeli historii wypełnianej przez procedurę składową lub wyzwalacz, ale wygodniej, gdy robi to warstwa aplikacji w tej samej transakcji co zmiana.

Praca kierowcy w terenie i komunikacja z klientem

Dane o kursie powstają w terenie, więc to, jak trafiają do biura, decyduje o ich aktualności. Aplikacja kierowcy przekazuje zlecenia do kabiny, a potwierdzenia etapów oraz zdjęcia dokumentów wracają do właściwego zlecenia. Informacja nie ginie w wiadomościach i nie wymaga przepisywania z telefonu.

Ten sam strumień zasila komunikację z klientem. Klient pyta najczęściej o jedno: kiedy dotrze ładunek. Gdy system zna pozycję pojazdu i status kursu, odpowiedź może pójść automatycznie, na przykład jako wiadomość SMS przy zmianie terminu. Producent Linkway opisuje takie automatyczne powiadomienia jako element systemu transportowego.

Reguła: powiadomienie do klienta wysyła się ze statusu zlecenia, a nie z ręcznego komunikatu, bo tylko status jest zawsze aktualny.

Praca w terenie oznacza też słabe pokrycie siecią. Aplikacja powinna zapisywać potwierdzenia lokalnie i wysyłać je po odzyskaniu połączenia, z zachowaniem czasu zdarzenia, a nie czasu wysyłki. Bez tego czas postoju na rampie liczy się od momentu synchronizacji, a nie od przyjazdu pod bramę.

Wymiana danych między modułami i systemami

Cztery obszary nie działają w próżni. Trasy potrzebują pozycji pojazdów z telematyki, a rozliczenia danych z tachografu. Faktury trafiają do księgowości. Każde z tych połączeń jest interfejsem, który może zawieść, więc warto wiedzieć, w którą stronę płyną dane i co robi system, gdy druga strona nie odpowiada.

  • Telematyka i GPS - pozycje i zdarzenia płyną do systemu, a błąd połączenia oznacza tylko brak nowych odczytów, nie utratę zlecenia.
  • Księgowość i ERP - faktury i dane kontrahentów wymieniane są w obu kierunkach, więc potrzebna jest kontrola duplikatów i wspólny identyfikator klienta.

Jak wygląda mapa systemów wokół transportu i gdzie leżą granice odpowiedzialności, opisuje tekst o systemach IT w branży TSL. Rolę, jaką pełni integrator danych GPS, przybliża strona producenta Linkway.INTEGRATOR.

Dobór zakresu i pytania kontrolne

Ocena oprogramowania na podstawie listy funkcji z folderu zwykle zawodzi, bo każdy system deklaruje podobny zestaw. Lepszy efekt daje sprawdzenie, jak system zachowuje się w sytuacjach granicznych. Poniższe pytania warto zadać na demonstracji, najlepiej na własnych danych firmy, a nie na przykładach dostawcy.

Scenariusze graniczne w zleceniach i trasach

Pierwszy test dotyczy zmiany terminu po przypisaniu kierowcy, gdy nowy termin koliduje z innym kursem. System może zablokować zmianę z komunikatem albo przepuścić ją po cichu, a bezpieczne jest tylko pierwsze zachowanie. Drugi test to zlecenie z dwoma załadunkami i kilkoma rozładunkami. Wynik ujawnia, czy model danych opiera się na jednym adresie na zlecenie, czy na liście punktów kursu.

Scenariusze graniczne w rozliczeniach

Warto sprawdzić kurs, który zaczyna się w jednym okresie rozliczeniowym, a kończy w następnym. Drugi przypadek to cofnięcie zamkniętego okresu i skutki dla wypłaconych już należności. Scenariusze są nieprzyjemne, ale dokładnie takie sytuacje zdarzają się pod koniec miesiąca, gdy zespół ma najmniej czasu.

Przy większych projektach warto poprzedzić wybór spisaniem procesów. Osoby, które będą później sprawdzać dane w bazie, znajdą podstawy w dokumentacji instrukcji SELECT. Różnicę wobec pracy na arkuszach pokazuje artykuł o Excelu i systemie TMS.

Zakres dla przewoźnika i dla spedytora

Przewoźnik wykonuje przewóz własnymi pojazdami i kierowcami, więc jego priorytetem są harmonogram zasobów oraz koszty floty. Spedytor organizuje przewóz u innych, więc na pierwszy plan wychodzą zlecenia podwykonawców oraz ich stawki. Firmy prowadzące oba rodzaje działalności potrzebują obu zestawów funkcji, a to zwykle oznacza dwa tryby pracy w jednym systemie. Różnice omawia artykuł o oprogramowaniu spedycyjnym.

Zakres wdrożenia dobrze jest rozłożyć na etapy. Można zacząć od zleceń i dokumentów, potem dodać planowanie i rozliczenia, a na końcu integracje z telematyką i księgowością. Kolejność, w jakiej producent prowadzi wdrożenie Linkway.TMS, opisuje tekst o czterech etapach wdrożenia. Praca ze slotami dostaw u odbiorców, która wpływa na planowanie, została omówiona w artykule o kalendarzu dla firmy transportowej. Funkcje samego systemu TMS zestawia strona o programie TMS do zarządzania transportem, a ofertę producenta przedstawia Linkway TMS.