Dokumentacja Dashbord.pl

Dashbord.pl to wielokanałowy panel analityczny dla sklepów i firm e-commerce. Łączy dane z wielu systemów OMS w jedno miejsce i udostępnia je w czytelnych ekranach operacyjnych, raportach i analizach.

Jak korzystać z dokumentacji

  • Każdy ekran opisany jest osobno — znajdziesz tam co robi, co pokazuje i z jakich systemów OMS pobiera dane.
  • Kolorowe etykiety OMS (Apilo, BaseLinker, Sellasist, Sellrocket, Thulium) informują które połączenia są wymagane aby dany ekran miał dane.
  • Użyj wyszukiwarki w lewym menu lub przewijaj treść kolejno.
  • Tabela kompatybilności na początku daje szybki przegląd wszystkich ekranów.

Obsługiwane systemy OMS

Dashbord.pl synchronizuje dane z siedmiu systemów. Możesz podłączyć wiele kont każdego systemu jednocześnie.

🔵
Apilo
apilo.com — system zarządzania zamówieniami dla e-commerce
  • Zamówienia i pozycje zamówień
  • Płatności (embedded w zamówieniu)
  • Dane wysyłki i numer przesyłki (embedded w zamówieniu)
  • Zwroty i reklamacje
  • Katalog produktów (agregowany z historii zamówień)
  • Dokumenty finansowe
Apilo nie udostępnia przez API: słownika statusów (synchronizowanego do ekranu Statusy), danych pracowników ani pakowania.
🟠
BaseLinker
baselinker.com — multi-channel OMS i warehouse management
  • Zamówienia, pozycje, płatności, wysyłki, etykiety
  • Zwroty i reklamacje
  • Katalog produktów (z historii zamówień)
  • Słowniki statusów zamówień
🟢
Sellasist
sellasist.com — OMS z modułem pakowania i pracowników
  • Zamówienia, pozycje, płatności, wysyłki, etykiety
  • Zwroty i reklamacje
  • Logi pakowania (kto, kiedy, co spakował)
  • Dane pracowników i ich aktywność
  • Słowniki statusów zamówień
🔴
Sellrocket
sellrocket.pl — OMS dla e-commerce, API kompatybilne z BaseLinker
  • Zamówienia, pozycje, płatności, wysyłki, etykiety
  • Zwroty i reklamacje
  • Słowniki statusów zamówień
Sellrocket nie udostępnia przez API: logów pakowania, danych pracowników. Zakres danych zbliżony do BaseLinker.
🛒
PrestaShop
prestashop.com — platforma e-commerce, połączenie przez Webservice API
  • Zamówienia i pozycje zamówień
  • Katalog produktów z cenami i stanami magazynowymi
  • Dane klientów (e-mail, adres dostawy)
PrestaShop nie synchronizuje: płatności online, logów pakowania, zwrotów. Wymaga klucza Webservice w panelu PrestaShop.
🛍️
Shopify
shopify.com — platforma e-commerce, połączenie przez GraphQL Admin API
  • Zamówienia i pozycje zamówień
  • Katalog produktów ze stanami magazynowymi
  • Dane klientów (e-mail, adres dostawy)
Shopify nie synchronizuje: płatności online (osobno przez raport CSV Shopify Payments), logów pakowania, zwrotów. Wymaga tokena Admin API w panelu Shopify.
🟣
Thulium
thulium.pl — contact center: rozmowy telefoniczne i tickety
  • Historia rozmów telefonicznych i ich oceny
  • System ticketów (zgłoszenia klientów)
  • Agenci i kolejki telefoniczne
  • Snapshoty kolejek (Live Wallboard)
  • Obsługa webhooków w czasie rzeczywistym

Tabela kompatybilności

Które ekrany działają z którymi systemami OMS. ✓ = pełne dane, ~ = częściowe.

Ekran Apilo BaseLinker Sellasist Sellrocket Thulium
Dashboard✓✓✓✓—
Zamówienia✓✓✓✓—
Zwroty✓✓✓✓—
Klienci✓✓✓✓—
Płatności✓✓✓✓—
Produkty — Katalog✓✓✓✓—
Produkty — Nie sprzedane✓✓✓✓—
Produkty — Trendy✓✓✓✓—
Produkty — Ranking✓✓✓✓—
Magazyn — Kolejka✓✓✓✓—
Magazyn — Raport pakowania——✓——
Magazyn — Wyniki pracowników——✓——
Etykiety✓✓✓✓—
Statusy—✓✓✓—
Pracownicy——✓——
Historia (audit log)dane wewnętrzne systemu
Metryki✓✓✓✓—
P&L✓✓✓✓—
Kanały✓✓✓✓—
Trendy✓✓✓✓—
Contact Center————✓
Integracje✓✓✓✓✓
Użytkownicydane wewnętrzne systemu
Rozliczeniapliki CSV/XLS z platform i bramek płatności
Dokumenty ERPdane z zewnętrznego systemu ERP przez API
Ustawieniadane wewnętrzne systemu

Co pobieramy z API każdego systemu

Szczegółowe porównanie jakie typy danych są synchronizowane z każdego providera.

Typ danych Apilo BaseLinker Sellasist Sellrocket
Zamówienia✓✓✓✓
Pozycje zamówień (produkty)✓✓✓✓
Płatności✓✓✓✓
Wysyłki i etykiety✓✓✓✓
Zwroty i reklamacje✓✓✓✓
Słownik statusów zamówień—✓✓✓
Dokumenty finansowe✓———
Logi pakowania—~✓—
Pracownicy——✓—
Kanały sprzedaży✓✓✓✓

~ = częściowe (BaseLinker: historia pick&pack, bez pełnych logów pakowania jak w Sellasist)


📊
Dashboard
Strona główna z kluczowymi wskaźnikami sprzedaży
Apilo BaseLinker Sellasist Sellrocket

Pierwsza strona po zalogowaniu. Daje natychmiastowy przegląd sytuacji sprzedażowej — bez klikania, bez raportów. Widzisz najważniejsze liczby za wybrany okres.

Co pokazuje

  • 8 KPI: Zamówienia, Przychód całkowity, Średnia wartość zamówienia (AOV), Opłacone %, Zaległości, Wysłane %, Backlog (nieopłacone), Świeżość syncu
  • Granice zamówień — data pierwszego i ostatniego zamówienia w systemie
  • Podział przychodów per waluta gdy konto obsługuje wiele walut
  • Filtry okresu: 7 / 30 / 60 / 90 dni oraz "Wszystkie"
  • Filtr konta OMS — możliwość oglądania danych jednego źródła
Dashboard agreguje dane ze wszystkich podłączonych kont OMS jednocześnie. Zmiana filtra okresu nie wymaga przeładowania strony.
🛒
Zamówienia
Pełna lista zamówień z filtrami i szczegółem
Apilo BaseLinker Sellasist Sellrocket

Centralne miejsce do przeglądania wszystkich zamówień ze wszystkich podłączonych sklepów w jednej tabeli. Kliknij zamówienie żeby zobaczyć szczegóły — produkty, adres, płatność, wysyłkę.

