Renaming a company does not change its database identifier. This is intentional behavior — the identifier is part of the API addresses, and changing it would break all existing integrations.
How the identifier is created
It is derived from the name when the company is created: the text has diacritics removed, is converted to lowercase, and characters outside a-z and 0-9 are replaced with an underscore. From that point on, it remains unchanged.
The current identifier of any company is shown in the company list — it's in the dbNazev field:
GET /c.xml
ℹ️ That's why you can't rely on the name: the company "FIRMA s.r.o." may have the identifier firma_s_r_o_, but after being renamed to "Nový název" it still keeps it. Always work with dbNazev, not the name.
When the identifier does change
When restoring from a backup — a new company is created, which receives a new identifier. This is covered in the article Flexi does not communicate after restoring from a backup.
When deleted and recreated — a completely different company may then exist under the same identifier.
