Plugin: BX Service SEPA

From iDempiere en

Description

This plugin allows you to generate SEPA files for:

  • payments: Direct Deposit -> SEPA format pain.001.003.03
  • collection: Direct Debit -> SEPA format pain.008.003.02

It is directly integrated with the functionalities Payment Selection + Payment Print/Export and Payment Selection (manual) to generate the corresponding SEPA files.

Configuration

Organization Info

The plugin adds 1 field in Org Info:

  • Creditor Identifier: this is required for Direct Debit (collection) to identify the CdtrSchmeId

01 OrgInfo.png

Business Partner > Bank Account

And the plugin also adds 4 fields (required for Collection, these are not used for Payments) in Business Partner Bank Account:

  • Mandate ID: The identifier for the SEPA Mandate
  • Transferred: to identify if is first transfer, it starts false and is set to true after first transfer
  • Document Date: The date of the Mandate
  • SEPA SSD Scheme: If the mandate is B2B or COR1

02 BPBankAccount.png

System Configurator

The plugin requires two client configurable SysConfig keys:

  • SEPA_SHIFT_DAYS: The number of days to add to the payment date when generating the file (default zero)
  • SEPA_BANKHOLIDAY_KEYWORD: A keyword to look in the name of Calendar > Non Business Days to identify the bank holidays, for example %(TARGET2)%. This means the holidays will be marked with this keyword, for example Christmas (TARGET2) will be considered a bank holiday, while just Christmas will not.

Core Information

Additional the plugin makes usage and requires a proper configuration of the following fields from core:

  • Bank > Swift Code
  • Bank > Bank Account > IBAN
  • Business Partner > Bank Account > IBAN
  • Bank > Account > Payment Export Class must be set to de.bxservice.sepa.SEPAPaymentExport

Usage

After configuring properly the required fields mentioned above, it is simply to push the Export button in the Payment Print/Export form and the system will generate the file according to the SEPA standards.

Technical Information

The system generates approximately the following information (this is approximate, refer to the source code for the exact information):

 for payments   -> pain.001.003.03  -> Direct Deposit
   MsgId -> C_PaySelection.Created
   CreDtTm -> now()
   InitgPty -> AD_Org.Name or AD_Client.Name
   PmtInfId -> now() /TRF
   ReqdExctnDt -> C_PaySelection.PayDate + SysCfg_SEPA_SHIFT_DAYS (weekday MoToFr - not a holiday) - checking C_NonBusinessDay where name like %SysCfg_SEPA_BANKHOLIDAY_KEYWORD%
   Dbtr -> AD_Org.Name
   DbtrAcct -> C_BankAccount.IBAN
   FinInstnId -> C_Bank.SwiftCode
   PmtId/EndToEndId -> C_PaySelectionLine[].C_Invoice.DocumentNo/
   Ccy -> C_BankAccount.C_Currency_ID
   InstdAmt -> C_PaySelectionCheck.PayAmt
   FinInstnId -> C_BP_BankAccount.C_Bank.SwiftCode
   Cdtr -> C_BPartner.Name
   CdtrAcct -> C_BP_BankAccount.IBAN
   RmtInf/Ustrd -> C_PaySelectionLine[]. C_Invoice.DateInvoiced[dd.MM.yyyy] C_Invoice.DocumentNo / C_Order.OrderNo C_Invoice.POReference C_BPartner.ReferenceNo C_Invoice.GrandTotal C_PaySelectionLine.Description,...

 for collection -> pain.008.003.02  -> Direct Debit
   InitgPty -> AD_Org.Name or AD_Client.Name
   MsgId -> C_PaySelection.Created
   CreDtTm -> now()
   PmtInfId -> now() B2B|COR1 -FRST|RCUR
   ReqdColltnDt -> C_PaySelection.PayDate + SysCfg_SEPA_SHIFT_DAYS (weekday MoToFr - not a holiday) - checking C_NonBusinessDay where name like %SysCfg_SEPA_BANKHOLIDAY_KEYWORD%
   Cdtr/Nm -> AD_Org.Name
   CdtrAcct/Id -> C_BankAccount.IBAN
   FinInstnId -> C_Bank.SwiftCode
   Ccy -> C_BankAccount.C_Currency_ID
   InstdAmt -> C_PaySelectionCheck.PayAmt
   MndtId -> C_BP_BankAccount.MndtId
   DtOfSgntr -> C_BP_BankAccount.DateDoc
   CdtrSchmeId -> AD_OrgInfo.CreditorIdentifier
   DbtrAgt -> C_BP_BankAccount.C_Bank.SwiftCode
   Dbtr -> C_BPartner.Name
   DbtrAcct -> C_BP_BankAccount.IBAN
   RmtInf/Ustrd -> C_PaySelectionLine[]. C_Invoice.DateInvoiced[dd.MM.yyyy] C_Invoice.DocumentNo / C_Order.OrderNo C_Invoice.POReference C_BPartner.ReferenceNo C_Invoice.GrandTotal C_PaySelectionLine.Description,...
Cookies help us deliver our services. By using our services, you agree to our use of cookies.