Co pokazuje

  • Lista zamówień: numer, data, klient, kwota brutto, waluta, status płatności, konto OMS
  • Sortowanie każdej kolumny kliknięciem nagłówka (▲/▼)
  • Wyszukiwarka (nr zamówienia, dane klienta)
  • Filtr "Z komentarzem" — tylko zamówienia z notami/komentarzami
  • Paginacja z selektorem liczby rekordów na stronę
  • Eksport do pliku XLS

Panel szczegółu zamówienia

  • Dane klienta i adres dostawy
  • Lista pozycji zamówienia (nazwa, SKU, ilość, cena)
  • Status płatności i metoda płatności
  • Dane wysyłki i list przewozowy
  • Noty i komentarze do zamówienia
↩️
Zwroty
Zwroty i reklamacje z rankingiem produktów
Apilo BaseLinker Sellasist Sellrocket

Historia zwrotów i reklamacji z wszystkich podłączonych sklepów. Sprawdź które produkty są najczęściej zwracane i jakie kwoty są w grze.

Lista zwrotówWszystkie zwroty i reklamacje
Produkty ze zwrotówRanking produktów najczęściej zwracanych

Co pokazuje

  • Typ zdarzenia: Zwrot / Reklamacja
  • Data, konto OMS, kwota
  • Panel boczny: szczegóły zwrotu + produkty z powiązanego zamówienia
  • Ranking: produkt, SKU, liczba zwrotów, łączna ilość szt., wartość zwrotów
  • Filtry: typ, zakres dat, konto OMS
  • Eksport XLS (osobno dla każdego taba)
👥
Klienci
Segmentacja klientów i historia zamówień
Apilo BaseLinker Sellasist Sellrocket

Baza Twoich klientów zbudowana automatycznie na podstawie zamówień. Sprawdź kto kupuje najczęściej, ile wydał łącznie i kiedy był ostatni raz aktywny.

Co pokazuje

  • Lista unikalnych klientów (unikalność wg adresu email)
  • Per klient: liczba zamówień, przychód brutto, data pierwszego i ostatniego zamówienia, okres aktywności
  • Sortowanie: po przychodzie, liczbie zamówień, pierwszym lub ostatnim zamówieniu
  • Wyszukiwarka z debounce po emailu, nazwie i nazwie firmy
  • Paginacja (50 rekordów / stronę)

Panel boczny klienta

  • KPI: łączne zamówienia, przychód, daty
  • Historia ostatnich 50 zamówień: numer, data, kwota, status
Uwaga: Ekran wymaga by zamówienia miały wypełnione pole email klienta. Zamówienia bez emaila nie są zliczane.
💳
Płatności
Status płatności zamówień
Apilo BaseLinker Sellasist Sellrocket

Szybki podgląd które zamówienia zostały opłacone, a które czekają na płatność. Pomocne przy codziennej kontroli zaległości i weryfikacji przelewów.

Co pokazuje

  • Lista zamówień z ich statusem płatności
  • Kolumny: numer, data zamówienia, klient, kwota brutto, waluta, status płatności, konto OMS
  • Sortowanie kolumn, wyszukiwarka, paginacja, eksport XLS
  • Filtr statusu płatności: Opłacone / Nieopłacone / Częściowo

📦
Produkty
4 taby: Katalog, Nie sprzedane, Trendy, Ranking
Apilo BaseLinker Sellasist Sellrocket

Analiza sprzedaży produktów — co się sprzedaje, co zalega na magazynie, które produkty rosną a które tracą popularność.

KatalogWszystkie produkty z agregacją sprzedaży
Nie sprzedaneProdukty bez sprzedaży przez 7/30/60 dni
TrendyTrendujące i tracące popularność
RankingTop 20 wg przychodu / ilości / zamówień

Katalog produktów

  • Nazwa, SKU, EAN, VAT, łączna ilość, liczba zamówień, przychód brutto
  • Ceny: średnia / min / max brutto, data pierwszego i ostatniego zamówienia
  • Wyszukiwarka (nazwa, SKU, EAN) z debounce 400ms
  • Kliknięcie produktu → panel kanałów sprzedaży (Allegro, Sklep, Castorama itd.)
  • Sortowanie każdej kolumny, paginacja server-side (50/stronę), eksport XLS

Nie sprzedane

  • Produkty bez żadnego zamówienia przez wybrany okres: 7, 30 lub 60 dni
  • Badge z liczbą dni bez sprzedaży, data ostatniego zamówienia
  • Wyszukiwarka, sortowanie, paginacja, eksport XLS

Ranking

  • Top 20 produktów wg: Przychód brutto / Ilość (szt.) / Liczba zamówień
  • Selektor okresu: 30 dni / 90 dni / 12 miesięcy / Wszystkie
  • Pasek postępu z % udziałem każdego produktu
🗂️
Katalog OMS
Produkty z systemu OMS — stany magazynowe, ceny, warianty
PowerHub / OMS

Katalog produktów zsynchronizowanych bezpośrednio z systemu magazynowego lub OMS — z aktualnymi stanami i cenami. Różni się od ekranu Produkty tym, że dane tu pochodzą z katalogu systemu, nie z historii zamówień.

Co pokazuje

  • Lista produktów z nazwą, SKU, EAN, ceną netto i brutto
  • Stany magazynowe per produkt i wariant
  • Warianty produktu (rozmiary, kolory) rozwijane w tabeli
  • Status aktywności produktu w systemie OMS
  • Wyszukiwarka po nazwie, SKU, EAN — sortowanie kolumn
Katalog OMS dostępny jest gdy podłączony system obsługuje eksport katalogu przez API. Dostępność zależy od konkretnego systemu OMS i planu konta.

🏭
Magazyn
Kolejka pakowania i raporty wydajności
Apilo BaseLinker Sellasist Sellrocket

Panel magazyniera. Widać co jest do spakowania teraz, kto spakował ile paczek i jak szybko idzie realizacja zamówień.

KolejkaZamówienia do spakowania — wszystkie OMS
Raport pakowaniaTylko Sellasist
Wyniki pracownikówTylko Sellasist
Produkty wg pracownikaTylko Sellasist

Kolejka pakowania

  • Liczniki: DO ZROBIENIA / ZROBIONE DZIŚ / RAZEM z paskiem postępu
  • Tabela: nr zamówienia, godzina, klient, liczba szt., list przewozowy, konto OMS
  • Przycisk "Spakowałem" przy każdym zamówieniu
  • Automatyczne odświeżanie co 30 sekund
  • Paginacja, sortowanie kolumn, eksport XLS

Raport pakowania, Wyniki pracowników, Produkty wg pracownika

  • Szczegółowe raporty z danymi spakowanych paczek per pracownik i per dzień
  • Filtr zakresu dat, filtr kuriera
  • Eksport CSV i XLS
Ważne: Raporty pakowania i wyniki pracowników dostępne są wyłącznie gdy podłączone jest konto Sellasist. Apilo i BaseLinker nie udostępniają danych o procesie pakowania.
🏷️
Etykiety
Listy przewozowe i wysyłki
Apilo BaseLinker Sellasist Sellrocket

Lista wszystkich wygenerowanych etykiet i listów przewozowych. Sprawdź numer przesyłki dla konkretnego zamówienia lub zweryfikuj które wysyłki są już w transporcie.

