diff --git a/src/pretix/base/models/invoices.py b/src/pretix/base/models/invoices.py index 3cae1cb9a6..836bccdf7e 100644 --- a/src/pretix/base/models/invoices.py +++ b/src/pretix/base/models/invoices.py @@ -264,6 +264,7 @@ class Invoice(models.Model): self.invoice_no = self._get_invoice_number_from_order() try: with transaction.atomic(): + self.full_invoice_no = self.prefix + self.invoice_no return super().save(*args, **kwargs) except DatabaseError: # Suppress duplicate key errors and try again diff --git a/src/tests/base/test_invoices.py b/src/tests/base/test_invoices.py index 69a23bcf5d..1cd9ae1a89 100644 --- a/src/tests/base/test_invoices.py +++ b/src/tests/base/test_invoices.py @@ -522,7 +522,9 @@ def test_invoice_number_prefixes(env): event2.settings.set('invoice_numbers_counter_length', 4) i = generate_invoice(order2) assert i.number == 'inv_0001' - assert generate_cancellation(i).number == 'crd_0001' + ci = generate_cancellation(i) + assert ci.number == 'crd_0001' + assert ci.full_invoice_no == 'crd_0001' event2.settings.set('invoice_numbers_consecutive', False) i = generate_invoice(order2)