diff --git a/frontend/src/pages/Buchhaltung.tsx b/frontend/src/pages/Buchhaltung.tsx
index fda6c80..c48e82d 100644
--- a/frontend/src/pages/Buchhaltung.tsx
+++ b/frontend/src/pages/Buchhaltung.tsx
@@ -597,6 +597,7 @@ function UebersichtTab({ haushaltsjahre, selectedJahrId, onJahrChange }: {
queryKey: ['kontenTree', selectedJahrId],
queryFn: () => buchhaltungApi.getKontenTree(selectedJahrId!),
enabled: selectedJahrId != null,
+ staleTime: 0,
});
const { data: kategorien = [] } = useQuery({
queryKey: ['buchhaltung-kategorien', selectedJahrId],
diff --git a/sync/src/scraper.ts b/sync/src/scraper.ts
index 07e5b3f..1278e51 100644
--- a/sync/src/scraper.ts
+++ b/sync/src/scraper.ts
@@ -59,9 +59,10 @@ function parseDate(raw: string | null | undefined): string | null {
if (!raw) return null;
const trimmed = raw.trim();
if (!trimmed) return null;
- const match = trimmed.match(/^(\d{2})\.(\d{2})\.(\d{4})$/);
+ // Accept 1–2 digit day/month with optional trailing time (e.g. "10.9.2011 00:00:00")
+ const match = trimmed.match(/^(\d{1,2})\.(\d{1,2})\.(\d{4})/);
if (!match) return null;
- return `${match[3]}-${match[2]}-${match[1]}`;
+ return `${match[3]}-${match[2].padStart(2, '0')}-${match[1].padStart(2, '0')}`;
}
/**
@@ -736,8 +737,9 @@ async function scrapeDetailProfileFields(frame: Frame): Promise<{
}
/**
- * Scrape Ausbildungen by navigating to the AusbildungenListEdit.aspx page.
- * This is a ListEdit page (like Fahrgenehmigungen) with /