Co pokazuje

  • Lista wysyłek z numerami listów przewozowych
  • Kolumny: numer zamówienia, data, kurier, numer przesyłki, status, konto OMS
  • Wyszukiwarka po numerze zamówienia i numerze przesyłki
  • Sortowanie kolumn, paginacja, eksport XLS

📋
Statusy
Słowniki statusów zamówień z systemów OMS
BaseLinker Sellasist Sellrocket

Podgląd słowników statusów zamówień pobranych z systemów OMS. Przydatne gdy chcesz zobaczyć jakie statusy istnieją w Twoim panelu Sellasist, BaseLinker lub Sellrocket.

Co pokazuje

  • Pobrane z OMS słowniki statusów zamówień (np. "Nowe", "W realizacji", "Wysłane")
  • Zakładki wg rodzaju słownika
  • Wyszukiwarka, sortowanie kolumn, grupowanie po koncie OMS
  • Eksport XLS
Słowniki są synchronizowane automatycznie razem z danymi OMS. Przydatne do weryfikacji czy nazwy statusów są spójne między systemami.
👤
Pracownicy
Ranking i aktywność dzienna pracowników magazynu
Sellasist

Statystyki pakowania dla każdego pracownika magazynu. Kto ile paczek spakował, w jakim czasie i w które dni tygodnia — dane prosto z Sellasist.

Co pokazuje

  • Ranking pracowników wg liczby spakowanych zamówień
  • Kolumny: awatar, pracownik, spakowanych zamówień, wartość spakowanych, pierwsza i ostatnia aktywność
  • Kliknięcie pracownika → panel boczny z wykresem aktywności dziennej
  • Filtr zakresu dat, eksport XLS
Tylko Sellasist: Dane pracowników są dostępne wyłącznie z kont Sellasist. Jeśli nie masz podłączonego Sellasist, ekran wyświetli informację o braku danych.
🕐
Historia
Audit log — dziennik zmian w systemie
Dane wewnętrzne

Dziennik wszystkich ważnych działań wykonanych w systemie — kto dodał użytkownika, kto usunął połączenie, kiedy był ostatni sync. Przeznaczony dla właściciela konta i administratora.

Co pokazuje

  • Chronologiczny dziennik ważnych zdarzeń: dodanie użytkownika, usunięcie użytkownika, usunięcie połączenia OMS
  • Per zdarzenie: data, typ akcji (kolorowy badge), użytkownik wykonujący, cel akcji, szczegóły
  • Kolorowanie: czerwony = usunięcie, zielony = dodanie, pomarańczowy = synchronizacja
  • Filtr po typie akcji, wyszukiwarka lokalna
  • Paginacja (50 rekordów / stronę)
Historia nie wymaga żadnego OMS — to wewnętrzny dziennik działań administratorów i użytkowników konta.

🎯
KPI
Kluczowe wskaźniki biznesowe z porównaniem do poprzedniego okresu
Apilo BaseLinker Sellasist Sellrocket

Rozszerzona wersja Dashboardu — skupia się na wskaźnikach jakościowych, nie tylko ilościowych. Każdy KPI porównywany jest automatycznie z poprzednim takim samym okresem i wyświetlany ze strzałką trendu.

Co pokazuje

  • AOV (średnia wartość koszyka) — z trendem względem poprzedniego okresu
  • LTV (wartość życiowa klienta) — średni przychód na klienta w danym oknie
  • Skuteczność płatności — % zamówień opłaconych w czasie
  • Nowi vs powracający klienci — ile osób kupuje po raz pierwszy, ile wraca
  • Średni przychód dzienny i średnia liczba zamówień na dzień
  • Źródła zamówień z % udziałem przychodów
  • Kliknięcie KPI → drill-down z tabelą zamówień składających się na tę wartość
Plan PAID: Ekran KPI dostępny wyłącznie w planie płatnym.

📈
Metryki
Wskaźniki biznesowe z drill-down
Apilo BaseLinker Sellasist Sellrocket

Pogłębiona analiza biznesowa — więcej wskaźników niż na Dashboardzie. Kliknij dowolną metrykę żeby zobaczyć listę zamówień które się na nią składają.

Co pokazuje

  • Sekcja Zamówienia (30 dni): AOV, LTV, skuteczność płatności
  • Sekcja Klienci: nowi vs powracający, częstotliwość zakupów
  • Sekcja Płatności: opłacone / nieopłacone per waluta
  • Sekcja Wysyłki: % wysłanych, backlog
  • Sekcja Pakowanie: wydajność linii pakowania
  • Sekcja Źródła zamówień: ranking kanałów sprzedaży z % udziałem i przychodem
  • Kliknięcie KPI otwiera drill-down z tabelą szczegółową
  • Eksport XLS tabeli kanałów
💰
P&L (Profit & Loss)
Rachunek zysków i strat — miesięczna tabela
Apilo BaseLinker Sellasist Sellrocket

Miesięczna tabela przychodów i kosztów. Część danych pochodzi automatycznie z zamówień, część wpisujesz ręcznie (koszty zakupu, prowizje, wysyłka). Na końcu widzisz szacowaną marżę netto.

Co pokazuje — wiersze automatyczne (z OMS)

  • Sprzedaż brutto (GMV) — suma wszystkich zamówień per miesiąc
  • Anulowane & zwrócone brutto
  • GMV bez anulowanych (GMV netto)
  • Szacunkowy VAT (23/123)
  • Sprzedaż netto

Wiersze edytowalne (wprowadzane ręcznie)

  • Koszty zakupu towarów
  • Prowizje marketplace
  • Koszty wysyłki
  • Szacowane: marketing, wynagrodzenia, koszty operacyjne, pozostałe
  • Kliknięcie komórki → edycja inline, zapis na Enter lub kliknięcie poza komórkę

Wiersze obliczane

  • Marża na sprzedaży (GMV netto − koszty zakupu)
  • Szacowana marża brutto (po odjęciu prowizji i wysyłki)
  • Szacowana marża netto (po wszystkich kosztach)

Inne funkcje

  • Selektor okresu: 3 / 6 / 12 / 24 miesiące
  • Filtr konta OMS
  • Sticky lewa kolumna, przewijalne kolumny miesięczne
  • Eksport XLS (wszystkie miesiące, jeden arkusz)
Wartości w wierszach edytowalnych są zapisywane w bazie danych per tenant i miesiąc — dane nie znikają po przeładowaniu strony.
🥧
Kanały
Przychód wg źródła zamówienia
Apilo BaseLinker Sellasist Sellrocket

Rozkład przychodów wg kanału sprzedaży — ile procent pochodzi z Allegro, ile ze sklepu własnego, ile z Castoramai itd. Wykres kołowy i tabela z wartościami.

Co pokazuje

  • Wykres donut z % udziałem przychodów per kanał sprzedaży (Allegro, Sklep, Castorama itd.)
  • Tabela z sortowaniem: kanał, zamówienia, przychód brutto, udział %
  • Wiersz "Razem" na dole tabeli
  • Selektor okresu: 3 / 6 / 12 / 24 miesiące + własny zakres dat
  • Eksport XLS
Kanały pobierane są ze źródła zamówienia: pole "creator" z Sellasist (np. "Allegro.pl/MAJOWO_PL"), "platformName" z Apilo lub nazwa połączenia jako fallback.

📊
Wykresy
Zaawansowane wykresy analityczne — heatmapy, trendy, rozkłady
Apilo BaseLinker Sellasist Sellrocket Thulium (CC)

Galeria wykresów analitycznych pogrupowanych tematycznie. Każdy wykres można filtrować po koncie OMS i zakresie dat. Przydatne do odkrywania wzorców — kiedy kupują klienci, który kurier dominuje, jak wygląda sezonowość.

Grupy wykresów

ZamówieniaHeatmapa, wg godziny, dnia tygodnia, miesięcznie, rok do roku, rozkład wartości, wg konta OMS
PłatnościStatus płatności, AOV miesięcznie, trend opłaceń, waluty
ProduktyTop 10 przychód, Top 10 ilość, najczęściej zwracane
LogistykaStatus wysyłek, wysyłki miesięcznie, czas realizacji zamówienia
ZwrotyTrend miesięczny, wartość miesięcznie, wg konta OMS
PakowanieWg godziny, wg pracownika, wg dnia tygodnia (tylko Sellasist)
Contact CenterRozmowy wg godziny, wg statusu, tickety wg statusu (tylko Thulium)
Plan PAID: Wykresy dostępne wyłącznie w planie płatnym.
🎧
Contact Center (Thulium)
9 ekranów integracji z platformą contact center
Thulium
PołączeniaZarządzanie kontem Thulium
PrzeglądKPI i trendy CC
Live WallboardAktywne rozmowy w czasie rzeczywistym
RozmowyHistoria połączeń telefonicznych
ZgłoszeniaLista i historia ticketów
AgenciRanking i aktywność agentów
KolejkiWydajność kolejek telefonicznych
Klient 360Historia klienta wg tel./ID
Webhook LogAudit zdarzeń realtime

Połączenia

  • Dodawanie i zarządzanie kontami Thulium
  • Test połączenia, force sync, status webhooków
  • Logi synchronizacji danych

Przegląd

  • KPI: liczba rozmów, ticketów, czas obsługi, oceny
  • Trend rozmów i ticketów per dzień
  • Top kolejki i top agenci

Live Wallboard

  • Polling co 30 sekund: aktywne rozmowy, stan kolejek
  • Eventy w czasie rzeczywistym, alerty SLA

Rozmowy

  • Lista rozmów z filtrami: data, agent, kolejka, ocena
  • Panel boczny ze szczegółami, RAW data

Zgłoszenia (tickety)

  • Lista ticketów z filtrami, historia komentarzy
  • Wskaźniki SLA, oceny klientów

Klient 360

  • Wyszukaj klienta po numerze telefonu lub ID
  • Pełna historia rozmów i ticketów tego klienta
Tylko Thulium: Wszystkie ekrany Contact Center wymagają podłączonego konta Thulium. Sekcja nie jest dostępna dla kont bez integracji CC.

🔌
Integracje
Podłączanie i zarządzanie kontami OMS
Apilo BaseLinker Sellasist Sellrocket Thulium

Tu podłączasz swoje sklepy i systemy OMS do Dashbord. Bez tego ekranu nie ma danych. Tutaj też widzisz kiedy ostatnio odbył się synchronizacja i czy są jakieś błędy połączenia.

Co umożliwia

  • Dodawanie nowych połączeń OMS (Apilo, BaseLinker, Sellasist, Sellrocket, Thulium)
  • Podgląd statusu synchronizacji każdego połączenia (aktywne / błąd / nieaktywne)
  • Ręczne wznowienie synchronizacji (przycisk "Wznów pobieranie danych")
  • Usuwanie nieaktywnych połączeń
  • Filtr konta OMS widoczny na innych ekranach odpowiada podłączonym tu kontom
Każde konto OMS synchronizuje dane w tle automatycznie (co 30 minut dla planów TRIAL/STANDARD, co 10 minut dla PREMIUM). Możesz podłączyć wiele kont tego samego systemu (np. dwa konta Apilo).
🔗
Mapowanie kanałów
Powiązanie kanałów sprzedaży OMS z bezpośrednimi połączeniami sklepu
Apilo BaseLinker Sellasist

Jeżeli sprzedajesz przez własny sklep (PrestaShop, Shopify), a zamówienia trafiają też przez OMS (Sellasist, BaseLinker) — to samo zamówienie może wchodzić do Dashbord dwukrotnie. Mapowanie kanałów mówi systemowi: "te zamówienia z OMS to te same co z połączenia PrestaShop" — i eliminuje podwójne liczenie.

Problem bez mapowania

OMS pobiera zamówienia ze wszystkich kanałów sprzedaży — Allegro, własny sklep, marketplace'y. Dashbord może mieć jednocześnie bezpośrednie połączenie z tym samym sklepem PrestaShop lub Shopify. Bez mapowania to samo zamówienie pojawi się w statystykach dwa razy.

Jak działa dopasowanie

Każde zamówienie synchronizowane z OMS ma dwa pola identyfikujące jego źródło:

PoleSkąd pochodziPrzykład
channelLabelNazwa kanału/źródła w OMSPrestaShop - sklep, Allegro.pl
platformIdNumeryczny ID kanału w OMS17, 42
externalIdID zamówienia z platformy źródłowejcheckoutFormId Allegro, ID z PrestaShop

Mapowanie łączy konkretny kanał OMS z połączeniem bezpośrednim. Dashbord przy liczeniu statystyk automatycznie wyklucza zamówienia OMS dla zmapowanych kanałów — zostają tylko te z połączenia bezpośredniego.

Jak skonfigurować

  1. Przejdź do Mapowanie kanałów
  2. Wybierz połączenie OMS (np. Sellasist) i konkretny kanał (np. PrestaShop - sklep) lub całe połączenie dla `*`
  3. Wybierz odpowiadające mu połączenie bezpośrednie (np. Twój PrestaShop)
  4. Zapisz — od tej chwili zamówienia z tego kanału OMS nie są liczone podwójnie

Co umożliwia

  • Przypisanie kanału OMS (np. "PrestaShop - sklep") do konkretnego połączenia bezpośredniego
  • Wykluczenie duplikatów z sum i wykresów (zamówienie liczone raz, nie dwa razy)
  • Lista istniejących mapowań z możliwością usunięcia

Apilo i Allegro — pole externalId

Apilo zapisuje w polu Order.externalId wartość idExternal z API Apilo, która dla zamówień Allegro jest równoznaczna z checkoutFormId Allegro. To pole jest kluczem łączącym zamówienie OMS z danymi rozliczeniowymi Allegro (prowizje, billing entries).

Mapowanie jest opcjonalne — Dashbord działa bez niego, ale bez niego te same zamówienia mogą być liczone podwójnie gdy masz i OMS i bezpośrednie połączenie z tym samym sklepem.

👤
Użytkownicy
Zarządzanie dostępem do konta
Dane wewnętrzne

Zarządzanie osobami mającymi dostęp do Twojego konta Dashbord. Dodaj współpracownika, zmień mu hasło lub usuń dostęp gdy odejdzie z firmy.

