From 4d4e4ceb1624e74b68e06e0a9cf4695c9018dfc3 Mon Sep 17 00:00:00 2001 From: MS Date: Thu, 2 Nov 2023 10:30:05 +0100 Subject: notes to DD50 about fetching payments --- design-documents/050-libeufin-nexus.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'design-documents') diff --git a/design-documents/050-libeufin-nexus.rst b/design-documents/050-libeufin-nexus.rst index 272e7a7b..82982dc3 100644 --- a/design-documents/050-libeufin-nexus.rst +++ b/design-documents/050-libeufin-nexus.rst @@ -196,6 +196,23 @@ nexus-ebics-fetch over (before committing any transactions with the next day!) also fetches a final statement of the previous day, thus ensuring we get a statement every day plus intra-day reports. + + .. note:: + + (1) "from that day forward (inclusive)" must **not** rely on EBICS returning + the unseen messages: that's because they might **already** be downloaded but + never made it to the database. + + (2) "and when the day rolls over". When does a day roll over? => A day rolls + over when the current time is at least on the day after the transaction with the + most recent timestamp that's stored in the database. + + (3) "Afterwards, fetches reports". This must happen **only after** any possible + previous statement got downloaded. + + To summarize: at any point in time the database must contain (the content of) any + possible statement up to the current time, plus any possible report up to the current + time (in case that's not covered by any statement so far). * Bounces transactions with mal-formed wire transfer subjects. -- cgit v1.2.3