Danke für die schnellen Antworten.
Erstellt habe ich die Rechnung mit einem selbstgebauten Schellscript. Meine Dummyrechnungen bestehen die Validierung bei einem Tool des Landes Baden-Württrmberg, das Ihr unter https://erechnungsvalidator.service-bw.de/ findet. Ich möchte aber nicht gewohnheitsmäßig Kundendaten dorthin schicken.
Ich traue mir zu, ein Validierungsskript für den Hausgebrauch in der Shell zu hacken. Aber wenn ich das den Kunden gebe werden wahrscheinlich die meisten misstrauisch, und ich weiß ja nicht, welche shells die auf ihren Windows- und Macrechnern haben. Und mit dem Weg den shiro beschreibt, werden die meisten Kunden auch wenig anfangen.
ZUGFeRD möchte ich vermeiden, da ich meine Rechnungen gerne weiterhin mit Skriptunterstützung erstellen möchte und das mit diesem hybriden Format noch komplizierter sein dürfte. Übrigens erstellt mein Skript auch ein PDF mit den Rechnungsdaten für den Kunden, aber mit dem Hinweis, dass die XML-Datei verbindlich ist. Und dann will der Kunde wahrscheinlich nachschauen können, ob in beiden Dateien dasselbe steht.
Da ich keine öffentlichen Kunden habe vermute ich, dass die Leitweg ID für mich keine Rolle Spielt. Der Validator akzeptiert beliebige Strings als cbc:BuyerReference. Analog zur Erklärung unter https://docs.peppol.eu/poacc/billing/3.0/syntax/ubl-invoice/cac-OrderReference/ könnte ich „NA“ eingeben.
Irgendwie gibt es da eine Lücke. Fakturama und GnuCash können XRechnungen anscheinend nicht importieren. Es gibt jede Menge Apps um Rechnungen zu erstellen. Doch es fehlt etwas handliches, damit technikferne Kunden wissen, was sie mit dem XML-Ding anfangen sollen, nachdem es sich in Excel nicht öffnen ließ (klingt ja wie XLS).