Versionen und Release Notes

Hier finden Sie die wichtigsten Änderungen der aktuellen und kommenden FactoorSharp-Versionen.

Version 20.0.0

Aktuell

Version 20.0 ist ein Major-Release: Es macht Nachkommastellen konfigurierbar, ergänzt Seriennummern und Chargen je Position, gibt Rechnungen auf Deutsch, Englisch und Französisch aus und räumt die API auf. Einige Änderungen betreffen bestehenden Code – sie sind unten mit „Breaking Change“ gekennzeichnet und jeweils mit einem Umstiegsbeispiel versehen.

Die Neuerungen im Detail:

  • Steuersatz je Position ist jetzt optional (BT-152) Breaking Change Kern
    Die Eigenschaft TradeLineItem.TaxPercent ist jetzt vom Typ decimal?. Fehlt der Satz in der Rechnung, liefert sie null statt 0, und beim Schreiben entfällt das Element – für die Steuerkategorie O (nicht steuerbar) ist das vorgeschrieben. Beim Lesen genügt ?? 0m, um das bisherige Verhalten zu erhalten. Bei AddTradeLineItem() ist taxPercent jetzt standardmäßig null: Positionen mit 0 % Steuer (etwa die Kategorien E, AE und Z) müssen den Satz ausdrücklich mit 0m angeben.
  • Speichern als PDF liefert ein Ergebnis und erzeugt PDF/A-3B Breaking Change PDF
    SaveToPdf() und SaveToPdfAsync() geben jetzt ein PdfSaveResult zurück, das auflistet, was an der Eingabe-PDF repariert wurde oder offen blieb. Die erzeugte PDF erklärt sich als PDF/A-3B statt PDF/A-3A. Der Quelltext kompiliert unverändert; bereits übersetzte Anwendungen müssen jedoch neu kompiliert werden, weil sich die Signatur geändert hat. Alle Überladungen nehmen außerdem optional InvoiceFormatOptions entgegen, die auch auf das eingebettete XML wirken. Details finden Sie in der Dokumentation „Umgang mit PDF-Dateien“.
  • Veraltete Funktionen entfernt Breaking Change Kern
    Die bisher mit [Obsolete] markierten Funktionen sind entfernt. Das Beispiel zeigt jeweils den Ersatz; die Umstellung ist eine Umbenennung ohne Änderung der Ergebnisse. Ebenfalls entfernt sind die Klassen InvoiceValidator und ValidationResult des Kernpakets – die Prüfung steht im Paket FactoorSharp.FacturX.Validator zur Verfügung.
  • Nachkommastellen konfigurieren Kern
    Preise, Mengen, Prozentsätze und Umrechnungskurse lassen sich jetzt mit mehr Nachkommastellen schreiben – für jeden Datentyp getrennt. Beträge bleiben bei zwei Stellen; nur für Positionsbeträge gibt es ein ausdrückliches Opt-in, das nicht EN-16931-konform ist. Ohne Optionen ändert sich an der Ausgabe nichts. Alle Details in der Dokumentation „Konfiguration“.
  • Seriennummern und Chargen je Position (BG-X-84) Kern
    Einzelne gelieferte Geräte lassen sich mit Seriennummer (BT-X-307) und Chargennummer (BT-X-306) an der Rechnungsposition angeben, etwa eine Zeile je Maschine. Die Angaben bleiben beim Einlesen erhalten (Profil EXTENDED, ZUGFeRD 2.4 und 2.5). Siehe „Seriennummern und Chargen“.
  • Eingabe-PDFs werden für PDF/A bereinigt PDF
    Quell-PDFs aus Berichtsgeneratoren bringen häufig PDF/A-Verstöße mit, die bisher unverändert übernommen wurden. FactoorSharp setzt jetzt fehlende Annotations-Flags (Regel 6.3.2), bettet fehlende Schriften ein und repariert die Kodierung symbolischer TrueType-Schriften, wie sie Barcode-Generatoren erzeugen (Regel 6.2.11.6). Jede Reparatur erscheint im PdfSaveResult.
  • Rechnungsdarstellung in Deutsch, Englisch und Französisch Visualisierung
    Die PDF- und die HTML-Ausgabe lassen sich über die Culture der Render-Optionen auf Deutsch, Englisch oder Französisch erzeugen. Beschriftungen, Dokumenttitel, Einheiten sowie Zahlen- und Datumsformate folgen der gewählten Sprache. Ohne Angabe bleibt die Ausgabe deutsch. Siehe „Bildliche Darstellung von Rechnungen“.
  • Mehr Angaben in der Rechnungsdarstellung Visualisierung
    Die Darstellung zeigt jetzt die Versandanzeige (BT-16), die Käuferreferenz und die Freitexte der Position, weist Dokumentreferenzen (BT-17, BT-18, BT-122, BT-128) lesbar aus und wählt für jeden Rechnungstyp einen passenden Dokumenttitel. Preise, Mengen und Prozentsätze erscheinen mit allen signifikanten Nachkommastellen, damit die Darstellung nicht von der eingebetteten XML abweicht.
  • Prüfbericht in Ihrer Sprache Validierung
    Für die erweiterte Validierung über den Online-Dienst lässt sich die Sprache des Prüfberichts festlegen: Deutsch, Englisch oder Französisch. Ohne Angabe bleibt es bei Deutsch; bei der rein lokalen Prüfung ist die Angabe ohne Wirkung. Fehlermeldungen des Dienstes werden zudem zuverlässiger in verständliche Ausnahmen übersetzt.
  • Fehlende optionale Angaben bleiben leer Kern
    Optionale Codes, die in einer Rechnung fehlen, wurden beim Einlesen bisher durch einen Standardwert ersetzt und beim erneuten Speichern mitgeschrieben – etwa die Kontoart (BT-X-290), die Steuerwährung (BT-6) oder Gründe von Zu- und Abschlägen. Sie bleiben jetzt leer (null). Bitte beachten Sie: Code, der sich auf die früheren Standardwerte verließ, muss auf null prüfen.
  • Weitere Korrekturen Kern
    Das Format 616 (Kalenderwoche, CCYYWW) lehnt Wochen ab, die das Jahr nicht enthält. Ergänzt wurde außerdem der Betreff-Code AAG für Anweisungen der Partei.

Version 19.1.1

Version 19.1.1 korrigiert mehrere Fehler beim Schreiben von ZUGFeRD-2.0-/2.5- und UBL-Rechnungen und erweitert die Validierung spanischer und italienischer Rechnungen.

Die Neuerungen im Detail:

  • Rechnungspositionsbetrag bei ZUGFeRD 2.5 korrekt berechnet (BT-131) Kern
    Wurde der Positionsbetrag nicht ausdrücklich gesetzt, schrieb ZUGFeRD 2.5 bislang 0 statt ihn wie 2.0, 2.4 und UBL aus Einzelpreis und Menge zu berechnen. War der Betrag ausdrücklich gesetzt, war die Rechnung immer korrekt.
  • Umsatzsteuer in Buchungswährung jetzt auch in UBL korrekt (BT-111, BT-6) Kern
    Der Steuerbetrag in der Buchungswährung wurde in UBL bislang nie geschrieben und beim Einlesen nicht zuverlässig erkannt. Beides funktioniert jetzt korrekt, auch für XRechnung im UBL-Format.
  • Keine unzulässigen Befreiungsgründe mehr in der Steueraufschlüsselung (BT-120, BT-121) Kern
    Für die Steuerkategorien Regelsatz, Nullsatz, IGIC und IPSI verbietet die EN 16931 einen Befreiungsgrund in der Steueraufschlüsselung. Bisher wurde das nur für den Nullsatz beachtet, in UBL gar nicht.
  • ZUGFeRD 2.0: elektronische Adresse und Positions-Befreiung nachgezogen (BT-34, BT-49, BT-X-96, BT-X-97) Kern
    Die elektronische Adresse wurde in ZUGFeRD 2.0 bislang für keine beteiligte Partei geschrieben, der Befreiungsgrund auf Positionsebene fehlte ebenfalls. Beides wird jetzt geschrieben und gelesen, wie bei 2.4 und 2.5.
  • Spanien: rechnerische Prüfung und FACe-Modus für Facturae Validierung
    Die lokale Validierung prüft Facturae-Rechnungen jetzt auf rechnerische Richtigkeit von Positions-, Sammel- und Rechnungssummen, die NIF-Prüfziffer und die Signaturpolitik. Mit der neuen Option CheckFACeRequirements lassen sich zusätzlich die strengeren Annahmebedingungen des spanischen Behörden-Empfangspunkts FACe prüfen.
  • Italien: FatturaPA-Schema aktualisiert Validierung
    Das Schema für die „fattura ordinaria" wurde auf Version 1.2.3 aktualisiert; die vereinfachte Rechnung „fattura semplificata" wird jetzt ebenfalls validiert.
  • Absturz nach QuestPDF-Update behoben Visualisierung
    Nach einer QuestPDF-Aktualisierung konnten veraltete native Bibliotheken im Build-Verzeichnis zu einem Absturz beim Rendern führen. Sie werden jetzt automatisch entfernt.

Version 19.1.0

Version 19.1.0 stellt Rechnungen jetzt auch als HTML dar, unterstützt Vorauszahlungen und Umsatzsteuer in Fremdwährung, liest Texte aus PDFs samt Position aus und erkennt das Rechnungsformat noch zuverlässiger.

Die Neuerungen im Detail:

  • Rechnungen als HTML anzeigen Visualisierung
    Rechnungen lassen sich jetzt nicht nur als PDF, sondern auch als HTML darstellen – als eigenständige Seite oder als Baustein, der sich direkt in Ihre Web- oder Desktop-Anwendung einbetten lässt. Zusätzlich erscheinen Lieferschein, Bestellreferenz und Produktmerkmale in der Ansicht.
  • Vorauszahlungen im Detail ausweisen (BG-X-45) Kern
    Bereits erhaltene Anzahlungen können im Profil EXTENDED einzeln aufgeführt werden – mit Betrag, Zahlungsdatum, enthaltener Umsatzsteuer und Verweis auf die zugehörige Anzahlungsrechnung.
  • Umsatzsteuer in Fremdwährung mit Wechselkurs (BG-X-41) Kern
    Bei Rechnungen in Fremdwährung geben Sie Buchungswährung (BT-6), Umsatzsteuerbetrag in dieser Währung (BT-111) und Wechselkurs jetzt in einem Schritt an – so, wie es die EN 16931 erwartet.
  • Elektronische Adresse für alle Beteiligten (BT-34, BT-49, BT-X-160) Kern
    Nicht nur Verkäufer und Käufer, sondern auch Lieferempfänger und weitere Beteiligte können jetzt eine elektronische Adresse, etwa eine E-Mail-Adresse, erhalten. Die Angaben bleiben beim Einlesen vollständig erhalten.
  • Texte aus PDFs samt Position auslesen PDF
    Aus dem sichtbaren Inhalt einer PDF lassen sich jetzt Textbausteine mit Seite, Position und Schriftgröße auslesen, etwa um einen Wert aus einer bestimmten Tabellenspalte zu übernehmen. Die normale Textextraktion gibt das Seitenlayout außerdem deutlich originalgetreuer wieder.
  • Mehr Angaben zu Rechnungspositionen (BT-158-1, BT-X-98) Kern
    Artikel können jetzt nach allen Klassifizierungssystemen der EN 16931 gekennzeichnet werden, zum Beispiel UNSPSC oder eCl@ss. Im Profil EXTENDED lässt sich zusätzlich die Summe der Zu- und Abschläge je Position angeben.
  • Zuverlässigere Erkennung des Rechnungsformats Kern
    Ob eine Datei eine ZUGFeRD-/Factur-X- oder eine UBL-Rechnung ist, wird jetzt eindeutig am Aufbau des Dokuments erkannt. Dadurch lassen sich auch Rechnungen von Absendern einlesen, die keine oder eine noch unbekannte Profilkennung (BT-24) angeben.
  • Aktuelle XRechnung-Prüfregeln 2.6.0 Validierung
    Die lokale Prüfung nutzt jetzt die aktuellen KoSIT-Prüfregeln 2.6.0 für XRechnung 3.0.2. Bitte beachten Sie: Ein Verstoß gegen die Regel BR-TMP-2 gilt damit als Fehler statt als Warnung. Außerdem werden Rechnungen geprüft, deren XML unkomprimiert in die PDF eingebettet ist, und nicht lesbare Anhänge erscheinen als verständlicher Prüfbefund.
  • Gründlichere Prüfung von Beträgen und Summen Validierung
    Die eingebaute Rechnungsprüfung kontrolliert Positionsbeträge, Zu- und Abschläge, Steuerbeträge und den Zahlbetrag jetzt deutlich genauer nach den Regeln der EN 16931 – inklusive Vorauszahlungen, Rundungsbeträgen und Preisbasismengen (BT-149).
  • Fehlerkorrekturen für gültige Rechnungen Kern
    Mehrere Fehler, die zu ungültigen oder unvollständigen Rechnungen führen konnten, sind behoben: Bei nullbesteuerten Umsätzen (Kategorie Z) wird kein Befreiungsgrund mehr geschrieben (BR-Z-10), MINIMUM-Rechnungen enthalten keine unzulässige elektronische Adresse mehr, leere IBAN-Angaben entfallen, UBL-Preise behalten alle Nachkommastellen und die Referenz auf den Wareneingangsbeleg (BT-15) wird in UBL korrekt gelesen und geschrieben.

Version 19.0

Version 19.0 führt eine kostenlose, lokale Rechnungsprüfung ein, verbessert die Verarbeitung von XRechnung-Preisangaben und PDF-Anhängen und härtet FactoorSharp gegen präparierte Dokumente ab.

Schwerpunkte

  • Kostenlose, lokale Rechnungsprüfung ohne Internetverbindung
  • Unterstützung für ZUGFeRD 2.5.2
  • Genauere Preisangaben bei XRechnung-Rechnungen und zuverlässigere PDF-Anhänge
  • Mehr Flexibilität bei internationalen Formaten und Referenz auf Wareneingangsbelege
  • Besserer Schutz beim Einlesen präparierter Dokumente

Version 18.5

Version 18.5 führt die Unterstützung von Rechnungszeiträumen ein, verbessert die Verarbeitung von Zahlungsbedingungen und behebt mehrere Fehler rund um ZUGFeRD 2.0 und 2.5.

Schwerpunkte

  • Unterstützung von Rechnungszeiträumen, etwa für Abo- oder Mietrechnungen, beim Einlesen und Schreiben von Factur-X-/ZUGFeRD-Rechnungen
  • Konsistente Verarbeitung strukturierter Zahlungsbedingungen (Skonto, Fälligkeiten) über die ZUGFeRD-Versionen 2.0 und 2.4 hinweg
  • Fehlerkorrekturen bei Liefer-, Zahlungs- und Bankverbindungsdaten für ZUGFeRD 2.0
  • Aktualisiertes Valitool 3.26.5 für aktuellere und präzisere Prüfergebnisse

Version 18.4

Version 18.4 führt eine neue Visualisierungskomponente ein und korrigiert einige Fehler in der Arbeit mit ZUGFeRD 2.5.

Schwerpunkte

  • Neue Visualisierungskomponente FactoorSharp.Visualization zur Erzeugung von PDF-Berichten aus ZUGFeRD-Daten
  • Alarmierung per E-Mail bei niedriger Validierungs-Quota
  • Fehlerkorrekturen für ZUGFeRD 2.5 / Factur-X

Version 18.3

Version 18.3 unterstützt ZUGFeRD 2.5 und erweitert die Validierung um italienische und spanische Rechnungen.

Schwerpunkte

  • Unterstützung von ZUGFeRD 2.5 / Factur-X bei Erzeugung, Einlesen und Validierung
  • Performante Verarbeitung von Rechnungen mit sehr vielen Positionen (> 1.000)
  • Rückgabe von Detailprüfergebnissen bei der Validierung
  • Gehärtetes Einlesen von XML-Dateien gegen schadhafte bzw. manipulierte Inhalte
  • Validierung italienischer (FatturaPA) und spanischer (Facturae) Rechnungen

Version 18.2

Version 18.2 baut die PDF-Verarbeitung weiter aus und verbessert das Quota-Management für die Validierung.

Schwerpunkte

  • PDF-Seitenextraktion: gezieltes Extrahieren einzelner Seiten oder Seitenbereiche als eigenständige PDF-Dokumente
  • Rückgabe der verbleibenden Validierungsquota direkt im Ergebnisobjekt jeder Validierungsanfrage
  • Dedizierte Abfrage der verbleibenden Validierungsquota per API – ideal für Monitoring- und Überwachungsszenarien

Version 18.1

Version 18.1 baut FactoorSharp im Bereich PDF-Verarbeitung weiter aus und erweitert die Signierungsunterstützung auf alle .NET-Zielplattformen.

Schwerpunkte

  • Neue Hilfsfunktionen für Analyse, Vorbereitung und Weiterverarbeitung von Rechnungs-PDFs
  • PDF-Signierung für alle unterstützten .NET-Versionen
  • Unterstützung von SellerOrderReferencedDocument auf Positionsebene
  • Fehlerkorrekturen, u. a. sauberer Umgang mit UBL Party Names und Legal Entity Names

Version 18.0

Version 18.0 ist die erste veröffentlichte FactoorSharp-Version. Sie bildet die stabile Grundlage für die Arbeit mit ZUGFeRD, Factur-X und XRechnung in modernen .NET-Anwendungen.

Schwerpunkte

  • Aktuelle Basis für Erzeugung, Import und Verarbeitung elektronischer Rechnungen
  • Vollständige Unterstützung von ZUGFeRD 2.4/ Factur-X 1.08. Insbesondere: Umgang mit Unterpositionen, Mengenangaben pro Verpackungseinheit
  • Unterstützung der bestehenden FactoorSharp-Funktionen für XML, PDF und Validierung
  • Stabile Ausgangsversion für die nächsten Erweiterungen im PDF-Bereich