diff --git a/src/pretix/presale/checkoutflow.py b/src/pretix/presale/checkoutflow.py index 2ed6f20e4..caa1c8eca 100644 --- a/src/pretix/presale/checkoutflow.py +++ b/src/pretix/presale/checkoutflow.py @@ -340,19 +340,22 @@ class QuestionsStep(QuestionsViewMixin, CartMixin, TemplateFlowStep): @cached_property def invoice_form(self): - initial = { - 'name_parts': { - k[21:].replace('-', '_'): v - for k, v in self.cart_session.get('widget_data', {}).items() - if k.startswith('invoice-address-name-') - }, - 'company': self.cart_session.get('widget_data', {}).get('invoice-address-company', ''), - 'is_business': bool(self.cart_session.get('widget_data', {}).get('invoice-address-company', '')), - 'street': self.cart_session.get('widget_data', {}).get('invoice-address-street', ''), - 'zipcode': self.cart_session.get('widget_data', {}).get('invoice-address-zipcode', ''), - 'city': self.cart_session.get('widget_data', {}).get('invoice-address-city', ''), - 'country': self.cart_session.get('widget_data', {}).get('invoice-address-country', ''), - } + if not self.invoice_address.pk: + initial = { + 'name_parts': { + k[21:].replace('-', '_'): v + for k, v in self.cart_session.get('widget_data', {}).items() + if k.startswith('invoice-address-name-') + }, + 'company': self.cart_session.get('widget_data', {}).get('invoice-address-company', ''), + 'is_business': bool(self.cart_session.get('widget_data', {}).get('invoice-address-company', '')), + 'street': self.cart_session.get('widget_data', {}).get('invoice-address-street', ''), + 'zipcode': self.cart_session.get('widget_data', {}).get('invoice-address-zipcode', ''), + 'city': self.cart_session.get('widget_data', {}).get('invoice-address-city', ''), + 'country': self.cart_session.get('widget_data', {}).get('invoice-address-country', ''), + } + else: + initial = {} if not self.address_asked and self.request.event.settings.invoice_name_required: return InvoiceNameForm(data=self.request.POST if self.request.method == "POST" else None, event=self.request.event,