The Bluefort Actions Framework
The Bluefort actions framework is a powerful framework developed to handle various types of actions generated from the HARP BusinessPro process. The framework makes it easy to extend the existing logic of LISA BusinessPro to satisfy different subscription scenarios in different industries such as SaaS/XaaS, Retail, Health Care, Utilities and more. Such requirements can be delivered on a quickturnaround schedule due to the native in-built extensibility of the framework. The framework is flexible and integrates with various standard Microsoft modules such as Sales and Purchase orders, Revenue recognition, Advanced deferrals, Project management and accounting, Business Events and more via the framework implementation called HARP BusinessPro.
It can also be extended to process Hyper-Automation workloads not specific to subscription management via the framework implementation called HARP Connect.
What are HARP BusinessPro and HARP Connect?
HARP BusinessPro is the professional version of Bluefort’s HARP service. HARP BusinessPro is embedded within and bundled with LISA BusinessPro which is embedded within Microsoft Dynamics 365 Finance and Supply chain (otherwise known as Finance and Operations apps) and consequently processes complex business logic related to this Microsoft flagship ERP. HARP BusinessPro is modelled on the same concept as standard D365 Master Planning process (but is unrelated from a technical/functional standpoint) which analyses demand and supply to generate planned sales and purchase orders which must be firmed into real sales and purchase orders by supply chain personnel.
HARP Connect is another service in the LISA suite which also processes actions, but which is not embedded in D365-FO and is targeted to process actions within Bluefort’s proprietary subscription platform called Hyper Automation Rapid Processing (HARP) which can integrate with other Bluefort products such as LISA Business for Dynamics 365 Business Central and LISA Reach as a customer engagement app in Dataverse and also non-Microsoft applications. HARP Connect is modelled on the same concept as standard D365 Intelligent Order Management (but is unrelated from a technical/functional standpoint) which can analyse demand and supply based on data from different systems even if these are non Microsoft.
In both HARP BusinessPro and HARP Connect, actions are tightly coupled to HARP as they are generated by HARP based on different configurations and at specific timeframes.
Why Subscription Actions?
The subscription action table can be considered as the sub-ledger for subscriptions just like the Sales ledger and Purchase ledger store module-specific data which compliment the General Ledger of Microsoft Dynamics 365 Finance.
Subscription actions are records generated by the LISA HARP BusinessPro process. Subscription actions serve as reminders to ERP users to take specific actions related to the various active subscriptions the legal entity is serving. In fact, actions can be colour-coded, to highlight urgency and timespan based on parameters configured in the Enterprise subscription automation parameters form. Action reminders could be, invoicing a customer, processing a vendor invoice, sending out a subscription renewal notice, processing a direct debit payment and many more.
Actions are also important because they are the basis of various BI components of LISA BusinessPro. Since each action is tracking different events in the lifecycle of a subscription, the aggregation of different action types can be used to serve compelling PowerBI charts and visuals which assist business managers in drawing business insights and to make decisions related to the subscriptions being offered. Each action is also stamped with a reason code and a cancellation reason code which communicates justification for the action or its cancellation, for example subscription actions related to recurring billing can be used to serve revenue reports such as AMRR, ACV and customer retention. Cancellation reason codes can be used to analyse churn by providing insights on the most common underlying reasons for Churn and thus help management address these reasons such as product shortcomings, competition, high price etc.
Actions data is also important as it tracks important historical data about a subscription, a customer and the whole subscription business of the legal entity and group of companies managed in Microsoft Dynamics 365 Finance. In fact, the actions table in either Microsoft Dynamics 365 Finance or Microsoft Dataverse should be the primary table to be used for Artificial Intelligence (A.I.) purposes (such as GPT-3 from OpenAI and Microsoft 365 Co-Pilot) as A.I. models typically require a generous dataset of good quality data in order to infer trends and make predictions which are valuable in aiding business decision making. Thus, with subscription actions, your business has a live, high-quality dataset (segmented by legal entity) which is continually being updated with the daily activities of the subscription business.
The HARP BusinessPro process can be run manually from the Subscription management cockpit to run immediately and generate actions. The HARP BusinessPro process should also be scheduled to run as a batch process (ideally twice a day) to automatically generate actions. You can either have the HARP BusinessPro process scanning and generating actions from all published subscription plans or a query can be configured to only scan and generate actions
from a sub-set of published subscription plans.
Once actions are generated, they appear both in the Subscription management cockpit in the lowest grid in the form and also in the Subscription actions form under the Inquiries and Reports sub-menu. When executing the HARP BusinessPro process manually it is faster to remain in the Subscription management cockpit and process the actions from there. This mostly happen when creating a subscription, the first time and you want to immediately issue request for deposit payments or invoices for the first billing cycle.
For subsequent cycles, subscription actions a Subscription clerk typically uses the Subscription actions form to process the actions generated since the last run of the HARP BusinessPro batch process.
Subscription Actions Lifecycle
Subscription actions pass through a lifecycle. The actions lifecycle is made up of a
series of statuses. These are:
1. Not Firmed – This is the default status of an action when it is created. Actions which are not firmed are essentially a signal or a reminder to the subscription manager or subscription clerk or account manager that an action needs to be taken vis-à-vis the subscription plan line the action is linked to. When the status of an action is “Not firmed” there the action is in an open state and many fields can be modified to override the default values generated by the master process. In this status, it is also very easy to cancel an action if you do not want to process it further. This can be done using the cancel button available in both the Subscription management cockpit and in the Subscription actions form. Cancelling a subscription action does not affect future billing cycles for the linked subscription plan line, with the only exception being cancelling a subscription action of type “Renewal approval”. When cancelling an action, a reason code must be specified. As a best practice, these should not be the same reason codes used to track new subscription plans, renewals, churn, upgrades and downgrades but a reason code to reflect the reason why there was a deviation from the standard billing cycle.
For example: the account manager has decided to cancel the sales order invoice action generated by the master process for this month’s billing cycle using reason code “SLA violation” because due to an unexpected system down-time which violated the SLA of the service during the last billing cycle. The master process will still generate new sales order invoice actions for the upcoming months so that billing can continue normally.
Actions which are not firmed can also be “Cancelled and re-processed”. This means that if the user makes a mistake, the mistake can be corrected and the action re-generated.
2. Firmed – The next status in an action’s lifecycle is “Firmed”. When an action is firmed, there is commitment that this action can be processed. In fact, once an action is firmed records are created in standard Dynamics 365 modules that carry forward the actual work reflected by the type of action. For example: if the action is of type “Sales order invoice” a sales order and sales line are created in the background and linked to the action. When an action is firmed you can no longer cancel it using the cancel buttons available within the subscription management module. The only way to cancel a firmed action would be to go to the standard D365 record created by the action firming (for example a Sales order), specifying a reason code on the header and then deleting the sales order or sales line which will in turn also cancel the firmed actions. As a best practice, these should not be the same reason codes used to track new subscription plans, renewals, churn, upgrades and downgrades but a reason code to reflect the reason why there was a deviation from the standard billing cycle. When an action is firmed no postings are yet done to the standard D365 general ledger or any of the related sub-ledgers.
3. Historical – The next status in an action’s lifecycle is “Historical”. This means that the action is posted and has reached the end of its lifecycle. The status can no longer be changed.
4. Cancelled – An action gets the status “Cancelled” when the user cancels an action. As outlined above, both “Not firmed” and “Firmed” actions can be cancelled but there a different process applies. The status can no longer be changed. However, cancelled actions can be reprocessed and thus re-generated.
Visualisation of the action states in the Subscription management cockpit tabs.
Visualisation of the action states in the Subscription actions form lookup used for filtering.
Subscription Actions Types
Generate Sales Order – These actions generate sales orders and sales order lines for invoicing customers. This is the most common type of action used across all scenarios and industries.
Generate Purchase Order – These actions generate purchase orders and purchase order lines for recording supplier invoices.
Generate Project Sales Order – If a subscription plan has a classification of “Project” a project sales order is created when firming this action type. Project sales orders cannot be invoiced directly from within LISA but via a Project Invoice Proposal of the Project Management and Accounting Module.
Generate Project Purchase Order – If a subscription plan has a classification of “Project” a project purchase order is created when firming this action type. This can be invoiced from LISA.
Revenue Recognition Entry – When this action is posted a general journal is posted to recognize revenue either on a month-by-month basis or in-advance over a period of time.
Cost Recognition Entry – When this action is posted a general journal is posted to recognize cost either on a month-by-month basis or in-advance over a period of time.
Renewal Approval – This action is generated when line level auto-cancellation is configured from the Renewal options button. If this action is not firmed then the linked subscription plan will be auto-cancelled. Actions of this type cannot be posted as they have no financial effect.
Product Entitlement – These actions are generated when product entitlements are linked to a subscription plan line. When entitlement actions are fully consumed, they are automatically moved to a cancelled state.
Project Hours Entitlement – These actions are generated when project hours entitlements are linked to a subscription plan line. When entitlement actions are fully consumed, they are automatically moved to a cancelled state.
Request for Deposit Payment – Actions of this type result in the creation of a payment journal. Based on the created payment journal a “Request for payment” report can be generated to ask the customer to pay a deposit. Subsequent sales order actions invoiced from LISA are automatically settled to this prepayment if this is so configured in the Subscription Management Parameters.
Request for Subscription Security Payment – Actions of this type result in the creation of a payment journal. Based on the created payment journal a “Request for payment” report can be generated to ask the customer to pay a security deposit.
GoCardless Direct Debit – Actions of this type are generated when the integration with GoCardless direct debit interface is enabled for this specific customer and subscription plan. When posted, these actions will generate an API call to GoCardless to debit a customer’s amount to settle the payment required.
Subscription Actions fields
The following table shows an explanation of the fields on action records:
Field Name | Description |
Multi-line | When ticked, it means that HARP BusinessPro generated this action by combining the data from multiple subscription plan lines. For this to happen the subscription plan lines must be very similar such as: same item number, product name, financial dimensions, and currency. Please note that merging can be disabled for Credit Note actions from Enterprise subscription management parameters so that the customer can get a full view of what is being credited and what is being invoiced in an upgrade/downgrade scenario. |
Subscription action | Unique id for the action coming from the number sequence. |
Version | If subscription versioning is enabled this field contains the subscription plan version number used to generate this action. |
Action category | The current status in the action’s lifecycle for example: Not firmed. |
Action type | The type of the action for example: Generate sales order |
Date | The date of the action. |
Customer account | The customer linked to the action. |
Sales invoice date | Use this field to override the default invoice date. |
Vendor / Supplier account | The supplier account linked to the action. |
Supplier invoice number | Invoice number provided by the supplier. |
Supplier posting invoice date | Posting date for supplier invoice. |
Supplier invoice document date | Document date of supplier invoice. |
Item number | Item number of the item linked to this action. |
Variant number | The item variant linked to this action. |
Date from | The start date of the cycle covered by this action. |
Date to | The end date of the cycle covered by this action. Note: Perpetual actions have no end date. |
Quantity | The sales quantity being invoiced by this action. |
Price | The price per unit. |
Unit | The price unit e.g., Month. |
VAT / Sales tax amount | The sales tax / VAT amount applicable to this action. |
Gross Amount | Gross amount for example gross amount before discount or gross entitlement. |
Net amount | Net amount for example net amount after discount or net entitlement balance. |
Sales Order | The linked sales order after a sales order action is firmed. Note: This is just a link to the order header for easy of drill-through. The action is actually linked to a sales line. |
Purchase order | The linked purchase order after a purchase order action is firmed. Note: This is just a link to the order header for easy of drill-through. The action is actually linked to a purchase line. |
Sales invoice | When an action of type sales order is posted the invoice number is stamped here. |
Payment journal | The payment journal number of requests for payment actions for deposits and security deposits. |
Is credit note | Is this action a credit note? |
Maintenance | Is this action a maintenance action? |
Discount | The discount amount on this action. |
Discount percent | The discount percent of this action. |
Current cycle | The billing cycle number of this action. |
Reason | Reason code applies to this action. This is very important for analytical purposes. |
Indirect customer | When there is an indirect customer defined on the subscription plan, this is copied to the action. |
Partner margin | When the HARP BusinessPro process detects that a partner margin has been used in generating an action this is copied to the action. |
Sales manager | When there is a sales manager defined on the subscription plan, this is copied to the action. |
Customer requisition | When there is a customer requisition number defined on the subscription plan, this is copied to the action. |
Customer reference | When there is a customer reference on the subscription plan, this is copied to the action. |
Linked Entitlement | The entitlement linked to this action. |
Cancelled | Is the action cancelled? |
Cancellation reason | The reason why the action was cancelled which is generally different from the reason the action was originally created. |
Cancelled by | The user who cancelled the action. |
Cancelled on | The date and time the action was created. |