Co umożliwia

  • Lista użytkowników z rolami (OWNER, ADMIN, MEMBER) i statusem 2FA
  • Dodawanie nowych użytkowników — system automatycznie generuje hasło i wysyła e-mail powitalny
  • Resetowanie hasła użytkownika — nowe hasło wysyłane na e-mail
  • Usuwanie użytkownika z konta (OWNER nie może usunąć siebie)
  • Eksport listy użytkowników XLS
Hasła generowane są automatycznie przez system — administrator nie widzi hasła użytkownika, może jedynie wysłać reset.
⚙️
Ustawienia
Konfiguracja konta, SMTP i 2FA
Dane wewnętrzne

Konfiguracja własnego SMTP do wysyłki e-maili, włączanie 2FA, a także zarządzanie kluczami API dla zewnętrznych systemów ERP.

Konfiguracja SMTP

  • Możliwość skonfigurowania własnego serwera SMTP do wysyłki maili z konta (np. potwierdzenia zamówień)
  • Pola: host, port, SSL, login, hasło (szyfrowane), nadawca
  • Przycisk "Testuj połączenie" — weryfikuje SMTP bez wysyłki
  • Jeśli nie skonfigurowane — używany jest systemowy SMTP Dashbord.pl

Uwierzytelnianie dwuskładnikowe (2FA)

  • Włączanie i wyłączanie 2FA dla własnego konta użytkownika
  • Konfiguracja przez kod QR z aplikacją TOTP (Google Authenticator, Authy itd.)
  • Zaufane urządzenia — opcja "Zaufaj temu urządzeniu przez 30 dni" przy logowaniu

Klucze API

  • Generowanie kluczy API dla zewnętrznych systemów ERP (np. Subiekt GT, Symfonia)
  • Każdy klucz ma etykietę i jest pokazywany tylko raz po wygenerowaniu
  • Unieważnianie kluczy — natychmiast blokuje dostęp

Logi API

  • Historia wszystkich wywołań API z kluczami ERP: czas, endpoint, status, adres IP
  • Filtr okresu: 6h / 24h / 48h / 7 dni
🧮
Rozliczenia
Import i weryfikacja rozliczeń finansowych z platform i operatorów płatności
Pliki CSV / XLS / XLSX

Obsługiwane źródła

Porównujesz co faktycznie wpłynęło na Twoje konto z tym co masz w zamówieniach. Wgrywasz plik rozliczeniowy z Allegro, PayU, DPD czy innej platformy — system automatycznie dopasowuje każdą linię do zamówienia i pokazuje różnice.

Obsługiwane źródła

Format wykrywany automatycznie po nazwie pliku i nagłówkach — nie trzeba wybierać źródła ręcznie.

ŹródłoTypFormat pliku
PayUBramka płatnościCSV
PayPoBramka płatnościCSV / XLSX
ShopifyBramka płatnościCSV
AllegroMarketplaceCSV / XLSX
KauflandMarketplaceCSV / XLSX
TEMUMarketplaceCSV / XLSX
TikTokMarketplaceCSV / XLSX
EmpikMarketplaceCSV / XLSX
CeneoMarketplaceCSV / XLSX
InPost BuyMarketplaceCSV / XLSX
DPD CODPrzewoźnik (pobrania)CSV / XLS

Import pliku

  1. Przejdź do Rozliczenia → Import pliku
  2. Kliknij Wybierz plik… i wskaż plik rozliczeniowy
  3. Kliknij Importuj — system automatycznie wykrywa format i dopasowuje wiersze do zamówień
  4. Po imporcie wyświetlane jest podsumowanie: dopasowane / niedopasowane / niejednoznaczne

Statusy dopasowania wiersza

StatusZnaczenie
MATCHEDWiersz dopasowany do jednego zamówienia jednoznacznie
UNMATCHEDBrak zamówienia pasującego do ID/transakcji z pliku
AMBIGUOUSKilka zamówień pasuje — wymaga ręcznej weryfikacji

Metody dopasowania

MetodaOpis
BY_TRANSACTION_IDPo ID transakcji płatności (Payment.transactionId)
BY_ORDER_IDPo numerze zamówienia (externalId / providerOrderId)
BY_TRACKING_NUMBERPo numerze przesyłki (dla DPD COD)

Historia importów

  • Zakładka Historia importów — lista wszystkich wgranych plików z datą, nazwą, źródłem i statusem
  • Kliknięcie importu pokazuje wiersze z filtrowaniem po statusie (Wszystkie / MATCHED / UNMATCHED / AMBIGUOUS)
  • Każdy wiersz zawiera: externalId, kwotę klienta, kwotę otrzymaną, prowizję, nadpłatę, datę rozliczenia, datę pobrania przez ERP
Plik rozliczeniowy z platformy (np. Allegro) może zawierać wiele typów operacji — Dashbord filtruje tylko wiersze odpowiadające zamówieniom. Wiersze prowizji, zwrotów prowizji itp. są pomijane jeśli nie mają odpowiednika w bazie zamówień.

Pobieranie rozliczeń przez API (dla systemu ERP)

System ERP może automatycznie pobierać wiersze rozliczeń z Dashbord przez API (uwierzytelnienie kluczem X-Api-Key). Przydatne gdy ERP ma pobierać kwoty prowizji, pobrań lub rozliczeń platform do własnych rejestrów.

GET https://app.dashbord.pl/api/reconciliation/imports

Lista importów rozliczeń (strona, data, źródło, status). Parametr: page (domyślnie 1).

GET https://app.dashbord.pl/api/reconciliation/imports/:id/rows

Wiersze konkretnego importu z filtrowaniem po statusie (status=MATCHED / UNMATCHED / AMBIGUOUS). Każdy wiersz zawiera: numer zamówienia, kwotę klienta, kwotę otrzymaną, prowizję, nadpłatę, datę rozliczenia.


🧾
Dokumenty ERP
Faktury i paragony przesłane z systemu ERP — historia, dopasowanie do zamówień, eksport do ERP
ERP (zewnętrzne)

Co pokazuje

  • Lista wszystkich dokumentów ERP (faktur i paragonów) przesłanych przez zewnętrzny system (np. Subiekt GT, Symfonia)
  • Typ dokumentu, numer, data, numer zamówienia, status dopasowania i kwota brutto
  • Filtrowanie po statusie: Dopasowano / Częściowo / Nie dopasowano
  • Sortowanie po każdej kolumnie (kliknięcie nagłówka)

Panel szczegółu dokumentu

  • Lista pozycji: SKU, nazwa, ilość, cena brutto, koszt jednostkowy, stawka VAT, status dopasowania pozycji
  • Przycisk "Przejdź do zamówienia" — otwiera zamówienie powiązane z dokumentem

Jak działa dopasowanie faktury do zamówienia

Gdy ERP przesyła dokument, Dashbord automatycznie szuka pasującego zamówienia po polu sourceOrderNumber — sprawdzane są kolejno dwa miejsca:

  1. Order.externalId — zewnętrzny identyfikator zamówienia z platformy (np. checkoutFormId Allegro)
  2. Order.providerOrderId — wewnętrzny numer zamówienia z OMS (Apilo, Sellasist itp.)

