Umowa na usługi programistyczne od A do Z – jaką umowę podpisać z programistą?
Planujesz rekrutację specjalisty IT? Chcesz zlecić jednorazowe zaprogramowanie strony, aplikacji czy programu komputerowego albo podjąć stałą współpracę z programistą? Dzisiejszy artykuł jest dla Ciebie – wyjaśniamy, jaka umowa na usługi programistyczne będzie dla Ciebie najkorzystniejsza. Nie tylko przedstawimy rodzaje umów, ale również ich elementy, m.in. przedmiot umowy, prawa autorskie, wynagrodzenie czy zakaz konkurencji.
Współpraca z programistą na podstawie umowy cywilnoprawnej
Umowa o pracę z programistą musi być zgodna z przepisami Kodeksu Pracy, który reguluje wszystkie kwestie zawodowych relacji pracodawcy i pracownika. Jako pracodawca musisz się tym przepisom podporządkować. Wybierając natomiast umowę cywilnoprawną, masz dużo większą swobodę niż w ramach stosunku pracy.
Umowa cywilnoprawna jest regulowana przez przepisy Kodeksu Cywilnego. Jest kilka rodzajów umów cywilnoprawnych, jednak jeśli chodzi o programistów, to najczęściej podpisuje się z nimi umowę o dzieło, umowę zlecenie lub umowę o świadczenie usług programistycznych. Wyjaśniamy, czym się różnią.
Umowa o dzieło
Umowa z programistą może mieć postać umowy o dzieło, jeśli jesteśmy w stanie przewidzieć i dokładnie opisać oczekiwany efekt prac specjalisty. W umowie o dzieło trzeba bowiem wskazać właśnie na dzieło, czyli na rezultat. Kiedy wykonawca oddaje dzieło, czyli np. funkcjonalność w aplikacji czy witrynę internetową, zamawiający musi być w stanie ocenić, czy została wykonana zgodnie z postanowieniami umowy.
Umowa o dzieło nie koncentruje się na czasie poświęconym na programowanie – liczy się termin wyznaczony na ukończenie dzieła, którego programista musi dotrzymać. Wynagrodzenie jest zwykle ustalone z góry – strony decydują się na konkretną kwotę za prawidłowo wykonane dzieło.
Ten typ umowy cywilnoprawnej jest korzystny zarówno dla programistów, jak i ich pracodawców, bo dzieło nie jest oskładkowane. Ani wykonawca, ani zamawiający nie musi odprowadzać składek na ubezpieczenie zdrowotne i ubezpieczenia społeczne. Niemniej, jako przedsiębiorca współpracujący z programistą na umowie o dzieło, będziesz zobowiązany zgłosić fakt jej podpisania do Zakładu Ubezpieczeń Społecznych i odpowiadać za specyfikę Waszej współpracy w razie kontroli.
Więcej szczegółów dotyczących tej formy umowy z programistą dokładnie wyjaśnia artykuł Czym jest umowa o dzieło? Na czym polega, kiedy ją podpisać?
Umowa zlecenia
W przeciwieństwie do dzieła umowa zlecenia nie koncentruje się na oczekiwanym rezultacie i nie opisuje dokładnie wyniku prac programisty. Wskazuje natomiast na samą czynność. Sprawdzi się więc w sytuacji, gdy ani rezultatu programowania, ani czasu, w jakim programista wykona powierzone zadania, nie można przewidzieć.
Umowę zlecenia nazywa się również umową starannego działania, bo zleceniobiorca jest zobowiązany wykonać swoje usługi właśnie z należytą starannością. Do zapłaty wynagrodzenia dochodzi zwykle co miesiąc, a jego wysokość jest liczona na podstawie przepracowanych godzin – w umowie zlecenie podaje się najczęściej stawkę godzinową.
Z umów zlecenia chętnie korzystają studenci, którzy do 26. roku życia nie muszą odprowadzać od nich podatku dochodowego, a ponadto są objęci ubezpieczeniem w ramach studiów – dostają więc 100% pensji brutto „do ręki”. Tym samym taka umowa z programistą studentem nie zobowiązuje zleceniodawcy do odprowadzania za niego składek do ZUS-u (ale jeśli zleceniobiorca nie ma innego tytułu do ubezpieczeń, jak np. studiów, to zleceniodawca musi zapłacić za niego część wymaganych składek).
Umowa o świadczenie usług programistycznych
Jedną z najczęściej wykorzystywanych umów przy współpracy z programistami jest umowa o świadczenie usług. Ją także nazwiemy umową cywilnoprawną, a co więcej – stosuje się do niej przepisy dotyczące umowy zlecenia. Mamy tu jednak jeszcze większą swobodę w kształtowaniu takiego dokumentu, bo przepisy stosuje się odpowiednio. To oznacza, że można je to robić wprost lub z modyfikacjami.
Co więcej, umowę o świadczenie usług programistycznych można łączyć ze współpracą B2B, o której więcej napisaliśmy niżej. Jeśli programista ma swoją firmę, w ramach której programuje i podpisał ze zleceniodawcą umowę cywilnoprawną o świadczenie usług programistycznych, to z takim zleceniodawcą rozliczy się na fakturze VAT. Dzieje się tak, gdy przedmiot umowy i działalności się pokrywają.
Świadczenie usług programistycznych na B2B
Programiści często mają swoje działalności gospodarcze. Oferują wówczas świadczenie usług programistycznych na elastycznych warunkach w pakiecie z fakturą. Wówczas dwóch przedsiębiorców może również posłużyć się umową ramową lub umową o współpracy. Taki dokument określa ogólne warunki współpracy, a każdy projekt można precyzować w umowie wykonawczej.
Umowa ramowa czy umowa o współpracy może być rozwiązaniem długoterminowym, czyli sprawdzi się, gdy chcemy współpracować z jednym programistą przy wielu projektach. Nic jednak nie stoi na przeszkodzie, by rozliczenie B2B zastosować jednorazowo, do konkretnej strony www, aplikacji czy programu.
Co powinna zawierać umowa z programistą?
Niezależnie od tego, czy wybierzesz umowę ramową i współpracę w modelu B2B, umowę o dzieło, czy umowę cywilnoprawną o świadczenie usług programistycznych, ważne jest, żeby rodzaj dokumentu odpowiadał charakterowi Twojej współpracy z programistą.
Oprócz przedmiotu umowy trzeba poruszyć w dokumencie m.in. kwestię praw autorskich, zakazu konkurencji, wynagrodzenia czy kar umownych. Omówmy więc najważniejsze punkty umowy o usługi programistyczne.
Przedmiot umowy z programistą
Przedmiotem umowy będzie oczywiście świadczenie usług programistycznych, ale trzeba możliwie dokładnie opisać zakres prac, żeby uniknąć nieporozumień. Należy wskazać konkretne zadania, funkcje czy moduły programu, harmonogram prac i czas trwania umowy, a także wykorzystywane technologie, języki programowania, bazy danych.
Takie szczegóły można zawrzeć również w dokumentacji technicznej, którą załącza się do umowy z programistą. Przy technicznych określeniach związanych z przedmiotem umowy warto podawać ich definicje, żeby nie było nieporozumień np. w kwestii tego, czym jest działająca aplikacja.
Jeśli wykorzystujesz metodykę Agile lub podobną, przedmiot umowy będzie bardziej ogólny (sprawdzi się tu umowa ramowa), bez wskazywania konkretnych etapów prac.
Wynagrodzenie na umowie z programistą
Wynagrodzenie za świadczenie usług programistycznych może być wypłacane w różnych modelach. Najczęściej jest to:
- fixed price – wysokość wypłaty określona z góry za projekt (używany m.in. w umowach o dzieło),
- time and material – wysokość wypłaty zależy od liczby przepracowanych godzin (używany m.in. w umowach zlecenia).
Umowa wskazuje również, w jaki sposób programista dostanie wynagrodzenie, czyli np. po wystawieniu faktury do danego dnia miesiąca klient przelewa mu pieniądze na konto o podanym numerze.
Prawa autorskie – przeniesienie majątkowych praw autorskich
Jeśli w kontekście umowy z programistą jest poruszane przeniesienie praw autorskich, to chodzi o przeniesienie autorskich praw majątkowych. Prawo własności intelektualnej nadaje twórcy jeszcze autorskie prawa osobiste, których przekazać nie można (są niezbywalne). Można jednak na umowie zaznaczyć, że twórca programu powstrzymuje się od wykorzystywania swoich osobistych praw autorskich.
Jeśli program komputerowy powstaje w ramach umowy o pracę, to przeniesienie praw autorskich odbywa się „automatycznie”. Nie trzeba wspominać tej kwestii w umowie, bo rozwiązują ją przepisy Ustawy o prawie autorskim i prawach pokrewnych: „Prawa majątkowe do programu komputerowego stworzonego przez pracownika w wyniku wykonywania obowiązków ze stosunku pracy przysługują pracodawcy, o ile umowa nie stanowi inaczej” (art. 74 ust. 3).
Przepisy kodeksu cywilnego nie poruszają kwestii praw autorskich do kodu źródłowego czy oprogramowania, dlatego strony związane umową cywilnoprawną (w tym umową B2B) muszą napisać w dokumencie, na jakich zasadach zleceniodawca będzie dysponował programem. Umowa powinna wskazywać:
- czy programista przekazuje zleceniodawcy autorskie prawa majątkowe, czy tylko udziela licencji na korzystanie z programu;
- jakie są pola eksploatacji programu na podstawie przeniesienia praw autorskich lub nadania licencji;
- jak przeniesienie autorskich praw majątkowych wpływa na wynagrodzenie programisty.
Więcej informacji o prawach autorskich do programów komputerowych i polach eksploatacji znajdziesz w Art. 74. [Zakres ochrony programów komputerowych] – Prawo autorskie i prawa pokrewne.
Kary umowne
Świadczenie usług programistycznych musi przebiegać zgodnie z umową stron. Żeby uchronić się przed skutkami nieprawidłowego wykonywania pracy przez programistę, zleceniodawca ustala kary umowne i zawiera je w dokumencie. Są nimi określone sumy pieniędzy, które trzeba zapłacić w razie złamania postanowień umowy. Karą umowną można też obarczyć złamanie zakazu konkurencji.
Zakaz konkurencji i NDA
Wiele umów w branży IT zawiera zapis o zakazie konkurencji. Programista, który podpisze umowę, jest zobowiązany do lojalności względem zleceniodawcy, często pod groźbą określonej kary umownej. Chodzi o to, żeby ten sam programista nie działał dla innej, konkurencyjnej firmy z tej samej branży.
Z kolei NDA, czyli klauzula poufności (non-disclosure agreement) ma zapobiec sytuacji, w której programista przekazuje poufne informacje innym podmiotom. W tym przypadku zabezpieczeniem może być również kara umowna. NDA może obejmować nie tylko czas współpracy z danym programistą, ale także określoną liczbę lat po jej zakończeniu.
Wypowiedzenie lub odstąpienie od umowy
Każda umowa, niezależnie od tego, czy jest nią zlecenie, umowa o dzieło, B2B czy umowa o świadczenie usług, powinna zawierać klauzulę wskazującą okoliczności wypowiedzenia lub odstąpienia od niej. Złamanie postanowień umowy, niewykonanie powierzonych zadań w ustalonym terminie, niezgodne z umową świadczenie usług programistycznych mogą dawać podstawę do zakończenia umowy.
Oprócz wymienionych elementów umowa z programistą może również precyzować kwestię:
- postępowania w przypadku zgłoszenia poprawek,
- podwykonawstwa,
- używania kodu open source,
- raportowania czasu pracy,
- gwarancji i rękojmi,
- przedawnienia roszczeń,
- przetwarzania danych osobowych,
- sądu, który rozstrzygnie ewentualny spór.
Umowa na usługi programistyczne – wzór
Jak wykorzystać wszystkie powyższe informacje w praktyce? Najlepiej, spisując swoją własną umowę z programistą, która będzie pasować do Waszego indywidualnego przypadku. Oczywiście posługiwanie się prawniczym żargonem nie należy do najłatwiejszych, więc najlepiej skorzystać z gotowych wzorów umowy z programistą.
Znajdziesz je m.in. na stronie Umowy w IT – radca prawny Łukasz Kulicki, który specjalizuje się w negocjowaniu i tworzeniu umów IT dla firm technologicznych.
Jaką umowę podpisać z programistą freelancerem?
Umowy cywilnoprawne mają swoje minusy, odczuwalne zarówno przez zleceniodawców, jak i programistów. Należą do nich m.in. formalności i konieczność poprawnego skonstruowania postanowień takiego dokumentu. Często wybieraną formą współpracy jest więc umowa B2B z freelancerem, która opiera się na wystawianiu faktur. Do tego potrzebna jest jednak własna firma, a nie każdy utalentowany i pracowity programista chce sobie zaprzątać nią głowę.
Po drugie klient takiego programisty musi dbać o dopasowanie umowy do charakteru pracy freelancera – umowa B2B nie może przypominać umowy cywilnoprawnej, ani umowy o pracę. Kolejny problem może pojawić się, gdy chcemy zatrudnić programistę z zagranicy ze względu na stawki lub know-how, których nie znajdziemy u polskich wykonawców. Różnice w przepisach dwóch krajów znacznie utrudniają rozliczanie.
Rozwiązaniem na powyższe bolączki jest rozliczanie programistów za pośrednictwem platformy dla freelancerów. Wówczas to nie Ty, lecz serwis rozlicza Twich freelancerów i wysyła Ci fakturę za zamówioną pracę. Odchodzą Ci więc takie obowiązki jak:
- zgłaszanie umowy do ZUS-u,
- odprowadzanie składek za programistę,
- układanie treści umowy,
- poprawna kwalifikacja umowy zgodna z jej przedmiotem,
- przypominanie programiście o deadline’ach,
- zapoznawanie się z przepisami prawa innych krajów, kiedy chcemy współpracować z zagranicznym programistą.
Wyjątkową funkcją Useme, czyli platformy, która daje Ci wszystkie powyższe korzyści, jest możliwość zabezpieczenia zlecenia umową. Wpłacasz wówczas kwotę wpisaną na fakturze, ale nie dojdzie do zapłaty wynagrodzenia, jeśli nie zaakceptujesz programu. Jeśli efekt nie będzie zgodny z Waszymi ustaleniami, programista będzie zobowiązany do wprowadzenia poprawek. Obie strony są chronione postanowieniami umowy zawieranej za pośrednictwem Useme.
Umowa na usługi programistyczne – podsumowanie
Na koniec warto zapamiętać, że to nie nazwa dokumentu decyduje o tym, jak wygląda Twoja współpraca z programistą w świetle prawa. To charakter tej współpracy, a co za tym idzie – przedmiot umowy, decyduje, jaki dokument powinieneś wybrać. Podsumowując – jeśli nie interesuje Cię zatrudnianie programisty na umowie o pracę, możesz wybrać:
- umowę cywilnoprawną, w tym umowę zlecenie, umowę o dzieło, umowę o świadczenie usług;
- umowę B2B, np. umowę o współpracy czy umowę ramową;
- Useme, czyli platformę do rozliczenia freelancerów bez formalności.
Jeśli zależy Ci na pozbyciu się papierologii i co więcej – odpowiedzialności za kontrakt z programistą, wybierz Useme. Jeśli ponadto zależy Ci na długofalowej współpracy usystematyzowanej odpowiednim dokumentem, możesz podpisać umowę ramową czy umowę o współpracy i jako sposób rozliczenia wskazać Useme.