Centrum pomocy

Dokumentacja Contrata

Przewodnik po modułach aplikacji, integracjach oraz publicznym API v1. Wszystko w jednym miejscu — od pierwszego logowania po automatyzację wypłat w Zapier.

Wprowadzenie

Contrata to platforma do rozliczeń z kontrahentami B2B i na umowę o dzieło.

Contrata wspiera zespoły HR, finansów i operacji w prowadzeniu rozliczeń z kontrahentami: przechowuje dane osób współpracujących, planuje harmonogramy wypłat, generuje dokumenty księgowe (faktury, rachunki) oraz ewidencję czasu pracy w PDF, a także umożliwia eksport przelewów do banku.

Panel główny

  • Kontrahenci — baza osób, umów i portalu B2B
  • Kalendarz — terminy i kwoty wypłat
  • Ewidencja / Faktury — wygenerowane PDF-y
  • Umowy — archiwum, szablony, generator, e-podpis, analiza
  • PIT-11 / Archiwum / PIP — podatki UoD i audyt

Automatyzacja

  • Harmonogram na 3 okresy rozliczeniowe do przodu (od daty startu kontrahenta)
  • Generacja dokumentów w dniu terminu wypłaty
  • E-mail do kontrahenta z linkami do PDF (gdy jest e-mail)
  • Integracje: Jira, Asana, Toggl, Teamwork, Trello, ClickUp, Slack, Zapier, API v1
  • Portal kontrahenta B2B (kontrahenci.contrata.pl) z KSeF
  • Eksport Elixir-0 (PLN) i SEPA XML

Nawigacja

Po zalogowaniu lewa kolumna to główne menu. Ustawienia organizacji, subskrypcja, integracje i klucze API znajdują się w zakładce Ustawienia. Własny profil i 2FA — w menu użytkownika (Profil).

Pierwsze kroki

Od rejestracji do pierwszych wygenerowanych dokumentów.

  1. 1

    Załóż konto i zaloguj się

    Zarejestruj się e-mailem lub przez Google. Rejestrując się, akceptujesz Politykę prywatności i Regulamin Contrata. Po pierwszym logowaniu system utworzy organizację (jeśli nie dołączasz przez zaproszenie) i rozpocznie okres próbny subskrypcji.

  2. 2

    Przejdź onboarding (3 kroki)

    • Krok 1 — dane firmy: nazwa, adres, NIP
    • Krok 2 — opcjonalne zaproszenia zespołu (administrator / manager)
    • Krok 3 — pierwsi kontrahenci i stanowiska
  3. 3

    Skonfiguruj organizację

    W Ustawienia → Firma ustaw liczbę terminów wypłat w każdym okresie rozliczeniowym (2–4), waluty wypłat i konta bankowe organizacji. W Stanowiska dodaj role przypisywane kontrahentom.

  4. 4

    Dodaj kontrahentów

    W module Kontrahenci wprowadź dane umowy (B2B lub UoD), kwotę miesięczną, datę startu rozliczeń (do 30 dni od dziś), walutę, dane rozliczeniowe i numer konta. Dla UoD możesz dodatkowo ustawić opcjonalne potrącenia oraz ulgę podatkową (wpływają na rozliczenie w rachunku PDF). Dla B2B podaj też e-mail — kontrahent może otrzymać zaproszenie do portalu. Możesz zaimportować listę z CSV (Ustawienia → Import).

  5. 5

    Obserwuj kalendarz i dokumenty

    System zaplanuje wypłaty na 3 okresy rozliczeniowe od daty startu. W dniu każdego terminu automatycznie powstaną faktura/rachunek oraz ewidencja pracy — sprawdzisz je w odpowiednich modułach panelu.

Role i uprawnienia

Każdy członek organizacji ma rolę administratora lub managera.

ObszarAdministratorManager
Moduły operacyjnePełny dostępPełny dostęp
Import kontrahentówTakTak
Integracje (Jira, Asana, Toggl, Slack…)Łączenie / rozłączanieŁączenie / rozłączanie
Zespół i zaproszeniaTakNie
Subskrypcja StripeZakup, zmiana planu, portalPodgląd statusu
Klucze APITworzenie i usuwanieNie
Kontrahenci w panelu organizacji to rekordy rozliczeniowe. Osoby na umowie B2B mogą dodatkowo mieć konto w portalu kontrahenta (osobna aplikacja pod adresem kontrahenci.contrata.pl) — do pobierania dokumentów i wysyłki faktur do KSeF. Kontrahenci UoD nie logują się do portalu.

