Does self-hosted Zammad cost less than Zoho Desk per year?
For a buyer whose per-user Zoho Desk renewal keeps climbing, the short answer is that self-hosted Zammad carries no license fee, so the annual comparison turns on what you pay for infrastructure, optional support, migration and the staff who run the system. Zoho Desk's per-user subscription is a recurring line item that scales with every agent you add and with any add-ons you buy. Zammad's cost is spread across components you can size yourself, and most of them are either one-time or tied to a decision you control. Ask Zoho for a written breakdown of your current plan and add-ons, then line it up against the components below rather than against a single headline number.
The components that recur are servers or cloud capacity, backups, storage, and optional support. Zammad needs PostgreSQL 15 or newer and Redis 7 or newer, and Elasticsearch is optional but strongly recommended for search and attachment content. Multi-instance deployments also need Memcached. If you want a vendor on the hook, Zammad GmbH sells self-hosted support subscriptions named Business at 2,999 EUR per year, Enterprise at 5,999 EUR per year and Corporation at 9,999 EUR per year, per the Zammad pricing page. Those figures are list prices from that page, and you should confirm what each tier covers and whether it includes upgrade help before you compare them to your Zoho spend. Self-hosting tends to cost more where you lack in-house Linux, database and search operations skills, or where you must add high availability and off-site backups that Zoho Desk otherwise provides.
The one-time costs are migration and configuration, and they are where self-hosting most often runs over. Zammad has no built-in Zoho Desk migrator, so the route is a data export, attachment retrieval through the API and an import through the Zammad API or custom development, which is labor you either staff internally or buy as a fixed-scope project. Ask any implementation partner for a written scope that covers department and SLA mapping, attachment handling, test cycles and cutover. Then build a three-year total: subscription, hosting, backup storage, support tier if chosen, and the share of an administrator's time for upgrades and monitoring, against one-time migration cost. The result shows whether the savings hold, which depends on your agent count, your renewal terms and how much staff time you can realistically commit.
Which cost components differ between Zoho Desk and self-hosted Zammad
This table lists each cost component of running a help desk, shows how Zoho Desk bills it against self-hosted Zammad, and marks whether it is one-time or recurring. Use it as a checklist against your own Zoho Desk invoices, then price each self-hosted row from your own infrastructure and staffing. The main takeaway is that Zammad removes the license line but moves the cost into servers, people and optional support.
| Cost component | Zoho Desk (commercial) | Zammad (self-hosted) | One-time or recurring |
|---|---|---|---|
| Subscription or license | Per-user subscription in a plan tier; pull the current rate from your own order form | No license fee for the self-hosted software under AGPLv3 | Recurring for Zoho Desk; none for the software itself |
| Add-ons and modules | Add-ons and higher tiers billed on top of the base seat price; confirm which features you use sit in which tier | Core features are in the release; no add-on invoices for included functions | Recurring for Zoho Desk; none for Zammad core |
| Infrastructure | None on your side; Zoho hosts the application | Virtual or physical servers or Kubernetes nodes sized for agents, attachments and peak ticket volume | Recurring, driven by hosting choice and sizing |
| Database and search | Included in the hosted service | PostgreSQL 15 or newer, Redis 7 or newer, and optional but strongly recommended Elasticsearch for search and attachment content | Recurring for hosting, backups and patching |
| Implementation | Configuration of departments, SLAs and automations in the admin console | Installation, reverse proxy, TLS, email channels, authentication and hardening, usually scoped in writing | One-time, sized by integrations and security requirements |
| Migration | Export your data first; Zammad has no built-in Zoho Desk migrator | Custom route through a Zoho Desk backup, Desk API attachment retrieval and the Zammad API or custom development | One-time, driven by ticket volume and attachment count |
| Support | Included in the plan; check which support tier your contract includes | Optional Zammad self-hosted support subscriptions (Business, Enterprise, Corporation) or a third-party support contract | Recurring if you buy support; otherwise internal or partner effort |
| Upgrades and patching | Performed by Zoho | Your team applies minor and security releases; the 7.2 line and 6.5 security releases show parallel maintenance | Recurring staff time and test environments |
| Internal skills and staffing | Administrator time for configuration and reporting | Named Linux, database and application owners on call for the help desk | Recurring, usually the largest line for a self-hosted help desk |
| Data export and exit | Backup exports depend on your plan and settings; confirm the contents and link expiry before renewal | Data stays on your servers, so exit planning is about your own backup and retention schedule | Recurring backup storage; one-time export project if you leave |
What moves the Zammad total cost of ownership up or down
Zammad carries no license fee, so its total cost follows the size of the deployment and the people who run it. The cards below cover the drivers that push the total up or down, and each one is a question to answer before you compare it with Zoho Desk's per-user invoice.
Agent count and concurrent users
Zoho Desk is priced per user, so its bill rises with every agent seat. Self-hosted Zammad has no seat fee, but more agents working at the same time mean more application server capacity, more database connections and more websocket traffic. Count peak concurrent agents and channel users, not just named seats, and ask your Zammad partner or the vendor how the sizing scales with that number.
Ticket and attachment volume
Storage grows with ticket history and with attachments, and those files are typically the largest part of the data set. Estimate yearly ticket volume and average attachment size from your Zoho Desk export before sizing disks and backup targets. Retention rules for closed tickets decide whether that growth is permanent or can be archived.
Instances and high availability
One Zammad installation on a single host is the simplest and cheapest shape. Running several application nodes behind a load balancer adds servers, a shared cache, and failover testing. Multi-instance deployments such as containers or cluster nodes need Memcached, so confirm the topology you need before you price hardware or cloud instances.
Elasticsearch sizing
Elasticsearch is optional but strongly recommended, because it speeds up search, powers reporting and indexes the text of email attachments. Its memory and disk needs grow with indexed content, so a team that searches large attachment archives will need a larger node than a small team. Decide early whether you run it on the same host, on a separate node or as a managed service, since each choice changes the server line in your estimate.
Support tier chosen
Zammad sells self-hosted support subscriptions named Business, Enterprise and Corporation, each with a yearly fee listed on the pricing page. Without a subscription you rely on community resources and your own staff. Compare each tier against the response times and escalation paths your Zoho Desk SLAs require, and ask the vendor what each tier includes before you commit to one.
In-house skills and staffing
The largest recurring cost is often the person time needed to patch PostgreSQL, Redis, Elasticsearch and the Zammad application, monitor them and restore backups. A team without Linux, database or search operations skills will either train staff or pay an implementation partner for a fixed-scope setup and a support retainer. Price that staffing time explicitly, because it is the component most likely to be missing from a first comparison.
How to build the cost model with your own numbers
This sequence turns your current Zoho Desk invoices and a Zammad server design into one comparable three-year view, split into one-time and recurring totals. Each step ends with a figure you can check against a written quote.
Export your current Zoho Desk plan and seats
Finance or the Zoho account owner pulls the last twelve months of invoices from the Zoho billing portal and records the plan tier, the number of licensed agents, and any add-ons such as extra channels, sandbox or AI features. Separate agent seats from light users or read-only accounts, because they often bill differently. The step is complete when one sheet shows the annual recurring charge per tier and the renewal date, all taken from invoices rather than list prices.
Size the Zammad application and database tier
The platform or infrastructure team lists the Zammad components you would run: the application servers, a PostgreSQL 15 or newer database, a Redis 7 or newer instance for realtime websocket traffic, and a reverse proxy such as Nginx or Apache. Estimate the instance count for high availability and for test and staging environments. The step is complete when each component has a named host or managed service, a size, and an owner, which gives you the server line of the model.
Add search, caching and backup infrastructure
Elasticsearch is optional for Zammad but the vendor strongly recommends it for search, reporting and attachment content search, so decide whether you will run it and at what node count. Memcached is needed for multi-instance deployments such as containers or cluster nodes, while a single installation can use the file system cache. Add storage for attachments, backups and log retention. The step is complete when each optional component is marked in or out, with its hosting cost attached.
Price migration and integration work
Request written quotes for the Zoho Desk export, the attachment retrieval through the Desk API, the import into Zammad, and mapping of departments, teams, SLAs and business hours. Ask whether the work is fixed scope, what is excluded, and how custom development for data outside the built-in migrators is priced. Include identity integration such as SAML or OpenID Connect if you need single sign-on. The step is complete when each migration line has a quote tied to a written scope, recorded as a one-time cost.
Decide on support and internal staffing
Choose between running Zammad with internal staff and community resources, or buying a self-hosted support subscription from Zammad GmbH. Zammad publishes annual prices for its Business, Enterprise and Corporation subscriptions, so use those figures as the vendor's stated list prices and confirm current terms on its pricing page. Also estimate the hours your administrators spend on upgrades, patching, backups and monitoring, and who covers them. The step is complete when support is either a line item or an explicit decision to self-support, with the staffing hours written down.
Set a three-year horizon and total the costs
Lay out three years in columns. Put migration, setup, hardware purchase and initial configuration in a one-time row, and put Zoho Desk subscriptions, server hosting, storage, support and staff time in recurring rows. Run the Zoho Desk line at your current seat count and again with your expected growth, so the two scenarios are visible. The step is complete when you have a one-time total and a three-year recurring total for each option, side by side.
Test the model against written quotes
Send the completed sheet and the written scopes to at least two implementation partners and ask for quotes that match the same server tiers, components and assumptions. Check that every figure in the model traces to an invoice, a vendor price page, a quote, or a named internal estimate, and mark any gap as an open question. Recalculate the totals after each quote arrives. The step is complete when every line has a documented source and the model shows the differences that remain.
How the cost picture differs for small teams and larger support organizations
A single-team shared inbox usually pays for Zoho Desk per agent and has few departments, queues or add-ons in use. The Zammad side is mostly a fixed set of costs: one application host, a PostgreSQL database, a cache and, if you want faster search, an Elasticsearch node. Because Zammad has no license fee for self-hosted use, the recurring cost is infrastructure and the time of whoever keeps it patched.
- Fixed infrastructure: One small application server with PostgreSQL, Redis and optional Elasticsearch is a recurring cost that does not change with the number of agents.
- Per-agent subscription: Zoho Desk charges per user on each plan, so the bill rises with every seat even when the inbox volume stays the same.
- Administration time: Upgrades, backups and mail configuration fall to one or two people who may already have other duties.
- Optional support: A self-hosted support subscription is a choice, not a requirement, and a small team may decide to rely on the community and internal skills.
- Smaller-inbox alternative: For a very small shared inbox, FreeScout is another self-hosted option with its own paid module licenses, covered on the sibling comparison page.
Before deciding, ask your Zoho Desk account team to confirm which plan and per-agent price applies to your seats, and estimate the server and admin hours with your own platform team.
A multi-department support organization usually runs several queues, SLAs, departmental teams and add-ons on Zoho Desk. Those features are where the Zoho Desk bill tends to grow, because seat counts, plan tiers and add-ons are often tied to departments. On the Zammad side, the software cost stays at zero, but the infrastructure and operating effort grow with user count, mailbox volume and the number of environments you need.
- Seat growth: Each new department adds agents, and Zoho Desk billing rises with them, while Zammad licensing stays unchanged.
- Infrastructure scaling: More agents, attachments and search load can require larger database and Elasticsearch capacity, and multi-instance setups need Memcached.
- Environments: Separate test, staging and production instances multiply hosting and backup work.
- Integrations and identity: Single sign-on through SAML or OpenID Connect and mailbox connections add configuration and testing effort per department.
- Migration and parallel running: Moving several departments takes longer and costs more in staff time, and migrations are all or nothing with one source system per run.
Ask your implementation partner for a written scope that lists instances, environments, expected agent counts and integrations, since those drivers decide the recurring cost.
Some Zammad cost lines move with scale, and knowing which ones lets you forecast without guessing. The main drivers are the compute and storage behind the application, the search cluster, the people who run it, and any support subscription you choose to buy. These lines grow in steps when you add users, mailboxes or sites, and they also grow with ticket history and attachment volume.
- Database and storage: Ticket history, article bodies and attachments accumulate, so disk and backup size rise over time.
- Elasticsearch capacity: Larger archives and more search and reporting use need more memory and disk on the search tier.
- Support tier: Business, Enterprise and Corporation subscriptions are priced by Zammad GmbH on its pricing page, and a higher tier usually reflects a larger installation or stricter response needs.
- Operations staffing: More instances, environments and integrations usually mean more hours for upgrades, monitoring and incident response.
- Backup and recovery testing: Restore testing scales with the size of the data set and the number of environments.
Ask for a quote that states the support tier you need and how it changes if you add a second instance or a second region.
Some cost lines stay roughly the same however many teams use the system, and these often carry most of the value of a self-hosted decision. The software license is the clearest example: self-hosted Zammad has no license fee, so adding a department does not add a Zammad license line. Some setup work, such as planning the architecture, configuring the core instance and building the backup routine, also happens once rather than per team.
- Software license: Zammad is licensed under AGPLv3 with no license fee for self-hosted use, so this line is zero regardless of agent count.
- Initial architecture and setup: Choosing the database, search and proxy layout, and building the first instance, is largely a one-time effort.
- Core backup and update process: Once you have a tested routine, adding departments usually reuses it rather than rebuilding it.
- Base infrastructure floor: A minimal production stack has a baseline cost that exists even at low volume.
- Compliance evidence: Policies and records of how the help desk is operated are prepared once and then maintained.
When you compare, confirm with your own platform team which of these lines apply to your environment, and ask any vendor or partner to split one-time and recurring items in writing.
What a Zoho Desk to Zammad migration costs in time and effort
Zammad has no built-in Zoho Desk migrator, so the migration is a one-time project built on a Zoho Desk data export and an import through the Zammad API or through custom development from Zammad. The built-in migrators for Zendesk and Freshdesk do not apply, and neither does the all-or-nothing, single-source route they offer, because it is designed for those two products only. Ask any implementation partner or Zammad contact to confirm the import method in writing before you estimate effort, since the choice between API scripting and custom development is the largest driver of cost in this project.
Scope the mapping work before you scope the import. Zoho Desk organizes work around departments, teams, agents, SLAs and custom fields, and Zammad uses its own groups, roles, organizations and ticket states and priorities. Each Zoho Desk department and SLA needs a documented target in Zammad, with an owner who signs off the mapping. Attachments deserve a separate line item, because a data export does not guarantee that the files come with it, so the team must plan how to retrieve them and how much storage the Zammad host will need. Confirm both points with Zoho and with your partner during the scoping stage.
Think of migration as a scoped, one-time cost that sits alongside the recurring costs in the rest of this comparison. Work that recurs is the Zammad host, database and search operation, plus any support subscription you choose. The migration itself should be quoted from a written scope that lists the data types, the number of historical tickets, the mapping decisions, the test rounds and the cutover plan. Ask for a dry run on a copy of real data, a reconciliation report comparing ticket counts and attachments, and a rollback plan, and check the sibling migration page for the step-by-step route rather than repeating it here.
Questions buyers ask before comparing Zoho Desk and Zammad costs
Does self-hosted Zammad have a license fee?
No. Self-hosted Zammad has no license fee because it is licensed under the GNU Affero General Public License version 3. You still pay for the servers or cloud capacity that run it, the staff time to install, patch and back it up, and any support contract you choose to buy. Zoho Desk, by contrast, is priced per user across its Express, Standard, Professional and Enterprise plans, and add-ons are billed on top. Ask Zoho for the current per-user price for the plan and seat count you need, and compare it with your own server and labor estimate over the same period.
Do I need a Zammad support subscription to run it?
No. A support subscription is optional for self-hosted Zammad. Zammad GmbH sells support contracts for self-hosted installations named Business, Enterprise and Corporation, priced at 2,999 EUR, 5,999 EUR and 9,999 EUR per year respectively, according to the Zammad pricing page. Buy one if you need vendor-backed response, escalation or guaranteed access to specialists, and budget it as a recurring cost. Confirm the current terms and what each tier covers directly with Zammad before you decide, because the scope of support can change.
What infrastructure does self-hosted Zammad need?
Zammad needs an application server, a PostgreSQL database (version 15 or newer), Redis 7 or newer for realtime websocket communication, and a reverse proxy such as Nginx or Apache. Elasticsearch is optional but strongly recommended for faster search, reporting and attachment content search. Multi-instance deployments such as containers or cluster nodes also need Memcached, while single installations can use the file system cache. Each of these is a line item in your cost model, along with backups, monitoring and a staging copy for upgrades. Check the Zammad software requirements page for the versions that apply to your release before sizing hardware.
Can an in-house team run Zammad without a partner?
Often yes, if you already run PostgreSQL, Linux and reverse proxies and have someone who owns on-call for internal applications. Zammad ships installation paths for packages, Docker Compose and a Kubernetes Helm chart, but on Kubernetes the Zammad support covers only the application, not Kubernetes-specific issues. Your team must own upgrades, which arrive as minor releases and security releases on more than one version line, and must test each one. Decide early who will do this work, how many hours per month it will take, and whether you need outside help for the first installation or a periodic upgrade.
How long does a migration from Zendesk or Zoho Desk take?
No supplied source gives a migration duration, so confirm the timeline against your own data before planning a cutover. Zammad has a built-in Zendesk migrator, but it requires an API token from a full administrator, does not migrate user passwords, does not support differential migrations, and its rate limits depend on your Zendesk plan. Zammad has no built-in Zoho Desk migrator, so that route relies on a data export and custom import work. The main drivers are ticket volume, attachment size, the number of custom fields and automations to rebuild, and how many parallel test runs you need. Ask any implementation partner for a written scope that lists each of these.
What does the migration need from our staff?
Staff time goes to four areas: someone with administrator rights in the source system to create exports or API tokens, a technical owner for the new Zammad instance, business owners who confirm how departments, teams, SLAs and macros should map, and agents who test real tickets before cutover. Zoho Desk's data backup covers tickets, threads, contacts and knowledge base articles as CSV files, but it leaves out attachment files and forum topics, so plan a separate attachment process. Schedule the backup in advance, because the backup interval and link expiry limit how often you can pull fresh data.
What should I ask for in a written quote?
Ask for a fixed scope that lists each deliverable: the infrastructure design, installation, Elasticsearch and Redis configuration, authentication integration such as SAML or OpenID Connect, data migration from Zoho Desk, testing, backup and restore verification, documentation and handover. Request the assumptions behind the effort, including ticket and attachment volumes, number of mailboxes and channels, and the upgrade support period. DeployOpen plans, implements, integrates, hardens, backs up, upgrades and documents self-hosted platforms in your own infrastructure, and most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. DeployOpen does not publish a price list, so a quote follows from that written scope.
Which costs recur after the first year?
Recurring costs are the servers or cloud capacity, backups and storage, monitoring, the staff hours for patching and upgrades, and any Zammad support subscription. One-time costs include migration, integration with your identity provider, initial hardening and documentation. Zoho Desk's per-user fees, add-ons and plan changes recur for as long as you stay subscribed. Costs rise when ticket volume, attachment storage or the number of agents grows, and fall when you standardize on fewer integrations. Model at least three years so that upgrade cycles and seat growth appear in the comparison.
Who keeps a self-hosted Zammad running and what that costs in staff time
Running Zammad is a set of recurring roles, and the license fee is the smallest of them. A production instance needs someone who owns the platform layer (hosts, container or Kubernetes runtime, reverse proxy, backups and restore tests), someone who owns PostgreSQL 15 or newer, someone who owns the Redis 7 realtime service and Elasticsearch search cluster, and someone who triages support requests and applies security releases. In a small team one person may hold several of these, but each role still recurs every month, not just at go-live. Ask who holds each role on paper before you compare totals with Zoho Desk.
Kubernetes changes who answers for what. Zammad's documentation for its Helm chart states that Zammad support covers only the Zammad application, not Kubernetes-specific issues. A node failure, a storage class problem or a networking fault therefore falls to your platform team or your implementation partner, not to the vendor. Confirm that position in writing with Zammad GmbH and with any partner you engage, and decide whether the platform team has the skills to diagnose the cluster at 2 a.m. The same split applies to Elasticsearch and Memcached, which are needed for search and for multi-instance deployments.
Security patching is the recurring item most often underestimated. Zammad published security releases for both its 6.5 and 7.x lines in parallel in October 2026, so a patch process needs to track two supported branches and apply fixes to whichever line you run. Budget staff time for reading release notes, testing in a staging instance, scheduling a window and rolling back if needed. Ask your partner whether patching, backup verification and monitoring are included in a fixed-scope engagement or sit in a retainer, because those answers decide whether the cost recurs as internal hours or as a separate fee.
How DeployOpen scopes a fixed-price Zammad cost review and migration
The sequence turns your current Zoho Desk spend and your support volumes into a written scope, a sized self-hosted design, a migration plan and handover documents, so you can compare costs against your own numbers before committing to a move.
Collect your current Zoho Desk cost baseline
You provide your current plan, user counts by role, add-on modules, renewal date and any related Zoho services you pay for. DeployOpen maps each line to a cost component so you can see which fees are per user, which are add-ons and which are tied to the wider Zoho suite. The step is done when you have a written list of every recurring charge tied to the help desk, confirmed against your latest invoice.
Define volumes, channels and integrations
Together we record ticket volume, mailbox and channel counts, attachment sizes, retention rules, and the systems that connect to the help desk, such as identity providers and business applications. These figures drive storage, database and search sizing later. The step closes when the inventory is agreed in writing and you have confirmed each figure against your own reporting.
Agree a written scope before any work starts
DeployOpen issues a written scope listing the deliverables, the cost review, the infrastructure design, the migration steps, the handover documents and any support options. Most engagements are fixed-scope, so changes are recorded as written amendments. The step is done when both parties have signed off on the scope and the quote that follows from it.
Size the self-hosted infrastructure
DeployOpen sizes the application servers, PostgreSQL, Redis, and optional Elasticsearch and Memcached tiers against your inventory, and compares those hosting costs with your current subscription. Zammad's documented requirements, including PostgreSQL 15 or newer and Redis 7 or newer, set the baseline. The output is a sizing sheet that shows which cost lines recur, such as compute, storage, backups and your staff time, and which are one-time.
Decide on Zammad support and staffing
You choose whether to run Zammad with internal staff alone or add a vendor support subscription, and DeployOpen documents the operating model, including who handles upgrades, backups and on-call response. Zammad publishes its support tiers, so the comparison uses those list prices as a reference point. The step closes with a responsibility matrix you can share with procurement and your security team.
Produce the migration plan and test export
DeployOpen documents the export route from Zoho Desk, the mapping of departments, teams, SLAs and knowledge base content, and the import method into Zammad, which has no built-in Zoho Desk migrator. A test import runs on a non-production instance and the results are compared with the source record counts. The step is done when the test report shows what migrated, what needs manual work and what was left out.
Hand over documentation and run-book
DeployOpen delivers architecture diagrams, configuration records, backup and restore procedures, the cost model, the migration report and an operations run-book your team can follow without us. Recurring costs and renewal dates are listed so you can review them each year. The sequence is complete when your team has walked through the handover and signed off on the documents.
How DeployOpen plans and hands over a self-hosted Zammad deployment
DeployOpen plans, implements, integrates, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For Zoho Desk cost vs self-hosted Zammad, we start by costing your actual plans, add-ons and staffing against the Zammad deployment you would run.
How we scope
- Start with your current Zoho Desk plan, user count, add-ons and renewal date so the comparison uses your numbers.
- Agree channels, mailboxes, SLA rules, departments and integrations in a written scope before any work starts.
- Define whether the deployment needs Elasticsearch, Memcached and a support subscription, and which of these the scope includes.
How we build
- Size the Zammad application, PostgreSQL, Redis and Elasticsearch tiers for your ticket volume and attachment history.
- Configure third-party login through your identity provider and test role, group and SLA behavior with your agents.
- Test the migration path with a sample export in a non-production instance before any cutover is scheduled.
How we hand over
- Deliver installation, configuration and backup runbooks so your own staff can operate the instance after handover.
- Document the cost components in writing, including infrastructure, staff time and any optional Zammad support contract.
- Walk your administrators through upgrades, including how security releases on each supported line are applied.
How we support
- Offer ongoing support, upgrades and continuous testing as a retainer after the fixed-scope project closes.
- Keep configuration and migration records current so later changes stay traceable to the agreed scope.
- Confirm with your team which support levels, response commitments and hosting locations you need before signing.