Po znalezieniu zamówienia Dashbord dopasowuje pozycje faktury do pozycji zamówienia po SKU (bez rozróżniania wielkości liter). Dla dopasowanych pozycji aktualizowany jest koszt zakupu (purchasePriceUnit) na pozycji zamówienia.

Statusy dopasowania

StatusZnaczenie
MATCHEDZamówienie znalezione i wszystkie pozycje faktury dopasowane po SKU
PARTIALZamówienie znalezione, ale tylko część pozycji dopasowana po SKU (pozostałe SKU nie istnieją w zamówieniu)
UNMATCHEDNie znaleziono zamówienia o podanym sourceOrderNumber w bazie Dashbord
Dokumenty trafiają tu automatycznie gdy system ERP (np. Subiekt GT) wysyła fakturę po wystawieniu przez API. Nie musisz nic robić ręcznie — Dashbord sam szuka zamówienia po numerze i aktualizuje koszty zakupu.

Pobieranie dokumentów ERP przez API

System ERP może też sam odpytywać Dashbord o listę dokumentów — np. żeby sprawdzić statusy dopasowania lub pobrać powiązane dane zamówień. Wymaga klucza X-Api-Key.

GET https://app.dashbord.pl/api/reconciliation/documents

Lista dokumentów ERP dla konta. Parametry: page, status (MATCHED / PARTIAL / UNMATCHED).

GET https://app.dashbord.pl/api/reconciliation/documents/:id

Szczegóły dokumentu: pozycje z SKU, ilością, cenami, stawką VAT, statusem dopasowania pozycji i ID powiązanego zamówienia.

Przepływ: ERP ↔ Dashbord

KierunekCo przesyłamyEndpoint
ERP → DashbordFaktura / paragon po wystawieniuPOST https://app.dashbord.pl/api/erp/documents
ERP → DashbordWsadowe przesłanie do 200 dokumentówPOST https://app.dashbord.pl/api/erp/documents/bulk
ERP → DashbordImport masowy do 100 000 dokumentów (async)POST https://app.dashbord.pl/api/erp/documents/import
ERP → DashbordStatus importu masowegoGET https://app.dashbord.pl/api/erp/documents/import/:id
Dashbord → ERPLista dokumentów z statusami dopasowaniaGET https://app.dashbord.pl/api/reconciliation/documents
Dashbord → ERPDane rozliczeniowe (prowizje, kwoty z platform)GET https://app.dashbord.pl/api/reconciliation/imports/:id/rows

🔑
Klucze API
Autoryzacja wywołań ERP API

Jak działa autoryzacja

Każde żądanie do API ERP wymaga nagłówka X-Api-Key z ważnym kluczem wygenerowanym dla Twojego konta. Klucze są przypisane do konkretnego konta (tenant) i widoczne tylko raz po wygenerowaniu.

Generowanie klucza

  1. Przejdź do Ustawienia → Klucze API
  2. Wpisz etykietę (np. Subiekt GT) i kliknij Generuj klucz
  3. Skopiuj klucz — wyświetlany jest tylko raz
  4. Umieść klucz w konfiguracji systemu ERP jako nagłówek X-Api-Key

Bezpieczeństwo

  • Klucz przechowywany jako hash SHA-256 — nawet administrator nie może go odczytać po zamknięciu okna
  • Każde użycie klucza jest logowane (Ustawienia → Logi API): czas, endpoint, status, IP
  • Klucz można unieważnić w dowolnym momencie — operacja nieodwracalna
Nagłówek X-Api-Key: twój-klucz-api

📡
Dokumentacja API
Metody ERP API — przesyłanie dokumentów z systemów zewnętrznych
Base URL: https://app.dashbord.pl  |  Autoryzacja: nagłówek X-Api-Key: <klucz>  |  Format: JSON  |  📄 Specyfikacja OpenAPI (YAML)

Scenariusz rozliczenia

Dashbord łączy zamówienia z e-commerce z dokumentami sprzedaży z ERP oraz z plikami rozliczeniowymi od operatorów płatności (Allegro Finanse, PayU, PayPo itp.). Dzięki temu ERP wie: która faktura została opłacona, kiedy i ile wpłynęło na konto.

Krok 1 — ERP informuje Dashbord o wystawionej fakturze

Gdy w systemie ERP wystawiana jest faktura lub paragon do zamówienia e-commerce, ERP przesyła ten dokument do Dashbordu przez POST /api/erp/documents. Wystarczy podać numer zamówienia (sourceOrderNumber) — taki sam, jaki widnieje na zamówieniu w sklepie lub OMS.

Dashbord automatycznie wyszukuje zamówienie, łączy z nim fakturę i — jeśli podano ceny zakupu produktów — zapisuje je na pozycjach zamówienia (potrzebne do liczenia marży).

Pozycje (items) są opcjonalne — można przesłać sam nagłówek (bez pozycji), wystarczy do rozliczeń.

Jeśli zamówienie nie zostanie znalezione, faktura trafia do listy „bez dopasowania" i widoczna jest w panelu jako wymagająca uwagi. Dla wielu faktur naraz (np. eksport dzienny) można użyć POST /api/erp/documents/bulk (do 200) lub POST /api/erp/documents/import (do 100 000, przetwarzanie w tle).

Krok 2 — operator przesyła plik z wypłatami, użytkownik go importuje

Allegro Finanse, PayU, PayPo i inne platformy płatności generują co jakiś czas zestawienie wypłat w formacie CSV lub XLSX. Użytkownik pobiera taki plik z platformy i wgrywa go w panelu Dashbordu (Rozliczenia → Import pliku).

Przed importem wybiera, jak liczyć rozliczenie:

  • Brutto + prowizja — brana jest pełna kwota zapłacona przez klienta; prowizja operatora widoczna jest osobno jako koszt.
  • Kwota otrzymana — brana jest wyłącznie kwota, która faktycznie wpłynęła na konto (po odjęciu prowizji przez operatora).

Dashbord przetwarza plik i dopasowuje każdą wypłatę do zamówienia — po numerze transakcji, numerze zamówienia lub numerze przesyłki. Każdy wiersz dostaje status: Dopasowano, Nie znaleziono lub Niejednoznaczne.

Krok 3 — ERP pobiera gotowe rozliczenia

ERP cyklicznie odpytuje GET /api/erp/reconciliations. W odpowiedzi dostaje listę faktur, do których Dashbord już dopasował płatność — czyli wiemy, że pieniądze przyszły, kiedy i ile.

Po pobraniu Dashbord zaznacza te dokumenty jako odebrane przez ERP. Przy kolejnym wywołaniu nie pojawią się ponownie — mechanizm zapobiega przypadkowemu zaksięgowaniu tej samej wypłaty dwa razy.

Gdy ERP potrzebuje ponownie sprawdzić konkretny dokument (np. po błędzie przetwarzania), może użyć GET /api/erp/reconciliations/{externalId} lub GET /api/erp/orders/{externalId}/reconciliation — te endpointy zawsze zwracają pełne dane, niezależnie od tego czy dokument był już pobierany.

POST /api/erp/documents

Przesyła fakturę lub paragon. Dashbord automatycznie szuka pasującego zamówienia i aktualizuje koszty zakupu pozycji.

