| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 491 |
| Technical Name |
vendor_bill_qr |
| License | OPL-1 |
| Website | https://junglescape.nl |
| Versions | 17.0 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Invoicing (account)
• Discuss (mail) |
| Lines of code | 491 |
| Technical Name |
vendor_bill_qr |
| License | OPL-1 |
| Website | https://junglescape.nl |
| Versions | 17.0 18.0 19.0 |
Vendor Bill Scan to Pay — EPC QR Code for Odoo Supplier Payments
Generate EPC QR codes (GiroCode) on vendor bill payments in Odoo. Open your banking app, scan the QR code, and pay your supplier instantly. Works with ING, KBC, Belfius, Sparkasse, and all banks that support the European SEPA QR payment standard.
How It Works
When you register a payment for a vendor bill in Odoo, this module automatically generates an EPC/SEPA-compliant QR code (also known as GiroCode in Germany and Stuzza QR in Austria) right inside the payment wizard. Simply scan the QR code with your banking app and the payment details are pre-filled — IBAN, beneficiary, amount, and reference. No more manual data entry.
The Payment Wizard in Action
Why Scan to Pay?
Before: You receive a vendor bill in Odoo, then open your bank's website or app, manually type the IBAN, copy the amount, type a payment reference, double-check everything, and finally hit send. Repeat for every single invoice. It's slow, tedious, and one typo can mean a payment to the wrong account.
After: You click "Register Payment" in Odoo, grab your phone, scan the EPC QR code, and confirm. That's it. The IBAN, amount, and reference are already filled in. On to the next one.
- Save minutes on every payment — no more switching between Odoo and your bank. Just scan and confirm.
- Eliminate manual entry mistakes — wrong IBANs, wrong amounts, mistyped references — all gone. What's in Odoo is what you pay.
- Pay multiple invoices in one go — select several bills from the same supplier, get one QR code, make one payment.
- Easier bookkeeping — invoice references land on your bank statement exactly as they appear in Odoo. Reconciliation becomes a breeze.
- Your reference, your way — set a company-wide prefix like "invoice: " or edit the reference per payment before you scan.
- Works with European banking apps — uses the official EPC QR standard (GiroCode) supported by banks across Europe.
Key Features
EPC QR Code / GiroCode Generation
Generates a standards-compliant EPC/SEPA BCD QR code directly in the
Register Payment wizard for vendor bills and vendor receipts.
Multi-Invoice Support
Select multiple vendor bills from the same supplier and register a single payment.
Invoice references are automatically combined in the payment description.
Real-Time Computation
The QR code updates instantly when you change the payment amount, currency,
or supplier. What you see is what you pay.
Payment Details Display
IBAN, beneficiary name, and payment reference are displayed alongside the
QR code so you can verify before scanning.
Safety Validations
Built-in checks ensure: single supplier per payment, single company,
valid IBAN format, EUR currency, and positive amount within EPC limits.
Clear Error Messages
If a QR code cannot be generated (e.g. missing IBAN, non-EUR currency),
the user sees a clear, actionable message explaining why.
Supported Banks & Countries
This module generates QR codes following the European Payments Council standard (EPC069-12) for SEPA Credit Transfers. The QR code can be scanned by any banking app that supports EPC QR codes (known as GiroCode in Germany and Stuzza QR in Austria).
Germany (GiroCode) — Nearly all banks supported
| Sparkasse (all ~360 Sparkassen) | Supported * |
| Volksbanken Raiffeisenbanken (all ~700 VR banks) | Supported * |
| Deutsche Bank | Supported * |
| Commerzbank | Supported * |
| Postbank | Supported * |
| DKB (Deutsche Kreditbank) | Supported * |
| ING Germany | Supported * |
| N26 | Supported * |
| HypoVereinsbank (UniCredit) | Supported * |
| Sparda-Bank, BB Bank, BW Bank, Norisbank, comdirect, 1822direkt, bunq | Supported * |
Austria (Stuzza QR) — Nearly all banks supported
| Erste Bank / Sparkasse (George app) | Supported * |
| Raiffeisen Bankengruppe | Supported * |
| Bank Austria (UniCredit) | Supported * |
| BAWAG P.S.K. | Supported * |
| Volksbank, Oberbank, BTV, BKS Bank, VKB Bank, HYPO banks | Supported * |
Belgium — All major banks supported
| KBC / CBC Banque | Supported * |
| Belfius | Supported * |
| BNP Paribas Fortis | Supported * |
| ING Belgium | Supported * |
| Argenta, VDK, bunq | Supported * |
Netherlands (QR betalen) — Partial support
| ING | Supported * |
| bunq | Supported * |
| Knab | Supported * |
| ASN Bank / SNS Bank / RegioBank (de Volksbank) | Supported * |
| Rabobank | Not (yet) supported (iDEAL QR) |
| ABN AMRO | Not (yet) supported (iDEAL QR) |
Finland, Luxembourg, France & more
| Finland | OP Financial Group, Nordea, Danske Bank and most Finnish banks * |
| Luxembourg | BCEE / Spuerkeess, BGL BNP Paribas, Banque Raiffeisen, ING Luxembourg * |
| France | ING France, N26, bunq, Revolut confirmed *. Major banks (BNP Paribas, Crédit Agricole, Société Générale) testing. |
| Italy, Spain & others | Growing adoption. Check with your bank. |
Pan-European Neobanks — Work in all SEPA countries
| Revolut | Supported in all SEPA countries * |
| N26 | All SEPA countries * |
| bunq | All SEPA countries * |
| Wise | All SEPA countries * |
* Important note: Bank support information is based on currently known data and may have changed. Banks may add or remove EPC QR support at any time. Always check with your bank to confirm that their mobile app supports EPC QR code (GiroCode / Stuzza QR) scanning before purchasing this module. Some countries (Switzerland, Czech Republic, Slovakia, Hungary, Poland, Romania, Slovenia) use their own incompatible QR payment standards.
EPC QR Code / GiroCode Standard Compliance
The generated QR codes follow the European Payments Council (EPC) Quick Response Code standard (EPC069-12) for SEPA Credit Transfers:
- Service Tag: BCD (version 002)
- Encoding: UTF-8
- Transfer type: SCT (SEPA Credit Transfer)
- Includes BIC when available on the bank record
- Unstructured remittance information (invoice references)
- Maximum amount: EUR 999,999,999.99
This is the same standard behind GiroCode (Germany), Stuzza QR-Code (Austria), and EPC QR implementations in Belgium, the Netherlands, Finland, Luxembourg, and other SEPA countries.
Frequently Asked Questions
Which banks support EPC QR codes?
Most European banks support scanning EPC QR codes (also known as GiroCode in Germany and Stuzza QR in Austria). In the Netherlands: ING, bunq, Knab, ASN, and SNS. In Belgium: KBC, Belfius, BNP Paribas Fortis, ING, and Argenta. In Germany: virtually all banks including Sparkasse, Deutsche Bank, and Volksbank. See the full list above. Always check with your bank if you are unsure.
Can I use this for currencies other than EUR?
No. The EPC QR code standard (EPC069-12) only supports EUR (Euro) payments via SEPA Credit Transfer. If you pay suppliers in USD, GBP, or other currencies, the QR code will not be generated.
Does this work with Odoo Community or only Enterprise?
Both. This module works with Odoo Community and Enterprise editions.
What is the difference between EPC QR code and GiroCode?
They are the same thing. GiroCode is the German brand name for EPC QR codes. In Austria, the same standard is called Stuzza QR-Code. The technical standard behind all of them is EPC069-12 (SEPA Credit Transfer QR).
Can I pay multiple vendor bills at once?
Yes. Select multiple vendor bills from the same supplier, click Register Payment, and the module generates a single QR code for the combined payment. Invoice references are automatically merged in the payment description.
Does this module work in Switzerland?
No. Switzerland uses its own Swiss QR Bill (QR-Rechnung) standard, which is not compatible with EPC QR codes. The same applies to Czech Republic (Short Payment Descriptor), Slovakia (Pay by Square), Hungary (QVIK), and Poland (Przyjazny Przelew).
Compatibility — Does This Work for You?
This module uses the EPC QR code standard (EPC069-12) for SEPA Credit Transfers. Before purchasing, please verify that your setup meets these requirements:
| Currency | EUR only. The EPC standard does not support other currencies. If you pay suppliers in USD, GBP, or any non-EUR currency, the QR code will not be generated. |
| Supplier IBAN | The supplier must have a valid SEPA-zone IBAN on their bill or partner record. The module validates IBAN format, length, and checksum automatically. |
| SEPA countries | The supplier's IBAN must belong to a SEPA participating country: AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FO, FR, GB, GI, GL, GR, HR, HU, IE, IS, IT, LI, LT, LU, LV, MC, MD, ME, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, SM, VA, AD. |
| Your banking app | Your bank must support scanning EPC QR codes (GiroCode / Stuzza QR). See the supported banks list above. Always check with your bank if you are unsure. |
| Odoo version | Odoo 17.0 (Community and Enterprise). |
Configuration
No configuration needed. Once installed, the Scan to Pay EPC QR code appears automatically in the Register Payment wizard for vendor bills when:
- The supplier has a valid IBAN on the bill or partner
- The payment currency is EUR
- All selected bills are from the same supplier and company
Technical Requirements
- Python library:
qrcode(install viapip install qrcode[pil]) - No external services: Everything runs locally on your Odoo server
IMPORTANT DISCLAIMER — Please Read Carefully
This module generates QR codes based on data stored in your Odoo database (supplier IBAN, payment amount, invoice references). The QR code is a convenience tool only.
The user is solely responsible for verifying ALL payment details. Always double-check the IBAN, beneficiary name, amount, and payment reference in your banking app before confirming the payment.
The authors and publisher of this module accept no liability whatsoever for incorrect payments, misdirected funds, or any financial loss resulting from the use of this module. Payment data is derived from your accounting records — if those records contain errors, the generated QR code will reflect those errors.
Always verify. Always double-check. You pay at your own risk.
No Data Collection
This module does not collect, transmit, or share any data with external services. All QR code generation happens locally on your Odoo server. No payment data leaves your system through this module.
Support
For questions, issues, or feature requests, please contact us at service@junglescape.nl.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module