Plugin: AboCommerce

Using AboCommerce you are able to offer subscriptions of variable intervals and durations for individual items in your shop. AboCommerce this way provides additional means to improve your customer retention. You can set incentives for subscribing to your items by introducing special rewards or discounts to those customers committing themselves to projected purchases.

This trust of course has to be valued. Use the included, optional discount functions to reward your customers. This way both sides can profit from the abo model. The account of the order is also done in intervals. This means the customer does not have to pay for the whole abo in advance but will get the bill in defined timeframes. This is important because since the version 2.2.0 it is possible to create abos without a previously defined enddate. For this to work you only have to define a cancellation period.

AboCommerce in the backend

Installation

This extension can be found in our Shopware Store, the easiest way to find a specific plugin is the search-bar. Complete the order process and login to the backend of your store. Navigate to Configuration > Plugin manager > My purchases. You need to login and click the refresh button. Your new extension is now listed and can be installed. After installing the extension go to the menu entry installed and refresh. Activate the extension. Finally delete the cache under Settings > Cache/Performance > Clear Shop Cache and refresh the backend.

Definition of payments

After completing the initial installation you will then have to define payment methods to be available in your shop. This is particularly important as subscriptions require the implementation of recurring payments. Your preferred payment method should therefore be able to support this kind of payment. To define a payment method, open the module Marketing > AboCommerce > Payment means and drag the desired payment methods to the right side of the window. 

AboCommerce uses recurring payments, keep in mind, that your payment method must support those! PayPal e.g. is capable of performing recurring payments. However you will need to have the feature activated by PayPal first. After successful activation you just need to change the PayPal option "Billing agreements" to "active".

Recurring payments with PayPal are only possible with the Shopware Plugin PayPal Express! It is not possible to use any implementation of Paypal Plus in combination with AboCommerce.

If you fail to unlock payment methods for AboCommerce, orders will be processed using the fallback payment method. That is why you should, by all means, define a fallback payment method that supports recurring payments.

Basic settings

In the backend access the plugin via Marketing > AboCommerce and click the tab Settings. Here you can set basic settings for the plugin e.g. for the subscription's listing in www.yourshop.com/AboCommerce.

  • Use current product price: With this option active, the most current item price will be used for generating follow-up orders. If the item price changes after buying a subscription the new, now current price is used instead of the price displayed while buying the subscription. Note that price changes after buying a subscription can be legally critical, especially if prices rise. That's why this option is deactivated by default.
  • Allow vouchers with subscriptions: This allows customers to cash vouchers at ordering a subscription. Vouchers will only be considered for the first order of the subscription.
  • Banner (1): This setting allows you to design the subscription's listing which you can access via www.yourshop.com/AboCommerce.
  • Sidebar (2): The information filled in here will be displayed in the sidebar on the left.
  • Sharing (3): This activates options for sharing via social media.

Creating a subscription

Open an item's details section in the backend and switch to the tab AboCommerce. This is where you can make all required settings and start selling subscription items in your own shop.

  • Enable subscriptions: Activate or deactivate the option to buy items in a subscription.
  • Exclusive subscription item: Activating this option, makes the item available exclusively through a subscription, the item can no longer be purchased individually.

On the tab Settings you can set detailed conditions for the subscription:

  • Subscription order number: The order number of the subscription, by default the item's standard order number, will be appended by .ABO
  • Min. delivery interval: Here you define the minimum length of the delivery interval. "1" e.g. enables weekly delivery, "4" restricts deliveries to once a month (every 4 weeks!).
  • Max. delivery interval: Here you can define the largest possible delivery interval. Setting this to 1 enables only weekly subscriptions. A 4 sets the largest possible interval to once a month (every 4 weeks).

