previewInvoice method
Probelauf von issueInvoice: dieselbe Anfrage wird geprüft und gerechnet wie beim Ausstellen, aber nichts festgeschrieben — keine Nummer, kein Dokument, keine Zahlung. Die Antwort nennt Summen, Steuerfall samt Grund, Sprache, Marke, E-Rechnung und die Hinweise — oder scheitert mit demselben Fehlercode, mit dem das Ausstellen scheitern würde.
Der idempotencyKey wird nicht verbraucht: dieselbe Anfrage lässt sich
danach unverändert ausstellen. Verbindlich ist das Ausstellen — zwischen
Probelauf und Ausstellen können sich Kunde oder Konto ändern.
Geht als issueInvoice mit dryRun: true hinaus; Fehler tragen deshalb
den Aufrufnamen issueInvoice. Ein Server ohne Probelauf lehnt das
unbekannte Feld als validation ab.
Implementation
Future<PreviewResult> previewInvoice(IssueInvoiceRequest request) async {
const name = Aufrufe.issueInvoice;
final daten = await _transport.call(name, {...request.toJson(), 'dryRun': true});
return _lesen(name, () => PreviewResult.fromJson(daten));
}