Connect your ERP to OP.
OP Web Services for accounts at OP in Finland. Payments go out as pain.001.001.03 or .09; status and statements come back as pain.002, camt.053 and camt.054.
The bank
- Legal name
- OP Corporate Bank plc
- Head office
- Helsinki, Finland
- Business ID
- 0199920-7
- Supervisors
- ECB and Finnish FSA
- Channel
- OP Web Services
- Payments
- pain.001.001.03 and pain.001.001.09
Published by the bank
OP Corporate Bank's Information for Investors (28 October 2025) and standard settlement instructions (May 2024), the C2B pain.001.001.09 guide (24 April 2026), and opbank.ee, opbank.lv and opbank.lt.
Bank details
| Legal name | OP Corporate Bank plc |
| Role | Central bank of OP Financial Group |
| Visiting address | Gebhardinaukio 1, FI-00510 Helsinki, Finland |
| Postal address | P.O. Box 308, FI-00013 OP |
| Business ID | 0199920-7 |
| Supervisors | European Central Bank (licensing authority) and Finnish Financial Supervisory Authority |
| Agreement party | The customer's own OP cooperative bank (osuuspankki) |
| Debtor agent BIC for OP accounts in Finland | OKOYFIHH |
| Country | Entity | BIC | Register |
|---|---|---|---|
| Finland (head office) | OP Corporate Bank plc | OKOYFIHH | Business ID 0199920-7 |
| Estonia | OP Corporate Bank plc Estonian branch | OKOYEE2X | Not published |
| Latvia | OP Corporate Bank plc Latvia Branch | OKOYLV2X | Not published |
| Lithuania | OP Corporate Bank plc Lithuanian branch | OKOYLT2X | Register code 302535257 |
Published by the bank
Customer Instructions for Corporate Web Services Channel (February 2026), C2B asiakasohje pain.001.001.09 (24 April 2026).
Channels
| Channel | OP Web Services |
| Protocol | SOAP; request-response, the client always connects; one file per request |
| Transport | HTTPS, TLS 1.2 or newer |
| Content security | ApplicationRequest and SOAP message each signed: XML signature, RSA-SHA256, SHA-256 digests. OP signs its replies with SHA-256. GZIP compression recommended |
| Keys and certificates | X.509 certificate issued by OP's Certificate Service from your PKCS#10 request; RSA 2048-bit; valid up to two years |
| Agreement | Web Services channel agreement, plus a service agreement per service (C2B payments, account reporting) |
| Debit accounts | Finland; OP accounts in Estonia, Latvia and Lithuania |
| File service | https://wsk.op.fi/services/CorporateFileServiceV2 |
| Certificate service | https://wsk.op.fi/services/OPCertificateServiceV2 |
| WSDL, file service | https://wsk.op.fi/wsdl/MaksuliikeWSV2.xml |
| WSDL, certificate service | https://wsk.op.fi/wsdl/MaksuliikeCertServiceV2.xml |
| Schema check on upload | A failing file is refused at once with code 12, Schema Validation Failed |
| File storage | Three months, then deleted; a file can be downloaded again until then |
| File statuses | Sent: WFP, FWD. To download: NEW, DLD |
| OP's certificates | Published at www.op.fi/certificate-service |
| Revocation list | Issued at least once a day, valid three days |
| Other channels for C2B files | File transfer (Aineistosiirto) in the corporate op.fi service, and Swift Score |
BankConnector
Payment types and pain.001 version as built in our engine. BIC from OP's C2B pain.001.001.09 guide, index 2.55.
Payment types by country
| Country | Debtor agent BIC | Channel | Payment types | pain.001 |
|---|---|---|---|---|
| Finland | OKOYFIHH | OP Web Services | SEPA credit transfer, SEPA Instant credit transfer, Domestic account transfer, International payment | pain.001.001.03 |
Published by the bank
C2B customer guidelines pain.001.001.03 (May 2024) and pain.001.001.02 (June 2025), C2B asiakasohje pain.001.001.09 (24 April 2026), XML account reporting instructions (January 2022), Swift account reporting instructions (6 June 2022).
Formats OP accepts
| Message | Version | File type | Content |
|---|---|---|---|
| pain.001 | 001.02, 001.03, 001.09 | pain.001.001.02, pain.001.001.03, pain.001.001.09 | Payment files: SEPA payments, salaries and pensions, international payments, money orders |
| pain.001 instant file | 001.09 | pain.001.001.09 INST | SEPA Instant payments only; IBAN and EUR, no invoice details, no SALA |
| pain.001 single instant | 001.02, 001.03, 001.09 | pain.001.001.02 TP4 PS01, pain.001.001.03 TP4 PS01, pain.001.001.09 TP4 PS01 | One SEPA Instant credit transfer, answered in the same session, 24/7/365 |
| pain.001 Verification of Payee | 001.03, 001.09 | pain.001.001.03 VOP, pain.001.001.09 VOP | Payee check before payment; the answer is pain.002.001.10 VOP |
| pain.002 | 001.02, 001.03, 001.10 | pain.002.001.02, pain.002.001.03, pain.002.001.10 | Technical validation, content validation and payment status reports |
| camt.054 processed payments | 001.02 | camt.054.001.02 MP | Report on paid C2B payments, if agreed in the C2B agreement |
| camt.055 | 001.01 | camt.055.001.01 | Cancellation request; the answer is camt.029.001.03 |
| camt.053 | 001.02 | camt.053.001.02 TI, TU, KT | Account statement, reordered statement, cash pool account statement |
| camt.054 reference list | 001.02 | camt.054.001.02 TL | Incoming reference payments |
| camt.052 | 001.02 | camt.052.001.02 TM | Advance information on an incoming cross-border payment |
| camt.060 and camt.052 | 001.02 | Query ID, such as BALANCE QUERY | Real-time balance and transaction queries; camt.060 asks, camt.052 answers |
| MT940, MT941, MT942 | SWIFT | camt.053.001.02 MT940, camt.052.001.02 MT941, camt.052.001.02 MT942, or SW, MT941, MT942 | Statements, balance and interim reports for accounts at other banks, as XML or in SWIFT format |
| Character set | UTF-8 without BOM. Å, Ä and Ö reach banks in Finland; other euro countries get Basic Latin |
| Identifiers | MsgId, PmtInfId, InstrId and EndToEndId: no special characters, no Å, Ä or Ö, no leading / and no // |
| Duplicate check | MsgId unique for at least three months. A file with the same MsgId, amounts, counts and payment identifier as one accepted in that time is rejected |
| Payment identifier | 9 to 11 characters from the C2B agreement, in Debtor/Id/OrgId/Othr with scheme code BANK; never passed to the payee |
| Debtor agent | BIC mandatory: OKOYFIHH, or OKOYEE2X, OKOYLV2X, OKOYLT2X for Baltic accounts |
| Creditor agent | BIC optional for euro transfers within the EU and EEA; OP takes it from the IBAN |
| Batching | One payment information block per due date and debit account; SALA payments and zero value date payments each in their own block |
| Salaries (SALA) | A file of their own; debited on the due date, credited the next banking day morning in Finland; the due date must be a banking day |
| Remittance | One message of 140 characters (tags count in Strd). To banks in Finland, up to 999 invoice items of 280 characters, never on SEPA Instant |
| Charge bearer | SEPA: SLEV (SHAR and empty become SLEV). International: SHAR, DEBT or CRED; SHAR when the payee's bank is in the EU or EEA and the currency is the euro or another member state's |
| Due date | The banking day before arrival is moved to the processing day; an older date rejects the batch; up to 364 days ahead |
| SEPA Instant | INST or URGP marks a payment; at most 1,000 instant payments per file |
| File size | 100 MB and 100,000 payments per file |
| Processing | SEPA files at 2.30, then every 30 minutes from 7.00 to 18.00 on banking days; international payments until 17.00 |
| Cover | Funds must be on the debit account on the due date; otherwise the batch is rejected in the last run, reported at 21.20 |
| Status reports | Technical validation at once (ACTC or RJCT); content validation within about 30 minutes; camt.054 at 12.00, 15.00, 18.00 and 21.30, never for SALA batches |
| Money orders | Payee account FI5059999999999991; at OP by 12.00 on the payment date |
Published by the bank
Customer Instructions for Corporate Web Services Channel (February 2026), User Guidelines for the Web Services Channel and the Related Certificate Service (2010), C2B customer guidelines pain.001.001.03 (May 2024), XML account reporting instructions (January 2022).
Onboarding at OP
| Agreement | Web Services channel agreement, plus a C2B service agreement for payments and a written account reporting agreement for statements, with the customer's OP cooperative bank |
| Registration | In person at the bank: an employee verifies the identity and authority of the customer's representative. This first step cannot be done digitally |
| Signed by | Not published |
| Set in the C2B agreement | Payment identifier, debit accounts, response reporting, the sender; cancellation requests are included |
| Set in the reporting agreement | The camt version and the largest uncompressed file size |
| Identifiers | WS channel username, 10 characters; payment identifier, 9 to 11 characters |
| Transfer key | 16 characters, the last a Luhn check digit. The first 8 are on the agreement; the second 8 come by SMS or by post, as the customer chooses |
| Certificate | Your PKCS#10 request (RSA 2048-bit, sha256RSA; subject C=FI and CN the username only) with the transfer key; neither request nor SOAP message signed; OP returns the certificate |
| Validity | Up to two years |
| Renewal | From 60 days before expiry, with a new key pair, signed with the current certificate and no transfer key. An expired certificate needs new transfer keys from the bank |
| Revocation | By phone, 010 252 8470, with the username or the certificate's serial number; a revoked certificate means registering again at the branch |
| Sending for another company | The sender named in the C2B agreement holds its own Web Services channel agreement, usernames and certificates |
| Before production | OP requires payment files to be checked against the schema and tested before they are sent |
| Onboarding time | Not published |
BankConnector
Questions
- What does OP need before a company can use Web Services?
- A Web Services channel agreement with the company's OP cooperative bank, plus a C2B service agreement for payments and an account reporting agreement for statements. A representative of the company registers in person at the bank, where an employee verifies identity and authority; this first step cannot be done digitally.
- How does the OP transfer key arrive?
- In two halves. The agreement shows the 10-character WS channel username and the first 8 characters of the transfer key. The second 8 come by SMS or by post, as the customer chooses. The 16th character is a Luhn check digit, and the key is used only for the first certificate.
- How long is an OP Web Services certificate valid?
- Up to two years. It can be renewed from 60 days before it expires, with a new key pair and a request signed with the current certificate, so no transfer key is needed. If the certificate expires first, the bank has to issue new transfer keys.
- Which pain.001 versions does OP accept?
- pain.001.001.02, pain.001.001.03 and pain.001.001.09, each under its own file type, answered with pain.002.001.02, .03 or .10. A Verification of Payee file is sent as pain.001.001.03 VOP or pain.001.001.09 VOP.
- Does OP accept camt.055 payment cancellations?
- Yes. A C2B cancellation request is camt.055.001.01, and OP answers with camt.029.001.03. Cancellation is part of the C2B service agreement and needs no agreement of its own.
- How does OP handle salary payments?
- Salaries and pensions carry category purpose SALA and go in a file of their own. OP debits them on the due date, which must be a banking day, and in Finland the payees are credited the next banking day morning. OP sends no camt.054 for a SALA batch.
Published by the bank
Dates the bank has announced. What we do about each one is ours.
Upcoming events in our register
Last day for unstructured addresses in pain.001.001.09, given in AddressLine alone. After it an address is structured, or hybrid with at most two AddressLine of 70 characters; Country and TownName are mandatory in both.
OP WS CA V3 and OP Services CA V3 expire. The first issues customer certificates, the second OP’s own service certificates; both sit under OP-Pohjola Root CA.
If all of this looks like a lot, it does not have to be
Five steps to a live OP connection.
You do not need to know what any of the codes above mean. Our setup guide walks you through it one screen at a time.
- 1
Request the agreement from OP
A bank web service starts with an agreement, which you sign with your bank. There is nothing to configure until it is in place.
- 2
Enter your activation credentials
Your user ID and activation code come from OP, partly with the signed agreement and partly sent to you separately. The setup form asks for each of them.
- 3
Enrol your certificates
We generate your keys, send OP the certificate requests, authenticated with the activation code, and store the certificates the bank issues. Your private keys stay in BankConnector.
- 4
Verify OP's signatures
We check the certificates you are issued against the bank's root certificate, and the signature on every reply the bank sends. A reply whose signature fails is refused before it reaches your books.
- 5
Go live with one small payment
Choose who approves payments and switch the connection on. Start with one small payment and follow it all the way to your statement. Payments go out as pain.001; status and statements come back as pain.002 and camt. We alert you 30, 14 and 7 days before a certificate expires.
Sources: OP’s Customer Instructions for Corporate Web Services Channel (February 2026, Finnish edition), User Guidelines for the Web Services Channel and the Related Certificate Service (2010), C2B customer guidelines pain.001.001.03 (May 2024), C2B customer guidelines pain.001.001.02 (June 2025), C2B asiakasohje pain.001.001.09 (24 April 2026), XML account reporting instructions (January 2022), Swift account reporting instructions (6 June 2022), the information for software suppliers and certificate service pages, OP Corporate Bank’s Information for Investors and settlement instructions. BankConnector is not affiliated with OP Financial Group.