web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

No record found.

News and Announcements icon
Community site session details

Community site session details

Session Id :
Finance | Project Operations, Human Resources, ...
Suggested Answer

How to calculate interest using the 30/360 day-count convention in D365 Finance

(0) ShareShare
ReportReport
Posted on by 60

Hi all,

I have a question regarding interest calculation in Dynamics 365 Finance and would like to know whether anyone has already dealt with this requirement.

For a loan, we need to use the commercial 30/360 day-count convention in germany and switzerland. 

In standard D365 Finance, the Day method with an interval of 1 day appears to use a 360-day annual basis as well, but the number of interest days is determined differently.

Technically, with Day + Percentage, D365 calculates:

Amount × Monthly interest rate × Actual interest days / 30

For an annual interest rate of 1%, the monthly interest rate is configured as:

1% / 12 = 0.083333%

This results mathematically in:

Amount × 1% × Actual interest days / 360

So effectively, this corresponds to an Actual/360 calculation.

The difference compared with the required 30/360 method is the way the interest days are counted:

  • D365 Day uses the actual calendar days.
  • Under 30/360, each month is treated as having 30 days, and the 31st day is adjusted accordingly.

A few examples illustrate the difference:

PeriodD365 Day / Actual daysCommercial 30/360
04 Mar – 31 Mar27 days26 days
18 Mar – 31 Mar13 days12 days
11 Feb – 31 Mar49 days49 days
15 Jan – 31 Mar76 days75 days
04 Feb – 28 Feb24 days24 days
18 Feb – 28 Feb10 days10 days
26 Jan – 28 Feb33 days32 days

The difference becomes particularly visible when moving from January to February, because D365 uses the actual number of calendar days, while 30/360 uses a standardized 30-day month.

As far as I can see, the other standard calculation methods do not solve this requirement either:

  • Month: Monthly interest rate × number of monthly intervals
  • Calendar day: Monthly interest rate prorated based on the actual number of days in the month, e.g. 1/28, 1/29, 1/30 or 1/31
  • Day365: Annual interest rate × actual days / 365

Has anyone implemented a true 30/360 day-count convention in Dynamics 365 Finance?

If so, how did you solve it?

My current assumption is that a small customization would be required to adjust the calculation of the interest days, while the existing interest formula could largely remain unchanged.

I would appreciate any experience or recommendations without development.

Categories:
  • Suggested answer
    Syed Haris Shah Profile Picture
    2,017 Super User 2026 Season 2 on at

    Hi @Klara Calabro ,

     

    Could you please confirm which module your question is specifically related to? Is it related to Asset Leasing, Interest Note, or a custom Loan Management module?

    Based on my understanding, I don’t believe the commercial interest calculation algorithm 30/360 you are referring to exists as a standard functionality in D365 Finance modules irrespective its Interest Note or Asset Leasing.

    you probably need to consider customization.

     

    Regards,

    Syed Haris Shah

  • André Arnaud de Calavon Profile Picture
    307,889 Super User 2026 Season 2 on at

    Hi Klara,

    I have not seen the 30/360 interest calculation myself in Dynamics 365 F&O. Maybe there is something in a particular localization. If not, then this indeed requires a customization.

  • Assisted by AI
    Saif Ali Sabri Profile Picture
    2,864 Super User 2026 Season 2 on at

    I also haven’t found any standard support for the 30/360 interest calculation in Dynamics 365 Finance. As far as I can see, this indeed requires a small customization to adjust the day‑count logic.
    that’s the practical solution path I outlined:

    • Keep existing formula: The interest formula logic in D365 Finance (Amount × Rate × Days ÷ 360) can remain unchanged. The only adjustment needed is to replace the day‑count function so it applies the 30/360 convention instead of actual calendar days.
    • Custom interest code: Introduce a new interest calculation method in the Interest code setup that calls your custom day‑count routine. This way, you can configure it alongside the standard methods without altering the rest of the framework.
  • Klara Calabro Profile Picture
    60 on at

    I see it the same way as Saif Ali Sabri, and this is also the approach I would propose for the customization: introducing a new calculation method.

    If someone has already implemented this customization, it would be great if they could share the exact solution or the relevant code changes.

  • Klara Calabro Profile Picture
    60 on at

    it is belong to the intercompany loan management build up via customer balance and interest are calculated with interest note. 

  • Suggested answer
    Syed Haris Shah Profile Picture
    2,017 Super User 2026 Season 2 on at

    Hi @Klara Calabro ,

     

    You may consider an extension to accommodate this calculation in D365. I would recommend discussing the calculation logic and the complete business process requirements with your technical team so that you can design the solution together. This will help ensure a more robust and suitable solution.

     

    Regards,

    Syed Haris Shah

  • Assisted by AI
    Saif Ali Sabri Profile Picture
    2,864 Super User 2026 Season 2 on at

    public class InterestCalculation30_360 extends InterestCalculation
    {
       public int calculateInterestDays(Date startDate, Date endDate)
       {
           int startDay = dayOfMth(startDate);
           int endDay   = dayOfMth(endDate);
           int startMonth = monthOfYr(startDate);
           int endMonth   = monthOfYr(endDate);
           int startYear  = year(startDate);
           int endYear    = year(endDate);

           // Adjust days according to 30/360 rules
           if (startDay == 31) startDay = 30;
           if (endDay == 31 && startDay == 30) endDay = 30;

           int days = (endYear - startYear) * 360
                    + (endMonth - startMonth) * 30
                    + (endDay - startDay);

           return days;
       }

       public real calculateInterestAmount(real principal, real annualRate, Date startDate, Date endDate)
       {
           int days = calculateInterestDays(startDate, endDate);
           return principal * annualRate * days / 360;
       }
    }
    Key points:

    • Keep formula: The calculation remains Amount × Rate × Days ÷ 360.
    • Extend day-count logic: The calculateInterestDays method applies the 30/360 convention (each month = 30 days, adjust 31st).
    • Custom interest code: Register this class as a new interest calculation method in the Interest code setup, so it can be selected alongside standard methods.

    This way, the customization scope is minimal, and the solution integrates cleanly into the existing interest note process for intercompany loans.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Winners!

Congratulations to our community stars!

Women in Power Builds Momentum

Expanding mentorship, skilling, and AI innovation

Leaderboard > Finance | Project Operations, Human Resources, AX, GP, SL

#1
Martin Dráb Profile Picture

Martin Dráb 445 Most Valuable Professional

#2
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 309 Super User 2026 Season 2

#3
CU29091230-0 Profile Picture

CU29091230-0 192

Last 30 days Overall leaderboard

Product updates

Dynamics 365 release plans