Ing. Patrik Krajňák

Custom CRM for when off-the-shelf tools fall short.

A custom CRM is a system for keeping track of clients, quotes, contracts and projects, built around the way your company actually works with its clients. As a full-stack developer from Košice, Slovakia, I build custom CRMs for companies whose process doesn't fit an off-the-shelf CRM or whose client data is scattered across Excel files and emails. Once it's deployed, everything about your clients is in one database, and each person sees only what they're allowed to see. Through the agency Eturial, I worked on the CRM of DAU, a Slovak tax and accounting firm: I wrote the rules that decide, inside the database itself, who can see and change which records, and I rebuilt the client portal and dashboards.

, Full-stack developer, Košice

01 Service

Build vs buy: when a custom CRM pays off

A custom CRM pays off when your process doesn't fit an off-the-shelf CRM without workarounds. If an off-the-shelf CRM such as HubSpot, Pipedrive or Raynet covers almost everything you need, you're better off buying it and filling the gap with configuration or a single automation: that works out cheaper than building your own. For a small business with a simple sales process, a ready-made CRM is usually enough, and if that's your situation, I'll tell you so in the first consultation.

If what you need isn't client records but another kind of internal system, see custom software development. I recommend a CRM of your own in these situations:

  • You track clients in a CRM, but look up their contracts, invoices and documents in another tool or a spreadsheet
  • Your process has steps an off-the-shelf CRM doesn't allow for, such as quotes that need management approval, or contracts for recurring services
  • You pay a licence fee for every colleague, even though most of them only glance at the CRM now and then
  • You need a client portal or an integration with your own system that an off-the-shelf tool doesn't offer

How it works

How you move to a custom CRM

  1. 1

    Your process

    In a free consultation we go through how you work with clients today.

  2. 2

    A quote in parts

    Each part has a specific price and date, and you can approve just some of them.

  3. 3

    Free prototype

    Once you approve the quote, I build it on a sample of your data and you try it out.

  4. 4

    Data migration

    After you order, I clear your Excel or old CRM data of duplicates and run a test migration.

  5. 5

    Go-live

    On an agreed day you switch to the new system without losing a single record.

What a custom CRM system includes

A custom CRM system is built on one client database and includes only the parts your company uses, arranged around the way you work with clients. These are the most common:

  • A client record with contacts, communication history and documents
  • A sales pipeline from inquiry through quote to signature, so you can see where deals get stuck
  • Quotes and contracts generated from templates and filled in with the client's details
  • Invoicing directly in the CRM, or handing the invoice details over to your accounting software
  • Tasks and reminders with an owner and a deadline
  • Automatic notifications, for example when a quote has been waiting too long for a reply
  • Roles and permissions: who sees which clients and what they're allowed to change
  • An audit log, a record of who changed what and when
  • A client portal where clients see the status of their project and upload or download documents

Example: a CRM and client portal for a tax and accounting firm

I worked on the CRM and client portal of DAU, a Slovak tax and accounting firm, through the AI agency Eturial. I wrote the security layer, meaning the Row Level Security (RLS) policies in its PostgreSQL database on Supabase, and I rebuilt the client portal and the dashboards. The system is built on Next.js 16, Supabase and PostgreSQL.

The CRM as a whole covers the client journey from first contact through quotes and contracts to invoicing. It runs on one client database, sends automatic notifications and has multi-level access with an audit log. My part was the security, the portal and the dashboards, not the whole system.

If you run an accounting or tax practice and also want to automate routine work with the documents your clients send you, see AI agents for repetitive data work.

How client data is protected in the CRM

I protect client data with access rights that apply directly in the database, not just in the application. Technically, this is done with Row Level Security in PostgreSQL: on every read and write, the database checks which rows the user may see or change and blocks access to the rest. The rules run inside the database, so they apply even when a logged-in user tries to get around the application's screens and requests data directly through the API. Admin access with full rights bypasses these rules, so only the server side of the system holds it, and it never reaches the browser.

Before development starts, we agree on who can do what, based on how your company actually works. The result might look like this:

  • A salesperson sees their own clients, not the whole database
  • An external contractor sees only the project they're working on
  • A client sees only their own documents and invoices in the portal
  • Someone in billing sees contracts and invoices but can't change sales stages

Connecting the CRM to your website, online store, invoicing and company registers

I'll connect the CRM to the tools you already use: the form on your website, your online store, accounting software, email, shared spreadsheets or Slack. An inquiry from your website or an order from your online store then goes into the CRM without anyone retyping it. Either the CRM issues the invoice itself, or it sends the details to your accounting software through its API or a file import.

I have hands-on experience connecting systems. I use my own CRM every day, and it pulls data from Gmail, Google Calendar and Slack by itself.

For a new client based in Slovakia, entering the company ID number (IČO) is enough: the CRM can fill in the company's name, registered address and legal form from the Register of Legal Entities (RPO) and its financial statements from the Register of Financial Statements (RÚZ). Both Slovak registers have public APIs. I've also worked with public registers on a project of my own: using Python and a language model, I built a tool that added financial figures and websites to the records of about 2,000 Slovak companies.

