horstoeko / zugferd

ZUGFeRD/XRechnung/Factur-X Library
MIT License
178 stars 27 forks source link

[FEATURE] Implement ZUGFeRD 2.3 #119

Closed danielmarschall closed 1 month ago

danielmarschall commented 1 month ago

Hello,

Yesterday, ZUGFeRD 2.3 has been released. I wonder, are there changes required in this PHP library? https://www.ferd-net.de/standards/zugferd-2.3/zugferd-2.3.html

horstoeko commented 1 month ago

HI @danielmarschall,

Thank you for the request. I also noticed the new version yesterday. Unfortunately, I haven't had time to review the documentation in full yet. What I see, however, is that a lot has been done in the EXTENDED profile (change of cardinalities, etc.) Here I will probably have to recreate the entities for serialization/deserialization. This is a bit of work for which I have little time at the moment. I will try to get a handle on it somehow next week... I don't think it's super urgent for now. The changes only affect (as I said) the EXTENDED profile, and that should at least not be used in Germany.

Best regards

horstoeko commented 1 month ago

Hi @danielmarschall ,

I had some time this morning and had a look at the changes. It only affects the extended profile, where 5 new attributes have also been added:

In addition, the validation rules for EXTENDED have probably been changed - but this does not affect the library as I have not implemented my own validation.

I will keep my feet still for now and take things easy. I don't think it's necessary to go into blind actionism. I'm going to take things calmly.

Kind regards...

danielmarschall commented 1 month ago

Thank you very much for checking this!

The email newslettter of FeRD says "Kleine Fehlerkorrekturen in allen Profilen", so I guess this also affects the XRechnung3 profile. Do you have a clue what they mean with small fixes?

I think the issue can stay open as long-term TODO, maybe a contributor would be interested in implementing it.

horstoeko commented 1 month ago

Hi @danielmarschall,

The email newslettter of FeRD says "Kleine Fehlerkorrekturen in allen Profilen", so I guess this also affects the XRechnung3 profile. Do you have a clue what they mean with small fixes?

From the docs:

Factur-X.xml baut auf UN/CEFCAT CII D22B auf (statt D16B), um der EN 16931 genauer zu entsprechen (BG-3 Kardinalität 0..n) Alle Profile (mit Ausnahme von MINIMUM): BG-3 Kardinalität 0..n anstelle von 0..1

Profil EN 16931, BASIC BASIC WL; Korrekturen in Excel:

Profil EXTENDED: Einrichtung von IDs für alle BT (BT-X-zzz).

Profil EXTENDED: Neuer BT hinzugefügt:

Profil EXTENDED, modifizierte Kardinalitäten:

Profil EXTENDED: BR-O-11, BR-O-12, BR-O-13, BR-O-14 wurden gelöscht, um Rechnungen mit Positionen außerhalb des Geltungsbereichs und anderen Positionsarten zu ermöglichen.

Profil EXTENDED: Änderung der Geschäftsregeln, um eine Toleranz von 0,01 € für Zuschläge oder Abschläge auf Positions- bzw. Dokumentenebene zu ermöglichen, die bei der Anwendung von Rechenregeln auftreten (z.B. bei Berechnung der USt auf Positionsebene, oder wo Preise inklusive USt. definiert werden, insbesondere bei B2C-Rechnungen):

Profil EXTENDED: 3 neue Geschäftsregeln wurden erforderlich wegen der der neuen Geschäftsbegriffe (Business Terms): BR-FXEXT-01, BR-FXEXT-02, BR-FXEXT-03.

I think the issue can stay open as long-term TODO, maybe a contributor would be interested in implementing it.

I think I can tackle the issue next week. It will take some time, as changes have been made to the schema definitions (XSD). I generate the serialization/deserialization from these XSD files. In the past, I've often found that the XSDs were sometimes a bit “flawed”... :-)

horstoeko commented 1 month ago

Good morning @danielmarschall,

I used the weekend to add ZUGFeRD 2.3/Factur-X 1.07 to my library. The changes were in fact quite manageable, so that I can do the merge quite soon (once I have done some manual tests) and publish a new release.