POST https://app.dashbord.pl/api/erp/documents
// Nagłówki
Content-Type: application/json
X-Api-Key: twój-klucz-api

// Ciało żądania
{
  "documentType": "INVOICE",          // "INVOICE" lub "RECEIPT"
  "documentNumber": "FV/2024/001",
  "documentDate": "2024-01-15T12:00:00Z",  // opcjonalne
  "sourceOrderNumber": "12345",        // numer zamówienia lub GUID z OMS
  "totalNet": 89.43,                   // opcjonalne
  "totalGross": 110.00,                // opcjonalne
  "operatorPaymentSymbol": "PayU",     // opcjonalne — symbol operatora
  "paymentFormId": 3,                  // opcjonalne — id formy platnosci
  "dokId": 123456,                     // opcjonalne — Dok_id z ERP (bigint)
  "dokTyp": 2,                         // opcjonalne — 2=FV, 21=PA
  "paymentIdentifier": "a1b2c3d4-...", // opcjonalne — GUID lub nr listu
  "items": [                           // opcjonalne — pusta tablica = naglowek
    {
      "sku": "SKU-001",
      "name": "Produkt A",
      "quantity": 2,
      "unitPriceNet": 40.65,
      "unitPriceGross": 50.00,
      "purchasePriceUnit": 28.00,      // koszt zakupu — zapisywany do zamówienia
      "taxRate": 23
    }
  ]
}

Pola żądania

PoleTypOpis
documentType wymaganestringINVOICE — faktura, RECEIPT — paragon
documentNumber wymaganestringNumer dokumentu z systemu ERP
documentDate opcjonalneISO 8601Data wystawienia dokumentu
sourceOrderNumber wymaganestringNumer zamówienia z OMS lub GUID (np. checkoutFormId Allegro). Dashbord szuka po externalId lub providerOrderId.
totalNet opcjonalnenumberSuma netto dokumentu
totalGross opcjonalnenumberSuma brutto dokumentu
operatorPaymentSymbol opcjonalnestringSymbol operatora platnosci (Kh_symbol_operatora_platnosci)
paymentFormId opcjonalneintegerId formy platnosci w ERP
dokId opcjonalnebigintDok_id z systemu ERP
dokTyp opcjonalneintegerDok_typ: 2 = FV (faktura), 21 = PA (paragon)
paymentIdentifier opcjonalnestringGUID platnosci lub numer listu przewozowego
items opcjonalnearrayPozycje dokumentu (tabela ponizej). Pusta tablica lub pominiete = dokument naglowkowy.

Pola pozycji (items[])

PoleTypOpis
sku opcjonalnestringSKU produktu — używane do dopasowania z pozycją zamówienia
name opcjonalnestringNazwa pozycji
quantity wymaganenumberIlość
unitPriceNet opcjonalnenumberCena jednostkowa netto
unitPriceGross opcjonalnenumberCena jednostkowa brutto
purchasePriceUnit opcjonalnenumberKoszt zakupu jednostkowy — zapisywany do pozycji zamówienia (pricePurchase)
taxRate opcjonalnenumberStawka VAT w procentach (np. 23)

Odpowiedz 201 Created

{
  "importId": "clxxx...",      // GUID importu
  "documentId": "clyyy...",
  "matchStatus": "MATCHED",    // MATCHED | PARTIAL | UNMATCHED
  "orderId": "clzzz..."       // null jesli nie znaleziono zamowienia
}

Kody błędów

KodPrzyczyna
401Brak lub nieprawidłowy klucz X-Api-Key
400Nieprawidłowa struktura żądania (brakujące wymagane pola)
500Błąd serwera

POST /api/erp/documents/bulk

Wsadowe przesłanie do 200 dokumentów w jednym żądaniu. Każdy dokument jest przetwarzany niezależnie — błąd jednego nie przerywa pozostałych. Odpowiedź HTTP 207 zawiera wynik dla każdego dokumentu z osobna.

POST https://app.dashbord.pl/api/erp/documents/bulk
// Nagłówki
Content-Type: application/json
X-Api-Key: twój-klucz-api

// Ciało żądania — tablica 1–200 dokumentów (ta sama struktura co pojedynczy dokument)
[
  {
    "documentType": "INVOICE",
    "documentNumber": "FV/2024/001",
    "documentDate": "2024-01-15T12:00:00Z",
    "sourceOrderNumber": "12345",
    "totalNet": 89.43,
    "totalGross": 110.00,
    "items": [
      {
        "sku": "SKU-001",
        "quantity": 2,
        "purchasePriceUnit": 28.00
      }
    ]
  },
  {
    "documentType": "INVOICE",
    "documentNumber": "FV/2024/002",
    "sourceOrderNumber": "12346",
    "items": [{ "sku": "SKU-002", "quantity": 1, "purchasePriceUnit": 45.00 }]
  }
]

Odpowiedź 207 Multi-Status

{
  "importId": "clxxx...",   // GUID importu
  "processed": 2,   // liczba dokumentow zapisanych bez bledu
  "failed": 0,      // liczba dokumentow, ktore nie zostaly zapisane
  "results": [
    {
      "documentNumber": "FV/2024/001",
      "documentId": "clxxx...",
      "matchStatus": "MATCHED",    // MATCHED | PARTIAL | UNMATCHED
      "orderId": "clyyy..."        // null jeśli nie znaleziono zamówienia
    },
    {
      "documentNumber": "FV/2024/002",
      "documentId": "clzzz...",
      "matchStatus": "UNMATCHED",
      "orderId": null
    }
  ]
}

// Gdy dokument nie mógł zostać zapisany, wynik zawiera pole "error":
{
  "documentNumber": "FV/2024/003",
  "documentId": "",
  "matchStatus": "UNMATCHED",
  "orderId": null,
  "error": "Duplicate key constraint"
}

Kody błędów

KodPrzyczyna
207Przetworzono (nawet jeśli część dokumentów się nie powiodła — sprawdź pole error w wynikach)
400Ciało nie jest tablicą lub przekracza 200 elementów
401Brak lub nieprawidłowy klucz X-Api-Key
429Przekroczono limit 100 żądań na minutę

POST /api/erp/documents/import

Import masowy do 100 000 dokumentow. Przetwarzanie odbywa sie w tle — odpowiedz natychmiast zwraca importId, ktorym mozna odpytywac o status.

POST https://app.dashbord.pl/api/erp/documents/import
// Naglowki
Content-Type: application/json
X-Api-Key: twoj-klucz-api

// Cialo zadania — tablica 1–100 000 dokumentow (ta sama struktura co pojedynczy dokument)
// Limit body: 500 MB
[
  { "documentType": "INVOICE", "documentNumber": "FV/2024/001", "sourceOrderNumber": "12345", ... },
  { "documentType": "INVOICE", "documentNumber": "FV/2024/002", "sourceOrderNumber": "12346", ... },
  // ... do 100 000 dokumentow
]

Odpowiedz 202 Accepted

{
  "importId": "clxxx...",    // GUID — uzyj do pollingu statusu
  "totalCount": 50000,
  "status": "PENDING"
}

Polling statusu: GET /api/erp/documents/import/:id

