> For the complete documentation index, see [llms.txt](https://docs.b2b-sellers.com/b2b-platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.b2b-sellers.com/b2b-platform/user-guide/available-add-ons/product-subscription.md).

# Product Subscription

The B2Bsellers Product Subscriptions add-on allows shop operators to offer automated, recurring interval deliveries. By designating specific items as subscription-eligible, you provide buyers with a "set-and-forget" procurement process while securing long-term customer loyalty through subscription-based discounts.

## Core Features

* Product-Specific Activation: Choose exactly which items in your catalog are available for recurring orders.
* Incentivized Pricing: Assign unique discount percentages to subscription products to encourage long-term commitments.
* Flexible Management: Buyers can view, modify intervals, or cancel their subscriptions directly within the B2B platform.
* Payment Compatibility: To ensure stability for recurring B2B transactions, subscriptions currently support Invoice and Prepayment methods.

## Setup & Configuration

1. Navigate to Catalogues > Products and select your desired item.
2. Go to the Specifications tab.
3. Scroll to Additional Fields.
4. Toggle "Allow subscription option" to active.
5. Enter the Discount (in %) the customer receives for choosing a recurring interval.

![Activate subscription per product](/files/wLyLRxJTy3rnTI769RCS)

## Customer Experience

### Product Detail Page

Once activated, customers see a toggle between "One-time delivery" and "Subscription." The interface clearly displays the potential savings and provides a dropdown to select the preferred delivery interval (e.g., monthly, quarterly).

![Extensions in the frontend - product overview](/files/IdyjLQkKAzeWM0UhF9su)

### Shopping Cart

Subscription items are clearly marked with a "Subscription" badge, ensuring buyers can easily distinguish recurring orders from one-off purchases before checkout.

![Extensions in the frontend - Shopping Cart](/files/fFw3CgG8mGXVplCpPFcp)

### Subscription Dashboard

Within the B2B platform under My Products > Subscriptions, buyers have full transparency over:

* Active items and current discounted unit prices.
* Quantity per delivery and set intervals.
* Shipping/Billing addresses and the calculated date for the next delivery.

![Management of the subscription in the B2B platform](/files/X8xUAZu0DjdE9tnoFB2I)

## Technical Details

### Data Structure

The plugin utilizes two main custom fields to control logic:

* `b2b_subscription_enabled`: Boolean flag identifying the product as a subscription item.
* `b2b_subscription_discount`: The percentage-based reduction applied to the unit price.

All active subscriptions are managed in the database table: `b2b_product_subscription`.

### Automation via CLI

To trigger the generation of recurring orders, the system uses a specific shell command. It is recommended to set up a daily Cronjob for the following:

```bash
bin/console b2b:product-subscription:order
```

{% hint style="info" %}
This command checks for all subscriptions due on the current day and automatically generates the corresponding Shopware orders.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.b2b-sellers.com/b2b-platform/user-guide/available-add-ons/product-subscription.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
