Release 2.0.0 of pretix

Sept. 11, 2018

We're back from the summer break with monthly releases and are proud to present pretix 2.0, containing lots of features that we worked on for a long time. Big thanks go out to Claude, Dimas Rivas, Felix Rindt, Lukas Bockstaller, Maarten van den Berg, Martin Gross, Muhammed Hewedy, oocf, Tobias Kunze, and Yunus Fırat Pişkin, who contributed to this release. ❤️

pretix 2.0.0 is now available for installation via pip. The new docker images will appear on Docker Hub over the next few hours. All customers of pretix Hosted are already using the new version and do not need to take any action.

If you install via pip, please note that pretix 2.0 no longer runs on Python 3.4. Please update to Python 3.5 or later to run pretix 2.0.


If you are doing an event only for a very specific audience and want to make sure that only members of this group can by tickets, you'll be happy to learn that we now support this as a native flow. When approvals are enabled, a customer can create an order and fill in all data as usual, but will not be presented with an option to pay.

Instead, the event organizer first needs to approve or deny the order request. In either case, an email will be sent to the customer. In case of an approval, the customer will be given a timeframe to complete their payment. In case of a denial, the organizer can enter a reason that will be shown to the user.

Note that you can also enable this feature only for a set of products. If you previously collected emails and sent out vouchers to limit access to reduced tickets like student tickets, you can now just add an upload-typed question for people to upload their student ID card and then approve or deny the order with a single click.

Partial payments and refunds

Previously, every ticket order in pretix could only be either paid, pending or refunded. Now, multiple payments per order can be executed and tracked. This means that if you retry with a different card after your first credit card payment failed, the information on the first payment will not be lost in the system.

It also allows us to finally deal with partial refunds or payments properly. While it was previously impossible to change a paid order in a way that changes the total price of the order, you can now freely add or remove tickets from an order at any time. If the order total after your change exceeds the paid amount, the customer can start a separate payment to pay the difference.

If the order total after your change is lower than the paid amount, you will be asked to refund the difference. The process of refunding is now much more flexible and allows you to specify in detail what should happen to the order and how the money should be refunded -- manually, or via one of the payment methods used by the user.

New plugin: Mollie payments

We've released a new plugin pretix-mollie to integrate pretix with Mollie, an Amsterdam-based payment provider supporting a variety of payment methods at competitive prices. If you're looking for a more Europe-focused alternative to Stripe, you should check them out and try out our new integration.


Payment request button / Apple Pay

All shops using credit card payment via Stripe now support Apple Pay, Google Pay, Microsoft Pay, and all other payments supporting the payment request standard. This increases conversion, as users do not have to search for their credit card any more, but can simply reuse the payment method stored in their browser.

HTML emails

We've redesigned the emails we send out to your customers to look cleaner and to work better in some email clients such as Microsoft Outlook. But we didn't stop there, we've also added a new API for plugin developers to extend pretix with more designs for HTML emails.

Thanks a lot to NETWAYS for sponsoring the development on this feature!

Waiting list improvements

We've improved the usuability of the waiting list for you. The waiting list view will now show the status of an entry in more detail, while the voucher view will no longer show any vouchers related to the waiting list to avoid confusion of the two areas.

Additionally, you can now manually move entries of the waiting list to the top or bottom of the list, if you see someone on the list who totally should (or should not) get in.

Widget improvements

The widget has been changed in many technical ways to be compatible with more website designs. Browsers that block third-party cookies are detected more reliably and a better error message is presented in this case. The widget also gained a new option to disable the voucher input.

If the user already has an active cart for the event, the message is now highlighted more strongly and includes a button as a clear call to action for the user.

The pretix Button now supports not specifying any products. In this case, it will just open the start page of the ticket shop.

Smaller changes and bugfixes

  • A setting has been added to require the invoice address to be a business address.

  • The passwort reset feature no longer discloses if a certain email address is known to the system.

  • The calculation in the quota detail view has been reordered to be more intuitive.

  • The form widgets in the ticket shop front page have been slightly adjusted to be more consistent.

  • Ticket amount input fields are now disabled on the shop front page if the ticket sale is over or has not started.

  • The PDF export of check-in lists can now deal with long question and answer texts.

  • The export of check-in lists now defaults to values of parent products for questions if an add-on product shows up in the list.

  • A bug regarding sorting of event series date lists has been fixed.

  • Check-in lists can now be searched for a voucher code.

  • Added support for the Turkish language.

  • In the bank transfer plugin, a new configuration option was introduced to allow removing the hyphen from suggested transfer references.

  • Plugins can now be globally disabled through a system configuration setting.

  • Multiple crashes and exceptions have been fixed.

  • The ticket layout editor now allows to insert a "powered by pretix" logo easily anywhere on the page.

Updates to official plugins and tools

Plugin API changes

REST API changes

Raphael Michel

Raphael is the founder and main developer of pretix. He is passionate about user-friendly, elegant software, and when he's not busy building software for conference organizers, he enjoys co-organizing con​fer​en​ces himself.

Read more blog posts

Any questions?
+49 6221 32177-50 Mo-Fr 09:00-17:00 Uhr