Administrative aspects of freelancing from Croatia

Yesterday, we had our first after-summer Zagreb Freelancers Meetup in the BIZkoshnica coworking space. The topic was how to go about founding a company, what are the administrative steps, which form to choose and what are the advantages and disadvantages. We covered a lot of interesting points, so I wanted to summarise the most important stuff. The event itself is a part of the European Freelancers Week and you can find some more related events around Europe.

One thing I recommend from my experience of running a web development business for a few years now is to get all this administrative, bureaucratic stuff done as quickly as possible and try to get it out of the way as much as you can. Your primary concern should always be your core business – the work you do for your client, your product, your team. Try to outsource administrative services to experts, i.e. accounting, legal and you focus on your business. Of course, don’t oversimplify – do your homework and inform yourself beforehand to pick the right company form and know the risks and liabilities.

Regarding administrative services, here are some recommendations:

  • accounting
    • Opulento – lots of experience with IT freelancers
    • Tatjana Barančić – experienced with more complex companies with lots of employees
  •  legal
  • free advice
    • Plavi Ured – the public office for getting advice on opening a company in the city of Zagreb. People really recommended you start here.
  • financial support
    • mjere.hr – support for self-employment, you can get around 25k HRK after a bit of bureaucratic legwork

So, time to choose a company type. The word of the evening was “paušalni obrt” 🙂. In short, it’s a form of sole proprietorship that you can choose if your income is within some annual amount (around €40k) and that’s the form with the least overhead (lowest tax and social insurance rates – maximum 10%). In my opinion the maximum income limit is so high that this kind of stops being a social measure and starts favouring the wealthy too much, but that’s maybe a topic for another more political post. For now let’s keep with the premise that it’s good that more people are going into entrepreneurial waters in Croatia. So anyway, here are the available forms (take these descriptions with a grain of salt as I am not a lawyer or accountant – I was just making notes during the meetup and for this stuff you should probably talk to a professional accountant):

  • “paušalni obrt” – sole proprietorship up to €40k / year. A maximum 10% taxes and social insurance (pension and health insurance). You pay taxes month-to-month and at the end of the year you maybe pay some difference. You can flexibly pay out your salary from your business account, no brutto-netto stuff there. The website solo.hr has more info on this. It’s a personal liability company form, so it’s a good idea to find legal insurance.
  • “obrt” – same as above, just over €40k / year. Apparently, the tax and social insurance overhead is higher than a d.o.o., so you should go for that in this scenario. Fun fact for those who understand Croatians – if you multiple people cofound an obrt, it becomes an ortakluk 🤘😄 (an archaic expression for friends).
  • “d.o.o.” – limited liability, an equivalent of LLC or GmbH in other countries. You need 20k HRK as a downpayment (can include equipment). The tax + social insurance overhead is something like 35% (exact numbers depend on a lot of factors, of course). Update: as of 2017, tax and social security overhead for a d.o.o. is around 23-24% for the owner/director, not 35%, if company income is less than ~€400k. A d.o.o. is a separate legal entity, so you are not personally liable. It’s the best form if you make more than €40k / year and/or you want to hire people.
  • “j.d.o.o.” – a simpler form of “d.o.o.” with almost no downpayment where you gradually pay out the 20k HRK over time and morph into a “d.o.o.”.

There are also ways to register a company abroad, which might be better in some scenarios. E.g. if are a startup and you have foreign investors, they’ll probably want you to incorporate in their country (USA, UK etc.). Here are some links to explore if this interests you:

  • Stripe Atlas – LLC in Delaware, USA. A problem is that the US doesn’t have a “no double taxation” agreement with Croatia yet, so you have to pay 30% withdrawal tax when you pay money out of the US company.
  • Estonia’s e-Residence program – founding a company in the EU with € as a currency where all of the services are available online. There’s a webinar on this topic starting at 3 pm today (hope they’ll leave a recording for later viewing too). Estonia does have a “no double taxation” agreement with Croatia, so that’s a plus.
  • other places like UK, Ireland, Hong Kong also have similar things
  • when one of these forms is used, people generally register a “paušalni obrt” in Croatia to still have health insurance here.

Some other services to explore for various international payments stuff:

Anyway, these were the most important tips for starting a company from Croatia. If you like these topics, be sure to join the Zagreb Freelancers Meetup group and attend our future in-person meetups. We’ve also started a Slack chat group for online freelancing and business-related discussions – you can join here.

Compiling TensorFlow with GPU support on a MacBook Pro

OK, so TensorFlow is the popular new computational framework from Google everyone is raving about (check out this year’s TensorFlow Dev Summit video presentations explaining its cool features). Of course, a fun way to learn TensorFlow is to play with it on your own laptop, so that you can iterate quickly and work offline (perhapse build a hot dog recognition app). In these cases a GPU is very useful for training models more quickly. There used to be a tensorflow-gpu package that you could install in a snap on MacBook Pros with NVIDIA GPUs, but unfortunately it’s no longer supported these days due to some driver issues. Luckily, it’s still possible to manually compile TensorFlow with NVIDIA GPU support. I’ve hunted through a lot of different tutorials (1, 2, 3, 4 – this last one helped me the most) to bring you this hopefully complete description of how to set everything up correctly and get deep into learning (and I know, in 2 months probably become just another one in that list of outdated tutorials, but that’s life 🙂 ).

For the sake of verbosity, I’m using a MacBook Pro 10,1 with an NVIDIA GT 650M and OS X 10.12. Hopefully, though, it will work on a couple of other configurations as well. In any case, let’s start… Continue reading Compiling TensorFlow with GPU support on a MacBook Pro