Kontrahenci

Centralna baza osób współpracujących z Twoją organizacją.

Moduł Kontrahenci (/dashboard/pracownicy) to punkt startowy w większości pracy. Tu dodajesz, edytujesz i dezaktywujesz osoby objęte rozliczeniami.

Dane kontrahenta obejmują:

  • Imię i nazwisko, e-mail, adres
  • Typ umowy: B2B (faktura) lub UoD (rachunek)
  • Stanowisko, kwota miesięczna (brutto/netto), waluta
  • Start rozliczeń — data, od której liczą się okresy rozliczeniowe i planowane wypłaty (wybór z listy: dziś do 30 dni do przodu)
  • NIP, numer konta bankowego (IBAN)
  • Prefiks numeracji dokumentów
  • Status aktywny / nieaktywny
  • Portal B2B — ikona przy imieniu: brak konta / zaproszenie wysłane / konto aktywne (tylko umowa B2B z adresem e-mail)
  • Źródło ewidencji — ikona integracji w tabeli (Jira, Asana, Toggl itd.) po mapowaniu w modalu kontrahenta
  • Mapowanie użytkownika integracji w sekcji Ewidencja pracy modalu
  • UoD — potrącenia (opcjonalnie): miesięczna kwota odejmowana od wynagrodzenia netto w rachunku; przy kilku wypłatach w okresie rozłożona proporcjonalnie
  • UoD — ulga podatkowa (opcjonalnie): Brak, Ulga pojedyncza (−300 zł od zaliczki PIT), Ulga podwójna (−600 zł), ½ ulgi (−150 zł), ⅓ ulgi (−100 zł). Limit miesięczny jest w PLN. Przy wypłatach w obcej walucie rachunek pokazuje kwoty planowe (kurs z dnia przed datą rachunku); ostateczne rozliczenie — kurs NBP i ulga z dnia faktycznej wypłaty przy eksporcie do banku (SEPA) i oznaczeniu jako opłacone. Niewykorzystana część limitu przechodzi na kolejne opłacone wypłaty w tym samym okresie.

Z menu wiersza kontrahenta możesz zakończyć współpracę — wskaż datę końca i (opcjonalnie) kwotę ostatniego okresu rozliczeniowego. Kontrahent staje się nieaktywny, a nowe harmonogramy nie są planowane po tej dacie.

Kontrahenci nieaktywni nie wchodzą w nowe harmonogramy wypłat. Liczba aktywnych kontrahentów może wpływać na rozmiar subskrypcji zgodnie z cennikiem. Zmiana typu umowy UoD → B2B (z e-mailem) uruchamia zaproszenie do portalu; B2B → UoD odłącza konto portalu.

Okresy rozliczeniowe i kwota

Kwota miesięczna dotyczy jednego okresu rozliczeniowego, nie kalendarzowego miesiąca. Okres trwa od wybranej daty startu do dnia przed kolejnym „rocznicowym” terminem (np. start 3 czerwca → okres 3 cze – 2 lip, następny 3 lip – 2 sie). W każdym okresie suma zaplanowanych wypłat równa się kwocie miesięcznej. Liczba samych terminów wypłat w okresie ustawiasz w Ustawienia → Firma (2–4).

Zmiana daty startu

Datę startu rozliczeń możesz zmienić tylko wtedy, gdy u kontrahenta nie ma jeszcze wygenerowanych ani wysłanych dokumentów wypłat. Po pierwszej generacji pole jest zablokowane — chroni to spójność już wystawionych faktur i ewidencji.

Import CSV

Szablon importu i instrukcja znajdują się w Ustawienia → Import. Po imporcie sprawdź stanowiska i waluty w ustawieniach firmy. W szablonie CSV opcjonalna kolumna payoutPeriodAnchorDate (RRRR-MM-DD, od dziś do 30 dni do przodu); puste pole = dzień importu.

Kalendarz wypłat

Przegląd terminów, kwot i statusów wypłat w czasie.

