IBAN Portugal
25 caractères : le code pays, deux chiffres de contrôle, puis le BBAN découpé comme ci-dessous.
Anatomie de l'exemple officiel
PT50000201231234567890154
- Code pays
- Clé de contrôle
- Code banque
- Code agence
- Numéro de compte
L'exemple vient du registre ISO 13616 ; il n'appartient à personne. Les positions comptent depuis le premier caractère de l'IBAN.
| Code ISO | PT |
|---|---|
| Longueur | 25 caractères |
| Clé de contrôle | positions 3 à 4, ISO 7064 mod 97-10 |
| Code banque | positions 5 à 8 · 4!n |
| Code agence | positions 9 à 12 · 4!n |
| Numéro de compte | positions 13 à 25 · 13!n |
| Exemple officiel | PT50 0002 0123 1234 5678 9015 4 |
| Zone SEPA | membre · SCT, SDD, SCT Inst |
| Vérification du bénéficiaire | obligatoire pour les prestataires du pays |
| Registre des codes banque | carte composite IBANforge, assemblée depuis les annuaires BIC (pas un registre national) |
Notation SWIFT : n = chiffres, a = lettres majuscules, c = caractères alphanumériques ; le point d'exclamation impose la longueur exacte.
Ce que l'API vérifie sur un IBAN Portugal
- La longueur, le jeu de caractères de chaque champ et la clé de contrôle mod 97.
- Le code banque contre notre carte composite assemblée depuis les annuaires BIC : un BIC et un nom de banque quand ils y figurent, sans la valeur d'un registre national.
- La joignabilité SEPA du pays et les schémas ouverts (SCT, SDD, SCT Inst).
- Le devoir de vérification du bénéficiaire qui pèse, ou non, sur les prestataires du pays.
Ce que l'API répond pour ce code
Le bloc ci-dessous est la réponse de la route elle-même, produite par le code qui sert api.ibanforge.com, sur le registre à la date indiquée. Rien n'est retouché.
{
"valid": true,
"country": {
"code": "PT",
"name": "Portugal"
},
"bic": null,
"bank_code_check": {
"value": "0002",
"status": "not_in_register",
"reason": "absent_from_reference_data",
"match": null,
"register": "IBANforge composite bank-code map (assembled from BIC directories, not a national bank-code register)",
"authoritative": false,
"as_of": "2026-09"
},
"sepa": {
"member": true,
"schemes": [
"SCT",
"SDD",
"SCT_INST"
],
"vop_required": true,
"vop_participant": null,
"basis": "country_default"
},
"issuer": null,
"risk_indicators": {
"country_risk": "standard",
"sepa_reachable": true,
"vop_coverage": true,
"test_bic": false
}
}Source : registre ISO 13616 pour la longueur, le découpage et l'exemple ; réponse de l'API relevée le 2026-09-06.