SEPA Direct Debit / Automatische incasso


SEPA Direct Debit is additional HostBill plugin that allows you to:

  • Create XML batch file with the list of invoices to process, to import in your bank account for automatic transfers debits processing (pain.008.002.02 file standard)
  • Import bank statement files (in CAMT.052, CAMT.053, CAMT.054, CBI and MT940) for processing them for new transactions
  • Parse bank statement files for unpaid invoices in HostBill for futhrer transaction processing 
  • Ask customers to store bank details (Mandate) in HostBill for recurring charges
  • Store multiple creditor accounts (bank account details) and attempt to match upcoming direct debits to related account (for lower transfer fees)
  • Log all related batch operations

 Activating the module

  1. If the plugin is included in your HostBill edition you can download it from your client portal.
  2. If the plugin is not included in your HostBill edition you can purchase it from our marketplace and then download it from the client area.
  3. Once you download the plugin extract it in the main HostBill directory.
  4. Go to Settings → Modules, find and activate SEPA Direct Debit plugin.
  5. You will be directed to Settings→ Modules→ Plugins
  6. Module is now available under Payments → SEPA Direct Debit

Module configuration

This module provides few simple configuration options available under Payments → SEPA Direct Debit → Settings:


  • Regex for matching clients
    When batch will be imported, this regular expression will be used to find client_id in bank transfer subject. This option should be set to match setting "Client ID prefix" below
  • Client ID prefix
    Enter how client ID should be prefixed on bank statements (Default: "DB")
  • Regex for matching invoices
    This setting should correspond to your Settings → General Settings → Billing → Invoice prefix option. If you prefix your pro-formas/invoices somehow, please update this field.

From settings screen you should setup your creditor accounts - here you can enter details obtained from your bank:

  • Name: Your bank account name (usually business name)
  • Payee ID: This is your unique SEPA Payee ID obtained from bank after signing SEPA contract.
  • IBAN: Your bank account number in IBAN format (prefixed with country code)
  • BIC: Your bank's BIC Identifier
  • Processing days: Here you can enter number of days in month that debit batches should be generated, use comma to separate them
  • Notice time: Enter minimum number of days that you have to notify your customers.
    Before you can perform direct debit, you are required to send the notice. You can use invoice email template to notify that this will occur.
  • Processing time: first: Number of days it usually takes your bank to process first/one-off collection
  • Processing time: recurring: Number of days it usually takes your bank to process recurring debit collection
  • Status: Set to inactive to stop batch auto-creation

How to use SEPA Direct Debit

  1. Sign a SEPA Direct Debit contract with your bank
    Contact your bank to request and sign European SEPA contract. This feature is offered and supported by most European banks.
  2. Install and configure SEPA direct debit module, as described above.
  3. Add your current debtors (if you have any)
    Debtor account is assigned with your client profile in HostBill. When browsing client profile you will see direct debit status in top menu:

    1. When you'll click on Direct Debit button, you'll be redirected to Debtor profile page / add new Debtor page:

      Here you can:
      • Setup a customer that this debtor profile belongs to
      • Enter customer bank details like BIC, IBAN, Bank Name, Bank Account Name (customer name)
      • Provide Mandate ID - if empty HostBill will generate its own mandate ID. 
        Mandate is authorization granted by your customer to perform direct debits on their bank account
      • Provide Mandate Date - when mandate was signed by your customer
      • Setup mandate status - here you can disable debtor profile from future charges
      • Mandate type: Select whether customer agreed on only one charge (One-Time) or subsequent automatic collections (Recurring)
  4. Create your batch
    You can either wait for cron to automatically create new batch, based on your creditor settings, or create new batch manually in "Export" menu
  5. Add invoices to batch
    Invoices are being added automatically to draft batches based on creditor settings. You can add them manually to draft batch in batch details screen.
    Note: Invoices in manual add list are Unpaid, with Sepa Direct Debit payment gateway, belonging to customers with active mandate
  6. Download batch
    When all invoices are already added/batch is ready to be downloaded, you can download it from batch details screen.
  7. Change batch status
    When batch has been processed, you can change its current state to indicate it for other staff members.
  8. Upload bank statement
    Login to your bank account and download bank statement in format of CAMT.053 or MT940.
    Make sure to use proper date range to not overlap with previously processed statements .
  9. Process bank statement
    After uploading, HostBill will process statement to its own format and store it in database.

    • Click on: Attempt to match rows - for HostBill to look for potential transactions in imported statement rows.
      When matched HostBill will not create transactions automatically but will ask you to confirm it.
    • If HostBill was unable to find related unpaid invoices, you can still point it manually, by selecting row and clicking on Attempt Match.
    • Select matched rows from list, and click on Process - this will create transactions in HostBill database/mark invoices as paid.

Adding client bank information to invoice PDF/template

When module SEPA Direct Debit Gateway is used as payment gateway to invoice, and related customer is registered as a "Debtor" in SEPA Direct Debit plugin, you can access his mandate details in invoice document template using:

  • {$debtor.client_id} - Stores related client id
  • {$debtor.iban} - Client's IBAN
  • {$debtor.bic} - Client's BIC
  • {$debtor.iban_masked}  - Client's IBAN, masked with "*" to reveal just first two and last two digits
  • {$debtor.bic_masked} - Client's BIC, masked with "*" to reveal just first two and last two digits
  • {$debtor.bank_name} - Client's Bank Name
  • {$debtor.bank_account_name} - Client's Bank Account Name
  • {$debtor.mandate_id} - Client's Mandate ID
  • {$debtor.mandate_date} - Client's Mandate Date
  • {$debtor.mandate_status} - Client's Mandate status (one of: 'NotAgreed','Pending Review','Active','Expired' )
  • {$debtor.mandate_type} - Client's Mandate type (one of: 'Recurring','OneTime' )