dvankley / firefly-plaid-connector-2

Connector to pull Plaid financial data into the Firefly finance tool
GNU General Public License v3.0
94 stars 14 forks source link

Firefly transaction titles are often redundant #109

Closed nprzy closed 3 weeks ago

nprzy commented 1 month ago

I noticed that the Firefly transaction titles are often a bit redundant. Here are a few examples from my own accounts:

The names are currently generated as "${plaidTx.name}: ${plaidTx.originalDescription}".

A few observations and thoughts:

  1. Although originalDescription is marked as nullable in the API spec, I think the fact that the sync requests explicitly ask Plaid to populate that field probably means that it will very rarely be null.
  2. For me, the originalDescription is generally good enough to tell me what the transaction is without name or merchant_name.
  3. Plaid's API docs now recommend against using the name field in favor of merchant_name. At least in my own transaction data, I pretty universally prefer merchant_name over name. I would personally prefer not to have name propagated into my FF transactions at all.
  4. Some users (at least me) may be happy enough with merchant_name being populated into the FF src or dest "account" field, so having it again in the description may be redundant.

I've started addressing this in my own fork (https://github.com/nprzy/firefly-plaid-connector-2/commit/8f08c284911aade9655fa927f6bd4cf8190dc7c1) but I'm not really happy enough with the solution yet to submit a PR. I figured I'd open an issue instead and see if anyone else had thoughts/preferences.

dvankley commented 1 month ago

As far as I can recall, like much of this project, the current naming convention was just something I pulled out of my butt when I first wrote this, so I'm definitely open to changing it.

Making it configurable like the commit you linked is probably the best approach. That said, if we have reasonable confidence that the new configuration is better across the board, I don't mind making that the new default and reacting if users don't like it.

Might also be a good time to deprecate the useNameForDestination config option if that makes sense.

nprzy commented 1 month ago

Any objections to something like this? https://github.com/nprzy/firefly-plaid-connector-2/commit/e366145c1a2b3ec05e3086150e88d2d0f3b72430

Lets the user configure a SpEL expression to fully customize their description. I'm thinking about something similar for the notes field too.

dvankley commented 1 month ago

No objections; looks like good stuff to me.