GET https://app.dashbord.pl/api/erp/documents/import/clxxx...
// Odpytuj co kilka sekund az status zmieni sie na DONE lub ERROR
{
  "id": "clxxx...",
  "status": "PROCESSING",     // PENDING | PROCESSING | DONE | ERROR
  "totalCount": 50000,
  "processedCount": 12400,    // aktualizowany co 100 dokumentow
  "matchedCount": 11200,
  "errorCount": 15,
  "errors": [                  // null jesli brak bledow
    { "documentNumber": "FV/2024/999", "error": "..." }
  ],
  "createdAt": "2024-01-15T12:00:00Z",
  "startedAt": "2024-01-15T12:00:01Z",
  "completedAt": null          // null do zakonczenia
}

Kody bledow

KodPrzyczyna
202Import przyjety do przetwarzania
400Cialo nie jest tablica lub przekracza 100 000 elementow
401Brak lub nieprawidlowy klucz X-Api-Key
429Przekroczono limit 100 zadan na minute

GET /api/erp/documents

Pobiera listę dokumentów ERP dla Twojego konta (paginacja).

GET https://app.dashbord.pl/api/erp/documents?page=1&status=UNMATCHED
// Nagłówki
X-Api-Key: twój-klucz-api

Parametry query

ParametrDomyślnieOpis
page1Numer strony
status—Filtr statusu: MATCHED, PARTIAL, UNMATCHED

Odpowiedź 200

{
  "items": [
    {
      "id": "clxxx...",
      "documentType": "INVOICE",
      "documentNumber": "FV/2024/001",
      "documentDate": "2024-01-15T12:00:00.000Z",
      "sourceOrderNumber": "12345",
      "orderId": "clyyy...",
      "matchStatus": "MATCHED",
      "totalGross": 110.00,
      "importedAt": "2024-01-15T12:05:00.000Z"
    }
  ],
  "total": 42,
  "page": 1,
  "pages": 5
}

GET /api/erp/documents/:id

Pobiera szczegóły jednego dokumentu wraz z pozycjami.

GET https://app.dashbord.pl/api/erp/documents/clxxx...
// Nagłówki
X-Api-Key: twój-klucz-api

Odpowiedź 200

{
  "id": "clxxx...",
  "documentType": "INVOICE",
  "documentNumber": "FV/2024/001",
  "documentDate": "2024-01-15T12:00:00.000Z",
  "sourceOrderNumber": "12345",
  "orderId": "clyyy...",
  "matchStatus": "MATCHED",
  "totalNet": 89.43,
  "totalGross": 110.00,
  "importedAt": "2024-01-15T12:05:00.000Z",
  "items": [
    {
      "id": "clzzz...",
      "sku": "SKU-001",
      "name": "Produkt A",
      "quantity": 2,
      "unitPriceNet": 40.65,
      "unitPriceGross": 50.00,
      "purchasePriceUnit": 28.00,
      "taxRate": 23,
      "orderItemId": "claaa..."   // null jeśli pozycja nie dopasowana
    }
  ]
}

Zwraca 404 gdy dokument nie istnieje lub należy do innego konta.

GET /api/erp/reconciliations

Zwraca faktury/paragony, które mają już dopasowaną płatność i jeszcze nie zostały odebrane przez ERP. Po pobraniu Dashbord oznacza je jako odebrane — przy kolejnym wywołaniu nie pojawią się ponownie.

GET https://app.dashbord.pl/api/erp/reconciliations
// Nagłówki
X-Api-Key: twój-klucz-api

Odpowiedź 200

[
  {
    "id": "clxxx...",
    "documentType": "INVOICE",
    "documentNumber": "FV/2024/001",
    "documentDate": "2024-01-15T12:00:00.000Z",
    "sourceOrderNumber": "12345",
    "orderId": "clyyy...",
    "totalNet": 89.43,
    "totalGross": 110.00,
    "matchStatus": "MATCHED",
    "reconciliation": {
      "mode": "GROSS_PLUS_COMMISSION",   // tryb rozliczenia wybrany przy imporcie pliku
      "source": "allegro-finanse",        // identyfikator pliku źródłowego
      "sourceType": "ALLEGRO",
      "matchType": "BY_ORDER_ID",
      "customerAmount": 110.00,           // kwota zapłacona przez klienta
      "receivedAmount": 103.50,           // kwota po odjęciu prowizji
      "commissionAmount": 6.50,           // prowizja operatora
      "overpaymentAmount": 0,
      "currency": "PLN",
      "settledAt": "2024-01-16T08:00:00.000Z"
    }
  }
]

Zwraca pustą tablicę [] gdy nie ma nowych rozliczeń do odebrania. Pole reconciliation jest zawsze obecne (dokumenty bez dopasowania nie trafiają na tę listę).

GET /api/erp/reconciliations/:externalId

Pobiera rozliczenia dla konkretnego dokumentu po jego externalId (wewnętrzne ID rozliczenia w Dashbordzie). Zawsze zwraca dane — niezależnie od tego czy dokument był już pobierany przez ERP.

GET https://app.dashbord.pl/api/erp/reconciliations/TXN-ABC123
// Nagłówki
X-Api-Key: twój-klucz-api

Odpowiedź 200

[
  {
    "id": "clxxx...",
    "externalId": "TXN-ABC123",
    "matchStatus": "MATCHED",
    "matchType": "BY_ORDER_ID",
    "customerAmount": 110.00,
    "receivedAmount": 103.50,
    "commissionAmount": 6.50,
    "overpaymentAmount": 0,
    "currency": "PLN",
    "settledAt": "2024-01-16T08:00:00.000Z",
    "orderId": "clyyy...",
    "fetchedByErpAt": "2024-01-16T09:00:00.000Z",  // null jeśli jeszcze nie pobrane
    "source": "allegro-finanse",
    "sourceType": "ALLEGRO"
  }
]

Zwraca 404 gdy nie znaleziono rozliczenia o podanym externalId.

GET /api/erp/orders/:externalId/reconciliation

Pobiera rozliczenia powiązane z konkretnym zamówieniem, podając jego numer (externalId lub providerOrderId). Przydatne gdy ERP chce sprawdzić status rozliczenia dla konkretnego numeru zamówienia.

GET https://app.dashbord.pl/api/erp/orders/12345/reconciliation
// Nagłówki
X-Api-Key: twój-klucz-api

Odpowiedź 200

[
  {
    "id": "clxxx...",
    "externalId": "TXN-ABC123",
    "matchStatus": "MATCHED",
    "matchType": "BY_ORDER_ID",
    "customerAmount": 110.00,
    "receivedAmount": 103.50,
    "commissionAmount": 6.50,
    "overpaymentAmount": 0,
    "currency": "PLN",
    "settledAt": "2024-01-16T08:00:00.000Z",
    "orderId": "clyyy...",
    "fetchedByErpAt": "2024-01-16T09:00:00.000Z",
    "source": "allegro-finanse",
    "sourceType": "ALLEGRO"
  }
]

Zwraca 404 gdy zamówienie o podanym numerze nie istnieje. Zwraca pustą tablicę [] gdy zamówienie istnieje, ale nie ma jeszcze rozliczeń.

Dokumentacja aktualizowana wraz z każdą wersją systemu. Aktualna wersja aplikacji widoczna w stopce bocznego menu.