Skip to content

[zenmoney] Некорректное сопоставление accounts при совместном доступе #989

@guard43ru

Description

@guard43ru

Проблема

В аккаунте zenmoney подключены две учетные записи, у каждой учетной записи настроена синхронизация счетов через tbc-ge.
При этом последние цифры IBAN у счетов совпадают. Из-за этого счет привязывается к другому аккаунту (даже не спрашивает создать новый или выбрать нужный).

Пример двух счетов одной валюты (первый syncIds это IBAN, второй это номер карты), смотрел через yarn start tbc-ge

{ "id": "819363191","syncIds": [ "0007", "6551" ] }
{ "id": "817368119","syncIds": [ "0007", "0272" ] }

У нас есть две пары syncIds и они уникальны(!), но zenmoney ищет первое совпадение и цепляется по нему.
Как проверял:

  1. При подключении синхронизации у второго пользователя, молча привязывает счета в правильной валюте, к счету где есть "0007" (то что второй Ids не совпадает, игнорируется), все транзакции смешиваются.
  2. Если сделать счета первого пользователя личными, при подключении синхронизации у второго пользователя создает новые счета (спрашивает), все работает. Но это костыль и неудобно (в планировании).
  3. Удаляю у счета "0007", "0272". Запускаю синхронизацию, счет привязывается к личному(!) счету второго пользователя, где есть "0007". При этом сам счет я в приложении не вижу, т.к. он личный.
  4. Возвращаю как было, удаляю у счета "0007", остается "0272". Запускаю синхронизацию, счет привязывается к правильному счету, дописывает "0007".

Итог: ищет любое совпадение, игнорирует что другие syncIds не совпадают.

Решение

Достаточно проверять полное совпадение в syncIds, чтобы эта проблема исчезла.
Эта логика в приложении или бекенде, т.к. плагин при работе ничего про второго пользователя и его счета не знает.

@skvav техподдержка пишет:

Это не баг, т.к. в Дзен-мани счета идентифицируются по последним четырем цифрам. Если эти цифры совпадают у двух разных счетов, то они будут объединяться, увы.

Все же надеюсь что это баг, и исправление будет. Я понимаю что ситуация редкая (первый раз за 16 лет?), но вроде бы и фикс не сложный.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions