2025-08-01 17:37:21 +00:00
|
|
|
import os
|
|
|
|
|
from beancount.ingest import importer
|
|
|
|
|
from beancount.core import data
|
|
|
|
|
from beancount.ingest.importers import csv
|
|
|
|
|
from beancount.format import format_entry
|
|
|
|
|
from beancount.ingest import identify
|
|
|
|
|
|
|
|
|
|
# Een dummy-klasse die een bestand representeert, zoals Beancount dat zou doen.
|
|
|
|
|
class DummyFile:
|
|
|
|
|
def __init__(self, filename):
|
|
|
|
|
self.name = filename
|
|
|
|
|
|
|
|
|
|
from postbank_csv_importer import MyCSVImporter
|
|
|
|
|
importer = MyCSVImporter()
|
|
|
|
|
bestand_pad = 'PostbankGiro_25-01_08.csv'
|
|
|
|
|
|
|
|
|
|
# Controleer of de importer het bestand herkent.
|
|
|
|
|
if importer.identify(bestand_pad):
|
|
|
|
|
print("Importer identified the file. Extracting entries...")
|
2025-08-01 18:40:01 +00:00
|
|
|
# Roep de extract methode aan om de transacties te verwerken.
|
|
|
|
|
extracted_entries = importer.extract(bestand_pad)
|
2025-08-01 17:37:21 +00:00
|
|
|
else:
|
|
|
|
|
# We maken een dummy-bestand aan met testdata
|
|
|
|
|
with open(bestand_pad, 'w', encoding='utf-8') as f:
|
2025-08-01 18:40:01 +00:00
|
|
|
f.write("Datum;Omschrijving;Rekening;Tegenrekening;Bedrag;Valuta\n")
|
|
|
|
|
f.write("01-01-2025;Boodschappen;Bank;Supermarkt;50.00;EUR\n")
|
|
|
|
|
f.write("02-01-2025;Salaris;Werkgever;Bank;2500.00;EUR\n")
|
|
|
|
|
f.write("03-01-2025;Huur;Bank;Huisbaas;750.00;EUR\n")
|
|
|
|
|
extracted_entries = importer_instance.extract(DummyFile(bestand_pad), None)
|
2025-08-01 17:37:21 +00:00
|
|
|
|
|
|
|
|
print("; Geëxtraheerde transacties:")
|
|
|
|
|
for entry in extracted_entries:
|
|
|
|
|
print(format_entry(entry))
|