Thursday, February 29, 2024

Subscription billing - Recognizing revenue for Billing schedule.

The form Recognition processing can be accessed from the below path. This form is used to fetch lines from the relevant deferral schedule.

Path: Subscription billing > Revenue contract billing > Revenue and expense deferrals > Periodic tasks > Recognition processing 



Prepare and validate Revenue recognition journal:

Using Recognition processing wizard recognition Journal can be processed this will allow user to create and post Recognition Journal.

In Revenue Recognition processing wizard user can define Journal name, cut-off date to recognized revenue of deferral schedules falling on or before this date. filter can also be applied on specific Sales order and Deferral schedule number.



Prepare and validate revenue recognition journal:

Recognition journal details could be validated In Recognition processing wizard It shows the relevant lines which are filtered based on criteria put in previous step.


Validate records to be processed:

Recognition journal details should be validated In Recognition processing wizard, unwanted extra records could be removed from the list. Click on Process, system will post the create the voucher and post the Revenue Journal.

Once journal is posted, Deferred revenue will be converted to Revenue and Deferral Schedule status will become to completed. It will show the amount as recognized and Deferral account and Recognition account will also be visible after clicking on Process in “Recognition processing" wizard.



Validate posted revenue recognition: In the All-deferral schedules form, Journal batch number and Voucher number is updated.



Posted recognize journal can be found in General Journal. this from can be found in below path: Path: General Ledger > Journal entries > General Journal


Deferral and Revenue accounts can be validated along with Deferral amount from the relevant General Journal Lines.  



Enjoy!


Project timesheet entry adjustments in D365 Finance and Operations

 Go to the relevant Projects for which posted transactions has to be adjusted or follow below path to select the relevant project:

Path: Project management and accounting > Projects > All projects

Select the Manage tab and from Related information group click on Posted transactions.




 Provide the filter criteria to select duplicated posted transaction which needs to be adjusted. Once selected, click on Adjust transactions from Process tab.



Provide the Adjustment date, on which transaction has to be adjusted:



Select the transaction which needs to be adjusted and click on OK.



Once click Ok, the selected record is ready to be posted, please verify the record details and click on Post.





D365 will systematically create the adjustment journal transaction in the background after you Post that will offset the original Timesheet entry.


Enjoy!


Define Sales tax tolerance


Setup and configuration:

To enable Sales tax tolerance on vendor invoice “Match the detail for Vendor invoice” should be enabled from Feature management:


Once feature is enabled, parameter will be enabled in the Account payable parameter form:

Path: Accounts payable > Setup > Account payable parameters

Go to Invoice validation tab and enable Enable invoice matching validation checkbox in Invoice validation group and enable Match invoice totals checkbox from Invoice totals matching group.



Above step will allow to set Tolerance for different heads.

Enable Sales tax checkbox and set If greater or less then tolerance from Display invoice totals match icon drop down and set the Tolerance.

Tolerance can be set for vendor wise also from below path:

Accounts payable > invoice matching setup > total invoice tolerances



Enjoy!

Tuesday, February 27, 2024

Subscription Billing - Functionality Overview

 Subscription billing enables organizations to manage subscription revenue opportunities and recurring billing through billing schedules.

Complex pricing, billing model and revenue allocation can easily be managed using this feature.

The solution has below three modules these can be used simultaneously as well as independently as well.

  • Recurring contract billing -  This module enables recurring billing and price management to provide control over pricing and billing parameters, contract renewal and consolidated invoicing.
  • Revenue and expense deferrals - This module eliminate manual processes and dependency on external systems by managing revenue and enabling real-time insight into monthly recurring revenue.
  • Multiple element revenue allocation - This module helps with revenue compliance by handling pricing and revenue allocation across multiple items.
Details of one time setup and required steps to configure Subscription billing are provided in below links:




Creating billing schedule and defining deferral accounts

 Creating billing schedule:

Once the Trade agreement is posted, (Please go through with the link, to get more details of creating and posting of Trade agreement). The related billing schedule needs to be created:

Go to path: Subscription billing workspace > Subscription billing






Create billing schedule

Select the customer and details for which the billing schedule needs to be created. Then , select the billing schedule group (default based on configuration), customer, start date.

Based on the billing schedule group, the frequency (monthly, quarterly, yearly) has been determined. In case number of periods is included (i.e. 12) the end-date is auto filled.



It will show all details for the billing schedule lines. select lines and press Generate all.



Generate batch processing:

Subscription billing > Generate invoice > select batch job set recurrence

Note: The Generate invoice button should only be used in case of prepaid fee payment.



Generate batch processing:

In the generate invoice batch processing, select the start date and billing schedule number:




Define recurrence and press OK.

Revalidate the input in Generate invoice batch processing window and press OK.


Batch Job scheduling:

Batch jobs will be created and could be seen in scheduled Batch jobs in the system from below path.

 Path: System administration > Inquires > Batch jobs

Schedule batch job will be in Waiting state and when executed in scheduled time, sale order will be created.



Deferral schedule:

Billing schedule will be created that will fetch information for customer and billing schedule group in header.

Click on the Deferrals for selected Billing schedule lines in All Billing schedules form:



Defining deferral schedule:

A pop-up window will be opened. Based on configuration settings this item indicated as a deferral item.

The Deferred  check would be enabled for the item. configured Accounts can be visible these Accounts will be used in the process for posting.





Subscription billing - One-time setup and configuration

 Step 1: Enable Subscription Billing Solution

Subscription billing solutions can be enabled through Feature managementThis solution cannot be enabled with the Revenue recognition feature. Therefore, it must be disabled before enabling subscription billing. 

Once revenue recognition is disabled, filter the Subscription billing and enable the feature from Feature management.





Step 2: Item deferred by default:

The items that are in scope for the billing subscription module needs to e determined in order to setup default deferral schedules.

This can be done based on the following options:

  • Table (If single item needs to be assigned for deferral)
  • Group (If specific item group needs to be assigned for deferral)
  • Category (If specific category needs to be assigned for deferral)
Below and example is used for a Table item code to specify a single item. 



Step 3: Deferral defaults:

Based on the item relation, its need to define deferrals in the posting profile. Main reason of this step is to dictate the system that in which main accounts the deferral has to be recorded.



Step 4: Deferral schedule groups:

The billing schedule group will be the default billing schedule for an item relation.

The billing schedule group consist of a lot of options. For example, using billing frequency as monthly for the running the example scenario:



Step 5: Define Released product:

Select relevant released product which needs to be used for subscription billing scenario:

Path:  Go to Product information management > Products > Released product



Step 6: Create trade agreements and select the related item number based on the underlying contract



Select the relevant trade agreement journal or create a new one if needed.

On the Action Pane, select Lines in order to provide the details of the trade agreement.

Provide relevant information from contract in Trade Agreement 

  1. In the party code type field, select Table. To update the price for a specific customer.
  2. In the Account selection field, select the drop-down button to open the look-up list, find and select the desired record.
  3. In the Product code type filed, select Table. when entering Trade Agreement of type Price (sales),   must select Table in the Product code type field. This is because a price is an absolute value and can't be the generic for al products or a group of products. 
  4. The Item relation field, select the the drop-down button to open the look-up in the list, select the which product to be included in the Agreement. Make a not of the selected product.
  5. In the Amount in currency field, enter a price. Under the Details section, in the Form date field, enter a date from which this agreement will be valid.
  6. Select Save and validate the selected lines and select Post button
Select customer via account selection, determine quantity and price per quantity.
Once agreed upon the trade agreement can be posted accordingly.



Validate and post Trade Agreement:
Select View trade agreements. Review the details of created Trade Agreement, and post accordingly:


 
Step 7: Automatic index rate contracts on the periodic basis:
Escalation and discount option on the Billing schedule lines can be used for index purpose. Frequency of the contract can be defined as Monthly/ Quarterly/ Semi annually and Annually along with the index percentage or Amount bases. i.e. Monthly -- 10%, Quarterly - 12% and Annually - 15%
 




Foreign currency revaluation - Setup and configuration

 Currencies can be created and maintained from Currencies from which is available in below path:

Path: General Ledger > Currencies > Currencies



Currency exchange rate providers form can be accessed from below path:

Path: General Ledger > Currencies > Configure exchange rate providers



 Please make sure it is set to your desirable currency exchange rate provider. in my case it is set to Central bank of Europe which is listed in exchange rate provider. this will provide Exchange rates from the Central bank of Europe.

Exchange rate Types can be accessed from below path:

Please make sure Average and Closing exchange rate type are defined in the system:

 


Imported Currency exchange rates are visible on the click of highlighted Exchange rates on above screen shot, these exchange rates are being imported from currency Exchange rates providers as shown in above steps.



Foreign currency Revaluation can be executed and calculated from below path:

Path: General Ledger > Currencies > Foreign currency revaluation.




Please provide date range using From date and To date for which foreign currency has to be revaluated. 

Provide the main account (Profit and loss/ Balance sheet/All) which has to be revaluated.

Select the currency which has to be revaluated.

Once inputs are done Press OK button to see the revaluation amount.


Enjoy!


Tuesday, November 20, 2018

Install Application Deployable package on a Development Environment - Dynamics 365 Finance and Operations


Purpose
This post describes how Custom code can be deployed on end user's D365 F&O Development environment using Application Deployable package downloaded from Microsoft Dynamics Lifecycle Services (LCS).


Note: Applying Package on customer place require system downtime. at the time of applying package on customer environment, All relevant services will be stopped, and user will not be able to use your environments. So this activity should be planned accordingly.

An Application deployable package is a package that contains customizations and extensions to your application. you would have to use command line to install an AOT Deployable package on development or demo environment, for the same follow the instructions as given below:

