Changelog

Welcome to the changelog section of Freemius, here you'll find our weekly technical update notes. You can subscribe to all posts via Newsletter or follow us on Twitter to stay updated.

New feature to allow VAT Refunds

This has been one of the big feature requests from our partners. Being a merchant of record, Freemius handles taxes for  EU/UK customers on behalf of our partners.

Freemius checkout collecting tax

Sometimes a customer would purchase a product and forget to enter their VAT number. In such cases, the customer will not get any tax exemption. Later the customer could contact the developer asking for a VAT refund.

So far, the only way to do this is to cancel the original subscription or lifetime purchase and recreate it to ensure the customer properly puts their VAT number.

To ease the process, Freemius now supports VAT refunds against a valid VAT number, right out of the box.

Navigate to the “Payments” section of your Developer Dashboard and click on the “Refund” button. You will find a new option to do a “Tax refund”.

Doing tax refund from Freemius Developer Dashboard

Not only have we enhanced the user experience for buyers and simplified the process for you, but we’ve also devised a behind-the-scenes implementation that ensures you won’t lose the gateway fee for the entire transaction. Instead, you’ll only forfeit a partial percentage of the VAT. This not only streamlines the entire process but also saves you money.

Please note that

  1. Right now we support only EU/UK VAT refunds.
  2. You must supply a valid VAT number for the customer for a tax refund.
  3. If the payment is associated with a subscription, the subscription will be automatically updated to exempt taxes for renewals.

The option to do a tax refund will only show up if the associated payment has a tax. If you don’t see this option, it simply means Freemius did not collect any taxes for that payment.

It is worth mentioning that the process will

  1. Do a full refund of the original payment.
  2. Create a new payment, excluding the VAT.

Payment entities after doing a tax refund in Freemius Dveloper Dashboard

This will also be reflected in the Developer Dashboard after you’ve done a tax refund.

 

Added support for PHP 8.2 through Freemius deployment

Version Deployment is one of the powerful tools Freemius provides to our Software makers to ease their lives. The concept is simple; wrap your code in if ( my_fs()->is__premium_only() ) family of methods and Freemius will strip out the premium code to make a WordPress.org-compliant free version of your WordPress theme or plugin.

So far, this feature has been limited to parsing PHP 7.1 code. With today’s update, you can start using PHP syntax up to version 8.2 and our deployment mechanism will properly strip off premium codes.

Create deployment Freemius Developer Dashboard

We have also made subtle improvements to the prettifier. It will now output code closer to WordPress formatting standards.

Improving the 2FA UX with manual code

Not long ago, we introduced two-factor authentication to tighten the security of the Developer Dashboard. The 2FA UI shows a QR code for scanning from your favorite authenticator app.

Improved 2FA UX with manual code UI in Freemius Developer Dashboard

Following requests from our partners, we’ve added an enhancement so you can copy the code directly and put it in your authenticator app, without scanning the QR code. This is handy when the authenticator is on the same device from where the Developer Dashboard is opened.

Improvements to the Version Deployment system

Our Version Deployment feature is a powerful tool for developers. Recently, it came to our attention that the readme.txt processor was unintentionally adding extra line spaces while stripping codes in between [//]: # fs_{free|premium}_only_{begin|end} tags.

Improved readme.txt parser in Freemius Version Deployment system

We’ve fixed the issue and added improvements to handle both block and inline tags. As seen above, texts are properly stripped off and consistently maintain the space and new lines.

Improved UX while refunding a payment to cancel associated subscription

While refunding a payment, we’ve always had the option to cancel the associated subscription. But it was not selected by default.

Improved UX while refunding payments in the Freemius Developer Dashboard

Following feedback from our partners, we are now auto-selecting the checkbox while issuing a refund. You can of course still uncheck the box to keep the subscription going.

To further emphasize the action that will cancel the subscription, the button now says “Yes – Refund & Cancel” when the checkbox is selected.

New Average Order Value chart & improvements to the analytics

We’ve added tons of shiny new updates to the Freemius analytics. Starting today, you’ll see a new “Average Order Value” chart on the Sales Analytics page. We’ve also improved the categories of the “Total Installations” chart.

Average Order Value

Average Order Value (AOV) is the average revenue per order, including subscription renewals, lifetime purchases, and paid trials. On the Sales Analytics page, a new card displays the AOV since you first published your product with Freemius.

Average Order Value metric Card showing Lifetime value

Further down the page and under the Revenue section, a chart showing AOV changes for a selected period is displayed.

Average Order Value chart showing trend

Total Installations

New "Uninstalled Installs" category in the Total Installs chart

We’ve added a new category called “Uninstalled Installs” to make the Total Installations chart more useful. This new category displays the number of installs explicitly uninstalled or removed.

Made the Currency Selector persistent

This was a feature request from our partners.

The currency picker UI in Freemius Developer Dashboard under Sales Analytics

From now on, when you select a currency for a product or a store, the selection will persist in your browser.

Improved the legend of the Net Payments & Transactions chart

The first legend of the Net Payments & Transactions chart used to be labeled as “New Subscriptions”. This created some confusion as the metric was showing the first payment of a subscription. If you’re offering a paid trial, the first payment of a subscription can come weeks later.

To clear up the confusion, we’ve renamed the legend to Subscription 1st Payments. Thanks to our partners for reporting this!

Updated legend of the Net Payments chart

Various Checkout improvements

We’ve released several updates to our Checkout application:

Fixed VAT validation issues

We noticed some valid VAT IDs were being blocked by the Checkout app.

Improved VAT ID verification

We fixed this by rolling out a more robust VAT ID validation system for the front-end app.

Improved translations

Certain strings — especially those coming up as exceptions (for example, “Invalid coupon code”) — were not getting translated.

Improved translation in the Checkout

We’ve introduced fixes for them. You can also use the Freemius Checkout Buy Button API to load the Checkout in one of the supported languages.

Improved Country Selector search algorithm

Improved search algorithm in the country dropdown

We’ve improved the “fuzzy” logic of the Country Selector UI search feature. The search is now more natural and accurate.

Other bug fixes

  • In cases where a coupon is used, the correct discounted first payment price on the billing cycle UI is now displayed.
  • We’ve fixed an issue in the SDK Checkout mode, where the “Resend email” button was not working properly.
  • We’ve added ZIP code validation in the Dunning app and made general improvements to the form validation UX.
  • The responsiveness of the Checkout footer has also been fixed.