bertvandepoel / tabby

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

Feature Request: Support for South African currency and bank account types #20

Open codefreak558 opened 2 years ago

codefreak558 commented 2 years ago

I would like to get support of our local currency (R) and then support for our bank types where we enter bank account types

bertvandepoel commented 2 years ago

Thanks for the feature requests. I've tried to add many of the popular currency symbols at some point, but remember being confused where looking into the South African Rand. Do you use the actual capital letter R or a special symbol for it? That way I know what to implement.

Concerning your banking system, I'm not quite sure what bank account types are. In Europe and the Middle East (potentially even the entire EMEA region), the same banking system is used using IBANs, from another issue I've learned that in the US they don't seem to use bank transfers for the use cases of Tabby, but I don't really know what it's like in South Africa. Could you explain a little more? Maybe give some examples of numbers/information that would be required? A link to an existing article or website that explains it well is also ok, but I can't really consider potential implementation without knowing properly what it's supposed to be like. Hopefully you can help me understand so I can make Tabby more suitable for (South) African users.

codefreak558 commented 2 years ago

For our currency its just a capital R.

For South African banking what we do is we will type in the bank name then a account number and then a branch code. So I think a way for implementation of it could be just for example just the bank they use and then the account number which is 10 numbers long

codefreak558 commented 2 years ago

I will take a look and see if I can find any implementations of South African banking somewhere so you may see

codefreak558 commented 2 years ago

A example on what a user could put for there card details is the following:

User details:

Bank Name: FNB Account number: 0690000031

Then there would be the rest of the users details. Here in South Africa as long as we have a bank name and account number we are able to do local transfers. International transfers are a different thing I personally have not done any before

bertvandepoel commented 2 years ago

Thank you for the replies. I've been down with COVID this week, so it's taken longer than usual to look at your replies in detail.

I can easily add a capital R as one of the options for currencies. I'll do that after writing this comment as a minor release. If you've already got an existing installation, you can just edit the config.php file and change the contents of the $currency variable.

Interesting to see that the account numbers in SA are only unique for each bank. Just to let you know, IBANs have a very diverse syntax too. Because of that reason, I've implemented it as a random string of characters with a maximum length of 34. That means I expect you'll be able to just put something like "FNB - 0690000031" into the IBAN field and it will work perfectly fine. Based on your issue, as well as #12 and #17. I have been considering redoing that part of Tabby. It will however at the very least require some UI changes to display different kinds of payment details, a change to the registration process, and an upgrade script to migrate existing installations, so it's not the easiest.

I hope you can already get going with the information in this post and the addition of the R as a currency option!

codefreak558 commented 2 years ago

Thanks for the response. I think for the bank implementation what you suggested should end up working fine because all we would need to show on the debts are the bank they use and there account number.

I will also set up my currency with what you suggested thanks!