diff --git a/src/pretix/base/invoice.py b/src/pretix/base/invoice.py
index 5790b42208..bdc9836de6 100644
--- a/src/pretix/base/invoice.py
+++ b/src/pretix/base/invoice.py
@@ -282,16 +282,19 @@ class ClassicInvoiceRenderer(BaseReportlabInvoiceRenderer):
preserveAspectRatio=True, anchor='n',
mask='auto')
- if self.invoice.event.settings.show_date_to:
- p_str = (
- str(self.invoice.event.name) + '\n' + pgettext('invoice', '{from_date}\nuntil {to_date}').format(
- from_date=self.invoice.event.get_date_from_display(),
- to_date=self.invoice.event.get_date_to_display())
- )
+ if not self.invoice.event.has_subevents:
+ if self.invoice.event.settings.show_date_to:
+ p_str = (
+ str(self.invoice.event.name) + '\n' + pgettext('invoice', '{from_date}\nuntil {to_date}').format(
+ from_date=self.invoice.event.get_date_from_display(),
+ to_date=self.invoice.event.get_date_to_display())
+ )
+ else:
+ p_str = (
+ str(self.invoice.event.name) + '\n' + self.invoice.event.get_date_from_display()
+ )
else:
- p_str = (
- str(self.invoice.event.name) + '\n' + self.invoice.event.get_date_from_display()
- )
+ p_str = str(self.invoice.event.name)
p = Paragraph(p_str.strip().replace('\n', '
\n'), style=self.stylesheet['Normal'])
p.wrapOn(canvas, 65 * mm, 50 * mm)
diff --git a/src/pretix/base/services/invoices.py b/src/pretix/base/services/invoices.py
index 6a34c0af6a..0892dff79d 100644
--- a/src/pretix/base/services/invoices.py
+++ b/src/pretix/base/services/invoices.py
@@ -92,7 +92,7 @@ def build_invoice(invoice: Invoice) -> Invoice:
invoice.lines.all().delete()
positions = list(
- invoice.order.positions.select_related('addon_to', 'item', 'tax_rule', 'variation').annotate(
+ invoice.order.positions.select_related('addon_to', 'item', 'tax_rule', 'subevent', 'variation').annotate(
addon_c=Count('addons')
)
)
@@ -111,6 +111,8 @@ def build_invoice(invoice: Invoice) -> Invoice:
desc = " + " + desc
if invoice.event.settings.invoice_attendee_name and p.attendee_name:
desc += "
" + pgettext("invoice", "Attendee: {name}").format(name=p.attendee_name)
+ if invoice.event.has_subevents:
+ desc += "
" + pgettext("subevent", "Date: {}").format(p.subevent)
InvoiceLine.objects.create(
position=i, invoice=invoice, description=desc,
gross_value=p.price, tax_value=p.tax_value,