Technical reference General SEPA knowledge
Bank of Ireland SEPA XML files: pain.001 and pain.008
Businesses that bank with Bank of Ireland can pay suppliers and staff in bulk, or collect SEPA Direct Debits, by uploading an ISO 20022 XML file through Business On Line. The bank accepts standard SEPA message versions, but it also publishes its own file specifications and XSD schemas with rules that go further than the generic standard.
This guide summarises what Bank of Ireland’s published documentation asks for, so you can prepare a file that has a good chance of passing the bank’s checks first time. It is an independent guide: always treat the bank’s own, current documents as the authority (see official sources).
How Bank of Ireland bulk-file uploads work
Bank of Ireland describes the same two-step process for SEPA Credit Transfer
(pain.001) and SEPA Direct Debit (pain.008) files:
- Upload the XML file through Business On Line File Gateway. The bank also documents automated alternatives for larger users (Connect:Direct Secure Plus for credit transfers, SFTP for direct debits).
- Verify and authorise the uploaded file in Business On Line Payments Plus, which uses the Bank of Ireland Approve app for one-time codes.
A file is only processed after it has been authorised. In Payments Plus, files
are identified by their Message ID and creation date and time, so the
bank suggests making the file name and Message ID the same to make files easier
to recognise. Status and rejection information comes back as pain.002
reports and, for files that fail pre-processing checks, in the File
Rejections Report in Payments Plus.
Which pain.001 and pain.008 versions are accepted
Bank of Ireland lists two generations of each message. Existing submitters can keep using the existing versions, or move to the newer ones:
| Payment type | Existing version | Newer version |
|---|---|---|
| SEPA Credit Transfer (bulk payments) | pain.001.001.03 | pain.001.001.09 |
| SEPA Direct Debit (collections) | pain.008.001.02 | pain.008.001.08 |
| Status report you receive | pain.002.001.03 | pain.002.001.10 |
A few practical consequences:
pain.001.001.02is not in the list. If you still produce.02files for another bank, generate.03or.09for Bank of Ireland instead. The differences are explained in pain.001.001.02 vs .09.- Moving to the newer versions is a choice, not a deadline, according to
the bank’s current notice. If you switch, your file must follow the newer
XSD and you will receive
pain.002.001.10reports instead ofpain.002.001.03. - Each version has its own Bank of Ireland XSD (for example
pain.001.001.09.BOIorpain.008.001.08.BOI), downloadable from the bank’s supporting-documentation page together with a PDF file specification. - SEPA Instant Credit Transfers have a separate specification. Instant
files also use
pain.001.001.09, but with their own rules and processing timelines. This guide covers standard (non-instant) credit transfers and direct debits only.
Standard schema validation vs Bank of Ireland’s rules
Schema (XSD) validation checks that a file is well formed: the right elements, in the right order, with values of the right type and length. Passing the generic ISO 20022 or EPC schema is necessary, but it is not the whole story. Bank of Ireland’s PDF specifications add usage rules that a schema cannot always express, and the bank states that files which do not meet the specification may be rejected by the bank or the beneficiary bank.
Examples from the bank’s current pain.001.001.09 and pain.008.001.08
specifications (April 2026 editions):
- Initiating Party identification. In the group header, Bank of Ireland
requires an identification under
InitgPty(organisation or privateOthr/Id) populated with the identifier the bank issued to you: your SEPA Originator ID for credit transfers, or your Creditor Scheme ID for direct debits. The bank’s own XSD treats this element as optional, so a file can pass schema validation and still miss this rule. - File name. The name must contain
PAIN001(credit transfers) orPAIN008(direct debits), end in.xml, be at most 50 characters, and use only letters, digits and underscores — no spaces. - Characters and identifiers. Text should stay within the basic Latin
character set, with
&,<,>and"escaped. Identifiers such as the Message ID, Payment Information ID and End-to-End ID must not start or end with/or contain//; the Message ID must not contain an apostrophe and cannot be reused on a later file. - Direct Debit scheme. The
pain.008specifications accept onlyCOREas the local instrument, and the creditor agent BIC must be Bank of Ireland’s (BOFIIE2DorBOFIIE2DXXX). A direct debit file can contain at most 50 batches. - Batching. Credit transfers that debit different accounts, or have different requested execution dates, must be in separate batches. Each batch produces one bulk debit on your account.
Addresses
Bank of Ireland accepts structured addresses (on pain.001.001.09 and
pain.008.001.08) and hybrid addresses (on pain.001.001.03,
pain.001.001.09 and pain.008.001.08). Both need at least a town name and a
country code; a hybrid address may carry at most two address lines.
Unstructured addresses are still accepted, in line with the European Payments
Council’s decision to postpone the end date — see
SEPA structured addresses: the EPC update.
Postal addresses are optional in most cases. The exceptions Bank of Ireland
highlights: a pain.001 must include the debtor address for payments to a
bank in a non-EEA SEPA country or territory, and a pain.008 must include the
debtor address when the debtor’s bank is in a non-EEA SEPA country or
territory.
Prerequisites and timelines
Before your first upload, the bank-side setup matters as much as the file:
- Business On Line access to File Gateway and Payments Plus, with administrators registered and the Approve app set up for authorisation.
- For credit transfers: your SEPA Originator ID. The bank’s originators guide states that standard SEPA Credit Transfer files must be submitted before 18:00 one business banking day before the requested execution date.
- For direct debits: a Creditor Scheme ID, which Bank of Ireland issues once your SEPA Direct Debit application is approved (an existing SEPA Creditor ID from another provider may be reusable), and a nominated Bank of Ireland euro account registered against that Creditor ID. Collections must be submitted and authorised by the bank’s cut-off before the collection date; the creditor guide gives 11:00 one TARGET business day before the due date as the latest point, while the file specification recommends submitting first collections earlier. Check the bank’s current cut-off times.
- Valid mandates. As the creditor, you must hold a valid mandate for each debtor and be able to prove it if a payment is disputed. See SEPA Direct Debit mandates.
Preparing a starting file with SEPA Generator
SEPA Generator is a local desktop application that creates standards-based SEPA XML from your own data. It can prepare a suitable starting file for the Bank of Ireland formats above, which you then check against the bank’s rules and upload yourself through Business On Line.
- Credit transfers. The free Community Edition generates
pain.001.001.03orpain.001.001.09from a CSV, XLS or XLSX file, with IBAN/BIC checks, exact totals and optional structured addresses. SEPA Generator Pro adds saved beneficiaries and reusable payment batches. - Direct debits. Pro generates
pain.008.001.08orpain.008.001.02from collection batches or spreadsheets. Choose CORE for Bank of Ireland files, because its specification does not accept B2B. - Existing files. Pro’s XML Tools validate a file against the official
schemas bundled with the application and produce a readable report. They can
also migrate supported
pain.001.001.02/.03files to.09andpain.008.001.02to.08, and check address readiness. Note that this validation uses the standard schemas, not Bank of Ireland’s own XSDs, and it does not check the bank’s additional usage rules.
Set up the Initiating Party identifier before uploading. Bank of Ireland
expects the identifier it issued to you under InitgPty. SEPA Generator Pro
2.0.1 lets you configure an optional initiating party identifier for both
credit transfers and direct debits (in the File Generator and in the company
profiles used by Payments and Collections), with an optional scheme and issuer
where the selected XML format supports them. Community Edition 1.4.2 offers
the same optional setting for credit transfers. You must obtain your own
identifier from the bank (your SEPA Originator ID for credit transfers, or your
Creditor Scheme ID for direct debits) and enter it yourself; the application
cannot issue or verify it. In Pro, this setting is separate from the SEPA
creditor identifier used in direct debits, which is unchanged. Earlier versions
(Pro before 2.0.1, Community before 1.4.2) do not provide this setting, so with
those, compare the InitgPty element of the generated file with the bank’s
specification and correct it, or confirm the requirement with the bank’s
Business On Line helpdesk.
Pro 2.0.1 and Community 1.4.2 also suggest file names such as
20261026_145200_PAIN001.xml (or ..._PAIN008.xml for Pro direct debits),
using only letters, digits and underscores, in line with the bank’s documented
PAIN001/PAIN008 naming convention. You can still choose any name, so check
it against the rules above before you upload.
These features help you prepare a file that follows the bank’s published rules. They do not mean that Bank of Ireland has certified or approved SEPA Generator, and they do not guarantee that the bank accepts a file. Bank-side enrolment, authorisation and upload requirements still apply, and SEPA Generator does not provide bank-specific SEPA Instant files.
Troubleshooting rejected files
| What you see | Likely cause | What to check |
|---|---|---|
| The file does not reach Payments Plus and a message appears in the File Gateway inbox | Invalid structure or file name | The file-name rules above, then validate the XML against the Bank of Ireland XSD for that version |
| File Rejections Report asks you to check the number and value of transactions and the IDs | NbOfTxs or CtrlSum do not match the transactions, or IDs are missing or repeated | Totals at file and batch level; see common rejection errors |
| ”This is a duplicate file” | The same file or Message ID was submitted before | Generate a fresh file with a new Message ID |
| Creditor IBAN or nominated account not registered | Account not set up against your Creditor ID | Bank-side setup; contact Bank of Ireland |
| Credit transfer value date rejected | Requested execution date too far ahead or in the past | Execution dates inside the bank’s accepted window |
| Wrong message version | Namespace does not match what you selected in Business On Line | Use .03/.09 (credit transfers) or .02/.08 (direct debits); see the pain.001 version comparison |
| Address errors on cross-border payments | Missing debtor address for a non-EEA SEPA destination, or an incomplete structured address | Town and country present; see structured addresses |
For a deeper look at what schema validation can and cannot catch, see SEPA XML validation.
Official Bank of Ireland sources
All documents below are published on Bank of Ireland’s SEPA business supporting-documentation page, which also hosts the XSD downloads:
- SEPA Credit Transfer
pain.001.001.09XML file structure (April 2026) - SEPA Credit Transfer
pain.001.001.03XML file structure (October 2025) - SEPA Direct Debit
pain.008.001.08XML file structure (April 2026) - SEPA Credit Transfers and SEPA Instant Credit Transfers Originators Guide
- SEPA Direct Debit Creditor Guide
Bank of Ireland updates these documents when SEPA rulebooks change. If anything here differs from the bank’s current documents, follow the bank. For questions about your setup, contact the Business On Line helpdesk listed in those documents.
About this guide
SEPA Generator is published by Niryosys, an independent software publisher. This guide is not affiliated with, endorsed by or certified by Bank of Ireland. SEPA Generator does not connect to Business On Line or any other banking portal: it creates XML files that you upload yourself. It does not produce SEPA Instant Credit Transfer files, and no generator or validator can guarantee that a bank will accept a file — acceptance depends on Bank of Ireland’s checks, your account setup and the bank’s current rules.
SEPA Generator is a local desktop app. The free, open-source Community Edition creates pain.001 SEPA Credit Transfer XML from CSV and Excel files. SEPA Generator Pro adds Payments and Collections workspaces with saved beneficiaries, customers and mandates, SEPA Direct Debit (pain.008), and XML Tools for validating and migrating existing files.