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
  • Dokumenty — ewidencja, faktury/rachunki, archiwum
  • Umowy — szablony, generator, e-podpis, analiza (wgrywanie PDF)
  • PIT-11 / PIP — podatki UoD, ryzyko i pakiet na kontrolę

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. Na dole: Ustawienia, Docs (ta strona, w nowej karcie) oraz Czat z zespołem Contrata. 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 30-dniowy okres próbny z funkcjami planu Enterprise.

  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 podaj PESEL (do PIT-11) oraz opcjonalne potrącenia i ulgę podatkową (wpływają na rozliczenie w rachunku PDF). Dla B2B wybierz VAT albo zwolnienie i podaj 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 planu i trialu — bez portalu Stripe
Klucze APITworzenie i usuwanieTylko podgląd komunikatu (bez kluczy)
Polityka 2FA organizacjiTakNie
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
  • Dla UoD (PIT-11): PESEL i data urodzenia — data może uzupełnić się z numeru PESEL
  • Typ umowy: B2B (faktura) lub UoD (rachunek)
  • Dla B2B: faktura z VAT albo zwolnienie z VAT z podstawą prawną (trafia na PDF i do KSeF)
  • 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 miejsc w abonamencie nie maleje po dezaktywacji — administrator może ją ustawić ręcznie w Płatnościach; przy przekroczeniu limitu planu system automatycznie zwiększa liczbę miejsc. Karta kontrahenta (/dashboard/pracownicy/…) pokazuje dokumenty, umowy, analizę i historię zmian. 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. W jednym dniu możesz dodać kilka wypłat jednorazowych dla tego samego kontrahenta

W dniu terminu wypłaty system automatycznie tworzy fakturę (B2B) lub rachunek (UoD) oraz ewidencję pracy; dla UoD dodatkowo protokół odbioru. 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ą wymagane dokumenty, system może wysłać wiadomość z linkami do pobrania PDF (ważne 30 dni). Dla B2B czekamy na fakturę i ewidencję; dla UoD — na rachunek i protokół odbioru. 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). Jeśli faktura B2B nie trafi do KSeF, system wysyła przypomnienia po 1 i 3 dniach (maks. 2 maile).

Eksport do banku

Przycisk Eksport do banku otwiera panel: zakres dat, zaznaczenie konkretnych wypłat, format Elixir-0 (PLN) lub SEPA XML (dowolna waluta) oraz kodowanie pliku Elixir (UTF-8, Windows-1250, CP852). Domyślnie włączone są Pomijaj opłacone i Oznacz jako opłacone — po eksporcie UoD jest finalizowane kursem NBP z dnia wypłaty. Dla faktur B2B w PLN możesz dodać split payment (MPP). Status „Opłacona” widać na liście faktur — nie oznacza się go osobno w module Faktur.

Ewidencja pracy

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

Ewidencja to dokument PDF z dziennym zestawieniem czynności i godzin. Powstaje automatycznie razem z fakturą lub rachunkiem dla danego terminu wypłaty — także przy wypłacie jednorazowej (od razu po zapisie).

  • 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
  • Dla UoD równolegle powstaje protokół odbioru dzieła (lista faktur/rachunków i kalendarz) — ewidencja i tak jest w tym module
  • 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 z harmonogramu powstaje w dniu terminu wypłaty. Wypłata jednorazowa (kalendarz) tworzy PDF od razu po zapisie
  • Faktura B2B: z VAT albo zwolnienie — tryb i podstawę prawną ustawiasz przy kontrahencie; treść trafia na PDF i do KSeF
  • 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 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ł.

Podpisane umowy

PDF-y umów powiązane z kontrahentami — wgrane lub po e-podpisie.

W menu Umowy są cztery moduły: Szablony, Generator, Podpisy i Analiza umów. Nie ma osobnej listy „archiwum umów” — adres /dashboard/umowy otwiera analizę.

Podpisane (lub wgrane) PDF-y kontrahenta znajdziesz:

  • w Analizie umów — tu wgrywasz istniejący PDF (do 15 MB), przypisujesz kontrahenta i daty, uruchamiasz ocenę ryzyka PIP
  • po zakończonym obiegu Podpisów — podpisany plik trafia do tej samej biblioteki
  • w karcie kontrahenta (lista umów) oraz w module Archiwum (razem z fakturami i ewidencją)
  • 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: podpis, inicjały, data, imię i nazwisko, e-mail lub tekst — osobno dla każdego podpisującego.

  3. 3

    Wyślij i śledź status

    System wysyła prośbę do aktualnego podpisującego w kolejce (e-mail i publiczna strona podpisu w języku PL lub EN — wybór przy kopercie). 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) to też biblioteka umów PDF. Wgrywasz plik, łączysz go z kontrahentem i (opcjonalnie) datami obowiązywania, a następnie uruchamiasz analizę klauzul (LLM): sformułowania zwiększające ryzyko uznania stosunku pracy, priorytety alertów, porównanie z danymi kontrahenta i ewidencją.

  • Dostępna we wszystkich planach przy aktywnej subskrypcji (także przy zaległej płatności) lub w okresie próbnym — nie po wygaśnięciu trialu bez planu
  • Wyniki agregowane także w module Ryzyko PIP i na liście kontrahentów
  • Analiza dotyczy wgranej lub podpisanej umowy — możesz oznaczyć, która jest aktualna
  • Limit pliku: PDF do 15 MB