Kalendarz pokazuje zaplanowane terminy i kwoty wypłat dla aktywnych kontrahentów. Planowanie opiera się na okresach rozliczeniowych od daty startu kontrahenta (pole Start rozliczeń w modalu), a nie na kalendarzowych miesiącach.

  • System utrzymuje harmonogram na 3 pełne okresy do przodu (np. start 3 VI → wypłaty w okresach do ok. 2 IX)
  • W każdym okresie suma wypłat = kwota miesięczna kontrahenta; liczba terminów w okresie wynika z ustawień firmy (2–4)
  • Widok miesiąca — kliknij dzień, aby zobaczyć listę wypłat tego dnia (w tym okresy rozliczeniowe nachodzące na dany miesiąc kalendarzowy)
  • Widok listy — chronologiczny przegląd wszystkich terminów w wybranym miesiącu kalendarzowym (tabela)
  • Widok kart — wypłaty pogrupowane po kontrahencie z sumą miesięczną i kompaktową osią terminów; kliknij punkt na osi, aby zobaczyć szczegóły
  • Status Zaplanowana — termin w przyszłości, dokumenty jeszcze nie wygenerowane
  • Po wygenerowaniu dokumentów status przechodzi w zrealizowaną / wysłaną wypłatę
  • Wypłaty jednorazowe — premie i dodatki poza harmonogramem okresowym (przycisk Wypłata jednorazowa w kalendarzu); po zapisaniu od razu powstają dokumenty (faktura/rachunek, ewidencja lub protokół)

W dniu terminu wypłaty system automatycznie tworzy fakturę lub rachunek oraz ewidencję pracy. Przed datą startu rozliczeń w kalendarzu nie ma zaplanowanych wypłat. Szczegóły dokumentów — w modułach Faktury i Ewidencja pracy.

Jak liczy się okres

Przykład: start 3 czerwca, kwota 10 000 zł → pierwszy okres 3 cze – 2 lip (łącznie 10 000 zł wypłat), drugi 3 lip – 2 sie, trzeci 3 sie – 2 wrz. Kolejny okres zaczyna się 3 września (poza początkowym horyzontem planowania).

E-mail do kontrahenta

Gdy kontrahent ma poprawny adres e-mail i powstaną oba dokumenty (faktura/rachunek oraz ewidencja), system może wysłać wiadomość z linkami do pobrania PDF (ważne 30 dni). W Ustawienia → Firma włączasz lub wyłączasz wysyłkę osobno dla B2B (domyślnie włączone, z wezwaniem do portalu i KSeF) oraz UoD (domyślnie wyłączone).

Eksport do banku

Przycisk Eksport do banku generuje plik Elixir-0 (PLN) lub SEPA XML (dowolna waluta) za wybrany zakres dat. Zaznacz okres w kalendarzu, wybierz format i kodowanie pliku.

Ewidencja pracy

PDF-y z dziennym zestawieniem czynności i godzin.

Ewidencja to dokument PDF powstający automatycznie razem z fakturą lub rachunkiem dla danego terminu wypłaty kontrahenta.

  • Treść (zadania, godziny, kod projektu) wynika z ustawień kontrahenta, stanowiska oraz okresu rozliczeniowego przypisanego do danego terminu wypłaty (od daty startu kontrahenta, nie od 1. dnia miesiąca kalendarzowego)
  • Przy mapowaniu integracji (Jira, Asana, Toggl, Teamwork, Trello, ClickUp) dane pochodzą z wybranego narzędzia; bez mapowania — ewidencja syntetyczna
  • Filtruj po miesiącu i kontrahencie, podglądaj PDF, pobieraj pojedynczo lub paczką ZIP
  • Możesz oznaczać dokumenty jako pobrane

Faktury i rachunki

Dokumenty księgowe generowane w dniu terminu wypłaty.

Moduł gromadzi wygenerowane faktury (B2B) i rachunki (UoD). Typ dokumentu wynika z umowy kontrahenta.

  • Numeracja, kwota i waluta pochodzą z danych kontrahenta oraz reguł organizacji (liczba terminów wypłat w okresie rozliczeniowym 2–4, podział kwoty miesięcznej między terminy)
  • Dokument powstaje w dniu terminu wypłaty z harmonogramu — nie tworzysz go ręcznie
  • Filtruj po miesiącu i kontrahencie, wyszukuj po nazwie lub numerze
  • Podgląd PDF, pobieranie pojedyncze lub ZIP zaznaczonych dokumentów
  • Dla UoD przy każdej wypłacie generowany jest też protokół odbioru dzieła (osobny PDF do pobrania z listy faktur/rachunków lub z kalendarza)

Rachunek UoD — rozliczenie podatku