Migrating data from Excel or an old CRM

I'll migrate your data from Excel or an old CRM through an export, an API or directly from the database, so nobody has to re-enter client details by hand. Your old system stays in use until the new one is fully up and running. Here's how I go about it:

  • We go through your spreadsheets and the export from the old system and decide where each piece of data belongs
  • I find duplicates, such as the same company entered three times, and we decide together which record is the right one
  • You check a test migration against clients you know well
  • We run the live migration on an agreed day, so that no record is left only in the old system

Where AI helps in a CRM

AI helps in a CRM wherever people currently read text and retype it into the system, such as inquiries that arrive by email or data from attachments. An AI agent connected to your CRM reads them, files them under the right client and, for any step where a mistake would cost money, waits for a person's approval. If your team wants to ask about contracts and client history in plain language, I'll add an AI knowledge assistant built on your documents.

AI in your CRM works only by strict rules: it processes only what clearly matches, and a person checks the exceptions. I build AI agents the same way.

How much does a custom CRM cost?

A custom CRM that your company runs on every day takes months to build, but I split the quote into parts, so you don't have to order it all at once. You can also start smaller: adding a single automation to an off-the-shelf CRM takes a few days of work and starts at around €500. Running costs, meaning hosting and any AI calls, run from tens of euros to the low hundreds a month.

The cost of custom CRM development depends mainly on the scope of the first version: how many of the features listed above you need right away, how many roles and access rules need setting up, whether you want a client portal, how many systems the CRM connects to and how much old data needs migrating. After a free consultation, you get a quote split into parts, each with a specific price and delivery date. If you approve the quote or some of its parts, I build a free prototype on a sample of your data, so you can check that it will work before you make a final decision. Deployment usually takes 6 to 12 weeks.

By default I run the system on my own accounts for a monthly fee, and before any of your data is migrated, we sign a data processing agreement under Article 28 of the GDPR. I always fix bugs in the system for free. For payments, moving the system to your own accounts and the other terms, see how we work together.

I'm based in Košice, Slovakia: we can meet in person in and around Košice, and I work online with companies elsewhere in Slovakia, in Czechia and abroad. Use the form below to tell me what you use to keep track of clients and projects today, and I'll get back to you within eight hours.

02 FAQ

Common questions

Is a custom CRM worth it compared with monthly licence fees?

It pays off mainly when several people use the CRM and you'd otherwise have to work around an off-the-shelf tool. For a small team with a standard process, an off-the-shelf tool comes out cheaper. A CRM of your own costs more up front, but after that you don't pay a per-user licence, only a monthly fee for running the system. In the consultation, we'll compare the two using your own numbers: how many people will use it, what the licences cost and how much work you currently do outside the tool.

What if we already have an off-the-shelf CRM and it's just missing something?

Then you often don't need a new CRM: an automation or an API integration that adds the missing part is enough. Your current CRM could then, for example, pick up inquiries from your website form automatically or send data to your accounting software. We'll find out in the first consultation whether it supports that.

Can we start with a smaller version and add features over time?

Yes, a CRM can be built in stages, starting with the part that holds your company back the most today, such as client and quote records. A client portal or a connection to invoicing can follow once the first part has proved itself in day-to-day use.

Will the history and attachments from our old CRM be migrated too?

Yes, as long as they can be extracted from the old system through an export, an API or directly from its database. I'll link notes, communication history and attachments to the clients they belong to, so you don't start from scratch in the new CRM. In the consultation, we'll use a sample export to check whether your system allows this. A few rows are enough, with real names and contact details replaced by made-up ones.

Can a custom CRM issue e-invoices under Slovakia's 2027 e-invoicing mandate?

Yes. If you want the CRM to issue invoices itself, I'll build it to create them as e-invoices in the Peppol BIS format and pass them to a certified delivery service provider of your choice, known in Slovakia as a “digital postman”. The CRM then keeps the XML of every e-invoice for 10 years from the end of the calendar year it relates to, as the Slovak VAT Act requires of VAT-registered businesses. From 1 January 2027, VAT-registered businesses established in Slovakia must, with some exceptions, issue invoices to businesses and other legal entities in Slovakia, including the public sector, as e-invoices in a structured XML format. A PDF alone is no longer enough. If your accounting software issues the invoices, the CRM only sends it the details. The Slovak Financial Administration gives an overview in English on its eInvoicing page.

Contact

Tell me what you still do by hand.

A few lines about the process that slows you down or the system you need are enough. Within eight hours I'll get back to you on whether and how it can be built, and if it makes sense, we'll set up a short call.

Prefer email or phone?

patrik.krajnak.dev@gmail.com +421 950 625 466

I reply within 8 hours. Based in Košice, Slovakia (CET), working remotely

Calls on Google Meet: Monday to Thursday 7:00 to 20:00, Friday until 18:00. Weekends by arrangement.

Or email me directly at patrik.krajnak.dev@gmail.com.

I use your details only to reply and to arrange the call. Privacy policy