The subscription starts immediately. That is why an interval of 1 week and a duration of 10 weeks equates 11 single deliveries.

  • Min. duration: This defines the duration of the subscription, e.g. 8 weeks or 12 months.
  • Max. duration: Here you can set the maximum duration of your subscription items. After that timeperiod has expired, the subscription is terminated automatically. In this very line you can also define the operand used to calculate the above mentioned settings. You can choose whether subscriptions are based on weekly or monthly cycles.
  • Endless subscription: Ticking this box enables the subscription to run until further notice. So subscribed customers actively have to unsubscribe in order to discontinue the service. Checking this deactivates the previous options on min. / max. runtimes.
  • Period of notice: This is where you define custom periods of notice for your subscriptions. First set an arbitrary value here and specify whether the period of notice is calculated in either weeks or months. You may however ignore both these fields and simply check the box next to them.
  • Terminable anytime: Tick this box to completely deactivate the previous options on the period of notice. This way endless subscriptions can be discontinued by your customers instantly anytime.
  • Limited: This limits the max. quantity of ordered items per user and subscription.
  • Max. units per week: Here you can set the max. number of items, that can be ordered in a single week. Example: If the delivery interval is set to 2 weeks and max. units per week is set to 2, the user can order max 4 pieces per interval.
  • Description text on detail page: This description will be shown on the item's detail page.

The tab Discounts is where you set your discounts. You can choose between absolute or percentual discounts and set those for any customer group seperately and based on the delivery interval. It is also possible to define discounts for different customergroups.

Overview of the created subscription items

In the AboCommerce module in Marketing > AboCommerce you can get an overview of the subscription items by clicking the tab subscription items. Here you see the name and order number of the item and you see the active and exclusive state of the item's subscription. Additionally you can open the item directly.

Overview of all currently running subscriptions

In the AboCommerce module, accessible via the main menu Marketing > AboCommerce, you can survey all running subscription items on the tab Discount subscriptions. Besides that you can open the user or item management, delete a subscription, open the last order of a subscription or trigger the next follow-up order, regardless of the delivery interval.

By clicking Show only due items only those items are displayed that need to be shipped next. Here you can check all due orders and Execute due orders all at once using a batch process. Already executed orders can be found in the order module in Customers > Order.

Email template

The AboCommerce plugin comes with a seperate email template for follow-up orders. You can find this template in the email template module in the main menue: Configuration > Email templates > User emails, there the template is named sABOCOMMERCE. By clicking on Variable information you can examine all available variables in this template.

Cronjobs

AboCommerce can trigger follow-up orders by making use of a cronjob. On triggering the cronjob all due orders will be executed. The cronjob is named AboCommerce-orders and can be found in the cronjob overview in Configuration > Basic settings > System > Cronjobs. To trigger a cronjob, the plugin Cron has to be installed and set as active. Further information on cronjobs can be obtained through the wiki article on CronjobsFor performance reasons a cron can only create 5 orders per call.

AboCommerce in the frontend

After all settings were made in the backend, you can find your subscription items in the different listings containing those items.

Listing

The subscription items are tagged with a badge in the listing, helping you and your customers to simply spot the subscription items in your shop. Additionally the listing can be filtered for subscription items.

Subscription detail page

Like described in the settings there are two ways you can offer subscriptions. First there are the subscription-only items (exclusive) and the subscription-optional items (not exclusive). The later can be bought once without taking a subscription, the former are only available through a continuous subscription. Furthermore you can monitor the defined discounts here and set gradual discounts for your subscription items. Additionally customers can set a delivery interval and the duration of the subscription here.

Cart / Checkout

At the checkout customers get detailed information on every item they are subscribed to. Information on the interval, duration, price per delivery and overall price are available.

Position information can be extended using the Template for essential characteristics option in the backend basic settings. This makes it possible, for example, to display the basic price discounted by a subscription. This works similar as described in checkout:


{if $sBasketItem.abo_attributes.referenceprice}
    <br>
    Discounted base price {$sBasketItem.abo_attributes.referenceunit}{$sBasketItem.abo_attributes.sUnit.unit} = {$sBasketItem.abo_attributes.referenceprice|currency}*
{/if}

Account

In the account, every user can get an overview of his subscriptions and take a look at detailed information like interval, duration, next delivery, sum and so on. Your customers can also change the shipping address for the following deliveries here.

Was this article helpful?