PDF rachunku pokazuje: kwotę brutto, koszty uzyskania przychodu (50%), podstawę opodatkowania, podatek naliczony (12%), ewentualną ulgę podatkową (limit miesięczny rozłożony na wypłaty w okresie, z przenoszeniem niewykorzystanej części), zaliczkę na podatek dochodowy, wynagrodzenie netto oraz opcjonalne potrącenia. Przykład: brutto 10 000 zł z ulgą pojedynczą (−300 zł) → zaliczka 300 zł, netto 9 700 zł.

Umowy (archiwum)

Przechowywanie podpisanych umów współpracy z kontrahentami.

W menu Umowy znajdziesz kilka powiązanych modułów. Sekcja archiwum (lista podpisanych umów) służy do przechowywania PDF-ów powiązanych z kontrahentami.

  • Prześlij plik PDF powiązany z konkretnym kontrahentem
  • Podgląd i pobieranie umów z poziomu listy
  • Powiązane moduły: Szablony, Generator, Podpisy, Analiza umów
  • Umowy są dostępne także przez API (read:signed-contracts)

Szablony umów

Biblioteka wzorców B2B i UoD — plan Enterprise.

Moduł Szablony (/dashboard/umowy/szablony) pozwala zapisywać domyślne ustawienia umów (przedmiot, terminy płatności, NDA, cesja praw autorskich, miejsce pracy, podwykonawstwo) i uruchamiać z nich generator.

  • Szablony wbudowane Contrata oraz własne szablony organizacji
  • Uruchomienie generatora z wybranego szablonu i opcjonalnym kontrahentem
  • Dostępne w planie Enterprise (oraz w aktywnym okresie próbnym)

Generator umów

Tworzenie PDF umowy B2B lub UoD — plan Enterprise.

Generator (/dashboard/umowy/generator) prowadzi przez kreator: dane stron, przedmiot, wynagrodzenie i klauzule. Wynikiem jest PDF, który możesz pobrać lub przekazać dalej do Podpisów.

Narzędzie publiczne

Na stronie marketingowej dostępny jest też darmowy generator umów (lead magnet) — osobno od modułu w panelu organizacji.
  • Prefill z danych organizacji i wybranego kontrahenta
  • Start ze szablonu (?templateId=…)
  • Moduł w panelu — plan Enterprise (oraz trial)

Podpisy elektroniczne

Wysyłka dokumentów do e-podpisu — plan Enterprise.

Moduł Podpisy (/dashboard/umowy/podpisy) obsługuje obieg podpisu elektronicznego (AES): tworzenie koperty z PDF, kolejność podpisujących, rozmieszczenie pól na stronach, wysyłkę e-mail z linkiem publicznym (/podpis/…), przypomnienia oraz certyfikat po zakończeniu.

  1. 1

    Utwórz kopertę

    Prześlij PDF (upload, generator lub dokument z ewidencji/faktur) i dodaj podpisujących z adresami e-mail.

  2. 2

    Rozmieść pola

    Na podglądzie PDF ustaw pola podpisu / inicjałów / daty dla każdego podpisującego.

  3. 3

    Wyślij i śledź status

    System wysyła prośbę do aktualnego podpisującego w kolejce. Po zakończeniu obiegu wszyscy otrzymują podpisany PDF i certyfikat.

AES ≠ QES

Contrata generuje zaawansowany podpis elektroniczny (AES) z certyfikatem procesu — nie jest to kwalifikowany podpis elektroniczny (QES).

Wysyłka i zarządzanie podpisami — plan Enterprise (oraz aktywny okres próbny).

Analiza umów

Ocena ryzyka PIP w klauzulach UoD i B2B — wszystkie plany.

Moduł Analiza umów (/dashboard/umowy/analiza) uruchamia analizę klauzul umowy (LLM): wskazuje sformułowania zwiększające ryzyko uznania stosunku pracy, priorytetyzuje alerty i porównuje treść z danymi kontrahenta / ewidencją.

  • Dostępna we wszystkich planach przy aktywnej subskrypcji lub w okresie próbnym
  • Wyniki agregowane także w module Ryzyko PIP
  • Analiza dotyczy aktualnej umowy kontrahenta

Archiwum

Historyczny przegląd dokumentów i umów.

Archiwum zbiera historyczne dokumenty rozliczeniowe oraz umowy, ułatwiając wyszukiwanie starszych plików bez przechodzenia przez bieżące widoki operacyjne.

