IssueInvoiceItemInput class

Eine Position beim Ausstellen (issueInvoice): wie InvoiceItemInput, dazu optional die Reservierung aus der Lager-API, die diese Position einloest.

Gutschriften kennen das Feld nicht: an einer CreditNoteRequest weist der Server eine gesetzte reservationId als validation ab.

Inheritance

Constructors

IssueInvoiceItemInput({required String description, required num quantity, num? unitPriceCents, num? unitPriceMicros, required num vatRate, String? subtitle, String? unit, String? kind, num? discountPct, String? articleId, String? reservationId})
const
IssueInvoiceItemInput.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).
finalinherited
description → String
finalinherited
discountPct → num?
Zeilenrabatt in Prozent, höchstens zwei Nachkommastellen.
finalinherited
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.
finalinherited
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 setterinherited
quantity → num
Höchstens drei Nachkommastellen.
finalinherited
reservationId → String?
Kennung aus InventoryClient.createReservation; braucht articleId. Geprueft beim Ausstellen (reservation_not_found, reservation_mismatch, reservation_not_active; abgelaufen ist kein Fehler, sondern der Hinweis reservation_expired), eingeloest beim Buchen der Rechnung am Lagerstandort der Rechnung (IssueInvoiceRequest.stockLocationId, sonst der Standard-Standort). Weniger verkauft als reserviert gibt den Rest frei.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
subtitle → String?
finalinherited
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.
finalinherited
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.
finalinherited
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.
finalinherited
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.
finalinherited

Methods

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

Operators

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