
# BezahlBrudi
In an effort to reduce the usage of Paypal, I created this simple web app. It can generate GiroCodes that can be used to easily transfer money between friends by showing a QR code that can be scanned by most banking apps. It will import all necessary infos for a normal SEPA bank transfer. No third parties involved, only the banks of the people who want to exchange money.
# How to use
Simple visit the webpage under [BezahlBrudi.jetzt](https://bezahlbrudi.jetzt), and put in your details. The QR code will be generated automatically as you type. You can choose to save your details in your browsers local storage, so you don't have to input your bank details every time.
# Installation
BezahlBrudi is a Progressive Web Application (PWA) that can be installed on your phone. It is a little different depending on the Browser and your OS.
| OS | Browser | Home Screen Shortcut | App Launcher | How to install |
| ------- | -------- | -------------------- | ------------ | -------------- |
| Android | Chrome | ✅ | ✅ | Tap the Install as App button or under the ⋮ menu, press Install app |
| Android | Vanadium | ✅ | ❌ | Under the ⋮ menu, press Install app |
| Android | Firefox | ✅ | ❌ | Under the ⋮ menu, press Add app to Home screen |
| iOS | Safari | ✅ | ✅ | Under the Share menu, press Add to Home Screen |
| iOS | Firefox | ✅ | ✅ | Under the ≡ menu, press Share, then Add to Home screen |
# Data privacy
The web app doesn't store any data of the sender, the receiver or the transaction outside of your machine. Everything runs locally in your browser. The `RememberMe` function uses your browsers local storage, so it's not even using cookies.
# Dev notes
## Content of a Girocode
| Line | Example | Note |
| ---- | ----------- | ---- |
| 1 | BCD | Service Tag |
| 2 | 002 | Version (001 oder 002) |
| 3 | 2 | Encoding (1 = UTF-8, 2 = ISO 8859-1, 3 = ISO 8859-2, 4 = ISO 8859-4, 5 = ISO 8859-5, 6 = ISO 8859-7, 7 = ISO 8859-10, 8 = ISO 8859-15) |
| 4 | SCT | SEPA Credit Transfer |
| 5 | XXXXXXXXXXX | BIC of receiver bank (optional in EWR) |
| 6 | Max Muster | Name of receiver (max 70 chars) |
| 7 | DEXXXXXXXXXXXXXXXXXXXX | IBAN of receiver |
| 8 | EUR13.37 | Amount (Format `EUR#.##`) |
| 9 | CHAR | Reason (4 letter code, optional) |
| 10 | RF366 | Reference (structured code (ISO 11649 RF Creditor Reference) |
| 11 | Pizza | Purpose (unstructured text, max 140 chars) |
| 12 | Foobar | Note to user (optional) |
_The app will skip lines 9, 10 and 12._
## Valid chars for SEPA "Verwendungszweck"
This also depends on your bank. Some banks allow more characters.
```
a-zA-Z0-9/?:\(\).,'\+-[:space:]
```
---
Build with ❤️ and 🍝.