EBICS uses two types of return codes to indicate the result of operations:
- Technical Return Code (RCT) - Protocol and system-level status
- Business Return Code (RCF) - Business logic status
Return codes are 6-digit strings:
0XXYYY
│││└┴┴─ Specific error code
││└──── Error category
│└───── Severity (0=OK, 1=Note, 3=Warning, 6=Error, 9=Fatal)
└────── Always 0
Success Codes
| Code |
Name |
Description |
000000 |
EBICS_OK |
Operation completed successfully |
| Code |
Name |
Description |
Action |
011000 |
EBICS_DOWNLOAD_POSTPROCESS_DONE |
Download and postprocessing completed |
Log and continue |
011001 |
EBICS_DOWNLOAD_POSTPROCESS_SKIPPED |
Download postprocessing skipped |
Log and continue |
011101 |
EBICS_TX_SEGMENT_NUMBER_UNDERRUN |
Segment number underrun |
Check segment count |
011301 |
EBICS_NO_ONLINE_CHECKS |
No online validation performed |
Log and continue |
Warning Codes (03xxxx)
| Code |
Name |
Description |
Action |
031001 |
EBICS_ORDER_PARAMS_IGNORED |
Some order parameters were ignored |
Review parameters |
Recoverable Errors (06xxxx)
| Code |
Name |
Description |
Action |
061001 |
EBICS_AUTHENTICATION_FAILED |
Authentication signature verification failed |
Verify auth keys |
061002 |
EBICS_INVALID_REQUEST |
Invalid request format |
Fix request format |
061099 |
EBICS_INTERNAL_ERROR |
Internal server error |
Retry with backoff |
061101 |
EBICS_TX_RECOVERY_SYNC |
Transaction recovery synchronization required |
Initiate recovery |
Fatal Errors - Business Level (090xxx)
| Code |
Name |
Description |
Action |
090003 |
EBICS_AUTHORISATION_ORDER_IDENTIFIER_FAILED |
User not authorized for order type |
Contact bank |
090004 |
EBICS_INVALID_ORDER_DATA_FORMAT |
Order data format invalid |
Validate format |
090005 |
EBICS_NO_DOWNLOAD_DATA_AVAILABLE |
No data available for download |
No action needed |
090006 |
EBICS_UNSUPPORTED_REQUEST_FOR_ORDER_INSTANCE |
Request not supported |
Check HAA |
Fatal Errors - Technical (0911xx)
| Code |
Name |
Description |
Action |
091002 |
EBICS_INVALID_USER_OR_USER_STATE |
User unknown or state invalid |
Verify user ID |
091003 |
EBICS_USER_UNKNOWN |
User unknown to bank |
Verify user ID |
091004 |
EBICS_INVALID_USER_STATE |
User state invalid |
Complete initialization |
091005 |
EBICS_INVALID_ORDER_IDENTIFIER |
Order type unknown |
Check HAA |
091006 |
EBICS_UNSUPPORTED_ORDER_IDENTIFIER |
Order type not supported |
Check HAA |
091007 |
EBICS_DISTRIBUTED_SIGNATURE_AUTHORISATION_FAILED |
VEU authorization failed |
Check VEU permissions |
091008 |
EBICS_BANK_PUBKEY_UPDATE_REQUIRED |
Bank keys outdated |
Run HPB |
091009 |
EBICS_SEGMENT_SIZE_EXCEEDED |
Segment too large (max 1 MB) |
Reduce segment size |
091010 |
EBICS_INVALID_XML |
XML schema validation failed |
Validate XML |
091011 |
EBICS_INVALID_HOST_ID |
Host ID unknown |
Verify Host ID |
091101 |
EBICS_TX_UNKNOWN_TXID |
Unknown transaction ID |
Start new transaction |
091102 |
EBICS_TX_ABORT |
Transaction aborted by server |
Start new transaction |
091103 |
EBICS_TX_MESSAGE_REPLAY |
Replay attack detected |
Security issue |
091104 |
EBICS_TX_SEGMENT_NUMBER_EXCEEDED |
Segment number exceeded |
Split order |
091105 |
EBICS_RECOVERY_NOT_SUPPORTED |
Recovery not supported |
Start new transaction |
091111 |
EBICS_INVALID_SIGNATURE_FILE_FORMAT |
EU file format invalid |
Fix EU format |
091112 |
EBICS_INVALID_ORDER_PARAMS |
Invalid order parameters |
Fix parameters |
091113 |
EBICS_INVALID_REQUEST_CONTENT |
Request semantically invalid |
Fix request |
091114 |
EBICS_ORDERID_UNKNOWN |
Order ID unknown |
Refresh VEU list |
091115 |
EBICS_ORDERID_ALREADY_FINAL |
Order already processed |
No action needed |
091116 |
EBICS_PROCESSING_ERROR |
Processing error |
Contact bank |
091117 |
EBICS_MAX_ORDER_DATA_SIZE_EXCEEDED |
Order too large |
Split order |
091118 |
EBICS_MAX_SEGMENTS_EXCEEDED |
Too many segments |
Split order |
091119 |
EBICS_MAX_TRANSACTIONS_EXCEEDED |
Too many transactions |
Wait and retry |
091120 |
EBICS_PARTNER_ID_MISMATCH |
Partner ID mismatch |
Verify config |
091121 |
EBICS_ORDER_ALREADY_EXISTS |
Duplicate order |
Check for duplicate |
Fatal Errors - Key Management (0912xx)
| Code |
Name |
Description |
Action |
091201 |
EBICS_KEYMGMT_UNSUPPORTED_VERSION_SIGNATURE |
Signature key version unsupported |
Use supported version |
091202 |
EBICS_KEYMGMT_UNSUPPORTED_VERSION_AUTHENTICATION |
Auth key version unsupported |
Use supported version |
091203 |
EBICS_KEYMGMT_UNSUPPORTED_VERSION_ENCRYPTION |
Encryption key version unsupported |
Use supported version |
091204 |
EBICS_KEYMGMT_KEYLENGTH_ERROR_SIGNATURE |
Signature key length unsupported |
Use supported length |
091205 |
EBICS_KEYMGMT_KEYLENGTH_ERROR_AUTHENTICATION |
Auth key length unsupported |
Use supported length |
091206 |
EBICS_KEYMGMT_KEYLENGTH_ERROR_ENCRYPTION |
Encryption key length unsupported |
Use supported length |
091207 |
EBICS_X509_CERTIFICATE_EXPIRED |
Certificate expired |
Get new certificate |
091208 |
EBICS_X509_CERTIFICATE_NOT_VALID_YET |
Certificate not yet valid |
Check certificate dates |
091209 |
EBICS_X509_WRONG_KEY_USAGE |
Wrong key usage |
Get correct certificate |
091210 |
EBICS_X509_WRONG_ALGORITHM |
Wrong algorithm |
Get correct certificate |
091211 |
EBICS_X509_INVALID_THUMBPRINT |
Invalid thumbprint |
Get correct certificate |
091212 |
EBICS_X509_CTL_INVALID |
Certificate Trust List invalid |
Update CTL |
091213 |
EBICS_X509_UNKNOWN_CERTIFICATE_AUTHORITY |
Unknown CA |
Use trusted CA |
091214 |
EBICS_X509_INVALID_POLICY |
Invalid policy |
Check certificate policy |
091215 |
EBICS_X509_INVALID_BASIC_CONSTRAINTS |
Invalid constraints |
Check certificate |
091216 |
EBICS_ONLY_X509_SUPPORT |
Bank requires X.509 |
Use certificates |
091217 |
EBICS_KEYMGMT_DUPLICATE_KEY |
Duplicate key |
Use different keys |
091218 |
EBICS_CERTIFICATE_VALIDATION_ERROR |
Certificate validation failed |
Check certificate |
Fatal Errors - Pre-validation (0913xx)
| Code |
Name |
Description |
Action |
091301 |
EBICS_SIGNATURE_VERIFICATION_FAILED |
EU signature verification failed |
Verify signature key |
091302 |
EBICS_ACCOUNT_AUTHORISATION_FAILED |
Account authorization failed |
Check permissions |
091303 |
EBICS_AMOUNT_CHECK_FAILED |
Amount limit exceeded |
Reduce amount |
091304 |
EBICS_SIGNER_UNKNOWN |
Signer not valid |
Register signer |
091305 |
EBICS_INVALID_SIGNER_STATE |
Signer state invalid |
Activate signer |
091306 |
EBICS_DUPLICATE_SIGNATURE |
Already signed |
No action needed |
Severity Levels
| Prefix |
Severity |
Description |
00 |
Success |
Operation completed |
01 |
Note |
Informational message |
03 |
Warning |
Non-critical issue |
06 |
Error |
Recoverable error |
09 |
Fatal |
Non-recoverable error |
Best Practices
- Always check return codes - Never assume success
- Log all errors - Include return code and report text
- Implement retry logic - For recoverable errors (06xxxx)
- Handle gracefully - Show user-friendly messages
- Monitor patterns - Track error frequencies
Next Steps