When should a German SME choose custom CRM development?
Build your own CRM when at least two of these are true: you have enough users that per-seat fees are a major line item, your sales process fights the standard pipeline, you need data hosted and deleted exactly your way, or you depend on integrations a SaaS CRM supports poorly. With only one of them, a SaaS CRM usually wins.
German SMEs that ask us about custom CRM development tend to have a recognisable profile. A Mittelstand manufacturer with a dozen sales reps and a long quoting process tied to its ERP. A wholesaler whose field team visits the same customers monthly and needs offline notes. A service company that sells through phone calls and needs every call logged against the right customer. A consultancy that manages projects and sales in one place and is tired of paying for two tools.
What they have in common is that their workflow is the product, and the CRM has to follow it. A SaaS CRM asks the team to adapt to the vendor’s idea of a pipeline, which works well for many companies and poorly for some.
- Good fit: many internal users who need only a few functions each
- Good fit: quoting or order steps that depend on ERP or product data
- Good fit: strict data protection requirements on hosting and deletion
- Poor fit: a small team with a standard pipeline and no special integrations
- Poor fit: marketing automation needs that a SaaS suite already covers well
Custom CRM vs HubSpot or Pipedrive: a five-year cost model
Compare five years, not one. A SaaS CRM costs little in month one and a steady amount forever; a custom CRM costs more up front and much less per month afterwards. The crossover point depends almost entirely on your seat count and tier.
Build the SaaS side like this: number of users × monthly price per seat for the tier you actually need × 60 months, plus paid add-ons, plus any implementation help, plus expected growth in seats. Check HubSpot’s and Pipedrive’s current pricing pages in euros for the per-seat figures; both price per user, and higher tiers add features such as custom objects, advanced reporting or permissions.
Build the custom side like this: the one-time build (with us from US$900), plus hosting in your AWS account, plus maintenance (free for two months, then from US$120/mo), plus a budget for new features in years two to five.
Put both totals next to each other with your real numbers. For three or four users the SaaS route nearly always wins. For larger teams, especially where only a few people need advanced features and many need simple access, the custom route often wins by year three. We fill this model in with you during the quote so the number, not a sales pitch, decides.
What should a custom CRM include in version one?
Only what your team uses every week. Version one of a custom CRM should cover companies, contacts, deals or opportunities, activities and tasks, a pipeline view, basic reports, roles and an audit log. Everything else waits until users ask for it.
We start by sitting (virtually) with two or three of your sales people and asking what they open first in the morning, what they type repeatedly, and which spreadsheet they keep on the side because the current tool cannot do it. That side spreadsheet is usually the real requirement.
A tight first version ships faster, costs less and teaches you what matters. Features that sounded essential in the workshop often turn out to be unused. Features nobody mentioned, such as a filter for “customers not visited in 90 days”, turn out to be the ones reps love.
A question we hear often is whether low-code platforms or a CRM builder inside an existing tool would do the job instead of custom CRM development. Sometimes they do, and we will tell you. They suit simple lists and forms with a few users. They get awkward when you need fine-grained roles, audit logs that users cannot edit, scheduled deletion across related records, offline mobile use or hosting in your own German cloud account, and many of them also charge per user, which brings back the pricing problem you wanted to leave behind.
Must have
Contacts and companies, deals with your stages, tasks and reminders, notes, search, roles, audit log, export.
Often phase two
Quote generation, email sync, telephony, mobile app, dashboards, AI summaries.
Usually not needed
Full marketing automation, social media tools, a built-in email designer.
DSGVO deletion concept: building a Löschkonzept into the CRM
A deletion concept defines, for each type of personal data, how long you keep it and what happens when that period ends. In a custom CRM we turn that concept into code: retention rules per data category, scheduled deletion or anonymisation jobs, and a log of what was removed and when.
The legal background sits in the GDPR: the storage-limitation principle in Article 5(1)(e), the right to erasure in Article 17 and the security duties in Article 32. German tax and commercial law adds retention duties. Under § 147 AO, books and records are kept for ten years, booking vouchers for eight years and other listed documents such as business letters for six years, each counted from the end of the calendar year. A CRM holds both kinds of data, so deletion must be selective.
In practice: a lead who never became a customer might be anonymised after a period your DPO sets; a customer’s invoices stay for the statutory period while marketing preferences go sooner; an erasure request deletes what can be deleted and blocks what must be kept. Your data protection officer and lawyer define the periods; we build the mechanics and document them.
- Data categories mapped: leads, customers, contacts, communications, invoices
- Retention period per category, set by your DPO
- Scheduled jobs that delete or anonymise automatically
- Erasure requests handled with a block on records that must be kept
- Every deletion written to a log for your records
Audit logs, roles and access control in a custom CRM
Every change to customer data should be traceable: who changed what, when, and from which value to which. An audit log does that, and in a custom CRM it is cheap to build in from the start and expensive to add later.
We record create, update, delete and export actions with user, timestamp and the changed fields, and we store the log so normal users cannot alter it. Role-based access decides who sees which companies, whether reps see only their own accounts or the whole region, and who may export data. Exports are a common leak, so they are logged and limited by role.
Access control also covers the basics that auditors ask about: strong passwords or single sign-on through your Microsoft 365 tenant, two-factor authentication, automatic logout, encryption in transit and at rest, and daily backups with a tested restore. These measures support your obligations under the GDPR; confirming compliance is your responsibility with your own counsel.
Hosting a custom CRM in AWS Frankfurt
Host the CRM in AWS’s Frankfurt region (eu-central-1) or on your own servers in Germany, with the cloud account in your company’s name. That keeps customer data in Germany at rest and makes the processor contract a matter between you and your provider.
A typical setup for an SME CRM: a managed database with automated backups and encryption, the application on a small managed container or server setup, file storage for attachments, a separate staging environment and monitoring for errors and uptime. Another of us on our team handles AWS architecture and sizes it to your user count rather than to worst-case assumptions.
AWS offers a data processing addendum for GDPR purposes, which you accept in your own account. If your policy requires a German-owned host instead, the same application runs on a German provider’s servers. Either way, we work through access you grant and can revoke.
For the website side of data protection, see our GDPR-compliant website guide.
Connecting the CRM to Lexware Office and DATEV
Most SMEs want the CRM and accounting to share customers and invoices so nobody types data twice. Lexware Office, formerly lexoffice, has a public REST API; DATEV connections usually run through exports your Steuerberater imports or through DATEV’s own interfaces.
Lexware’s developer documentation describes endpoints for contacts, sales vouchers such as quotations, order confirmations and invoices, articles, payments and webhooks, and notes that the API gateway moved to api.lexware.io after the rebranding in May 2025. A custom CRM can create the customer in Lexware Office when a deal is won, create a quotation from the deal, and show payment status back on the customer record.
For companies whose bookkeeping runs through DATEV, the usual route is a structured export of invoices and customer master data in a format the tax adviser can import, or a direct connection where your DATEV setup supports it. Our DATEV API integration page covers the options in depth. If you invoice public-sector or business customers electronically, add XRechnung or ZUGFeRD output.
Microsoft 365, email and calendar integration
If your team lives in Outlook and Teams, the CRM should meet them there. Through Microsoft Graph, a custom CRM can log emails to the right contact, create calendar entries for visits, sync contacts and let staff sign in with their Microsoft accounts.
We usually build three things: single sign-on through your Microsoft Entra ID tenant, so leavers lose CRM access automatically when IT disables their account; email logging, either by a button in the CRM or by rules for specific mailboxes; and calendar sync for appointments created in the CRM.
Data protection matters here too. Logging every email automatically can store more personal data than you need, so we agree with your DPO which mailboxes and which messages are captured, and we apply the same retention rules as the rest of the CRM.
Telephony integration: click-to-call and call logging
Sales teams that sell by phone gain the most from telephony integration: click-to-call from the CRM, the caller’s record opening on incoming calls, and every call logged with duration and notes.
Most German cloud telephony providers offer APIs or webhooks that report incoming and outgoing calls. A custom CRM listens to those events, matches the number to a contact and creates an activity. Click-to-call triggers the call through the provider’s API or a softphone link.
Call recording and transcription need extra care: they require a clear legal basis and usually the caller’s consent, and they must follow your retention rules. If you want AI summaries of calls, we build them only where your DPO has approved the process, keep processing in EU regions where possible and store only the summary if that is enough. An AI phone assistant for inbound calls is a separate option; see AI phone assistant for small businesses.
Mobile CRM access for field sales
Field sales reps need three things on the road: today’s visits, the customer history, and a fast way to log what happened, even without mobile reception. A responsive web CRM covers the first two; offline notes usually need an app.
For many SMEs a progressive web app is enough: the CRM works well in the phone browser and can be added to the home screen. When reps visit customers in rural areas, basements or large sites with poor reception, a native app built with Flutter or React Native stores notes and photos offline and syncs later. That app starts at US$600 and is published on Google Play and the App Store under your developer accounts.
Useful field features include a visit list sorted by route, a map of nearby customers, photo capture of shelves or installations, voice notes turned into text, and a quick form for orders or follow-ups. We add them based on what your reps actually do in a day.
Migrating from HubSpot, Pipedrive or spreadsheets
Moving data into a custom CRM is mostly a mapping exercise: export from the old tool, clean, map fields to the new structure, import to staging, check with users, then repeat for the final switch.
SaaS CRMs let you export records as files or through their APIs. Spreadsheets are often messier: duplicate companies, mixed formats, notes in the wrong column. We deduplicate, standardise addresses and phone numbers, and flag records that lack a legal basis to keep, so your DPO can decide before they enter the new system.
Plan a short period where both systems run, with the old one read-only. Cancel the SaaS subscription only after users confirm the new CRM has everything they need and you have archived a full export.
History deserves a decision of its own. Old emails, call notes and closed deals from years ago are useful for some customers and pure liability for others. We suggest importing open deals, active customers and a defined window of activity history, then archiving the rest in a read-only export that your DPO can review and delete on schedule. That keeps the new CRM fast and your deletion concept honest from day one, instead of inheriting every record the old system ever held.
AI features in a custom CRM: what is useful and what is not
Useful: summaries of long email threads and calls, suggested next steps, first drafts of follow-up emails, and scoring leads by patterns in your own won and lost deals. Less useful: chat interfaces nobody opens and predictions based on too little data.
We add AI features only after the core CRM holds clean data, because AI on messy data produces confident nonsense. Where personal data is involved, we prefer EU-hosted model endpoints, send only the fields needed and log AI actions like any other change. AI automation work starts at US$600.
For automations across tools without custom code, such as a won deal creating a project, an invoice and a welcome email, workflow tools often do the job; see n8n automation.
Risks of custom CRM development and how to avoid them
The two classic failures are building too much and building without the users. Both are avoidable.
- Scope creep: version one tries to match every SaaS feature; keep it to weekly-use functions
- No user involvement: sales staff see it only at launch; involve two reps from week one
- Data held hostage: code or cloud account in the developer’s name; insist on your own accounts
- No deletion concept: personal data piles up forever; define retention before building
- Single developer: one person knows the code; ask who else can maintain it
- No budget after launch: the CRM freezes; plan maintenance and small improvements
- Unrealistic comparison: SaaS costs counted for one year only; always use five years
For wider budget benchmarks, see software development cost in Germany.
How custom CRM development with a team in India works from Germany
India is three and a half hours ahead of German summer time and four and a half hours ahead in winter. A call at 9:30 in Munich is early afternoon for us, and work done in our afternoon is on staging when your team arrives the next day.
The first two weeks run like this. You share your current tools, a sample export and a short description of your sales steps. We reply with questions and send an itemised quote in USD within about two working days, including the five-year cost model. After written approval, week one covers a video session with two or three sales users, the data model and the AWS account set up in your name. Week two brings a clickable first version on staging with real-looking test data, so users can react early.
Calls happen in English. You pay in USD or EUR by Wise or bank wire, per milestone. Invoices come from India; your Steuerberater advises on booking them. Terms not covered in the quote follow our terms page.
Worked example: a building-supplies wholesaler replacing per-seat CRM licences
This is a hypothetical scenario for illustration, not a client story.
Say a building-supplies wholesaler in the Ruhr has 25 users on a SaaS CRM: eight field reps, ten inside-sales staff and seven people in service and management who only look up customers. It pays per seat for all 25 on a tier chosen for the reps’ needs, runs invoicing in Lexware Office and uses Microsoft 365.
A custom CRM would give everyone the same system without per-seat fees: a web app for inside sales and management, an offline-capable app for field reps, Lexware Office sync for customers and invoices, Microsoft 365 sign-in and calendar sync, and a deletion concept agreed with the company’s DPO. With us, the web CRM would start at US$900 and the field app at US$600, hosted in the wholesaler’s own AWS Frankfurt account.
The decision would rest on the five-year model: 25 seats × the current per-seat price × 60 months, against the build plus hosting plus maintenance from US$120/mo. If the SaaS total is lower, the wholesaler keeps SaaS, and we would say so.
Custom CRM requirements checklist
Answer these before asking anyone to quote. They turn a vague wish into a buildable brief.
- Number of users by role, today and in three years
- Your sales stages, in order, with what triggers each move
- The spreadsheets your team keeps next to the current CRM
- Systems to connect: accounting, ERP, Microsoft 365, telephony, website forms
- Who needs mobile access, and whether they work without reception
- Retention periods for each data category, set by your DPO
- Hosting preference: AWS Frankfurt or your own servers
- Reports management reviews every week
- Current per-seat price and tier, for the five-year comparison