Ryzyko PIP

Podgląd luk w dokumentacji i agregat analizy umów na poziomie organizacji.

Moduł Ryzyko PIP pokazuje m.in. aktywnych kontrahentów bez aktualnej umowy oraz rachunki UoD bez protokołu odbioru. Przy aktywnej subskrypcji (lub w okresie próbnym) agreguje też wyniki analizy klauzul z modułu Analiza umów.

Kontrola vs ryzyko

Kontrola PIP buduje pakiet ZIP dla wybranego kontrahenta. Ryzyko PIP to widok organizacyjny — co jeszcze domknąć przed kontrolą.

Kontrola PIP

Pakiet dokumentów na potrzeby inspekcji Państwowej Inspekcji Pracy.

Moduł Kontrola PIP pomaga przygotować zestaw materiałów wymaganych podczas kontroli PIP: manifesty dokumentów, ewidencje, umowy i powiązane pliki dla wybranych kontrahentów i okresów.

Przed kontrolą

Upewnij się, że kontrahenci mają aktualne dane, wygenerowane ewidencje za kontrolowany okres oraz podpisane umowy w module Umowy.

PIT-11 (UoD)

Kwoty do PIT-11 na podstawie rachunków UoD — plan Enterprise.

Moduł PIT-11 agreguje rachunki UoD za wybrany rok (przychód, KUP 50%, dochód, zaliczki) w podziale na miesiące. Dla miesięcy bez rachunków możesz wpisać kwoty ręcznie. Pobierz tabelę CSV do zewnętrznego programu PIT i wyślij deklarację do US stamtąd. Contrata nie wysyła PIT-11 do urzędu skarbowego.

Plan

PIT-11 jest dostępny w planie Enterprise oraz w aktywnym okresie próbnym.

Odpowiedzialność

Contrata przygotowuje kwoty na podstawie danych w systemie. Za poprawność kwot, identyfikację podatnika i złożenie deklaracji odpowiada płatnik / księgowy.

Ustawienia organizacji

Konfiguracja firmy, zespołu, importu i eksportu.

Zakładka Ustawienia ma układ pionowych kart:

Firma

Nazwa, adres, NIP, REGON, liczba terminów wypłat w każdym okresie rozliczeniowym (2–4), branding PDF (wyłączenie logo Contrata w planach Business i wyżej).

Waluty

Obsługiwane waluty wypłat i konta bankowe organizacji (IBAN) per waluta.

Stanowiska

Lista ról przypisywanych kontrahentom; import nowych z CSV.

Import

Szablon CSV kontrahentów i import zbiorczy.

Eksport

Eksport kopii danych kontrahentów do CSV.

Zespół (admin)

Członkowie, zaproszenia, zmiana ról, status 2FA członków.

Integracje

Jira, Asana, Toggl, Teamwork, Trello, ClickUp, Zapier, Slack — łączenie kont.

API (admin)

Klucze API do automatyzacji i webhooków.

Konto (admin)

Reset hasła administratora, usuwanie danych organizacji (RODO).

Płatności i subskrypcja

Plany Team, Business, Enterprise i rozliczenie per miejsce.

Subskrypcja Contrata jest rozliczana przez Stripe. Administrator wybiera plan (Team, Business, Enterprise) i interwał (miesięczny / roczny). Liczba aktywnych kontrahentów wpływa na liczbę płatnych miejsc (seats).

Macierz funkcji (skrót):

  • Wszystkie plany — faktury/rachunki/ewidencja, kalendarz wypłat, eksport i archiwum PIP, import CSV, zespół, analiza ryzyka PIP w umowach
  • Business i Enterprise — wyłączenie brandingu Contrata na PDF
  • Enterprise — szablony umów, generator umów, wysyłka e-podpisów, PIT-11 (UoD)
  • Status subskrypcji i szacowany abonament — w Ustawienia → Płatności
  • Portal klienta Stripe — faktury abonamentu, metoda płatności, historia
  • Okres próbny — uprawnienia jak w planie Enterprise do momentu aktywacji płatnego planu
  • Po anulowaniu subskrypcji lub zakończeniu trialu bez płatnego planu dane organizacji są automatycznie usuwane po 30 dniach (szczegóły w sekcji RODO)
  • Przy problemach z płatnością skontaktuj się z administratorem organizacji

Bezpieczeństwo (2FA)

