bertvandepoel / tabby

A friendly tool to manage debt
GNU Affero General Public License v3.0
71 stars 11 forks source link

In the US, we don’t have IBAN #12

Open jpartain89 opened 3 years ago

jpartain89 commented 3 years ago

I posted this on an old issue a couple days ago and was asked to make a new one:

Here in the US we don't have IBAN numbers, we have ABA routing numbers. But no one uses those here in the States for anything outside of old, kermudgeony programs and what not...

Most of us are using apps like Chime, Cash.app, Zelle, and other app-based payment transfer services...

So, having an option that here in the US we could either simply list our payment usernames or if you have the time and what not, to have your service pull in the app's corresponding information for that account. (Like, Cash.app uses a QR code that our friends can scan to send money)

So, with this IBAN requirement, I'm completely unable to even use this service, which i'm really interested in trying out.

n8dw commented 3 years ago

It worked for me by just entering 34 random alphanumeric characters (the length of an IBAN number)... it doesn't actually check an IBAN database. Hopefully this can work for you.

bertvandepoel commented 3 years ago

I see that @ndi8093 has already somewhat elaborated on the IBAN. So basically I implemented IBAN since it's the international standard for wire transfers, though it's mostly a thing in Europe and the Middle East I believe. I know that in the Americas and Asia people tend to use apps, but no idea if they would also use wire transfers as well. Thank you for clearing up that in the US it seems to be almost exclusively apps.

The way IBANs are implemented in Tabby is pretty basic and without many limitations, it's just a min 12, max 34 character string (since IBAN numbers vary in length depending on the country), so it can be letters, numbers, symbols, whatever. Technically, you can enter something like a username or other information in there, with the service prefixed or between brackets after it. I wouldn't suggest entering random characters, since the IBAN is actually displayed in places and could confuse people.

The IBAN is mostly used in emails, with sentences such as You can transfer the money to the following bank account: %IBAN%. Beyond that, the IBAN value is shown on the "My debt" view (and the same view using a token) and of course on your profile page where you can change it.

Of course the big question is how we could adapt Tabby to better suit those who want to use it from the US and other countries. Obviously, you could just fill in something like "jpartain89 (cashapp or zelle)" into the IBAN, but that would still look weird with terms like "bank account/transfer" and IBAN being mentioned in the interface. However, I'm also not too comfortable creating a huge dropdown list of apps (especially considering I know of about 15 apps that are in use around the world already, and I'm sure there's easily 50 that are popular enough). Brainstorming about it for a bit, I can see for example an option where registration forms feature the option to pick between IBAN, a URL (e.g. to a QR code or a link that opens inside an app directly) or a list of app usernames in some kind of standardised format. I feel however that something like that would still be a bit clunky and messy.

Do you both maybe have a better suggestion on how to tackle this issue? Also keep in mind that I want to keep Tabby as open as possible and clearly geared towards FOSS. I'm for example not willing to actively integrate with closed source APIs of specific services, but of course I'm fine with users entering names, links, usernames, etc.

jpartain89 commented 3 years ago

I personally would say to put in blank fields that we can add as many times as we want.

On the left: the service’s name. On the right, it could ask for a url, an image (qr code screenshot) or an address of some sort.

Then we could set a default option for what we want to display in our emails or online.

tghdev commented 3 years ago

Maybe a dropdown for certain services and a blank field to put in the corresponding value for the service, e.g. dropdown=paypal and field value = paypal_name. Would be great to support a bunch of "standard" app with the corresponding HTML payment link.