Archiwum

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

Archiwum (/dashboard/archiwum, grupa Dokumenty) zbiera w jednym widoku historyczne faktury, rachunki, ewidencje, protokoły odbioru oraz wgrane / podpisane umowy. Filtrujesz po typie, miesiącu i kontrahencie, podglądasz PDF i pobierasz zaznaczone pliki (także ZIP) — 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. Lista kontrahentów UoD prowadzi do arkusza miesięcznego — tam pobierasz CSV do zewnętrznego programu PIT. Contrata nie wysyła deklaracji do urzędu skarbowego (e-Deklaracje / bramka ministerstwa).

Przy wypłatach w obcej walucie Contrata zbiera wynagrodzenie netto (sprzed ulgi) z rachunków miesiąca — każdy po kursie NBP z dnia poprzedzającego wypłatę — i raz na koniec miesiąca odtwarza brutto PLN do PIT. Ulga podatkowa zmniejsza tylko zaliczkę.

  • Dla miesięcy bez rachunków możesz wpisać kwoty ręcznie (zapisują się automatycznie)
  • Do kompletności arkusza: PESEL i data urodzenia kontrahenta oraz u płatnika NIP i kod urzędu skarbowego (Ustawienia → Firma)
  • Lata podatkowe od 2022

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, dane płatnika do PIT-11 (kod US i adres strukturalny), liczba terminów wypłat w okresie (2–4), powiadomienia e-mail B2B/UoD, 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.

Płatności

Plan, trial, zakup i portal Stripe — szczegóły w sekcji Płatności poniżej.

Bezpieczeństwo

Polityka 2FA organizacji (tylko administrator zmienia regułę).

Integracje

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

API (admin)

Klucze API do automatyzacji i webhooków.

Konto

Reset własnego hasła (każdy członek). Usuwanie danych organizacji (RODO) — tylko administrator.

Płatności i subskrypcja

Plany Team, Business, Enterprise i rozliczenie per miejsce.

Subskrypcja Contrata jest rozliczana przez Stripe. Administrator wybiera plan i interwał (miesięczny / roczny). Cena jest za aktywnego kontrahenta (miejsce): Team 19 zł, Business 29 zł, Enterprise 39 zł netto / mc; przy rozliczeniu rocznym płacisz za 10 miesięcy (2 miesiące w cenie).

Limit miejsc wynika z planu: Team do 10, Business 11–100, Enterprise 100 i więcej. Okres próbny trwa 30 dni i daje uprawnienia jak Enterprise.

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
  • Checkout Stripe zbiera adres rozliczeniowy i NIP (tax ID); VAT dolicza Stripe Tax zgodnie z danymi firmy
  • Portal klienta Stripe (faktury abonamentu, metoda płatności) — tylko administrator
  • Liczba płatnych miejsc może być wyższa niż liczba aktywnych kontrahentów; dezaktywacja osoby nie zmniejsza abonamentu automatycznie
  • 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)

Drugi 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
    • Przeterminowany link przy otwarciu automatycznie wysyła nowe zaproszenie
  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 — produkcja: ap.ksef.mf.gov.pl, test: ap-test.ksef.mf.gov.pl (token TE: „Uwierzytelnienie testowe”) — → 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)
    • Jeśli faktura nie trafi do KSeF, kontrahent (i e-mail z panelu, gdy włączony) dostaje przypomnienia po 1 i 3 dniach

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. payouts/materialize przyjmuje date albo dueDate; subskrypcja webhooka — targetUrl albo hookUrl.

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. Nagłówki: X-Contrata-Event (nazwa zdarzenia) oraz X-Contrata-Signature — HMAC-SHA256 treści body (hex) z sekretem webhooka. Porównaj podpis, aby zweryfikować autentyczność.

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://app.contrata.pl/api/v1/employees"

2. Harmonogram wypłat za maj 2026

curl
curl -s -H "Authorization: Bearer $CONTRATA_API_KEY" \  "https://app.contrata.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://app.contrata.pl/api/v1/payouts/materialize"→ { "scheduleId": "…", "documentIds": ["…"], "skipped": false }

4. Pobierz faktury kontrahenta

curl
curl -s -H "Authorization: Bearer $CONTRATA_API_KEY" \  "https://app.contrata.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 użyj Czatu w lewym menu panelu (ta sama rozmowa co widget na stronie marketingowej)