Drugie składnik logowania SMS i polityka organizacji.

W Profilu każdy użytkownik może włączyć 2FA przez SMS(Firebase). Wymagany jest potwierdzony e-mail oraz skonfigurowane SMS MFA w projekcie Firebase.

Administrator w Ustawienia → Bezpieczeństwo ustawia politykę organizacji:

  • Opcjonalne — każdy decyduje sam
  • Wymagane dla wszystkich — brak 2FA blokuje dostęp do panelu (Profil pozostaje dostępny)

Przy logowaniu hasłem lub Google, jeśli konto ma 2FA, po pierwszym składniku pojawia się krok z kodem SMS. Status 2FA członków widoczny jest na liście zespołu (administrator).

Integracje

Narzędzia zewnętrzne — ewidencja z zadań, powiadomienia Slack i automatyzacja Zapier.

Integracje konfigurujesz w Ustawienia → Integracje (administrator lub manager). Mapowanie kontrahenta → użytkownik narzędzia w modalu kontrahenta, sekcja Ewidencja pracy. Każdy kontrahent ma jedno źródło danych. Odłączenie integracji czyści mapowania.

Jira

  • OAuth — „Połącz z Jira”
  • Mapuj kontrahenta → użytkownik Jira (accountId)
  • Zadania z okresu wypłaty trafiają do ewidencji PDF

Asana

  • OAuth analogicznie do Jira
  • Mapowanie kontrahent → użytkownik Asana
  • Godziny i zadania z Asany w ewidencji

Toggl Track

  • Token API z Profilu Toggl Track (nie OAuth)
  • Mapowanie kontrahent → użytkownik Toggl
  • Źródło: wpisy czasu w okresie wypłaty

Teamwork

  • OAuth — „Połącz z Teamwork”
  • Mapowanie kontrahent → użytkownik Teamwork
  • Zadania przypisane użytkownikowi w okresie wypłaty

Trello

  • OAuth — „Połącz z Trello”
  • Mapowanie kontrahent → członek tablic
  • Karty przypisane w okresie wypłaty

ClickUp

  • OAuth — „Połącz z ClickUp”
  • Mapowanie kontrahent → użytkownik ClickUp
  • Zadania (assignee) z okresu wypłaty

Slack

  • OAuth — wybór workspace i kanału powiadomień
  • Po wygenerowaniu dokumentów wypłaty: wiadomość z listą PDF
  • Kanały prywatne: dodaj aplikację Contrata do kanału w Slacku
  • Slack nie zasila ewidencji — tylko powiadomienia

Zapier

  • Włącz integrację w panelu lub przez OAuth w aplikacji Zapier
  • Triggery: nowy dokument, wypłata wygenerowana
  • Akcja: generuj dokumenty wypłaty
Kontrahenci bez mapowania integracji otrzymują syntetyczną ewidencjęwygenerowaną przez system na podstawie stanowiska i okresu rozliczeniowego. Zaawansowaną automatyzację możesz też zbudować przez API v1 i webhooki (sekcja API poniżej).

Portal kontrahenta B2B

Osobna aplikacja dla kontrahentów B2B — dokumenty, kalendarz i KSeF.

Portal działa pod adresem kontrahenci.contrata.pl (osobne konto użytkownika — nie loguj się tam kontem organizacji). Dotyczy wyłącznie kontrahentów z umową B2B i adresem e-mail.

  1. 1

    Zaproszenie (perspektywa organizacji)

    • Dodaj kontrahenta B2B z poprawnym e-mailem — po zapisie system wysyła zaproszenie (link ważny 30 dni)
    • W liście kontrahentów ikona przy imieniu: brak konta / oczekujące / aktywne
    • Możesz ponownie wysłać zaproszenie lub odłączyć konto z modułu kontrahentów
  2. 2

    Aktywacja konta (perspektywa kontrahenta)

    • Kliknij link z e-maila → ustaw hasło na stronie akceptacji zaproszenia
    • Zaloguj się na portalu (e-mail + hasło lub Google, jeśli dostępne)
    • Jeśli masz już konto kontrahenta u innego pracodawcy, ten sam login może obsłużyć wiele organizacji
  3. 3

    Co kontrahent widzi w portalu

    • Faktury — lista i pobieranie PDF faktur B2B
    • Ewidencja pracy — PDF ewidencji za okresy wypłat
    • Kalendarz wypłat — zaplanowane terminy i kwoty
    • KSeF — podłączenie tokenu i wysyłka faktur (osobna sekcja poniżej)
    • Profil — zmiana hasła i danych konta
  4. 4

    E-maile automatyczne

    • Zaproszenie do portalu (nowe konto)
    • Powiadomienie o dołączeniu do organizacji (istniejące konto)
    • Po wygenerowaniu wypłaty: linki do PDF faktury/rachunku i ewidencji + link do portalu

