Best Practice: Subscriptions to Periodicals
One of the core concepts of JustOn is subscription billing. These billing plans allow you to bill (recurring) items on a regular basis – which is perfect for magazines or newspapers.
Let us enhance this scenario. Assume you control your deals and involved products using opportunities and opportunity products. You will set up JustOn's subscription builder to automatically generate subscriptions on certain conditions.
Now you want your customers to pay upfront to secure your deals. To this end, you need to create deposit invoices – with a 100% deposit. The deposit is then to be offset with the final invoice.
In addition, you want to generate orders to support your fulfillment, and expose self-service capabilities to allow your customers managing their subscriptions.
In a rough outline, the solution may work as follows:
Invoicing subscriptions to periodicals
(1) You use accounts (or person accounts) and contacts as well as opportunities and opportunity products in Salesforce.
On the account, you store the customer's billing address and payment information (like payment method, direct debit mandate, invoice email). The opportunities are created either manually by your sales staff or automatically via an interface with your webshop (which is not part of our solution).
The opportunity products are based on Salesforce's Product2 objects, customized to include additional fields for the fulfillment cycle (weekly, biweekly, monthly, quarterly, six-monthly, yearly) and the number of issues per year (
The Opportunity object is expanded to include the following additional fields:
Start Date(start of the magazine subscription)
Contract Term(in months)
Shipping Address(pre-populated with the account's billing address, can be modified for each opportunity)
(2) Based on your opportunities, you have JustOn's subscription builder generate subscriptions. They represent the billing plan for the ongoing invoice generation.
To cover use case-specific requirements, JustOn's Subscription object is expanded to include the following fields:
Lead Time(allows for billing before the actual start of the magazine subscription)
Inactive until(date on which a paused subscription is resumed)
Fulfillment Cycle(used to calculate the date for the next fulfillment order creation)
Paid until(calculated based on the associated invoices)
(3) Depending on the lead time, you have JustOn create deposit invoices with a 100% deposit. Deposit invoices do a trick, which may come in handy – in particular with new customers: You state your payment request, but you are not liable to taxes as long as the payment has not been made.
(4) When your customers pay the deposit, you register the corresponding payment entries via an API integration with the banking service.
(5) Five banking days after the deposit payment has been received, that is, after the usual period for return debits, you create the final invoices, which are immediately offset using the deposit invoices. In parallel, this sets
Paid until on the subscription.
(6) Upon invoice finalization, JustOn generates PDF copies of the invoices. The PDF can be adjusted to match your corporate identity and may, in addition, include a bank transfer form.
With respect to the invoice distribution, you usually send these files to the invoice email stored on the account. If required, you can integrate a postal mail service like, for example, emailbrief.de, to have your invoices printed on paper and sent via postal mail.
(7) To support your fulfillment processes, JustOn provides a process for generating orders. Depending on your requirements, you can then export these orders or integrate with a fulfillment service provider.
According to your use case, the Order object will include the following additional information:
Title(lookup to the product)
Issue Month/Week(issue year and month/week (
52) of the magazine that is subject to the current subscription)
Gift from(buyer information if
Cloning an order triggers a substitute delivery. Using the
Order Type field, you can tag the new order as a "substitute" or "replacement".
Depending on your specific use case, the additional configuration may include