let myBrutto := sum(Rechnungspositionen.(Gesamt + 'MwSt.'));
let myNetto := sum(Rechnungspositionen.Gesamt);
let me := this;
myNetto + "
" + join(for i in unique(Rechnungspositionen.text('MwSt.-Satz')) do
	text(sum(me.Rechnungspositionen[text('MwSt.-Satz') = i].'MwSt.'))
end, "
") + "
" + myBrutto;
{
	date: format(Rechnungsdatum, "DD.MM.YYYY"),
	notes: Bemerkungen,
	invoiceNumber: Rechnungsnummer,
	totalNet: curr(sum(Rechnungspositionen.Gesamt)),
	totalGross: curr(sum(Rechnungspositionen.(Gesamt + 'MwSt.'))),
	paymentTerm: format(Zahlungsziel, "DD.MM.YYYY"),
	vat: for i in unique(Rechnungspositionen.text('MwSt.-Satz')) do
		{
			rate: i,
			amount: curr(sum(me.Rechnungspositionen[text('MwSt.-Satz') = i].'MwSt.'))
		}
	end,
	customer: {
		companyName: Kunde.Firma,
		salutation: text(Kunde.Anrede),
		lastName: Kunde.Nachname,
		department: Kunde.Abteilung,
		address: Kunde.'Straße',
		postalCode: Kunde.Plz,
		city: Kunde.Ort
	},
	contact: {
		name: Mitarbeiter.(Vorname + " " + Nachname),
		phone: Mitarbeiter.Telefon,
		email: Mitarbeiter.'E-Mail'
	},
	items: for i in Rechnungspositionen order by Position do
		{
			position: i.Position,
			article: i.Inventar.Artikel,
			number: i.Anzahl,
			price: curr(i.Einzelpreis),
			sum: curr(i.Gesamt),
			picture: i.Inventar.'Freigabe-URL'
		}
	end
}