Proposals & Invoices Β· Article 5.7
SEPA bank transfer with EPC QR β when offered, how it works, what to put on the invoice
Every Clozo invoice includes IBAN, BIC, and an EPC-format QR code that any modern EU banking app scans into a pre-filled SEPA transfer. Works with or without Stripe enabled.
SEPA (Single Euro Payments Area) is the EU's bank-transfer rail β 36 countries, one standard, no FX inside the eurozone. For freelancer invoicing it's the universal fallback: no Stripe account needed, no card fees, supported by every EU consumer's bank app. Clozo prints your SEPA details on every invoice and adds a scannable QR code so the client doesn't have to retype any of it.
Step by step
Add your IBAN.
In
/settings/profile, fill IBAN and BIC. Without these, SEPA cannot be offered. We validate IBAN format per country (German IBAN starts withDEand is 22 chars, etc.). BIC is auto-derived from IBAN for most EU countries when you tab off the field.Verify the QR renders.
On your next proposal, click
Previewin the wizard step 5 β the deposit invoice (or final invoice) shows the EPC QR in the bottom-right corner. Scan it from your own bank app to sanity-check.Send the proposal.
Once signed, the deposit invoice email goes out with the QR embedded inline (PNG, ~3KB) and the IBAN/BIC printed below it as fallback for clients whose bank app doesn't support QR.
Watch your bank account.
When the transfer lands, return to the proposal in Clozo.
Mark as paid.
Click
Actions β Mark deposit as paid manually. Enter the bank-statement reference and the date the funds cleared. Status flips toDeposit paid; receipt PDF fires; email goes out automatically.
the IBAN/BIC fields are in /settings/profile; the QR is rendered automatically on every invoice. The proposal/invoice detail pages show "SEPA: IBAN [your IBAN] β BIC [your BIC] β Reference: PRO-2026-NNNN-DEP" alongside the QR. For tracking, the Timeline records the manual Mark as paid event with the reference you entered, the date, and the user who marked it (you).
Why this works this way
The EPC QR code standard (formally "EPC QR Code Guidelines" v002, European Payments Council). Encodes a SEPA Credit Transfer in a single QR with these fields, line-by-line:
``
BCD (service tag)
002 (version)
1 (character set: UTF-8)
SCT (identification: SEPA Credit Transfer)
{BIC} (your bank's BIC, optional but recommended)
{Beneficiary name} (your business name as on the IBAN)
{IBAN} (your IBAN)
EUR{amount} (e.g., EUR1234.56)
(purpose code, optional β Clozo leaves blank)
{reference} (e.g., PRO-2026-0042-DEP)
(free-text remittance, alternative to reference)
``
Clients open their banking app, tap the "scan QR" button (every major EU bank app supports it: Sparkasse, ING, BNP, Revolut, N26, Bunq, Tinkoff, etc.), point the camera at the invoice. The app pre-fills a SEPA transfer with your IBAN, BIC, name, exact amount, and exact reference. They confirm with their PIN/Face ID and the transfer queues. Total flow: ~10 seconds, zero typing.
Why a structured reference matters. The reference field on the QR is PRO-2026-NNNN-DEP (deposit) or PRO-2026-NNNN-FIN (final). When the client's bank executes the transfer, the reference rides along to your bank; if you ever integrate bank-feed reconciliation, this is the field that lets the system match the inbound transfer to the right invoice automatically. Even without auto-reconciliation, it makes manual matching unambiguous β "EUR 1,250.00 from MΓΌller GmbH, ref PRO-2026-0042-DEP" is self-explanatory in your bank statement.
SEPA Credit Transfer vs SEPA Instant. Both are SEPA rails; both use the same QR format. Standard SCT settles next business day (D+1). SEPA Instant Credit Transfer (SCT Inst) settles in <10 seconds, 24/7/365. Most EU banks now support SCT Inst by default; some still default to standard SCT for cost reasons. Clozo doesn't choose β the client's bank does, based on the recipient's bank capability and any per-bank policies.
No Stripe connection? SEPA is your only path. When stripe_charges_enabled=false for your account, Clozo's payment-eligible serializer (apps/public/views.py:485) sets stripe_available=false, and the client's email and proposal page show only the SEPA QR + IBAN/BIC pair. The deposit invoice still goes out the moment they sign; only the "Pay with card" button is hidden.
Auto-detection limits. Clozo cannot read your bank account directly β that requires PSD2 AISP (Account Information Service Provider) integration, which is on our roadmap but not in v1. So when a SEPA payment lands in your bank account, Clozo doesn't know automatically. Two paths to mark it paid:
1. Manual mark-as-paid (current default). When you see the inbound transfer in your bank app, click Mark deposit as paid manually from the proposal Actions menu. Reference the bank-statement entry; Clozo records the manual entry with a timestamp and note. Receipt fires automatically.
2. Bank-feed reconciliation (roadmap). When the AISP integration ships, you'll connect your bank once and Clozo will auto-match inbound transfers by reference text. Until then, a 30-second manual step per payment.
Troubleshooting
Keep reading
Lifecycle
Status: Deposit paid β work can start
The deposit landed (Stripe webhook or manual confirmation). Clozo flips the status, queues the deposit receipt PDF, and starts a behind-the-scenes job to pre-render the final invoice. You can begin the work.
Proposals & Invoices
Marking a payment as paid manually β for SEPA, cash, wire, anything outside Stripe
When a payment lands outside the auto-detected channels (SEPA bank transfer, cash, foreign wire), use `Mark as paid manually` to record it. Clozo creates the receipt, fires confirmation emails, and preserves the audit trail.
Configuration
IBAN and BIC: enabling SEPA bank transfers and EPC QR codes
Add your IBAN and BIC and Clozo prints them on every invoice plus an EPC QR code your client can scan from their bank app β no Stripe required.
Proposals & Invoices
Online payment via Stripe Connect β Direct Charges, fees, 3DS, refunds
When you connect Stripe, your clients can pay invoices by card on a Clozo-hosted page. Charges go directly to your Stripe account (Direct Charge architecture); Clozo takes no platform fee on payments. Stripe's standard processing fees apply.