Osobne konta

Konto typu kontrahent nie zaloguje się do panelu organizacji (app.contrata.pl) i odwrotnie. Komunikat przy logowaniu wskaże właściwy adres.

KSeF w portalu

Wysyłka faktur B2B do Krajowego Systemu e-Faktur — po stronie kontrahenta.

Integracja KSeF jest dostępna wyłącznie w portalu kontrahenta (kontrahenci.contrata.pl). Organizacja nie konfiguruje KSeF w swoim panelu — kontrahent B2B podłącza własny token MCU i wysyła faktury wygenerowane przez Contrata.

  1. 1

    Wygeneruj token w MCU

    Zaloguj się w KSeF (ap.ksef.mf.gov.pl) → Moduł Certyfikatów i Uprawnień (MCU) → sekcja KSeF → zakładka Tokeny Generuj token → przy tworzeniu wybierz uprawnienie Wystawianie faktur dla NIP, którym wystawiasz faktury B2B.

  2. 2

    Podłącz w portalu Contrata

    • Portal → KSeF
    • Podaj NIP (10 cyfr), wklej token, wybierz środowisko test, demo lub prod
    • Token jest przechowywany zaszyfrowany — po zapisie nie jest ponownie wyświetlany
  3. 3

    Wyślij fakturę

    • Portal → Faktury → przy fakturze bez numeru KSeF użyj akcji wysyłki
    • Po sukcesie faktura otrzymuje numer KSeF; w PDF może pojawić się kod QR
    • Token działa tylko w wybranym środowisku (test / demo / prod)

RODO i usuwanie danych

Retencja danych organizacji i trwałe usunięcie.

Administrator zarządza danymi organizacji w Ustawienia → Konto. Sekcja Usuwanie danych (RODO) dotyczy wszystkich danych: kontrahentów, PDF, integracji, kluczy API i ustawień.

Automatyczne usunięcie (30 dni)

Po anulowaniu płatnej subskrypcji lub zakończeniu okresu próbnego bez aktywacji planu dane organizacji są zaplanowane do trwałego usunięcia po 30 dniach. W tym czasie administrator może anulować harmonogram usunięcia w Ustawienia → Konto.

Natychmiastowe usunięcie

Przycisk Usuń organizację i wszystkie dane — wymaga wpisania dokładnej nazwy organizacji. Operacja jest nieodwracalna; po sukcesie następuje wylogowanie.

Portal kontrahenta

Usunięcie organizacji usuwa powiązania z kontami kontrahentów w portalu. Kontrahent traci dostęp do dokumentów tej organizacji; jego konto portalu może nadal istnieć przy innych pracodawcach.

Przegląd API

Publiczne REST API v1 do integracji i automatyzacji.

Contrata udostępnia API v1 pod adresem /api/v1/…. Endpointy wymagają klucza API z odpowiednim zakresem uprawnień. Klucze tworzy administrator w Ustawienia → API (maksymalnie 10 kluczy na organizację).

Dostępne zakresy (scopes):

  • read:organization
  • read:employees
  • read:schedules
  • read:documents
  • read:signed-contracts
  • write:payouts
  • manage:webhooks
Integracja Zapier otrzymuje węższy zestaw zakresów (bez read:signed-contracts) i dedykowany klucz „Zapier”.

Autentykacja API

Jak przekazywać klucz API w żądaniach.

Każde żądanie do API v1 musi zawierać nagłówek Authorization z tokenem Bearer:

Przykład
Authorization: Bearer ctr_live_xxxxxxxxxxxxxxxx

Odpowiedzi błędów:

  • 401 — brak lub nieprawidłowy klucz
  • 403 — klucz nie ma wymaganego scope
  • 404 — zasób nie istnieje
  • 400 — nieprawidłowe parametry żądania

Bezpieczeństwo klucza

Klucz API wyświetlany jest tylko raz przy tworzeniu. Przechowuj go bezpiecznie — nie umieszczaj w repozytorium ani w kodzie front-endu.

