sepa : Communicating with the bank using SEPA

The lino_xl.lib.sepa plugin functionality for managing bank accounts for your partners. When this plugin is installed, every partner can have one or several bank accounts.

The name sepa is actually irritating because this plugin won't do any SEPA transfer. Maybe rename it to iban? OTOH it is needed by the SEPA modules lino_xl.lib.b2c and lino_cosi.lib.c2b.

It requires the lino_xl.lib.ledger plugin.

class lino_xl.lib.sepa.Account

A bank account related to a given partner.



iban = IBANField(verbose_name=_("IBAN"))
bic = BICField(verbose_name=_("BIC"), blank=True)
remark = models.CharField(_("Remark"), max_length=200, blank=True)
primary = models.BooleanField(

A virtual field which displays the date of the last imported statement for this account. Clicking on this date will open the B2C account <lino_xl.lib.b2c.models.Account> with same IBAN number.

This field is empty when no B2C Account exists.

Available only when lino_xl.lib.b2c is installed as well.

class lino_xl.lib.sepa.Accounts
class lino_xl.lib.sepa.AccountsByPartner

Show the bank account(s) defined for a given partner. To be included to a detail window on partner.

class lino_xl.lib.sepa.BankAccount

Defines a field bank_account and its chooser.

class lino_xl.lib.sepa.Payable

Mixin for models that represent payable transactions. To be combined with some mixin which defines a field partner.

A payable transaction is a transaction that is expected to cause a payment.


See lino_xl.lib.ledger.mixins.PartnerRelated.payment_term


A char field with a description for this transaction.


To be implemented by subclasses. Expected to return a dict which maps 4-tuples (acc_tuple, project, vat_class, vat_regime) to the payable amount. acc_tuple is itself a tuple (general_account, analytic_account), vat_class is a lino_xl.lib.vat.VatClasses choice and vat_regime a lino_xl.lib.vat.VatRegimes choice.


Implements lino_xl.lib.ledger.Voucher.get_wanted_movements().