Utilisez le format JSON lorsque vous devez intégrer des données de transactions dans un script ou un pipeline de données tout en conservant les métadonnées de compte du relevé. Notre fichier JSON téléchargé est un objet unique contenant des métadonnées et un tableau de transactions. Il ne s'agit pas d'une simple liste de lignes ni d'un fichier JSON délimité par des retours à la ligne (JSON Lines).
Télécharger le relevé structuré
- Ouvrez l'outil PDF vers JSON et importez un PDF lisible et non verrouillé d'une taille maximale de 25 Mo.
- Sélectionnez Convertir mon relevé et patientez pendant le traitement.
- Ouvrez Plus de formats, puis sélectionnez JSON sous Spreadsheet+.
- Enregistrez le fichier et comparez un échantillon de dates et de montants avec le PDF original.
Ce guide porte sur la lecture d'un fichier téléchargé. Un export JSON ne constitue pas en soi une intégration par API publique ni un flux de téléversement automatisé.
Comprendre la structure de l'objet
| Field | Shape | Meaning |
|---|---|---|
| bankName, accountHolder, accountNumber | Chaîne ou null | Métadonnées de compte extraites |
| currency | Chaîne ou null | Devise au niveau du relevé |
| statementPeriod | Objet avec from et to | Chaînes de date ou null pour chaque borne |
| openingBalance, closingBalance | Nombre ou null | Soldes du relevé extraits |
| transactions | Tableau | Lignes contenant date, description, debit, credit, balance |
| pageCount | Nombre | Nombre de pages du PDF relevé lors de la conversion |
| validated | Booléen | Résultat de la vérification de solde effectuée par l'application |
| parserUsed | Chaîne | Identifiant du moteur d'extraction |
Au sein de chaque transaction, date et description sont des chaînes ; debit, credit et balance sont des nombres ou null. Le parseur est configuré pour renvoyer des dates au format ISO, mais votre intégration doit tout de même les valider. Les numéros de compte sont des identifiants : conservez-les sous forme de chaînes afin de préserver les zéros initiaux. Cet export ne comporte aucun champ de catégorie ni d'identifiant de transaction bancaire d'origine.
Lire le tableau de transactions en Python
Enregistrez votre téléchargement sous le nom statement.json pour cet exemple. Le module json de Python lit l'objet externe ; sélectionnez son champ transactions pour accéder aux lignes. L'utilisation de Decimal pour les nombres décimaux évite l'apparition d'erreurs d'arrondi en virgule flottante binaire lors de vos propres calculs. Consultez la documentation de Python sur le module JSON pour json.load et parse_float.
python
import json
from decimal import Decimal
with open("statement.json", encoding="utf-8") as source:
statement = json.load(source, parse_float=Decimal)
rows = statement["transactions"]
if not isinstance(rows, list):
raise ValueError("Expected a transactions array")
print("Balance check:", statement["validated"])
for row in rows:
print(row["date"], row["description"], row["debit"], row["credit"])Cet exemple lit et affiche les données ; il ne publie aucune transaction vers un quelconque système. Si vous utilisez ensuite un dataframe, construisez-le à partir du tableau de transactions et conservez les métadonnées du relevé à part. Lire l'objet entier comme s'il s'agissait d'une table plate de transactions mélangerait des champs de structures hétérogènes.
Interpréter null et validated avec précaution
Une valeur null signifie qu'une information était absente ou indisponible. Elle n'est pas équivalente à zéro. Un débit manquant est normal pour une ligne de crédit, mais l'absence de solde initial nécessite un traitement distinct. Vérifiez explicitement ces cas avant de calculer des totaux ou d'effectuer un import.
L'indicateur validated vérifie qu'il y a des transactions et que les deux soldes du relevé sont présents, puis compare le solde initial augmenté des crédits et diminué des débits avec le solde de clôture, selon une tolérance de 0.01. Il ne vérifie pas chaque libellé, date, identifiant de compte ou solde progressif. Une valeur false peut signaler des soldes manquants ou un écart de calcul ; une valeur true ne garantit pas que chaque ligne soit exempte d'erreur.
Préparer les données pour un flux de travail reproductible
Vérifiez les clés et les types attendus, la validité des dates, la devise du relevé et le compte avant de charger les lignes. Conservez une référence au fichier source avec les enregistrements importés. L'export ne comportant aucun identifiant de ligne persistant attribué par la banque, mettez en place votre propre détection des doublons plutôt que de supposer que l'ordre des lignes est unique d'un fichier à l'autre.
Pour obtenir des catégories, téléchargez le classeur catégorisé distinct. Pour un fichier plat plus simple, suivez le guide CSV.