Endpointy API

Pełna lista publicznych endpointów v1.

MetodaEndpointScopeOpis
GET/api/v1/organizationread:organizationMetadane organizacji
GET/api/v1/employeesread:employeesLista kontrahentów (?active=false dla wszystkich)
GET/api/v1/employees/{id}read:employeesPojedynczy kontrahent
GET/api/v1/schedulesread:schedulesHarmonogramy (?year=&month=&employeeId=)
GET/api/v1/documentsread:documentsLista dokumentów (?employeeId=&type=&limit=)
GET/api/v1/documents/{id}read:documentsMetadane dokumentu
GET/api/v1/documents/{id}/fileread:documentsPlik PDF dokumentu
GET/api/v1/signed-contractsread:signed-contractsLista umów podpisanych
GET/api/v1/signed-contracts/{id}read:signed-contractsMetadane umowy
GET/api/v1/signed-contracts/{id}/fileread:signed-contractsPlik PDF umowy
POST/api/v1/payouts/materializewrite:payoutsGeneruj dokumenty wypłaty (employeeId, date)
POST/api/v1/webhooks/subscribemanage:webhooksSubskrybuj webhook (targetUrl, events)
POST/api/v1/webhooks/unsubscribemanage:webhooksAnuluj subskrypcję (id)

Typy dokumentów (type): faktura, rachunek, ewidencja, protokol_odbioru (tylko UoD). Daty w formacie YYYY-MM-DD.

Webhooki

Powiadomienia REST o zdarzeniach w organizacji.

Webhooki pozwalają otrzymywać powiadomienia HTTP o zdarzeniach w organizacji. Subskrypcja wymaga scope manage:webhooks. Maksymalnie 20 aktywnych webhooków na organizację.

Obsługiwane zdarzenia:

  • document.created — utworzono nowy dokument PDF
  • payout.generated — wygenerowano dokumenty wypłaty

Subskrypcja:

HTTP
POST /api/v1/webhooks/subscribeAuthorization: Bearer ctr_live_…Content-Type: application/json{  "targetUrl": "https://hooks.example.com/contrata",  "events": ["payout.generated", "document.created"]}→ { "id": "hookId", "secret": "hex-secret" }

Payload wysyłany jest metodą POST na targetUrl. Podpis HMAC-SHA256 (nagłówek z sekretem webhooka) pozwala zweryfikować autentyczność żądania.

Integracja Zapier korzysta z tych samych webhooków — triggery w aplikacji Zapier mapują się 1:1 na powyższe zdarzenia.

Przykłady użycia API

Typowe scenariusze integracji.

1. Pobierz listę aktywnych kontrahentów

curl
curl -s -H "Authorization: Bearer $CONTRATA_API_KEY" \  "https://twoja-domena.pl/api/v1/employees"

2. Harmonogram wypłat za maj 2026

curl
curl -s -H "Authorization: Bearer $CONTRATA_API_KEY" \  "https://twoja-domena.pl/api/v1/schedules?year=2026&month=5"

3. Wygeneruj dokumenty wypłaty w danym terminie

curl
curl -s -X POST \  -H "Authorization: Bearer $CONTRATA_API_KEY" \  -H "Content-Type: application/json" \  -d '{"employeeId":"abc123","date":"2026-05-15"}' \  "https://twoja-domena.pl/api/v1/payouts/materialize"→ { "scheduleId": "…", "documentIds": ["…"], "skipped": false }

4. Pobierz faktury kontrahenta

curl
curl -s -H "Authorization: Bearer $CONTRATA_API_KEY" \  "https://twoja-domena.pl/api/v1/documents?employeeId=abc123&type=faktura&limit=50"

Zgłoś problem

Wyślij zgłoszenie do zespołu wsparcia Contrata — odpowiemy na e-mail przypisany do konta.

Formularz jest dostępny wyłącznie dla zalogowanych użytkowników Contrata. Po wysłaniu zgłoszenia otrzymasz potwierdzenie na swój adres e-mail, a zespół wsparcia odpowie w tej samej wątku korespondencji.

Sprawdzanie sesji…

Czego oczekiwać

  • Odpowiedź zwykle w ciągu 1–2 dni roboczych
  • Do każdego zgłoszenia przypisujemy numer (np. CTR-ABC123)
  • W pilnych sprawach możesz też skorzystać z czatu na stronie