Reviewed Flutter implementation · 2026-10-27
bank_payee_draft.dart
mobile_flutter/lib/features/money/domain/bank_payee_draft.dart
Immutable source snapshot based on revision de78e63ed65c. Original line numbers are retained. This is implementation evidence; check the public API catalogue before adapting it.
The mobile /api/v1/mobile routes belong to the example backend. Company credentials stay on that backend. Some sections outside the documented product scope may be omitted.
Lines 1–31
import '../../../core/models/banking_models.dart'; /// Receiving-bank details only. A bank's address is never the payee's residence.class BankPayeeDraft { const BankPayeeDraft( {required this.iban, required this.accountHolder, required this.bankCountry, this.bic = '', this.bankName = '', this.bankAddress = '', this.paymentReference = ''}); final String iban, accountHolder, bankCountry, bic, bankName, bankAddress, paymentReference; bool matches(Payee payee) => normalizeIban(payee.accountReference) == normalizeIban(iban) && (payee.currency.isEmpty || payee.currency.toUpperCase() == 'EUR') && (payee.provider.isEmpty || payee.provider.toLowerCase().contains('equals')) && !const {'deleted', 'rejected'}.contains(payee.status.toLowerCase()); static String normalizeIban(String value) => value.replaceAll(RegExp(r'\s'), '').toUpperCase();}