1.    Click on Application Deployable package, this will download the package as a compressed file in the virtual machine (VM).

2.  On the virtual machine (VM), download the zip file for the deployable package. Make sure that the zip file is stored in a non-user folder.

Note: After download the zip file, right-click it, and then select Properties. Then, in the Properties dialog box, on the General tab, select Unblock to unlock the files.

3.    Extract the files.



4.  Run the following command.

       Command:    AXUpdateInstaller.exe devinstall



The devinstall option installs the AOT deployable package on the VM. As of Microsoft Dynamics 365 for Finance and Operations, Enterprise edition with platform update 12, the devinstall option doesn't require that you should be an administrator on the VM.

Note: This command doesn't run database synchronization. So database synchronization must be execute from Microsoft Visual Studio once deployable package is installed.

To know about, how to Create Application Deployable package in Dynamics 365 F&O Click here.
To know about, how to Upload and Release Application Deployable package Click here.


In case if you face any difficulty or having any query or concern, please feel free to reach me at my personal  email-  daxmanish@outlook.com

Monday, November 19, 2018

Create Deployable Package in Development Environment - Dynamics 365 Finance and Operation



This page describes how an Application Deployment package can be created  in Microsoft Dynamics 365 for Finance and Operations using Visual Studio dev tools, which is required to deliver the custom code to End customers .

What is Application Deployable package – A deployable package is generated from application metadata and source code. Deployable package is created in a development or build environment. which can consist one or multiple AOT Packages.  Application Deployable package are used to share developed functionalities (custom code) to end customers.

Create Deployable Package in Development Environment:

1.    Deployable packages can be created using the Visual Studio dev tools, or by the build automation process that are available on build environments. These deployable packages are referred to as Application Deployable Packages or AOT Deployable Packages. here we are going to cover creation of Deployable package using Microsoft Visual Studio dev tools, for this select Dynamics 365 > Deploy > Create Deployment Package 

Select the package/s that contain/s custom code, and then select the location where Deployable package should be created. press the Create button.






     2.    Deployable package is created and saved at mentioned location and ready to be used.


     3.    After a Deployable package is created, sign in to Microsoft Dynamics Lifecycle Services       (LCS), and then in LCS project, click on  Asset Library tile.


4.  Upload the Deployable package in Asset Library that you created using above steps in LCS.  

To get more information on How to Upload and Release Deployable Package in Asset  Library - Click here

In case if you have any query or concern, please feel free to reach me at my personal  email-  daxmanish@outlook.com

Upload and Release Deployable package in Asset library - Dynamics 365 Finance and Operation

Purpose

Once the Package is created (Pls have a look on the previous blog for more information on how to "Create Deployable Package in development environment") now its time Upload and Release Package in Microsoft Dynamics LifeCycle Services (LCS).

Supported environment: All environment are supported except production environment. In case of production environment request should be submitted to Microsoft to apply package.

Important: Regardless of the project type, if you have a build environment, you can only use LCS to apply Binary updates and Data upgrade packages. You can't use LCS to apply an Application Deployable package.

Prerequisite Steps:
·         Make sure that the package which should be applied is valid.  A package must pass validation before it can be applied in an environment by using the following procedures. The status of the package will be updated in the Asset library to indicate whether the package is valid. We require validation to help guarantee that production environments aren't affected by packages that don't meet the guidelines.

There are three types of validations:
o    Basic package format validations
o    Platform version checks
o    Types of packages
   
·         Make sure that the package is applied in a sandbox environment before it's applied in the production environment. 

For an application (AOT) deployable package that results from an X++ hotfix, or from application customizations and extensions, create the deployable package in your development or build environment, and then upload it to the Asset library.

Follow the below steps to upload Deployable package into Microsoft Dynamics LifeCycle services (LCS). 

Sign in LCS and Click the Asset Library as defined in previous part of this blog:

  1. Deployable package can be uploaded in Asset Library using (+) sign in     LCS under  Software Deployable package.


2.    Upload Deployable package file on the clicking of “Add a file” button.


3.    Browse and upload Deployable package file, which was created from Visual studio in earlier steps:


4.    Once package file is uploaded, successful upload will be visible on the screen, now press ‘confirm” button to upload the file in asset library on LCS:


5.    Deployable package is uploaded on LCS but it is not valid as shown below Valid check box is unchecked: so validate the package on the basis of defined validation on the Prerequisite section.


6.    Once validation is successful, click Release candidate. This will mark “Valid” to the package along with other Released details ie. Asset ID, Package Id, Platform version and Platform build etc. 


7.    Once package is released, package will be visible in Shared asset library too, so that package could be imported in other available projects in the LCS as well.


Once the package is uploaded and released, now its time to apply it on End customer development environment:

To get more information on how to Install Application Deployable package on Development Environment. Click here

To get more information on How to Create Application Deploayable package - Click here


In case if you have any query or concern, please feel free to reach me at my personal  email-  daxmanish@outlook.com