Using Stripe Tax With MemberPress
MemberPress comes with a built-in feature for handling taxes, which you can use to set up your membership taxes manually. Alternatively, if Stripe is connected with MemberPress on your site, you can use Stripe Tax to calculate your taxes automatically.
This document will explain how to set up the Stripe Tax built-in integration, and how to use it on your site.
Stripe Tax provides automatic tax calculations on your one-time and recurring payments. With the MemberPress integration, these calculations are done directly on your MemberPress registration (checkout) pages.
You need to enable Stripe Tax in your Stripe account to use it with MemberPress:
- Log in to your Stripe account, and navigate to the Settings page by clicking the “gear” icon in the top-right corner of the page;
- On the Settings page, under the Tax section, click Settings:
- Here, you need to add your Origin address. This is your business address, and will be used for tax calculations. To add the address, click on the Add origin address link:
- Then, choose the Default product tax category. From the dropdown menu, select the tax category that fits your business the most. Often, membership purchases fall under “General - Electronically Supplied Services”, so as an example, we selected this category. This will be your Default tax category:
Note: Under "Include tax in prices" you can choose whether you want Stripe to include or exclude taxes from the price. Choosing any option here will not affect the MemberPress membership registration pages on your site. Your taxes will be calculated based on your MemberPress settings (Dashboard > MemberPress > Settings > Taxes tab).
By default, your Origin address is automatically used as the address where you have tax obligations. If your company is registered with tax authorities in multiple jurisdictions, you need to add those additional registrations to your Stripe account (Tax > Registrations). You can find more information on tax registrations in Stripe's documentation.
Note: Stripe Tax is currently available to users in Australia, Canada, the European Union, Hong Kong, Japan, New Zealand, Singapore, the United Arab Emirates, Norway, Switzerland, the United Kingdom, and the United States.
Enable Stripe Tax in MemberPress
Now that you have enabled Stripe Tax in your Stripe account, you need to enable it in MemberPress.
Before enabling Stripe Tax, you need to have Stripe properly connected to MemberPress on your site. If you haven't done this already, please log in to your website and access your site Dashboard (Backend). Connect your Stripe account to MemberPress following the steps described in the Configuring and Troubleshooting with Stripe document.
Once you have created at least one Stripe gateway in MemberPress > Settings > Payments and have successfully connected your Stripe account, you can proceed to enable Stripe Tax:
- From your WordPress dashboard, navigate to MemberPress > Settings > Taxes tab. If taxes are not already enabled, click on the check box next to the Enable Tax Calculations option:
- Choose whether you want tax to be excluded or included in your membership price, by clicking the Prices Entered With Tax dropdown menu and selecting your preferred option.
- Next, check the Enable Stripe Tax option:
- Under the Stripe Tax Payment Method, select the Stripe payment gateway you wish to use Stripe Tax with.
- Click on Update Options to save changes.
Note: When tax calculations are enabled in MemberPress, the address fields will automatically become required on all membership registration pages.
VAT With Stripe Tax
You can also use Stripe Tax to calculate VAT on your memberships. If you enable VAT calculation in your MemberPress settings (the “Enable VAT” option), the MemberPress VAT fields will become visible on your registration pages.
Stripe will calculate taxes based on the user's VAT number added to these VAT fields.
Per-Membership Tax Settings
Next to general Stripe Tax settings, you can apply specific tax settings to each of your memberships:
- Navigate to Dashboard > MemberPress > Memberships and click on the “Edit” link to start editing your membership;
- Scroll down to Membership Options and click on the “Advanced” tab:
- Under the “Stripe Tax Category” option, select the tax category you wish to apply to this membership specifically;
- Click on the “Update” button to save changes.
By default, memberships will use the “Default tax category” you set in your Stripe account (the Default product tax category option under the Tax Settings). The Default tax category is used for all your memberships unless you set a different tax category specifically for individual memberships.
Here, under the “Stripe Tax Category” option, you will have a few most common tax categories. If needed, you can also choose the "Custom" tax category option and add any category you need. In this case, you will see the additional “Enter custom tax code” field to add the code of the tax category you need.
You can find the list of all available Stripe tax category codes in their documentation.
Also, if any of your memberships should be exempt from taxes, please follow these steps:
- Start editing the membership that should be exempt from taxes (at Dashboard > MemberPress > Memberships);
- Scroll down to Membership Options and click on the “Registration” tab:
- Click the checkbox next to the “This Membership is Tax Exempt” option to enable it.
- Click on the “Update” button to save changes.
Note: If the membership is exempt from taxes, the "Stripe Tax Category" option will not be available, since in this case the tax category will be automatically set to Nontaxable (txcd_00000000) which will result in zero tax.
Using Stripe Tax
When Stripe Tax is enabled in MemberPress settings, the default invoice area on your membership registration pages will be replaced with the Stripe Tax calculation.
This data will be applied to the membership transaction created both in your Stripe account and in the MemberPress backend (Dashboard > MemberPress > Transactions).
Stripe will calculate taxes based on your settings and the registration details from your Stripe account. These calculations are done automatically following predefined tax registration rules and thresholds for each location.
Note: If your member’s address is not covered by any of the active tax registrations you added to your Stripe account, tax will not be applied to these transactions (tax will be set to zero).
Furthermore, you could have other payment gateways (PayPal, Authorize.net, Offline gateway, etc.) available on your membership registration pages next to Stripe. Stripe Tax will be used with any of these gateways out of the box.
Stripe Tax Pricing
Though MemberPress comes with built-in Stripe Tax integration, using the Stripe Tax API is not free.
Stripe will charge you a $0.50 per transaction fee, for up to 10 API calls per transaction. Each additional API call costs $0.05.
Note: If you enable the Stripe Tax option, the transaction fee will be charged for every transaction made through MemberPress, irrelevant of the transaction amount. Accordingly, this includes transactions created for free and paid trials.
Usually, MemberPress transactions will use 2 or 3 API calls per transaction, thus, there shouldn’t be any additional charges per MemberPress transaction in this case. At the end of each month, you will be rebated up to 10 used API calls per transaction.
The number of API calls used for each transaction is variable and depends on the entire actions during the purchasing process. Next to the usual 2 or 3 calls used by MemberPress, any time data related to tax calculation is changed on the registration page, an additional API call will be used to calculate taxes again.
For example, if your customer changes their address on the checkout/registration page, this would require one more API call to check the applicable taxes on Stripe for the newly added address. Thus, each time an address field is changed, one more tax calculation API call would be used.
Also, the API calls will be used if a customer fills in their address, but doesn't successfully complete the purchase. Here, the transaction fee wouldn't be charged as the purchase wasn't completed.
Further, the $0.50 per transaction fee is only charged for locations where you as a site owner are registered for taxes. In cases where the member's address is not covered by your active tax registrations, Stripe will not charge you for these transactions (since taxes will not be calculated here).
The same $0.50 per transaction fee will be charged for each transaction regardless of the payment gateway used on your registration page.
You can find more information on Stripe Tax pricing in their documentation.
Stripe Tax Pricing Example
To illustrate, let's say you had 100 transactions in registered locations in the previous month. Each MemerPress transaction used two API calls. Accordingly, the charge for 100 transactions would be:
$0.50 (per transaction fee) X 100 (transactions) = $50 (for the whole month)
Here, for each transaction, MemberPress used only 2 API calls per transaction:
2 (used API calls per transaction) X 100 (transactions) = 200 used API calls (for the whole month)
200 (used API calls) X $0.05 (fee per API call) = $10 for used API calls (for the whole month)
Since the free quota is 10 API calls per transaction, your total monthly quota is 1000 API calls (100 transactions X 10 API calls per transaction = 1000 API calls). Accordingly, you would be rebated $10 for the used API calls within your free quota at the end of the month.
Thus, for this example, you will be paying $50 for using the Stripe Tax for the entire month.
Note: In case you at any point go over your 10 API calls per transaction quota, you will be charged $0.05 per API call, but only for the excess API calls above the quota.