feat(girocode): use full company name + add Recipient/Bank/Amount/Reference labels

This commit is contained in:
Gerhard Scheikl
2026-05-09 17:41:22 +02:00
parent 85a56cac59
commit 9bfce39db2
3 changed files with 22 additions and 3 deletions
@@ -88,7 +88,9 @@ export async function generateInvoice(
viewModel.totals.gross > 0 viewModel.totals.gross > 0
) { ) {
viewModel.giroCodePngDataUrl = await buildGiroCodeDataUrl({ viewModel.giroCodePngDataUrl = await buildGiroCodeDataUrl({
beneficiaryName: settings.companyName || "Beneficiary", beneficiaryName:
[settings.companyName, settings.legalForm].filter(Boolean).join(" ") ||
"Beneficiary",
iban: settings.iban, iban: settings.iban,
bic: settings.bic, bic: settings.bic,
amount: viewModel.totals.gross, amount: viewModel.totals.gross,
+9
View File
@@ -37,6 +37,9 @@ export interface InvoiceStrings {
ibanLabel: string; ibanLabel: string;
bicLabel: string; bicLabel: string;
bankLabel: string; bankLabel: string;
recipientLabel: string;
amountLabel: string;
referenceLabel: string;
addressHeading: string; addressHeading: string;
contactHeading: string; contactHeading: string;
legalHeading: string; legalHeading: string;
@@ -87,6 +90,9 @@ const de: InvoiceStrings = {
ibanLabel: "IBAN", ibanLabel: "IBAN",
bicLabel: "BIC", bicLabel: "BIC",
bankLabel: "Bank", bankLabel: "Bank",
recipientLabel: "Empfänger",
amountLabel: "Betrag",
referenceLabel: "Referenz",
addressHeading: "Adresse", addressHeading: "Adresse",
contactHeading: "Kontakt", contactHeading: "Kontakt",
legalHeading: "Rechtliches", legalHeading: "Rechtliches",
@@ -136,6 +142,9 @@ const en: InvoiceStrings = {
ibanLabel: "IBAN", ibanLabel: "IBAN",
bicLabel: "BIC", bicLabel: "BIC",
bankLabel: "Bank", bankLabel: "Bank",
recipientLabel: "Recipient",
amountLabel: "Amount",
referenceLabel: "Reference",
addressHeading: "Address", addressHeading: "Address",
contactHeading: "Contact", contactHeading: "Contact",
legalHeading: "Legal", legalHeading: "Legal",
+10 -2
View File
@@ -357,13 +357,21 @@ export function InvoiceDocument({ invoice }: DocProps) {
<Image src={invoice.giroCodePngDataUrl} style={styles.giroImage} /> <Image src={invoice.giroCodePngDataUrl} style={styles.giroImage} />
<View> <View>
<Text style={styles.giroCaption}>{t.giroCodeCaption}</Text> <Text style={styles.giroCaption}>{t.giroCodeCaption}</Text>
<Text style={styles.giroDetails}>{invoice.issuer.bankName}</Text> <Text style={styles.giroDetails}>
{t.recipientLabel}: {[invoice.issuer.companyName, invoice.issuer.legalForm].filter(Boolean).join(" ")}
</Text>
{invoice.issuer.bankName ? (
<Text style={styles.giroDetails}>{t.bankLabel}: {invoice.issuer.bankName}</Text>
) : null}
<Text style={styles.giroDetails}>{t.ibanLabel}: {invoice.issuer.iban}</Text> <Text style={styles.giroDetails}>{t.ibanLabel}: {invoice.issuer.iban}</Text>
{invoice.issuer.bic ? ( {invoice.issuer.bic ? (
<Text style={styles.giroDetails}>{t.bicLabel}: {invoice.issuer.bic}</Text> <Text style={styles.giroDetails}>{t.bicLabel}: {invoice.issuer.bic}</Text>
) : null} ) : null}
<Text style={styles.giroDetails}> <Text style={styles.giroDetails}>
{formatMoney(invoice.totals.gross, cur, invoice.language)} {t.amountLabel}: {formatMoney(invoice.totals.gross, cur, invoice.language)}
</Text>
<Text style={styles.giroDetails}>
{t.referenceLabel}: {invoice.invoiceNumber}
</Text> </Text>
</View> </View>
</View> </View>