Comments (6)
phpFinTS/lib/Fhp/Parser/MT940.php
Line 125 in e8b18a7
Da irgendein Schlaufuchs im Standard in einer 500 Zeichen Nachricht 2 Zeichen sparen wollte, muss an dieser Stelle von einer einzigen Jahreszahl auf das Jahr von zwei verschiedenen Daten geschlossen werden.
Wenn ich den Code richtig interpretiere, nimmt er an, dass laut MT940-Standard ein Valuta-Date niemals vor einem Booking-Date liegen kann. M.a.W. Valuta-Datum kommt immer nach/ist gleich Booking-Date.
Wenn dann der Monat des Valuta-Dates tatsächlich vor dem Monat des Booking-Dates liegt, geht der Code davon aus, dass das Booking-Date im Jahr davor liegt, während das Valuta-Date im aktuellen Jahr liegt, deshalb wird ein Jahr abgezogen.
61:1906290701
29.06.19 und 01.07.18 = falsch
Ist laut Standard überhaupt erlaubt, das als 29.06.19 (valuta) und 01.07.19 (booking) zu interpretieren?
61:1901011228
01.01.19 und 28.12.17 = falsch
Da scheint definitiv was faul zu sein, Standard hin oder her. Zwei Jahre sollten das nicht sein...er zieht nochmal ein Jahr zusätzlich ab...
Ich kenne leider den Standard nicht auswendig, also weiss ich nicht, ob das Valuta-Datum auch vor dem Booking-Datum liegen darf.
from phpfints.
Es gibt mittlerweile die Echtzeit-Gutschrift, zumindest sehe ich dort immer wieder den Fall. Aktuell zb:
61:1909280930
61:1909290930
61:1908310902
from phpfints.
Hmm, dann scheint das wohl möglich zu sein, dass Valuta-Date vor Booking-Date.
Dann ist die einzige Frage, ob beide Daten um ca. 1 Jahr auseinanderliegen können? Dann könnte man nicht mehr unterscheiden ob
1909280930
als
Valuta: 28.09.19 und Booking: 30.09.19
oder
Valuta: 28.09.19 und Booking: 30.09.18 (also ein Jahr eher)
geparst werden soll.
Man könnte natürlich einfach definieren, dass Booking und Valuta maximal ein halbes Jahr auseinanderliegen, und dann immer das Booking-Date genommen wird, was am nächsten am Valuta-Date liegt.
Vielleicht reicht ja dein Fix die Zeile zu löschen und deckt alle Fälle ab? Ich steh grad auf dem Schlauch^^
Mach doch mal n Pullrequest.
from phpfints.
Ich wüßte jetzt nicht warum Booking und Valuta länger als ein paar Tage auseinander liegen sollten. Ob das entfernen der einen Zeile alles abdeckt, weiß ich jedoch auch nicht. Zumindest würde es die mit "falsch" angegebenen Ergebnisse korrigieren.
from phpfints.
Schick einfach mal einen PR, mir scheint es ein Fortschritt zu sein 😉
from phpfints.
Ist durch #202 behoben, kann auch zu.
from phpfints.
Related Issues (20)
- GetSepaAccounts with DKB / pushTan HOT 3
- Best Practice Strong-Authentication HOT 5
- Samples / No public access to `SephpaDirectDebit::generateXml()` HOT 2
- Fehler bei Commerzbank PhotoTAN HOT 5
- Freigabeverfahren widerspricht dem Legitimationsvertrag. (MBV07390100182) HOT 1
- Erfahrungswerte Freischaltung durch Bank HOT 1
- Fehler Sparkasse PushTAN-Verfahren FinTS HOT 6
- Warning: Undefined array key end_balance HOT 1
- Wie teste ich das TAN-Verfahren, wenn meine Bank mich immer ohne einloggt? HOT 2
- Sparkasse asks for TAN on every $fints->login() HOT 4
- VR 2FA HOT 1
- Add parameter to checkDecoupledSubmission to not execute action HOT 3
- Gerätebezeichnung ist unbekannt HOT 2
- Wiederholte Abrufe im Hintergrund - will Auftrag nicht immer in App freigeben HOT 2
- Lohnt ein Pull Request für Echtzeitüberweisung? HOT 1
- Decoupled authentication is no longer possible because of error “Cannot init another dialog” HOT 4
- Got neither 3956 nor HITAN with tanProzess=2 HOT 3
- Probleme mit Terminüberweisungen HOT 11
- getTanMedia not returning anything
- Probleme beim Volksbank getStatements HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from phpfints.