← Code knowledge base
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();}
HOPPA DEVELOPER ASSISTANT

What are you building?

From a question to an implementation.

Get a step-by-step flow, example code and the docs behind it. Choose a starting point or describe your feature.

Answers use the public API guide and example app code. Check the linked reference before shipping. Explore code sources ↗

Your question and recent conversation are sent to our AI provider. Don’t include API keys, personal data or card details.