InvoiceItemInput class

Implemented types
Implementers

Constructors

InvoiceItemInput({required String description, required num quantity, num? unitPriceCents, num? unitPriceMicros, required num vatRate, String? subtitle, String? unit, String? kind, num? discountPct, String? articleId})
Genau eines von unitPriceCents und unitPriceMicros (§ 9.1). Der assert fängt den Irrtum schon im Debug-Lauf; der Server weist ihn sonst als validation mit Feldpfad ab.
const
InvoiceItemInput.fromJson(Map<String, dynamic> j)
factory

Properties

articleId → String?
Artikel aus dem Artikelstamm (Lager). Ist er bestandsgeführt und das Modul Lager aktiv, bucht das Ausstellen ihn ab – danach; die Rechnung scheitert nie am Lager. Die Form (kein /, nicht ./..) prüft der Server (validation mit Feldpfad).
final
description → String
final
discountPct → num?
Zeilenrabatt in Prozent, höchstens zwei Nachkommastellen.
final
hashCode → int
The hash code for this object.
no setterinherited
kind → String?
Ware oder Leistung (itemKinds); ohne Angabe goods. Entscheidet grenzüberschreitend über ig. Lieferung oder Reverse Charge.
final
priceInCents → num
Der Preis in Cent, gleich welches Feld ihn trägt — unitPriceMicros zählt dabei als Zehntausendstel Cent. Wer rechnet, nimmt das hier und nicht eines der beiden Felder: sonst stünde die Fallunterscheidung an jeder Rechenstelle, und eine davon vergäße man.
no setteroverride
quantity → num
Höchstens drei Nachkommastellen.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
subtitle → String?
final
unit → String?
Schlüssel aus invoiceUnits (piece, hour, …); ohne Angabe piece. Als String, damit ein unbekannter Wert als validation mit Feldpfad vom Server zurückkommt statt hier still zu verschwinden.
final
unitPriceCents → num?
Einzelpreis in ganzen Cent im priceMode der Rechnung. Als num, damit ein fehlerhafter Wert unverändert beim Server ankommt und dort als validation mit Feldpfad zurückkommt — nicht still gerundet. null, wenn die Position ihren Preis in unitPriceMicros trägt.
final
unitPriceMicros → num?
Einzelpreis in Mikro-Euro (10⁻⁶ €) — für Preise unterhalb eines Cents, etwa in der Verbrauchsabrechnung. Gilt erst ab dem Schalter des Kontos; ohne ihn weist der Server ihn mit validation ab und sagt es.
final
vatRate → num
Der USt-Satz in Prozent. Gesendet wird ein Satz aus vatRates (0, 10, 13, 20); gelesen wird jeder Satz, den der Server schickt — darum num und nicht int. Eine Rechnung aus dem Panel kann eine Zeile zu 4,9 % (Grundnahrungsmittel) tragen, und ein int liesse das Lesen der eigenen Gutschrift daran scheitern.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited