/
Lease Revenue/Recurring Recognition

Lease Revenue/Recurring Recognition

Criteria

  • For Accounts with Account Posting Group = Lease Revenue

  • For Salesforce Invoice Lines with Charge Type = Recurring

Salesforce Invoice Line Views

Field Name

Help

Field Name

Help

Ready for Amortization Calculation

Formula:

  1. Account Posting Group = Lease Revenue

  2. Order Record Type contains Rental

  3. Invoice Status = ‘Posted’

  4. Order Product != ''

  5. Lease Amortization Line = ''

  6. Product Family != ‘FRP’

  7. (Charge Type = ‘Recurring' OR Product.Sub Category = ‘DISCOUNT’ OR 'DOWN_PAYMENT')

ISPICKVAL( blng__InvoiceLineStatus__c ,'Posted') && NOT(ISBLANK( blng__OrderProduct__c )) && ISBLANK( Lease_Amortization_Line__c ) && ( ISPICKVAL(blng__ChargeType__c,'Recurring') || ISPICKVAL( blng__Product__r.Sub_Category__c, 'DISCOUNT') || ISPICKVAL(blng__Product__r.Sub_Category__c, 'DOWN_PAYMENT') )

Lease First SF Invoices Lines w/o AMT Lines

  • First Invoice = True

  • Lease Amortization Line = ‘'

  • Ready for Amortization Calculation = True

Lease First SF Invoices Lines with AMT Lines

  • First Invoice = True

  • Lease Amortization Line != ‘'

Lease Monthly SF Inv. Lines with AMT Lines

  • First Invoice = False

  • Lease Amortization Line != ‘'

Lease Monthly SF Inv. Lines w/o AMT Lines

  • First Invoice = False

  • Lease Amortization Line = ‘'

  • Ready for Amortization Calculation = True

 

image-20240315-154353.png

 

Setups

Company Setup

Field Name

Help

Field Name

Help

Lease Receivable G/L Account

Lookup(GL Account)

Default Loan Interest Rate

Default Interest Rate(%) uses in the amoritization calculation, unless overwritten by Product2.GF_Interest_Rate__c

Account Posting Setup

Field Name

Help

Field Name

Help

Interest Income G/L Account

Lookup(GL Account)

Write-Off G/L Account

Lookup(GL Account)

Account Sales Tax Payable

Lookup(GL Account)

Product

Field Name

Help

Field Name

Help

Sub Category

DISCOUNT, DOWN_PAYMENT

Salesforce Invoice Line

Field Name

Help

Field Name

Help

Ready for Amortization Calculation

 

Lease Amortization Line

Lookup(Lease Amortization Line)

Create Amortizations Manually

Create Amortization from Salesforce Invoice Lines

  • Navigate to Salesforce Invoice Line - First SF Invoice Lines w/o AMT Lines view

    • Select the lines you want to create Amortization Entries for.

    • Click the Create Amortization Entries button

      • Use Country (Invoice__r.Currency), Account Posting Group (from Account), Charge Type, and Filter Replace Plan to look for Account Posting Setup, then populate these fields on the Amortization Schedule:

        • Account Posting Setup

        • Write-off GL Account (from Account Posting Setup)

        • Revenue GL Account (from Account Posting Setup)

        • Sales Tax GL Account (from Account Posting Setup)

image-20240313-211224.png
  • Navigate to the Lease First SF Invoice Lines with AMT Lines list view.

  • Click on the Salesforce Invoice record to view the amortization entries generated for the invoice in the Lease Amortizations section.

Amortization Schedule

  • If there are multiple invoice lines with different Order Products, the system will create one lease amortization schedule per order product.

  • The principal amount P(LR Booked Amount) is calculated using this formula:

Variables:

P = LR Booked Amount

PMT = MRR Amount

r = Interest Rate/12

n = Term(months)

  • When processing the invoice lines, the system sorts them by the Start Date and then processes them sequentially.

  • The system will create at least two Lease Amortization Lines entries from First Invoice Line:

    • Initial Entry

      • Lease Receivable = LR Booked Amount

    • Monthly Entry

      • It will calculate the Remaining Principal Amount = LR Booked Amount - Total LR Amount Paid

      • Interest Amount = Remaining Principal Amount * Interest Rate / 100 / 12

      • Lease Receivable = MRR Amount - Interest Amount

      • Tax = Salesforce Invoice Line Tax Amount

      • Invoice Amount = Salesforce Invoice Line Total Amount

Lease Amortization

Field Name

Help

Field Name

Help

Customer

blng_Account__c

First Invoice

Salesforce Invoice > First Invoice = True

Fully Paid

Formula(Total LR Amount Paid = LR Booked Amount)

Interest Income GL Account

 

Lease Receivable GL Account

 

Write-Off GL Account

 

Revenue GL Account

 

Interest Rate

Company Default > Default Loan Interest Rate, Can be overwritten by Product > GF_Interest_Rate__c

Item

Invoice Line > Product > Item

 

 

LR Booked Amount

Calculated Principal Amount

MRR Amount

Invoice Line > Order Product > Billable Unit Price

Open Lines

Roll-Up Summary COUNT Lease Amortization Line (Post != True)

Order Product

Invoice Line > Order Product (One Order Product per Lease Amortization)

Original Ownership

Order Product > Original Ownership

Sales Tax GL Account

 

Starting Date

Invoice Line > Start Date

Term

Invoice > Invoice Line > Product > Product_Contract_Term__c

Total Discount

Roll-Up Summary (SUM Lease Amortization Line Lease: Discount Amount)

Total Interest Paid

Roll-Up Summary (SUM Lease Amortization Line Lease: Interest Amount)

Total Invoice Amount

Roll-Up Summary (SUM Lease Amortization Line Lease: Invoice Amount)

Total Lines

Roll-Up Summary COUNT Lease Amortization Line

Total LR Amount Paid

Roll-Up Summary (SUM Lease Amortization Line: Lease Receivable), Line Type = Monthly Entry

Down Payment Amount

Roll-Up Summary (SUM Lease Amortization Line Lease: Down Payment Amount)

Cancelled

True if Lease Amortization is canceled using the Cancel Lease button

Currency

 

GL Ledger

From order’s Warehouse

Lease Amortization Lines

Field Name

Help

Field Name

Help

Type

INITIAL_ENTRY, MONTHLY_ENTRY,DOWN_PAYMENT,DISCOUNT,CANCELLATION

Invoice Date

SF Invoice Posting Date

Invoice Amount

SF Invoice Line: TotalAmount. (Include Tax)

Lease Receivable

 

MRR Amount

Monthly Payment Amount

Posted

True if the line is posted

SF Invoice Line Calculated Qty.

SF Invoice Line: Calcualted Quantity

Tax Amount

SF Invoice Line: TaxAmount

Interest Amount

 

Discount Amount

 

Down Payment Amount

 

SF Sales Invoice

 

SF Sales Invoice Line

 

Currency

 

Create Monthly Amortization Entries From Invoice Lines (Salesforce Invoice Line)

  • Navigate to the Lease Monthly SF Inv. Lines w/o AMT Lines Invoice Line list view.

  • Select the Invoice Lines for which you want to create monthly amortization entries.

  • Click the Create Amortization Entries button to initiate the process.

  • The system will search for exiting Lease Amortization using Salesforce Invoice Line’s Order Product, if the Order Product has a Lease Amortization record, then the routine will use the Salesforce Invoice Line data to create a Monthly Amortization Entry under the linked Lease Amortization.

The system will search for existing Lease Amortization records using the Order Product associated with the Salesforce Invoice Line. If the Order Product is linked to a Lease Amortization record, the routine will utilize the data from the Salesforce Invoice Line to generate a Monthly Amortization Entry under the corresponding Lease Amortization.

If Lease Amortization is not found, an error message will be written on the invoice line, letting the user know to create an amortization schedule for that invoice line.

Monthly Amortization Line Entry Calculation

  • When processing the invoice lines, the system sorts them by the Start Date and then processes them sequentially.

  • It will calculate the Remaining Principal Amount = LR Booked Amount - Total LR Amount Paid

  • Monthly Entry

    • Interest Amount = Remaining Principal Amount * Interest Rate / 100 / 12

    • Lease Receivable = MRR Amount - Interest Amount

Create Amortizations Automatically

  • Use the Hourly routine configured on the Job Scheduler, with Job name = “Create Lease Amortizations” and Class name GF_CreateLeaseAmortizationSched

  • All errors will be displayed in the field Error Message.

  • Batch size = 1

  • Need to create a view to display the error.

Cancel an Amortization

  • Navigate to the Lease Amortization record that you want to cancel.

  • Click the Cancel Lease button to initiate the process.

  • A cancellation entry will be inserted into the amortization schedule.

    • Lease Receivable = LR Booked Amount - Total LR Amount Paid

    • Invoice Date = Today()

    • The system will flag the amortization as canceled.

Manual Post & Un-Post Amortization GL Enries

Lease Amortization Line List Views

Open

Filter:

Posted = False


How to Post Amortization Entries

  • Navigate to the Lease Amortization Line - Open list view.

  • Select entries and then click the Post button to initiate the posting process.

G/L Entries Examples

  • Lease Amortization Line Type = Initial Entry

    • Debit Lease Receivable Account

    • Credit Product Revenue Account

  • Lease Amortization Line Type = Monthly Entry

    • Debit Accounts Receivable (Invoice Amount $18.35)

    • Credit Lease Receivable Account (Lease Receivable $11.40)

    • Credit Interest Income Account (Interest Amount $5.55)

    • Credit Sales Tax Payable Account (Sales Tax $1.40)

  • Lease Amortization Line Type = Cancellation

    • Debit Write-off Account

    • Credit Lease Receivable Account

  • Lease Amortization Line Type = Discount

    • Debit Discount

    • Debit Sales Tax Payable

    • Credit Accounts Receivable

  • Lease Amortization Line Type = Down Payment

    • Debit Accounts Receivable

    • Credit Lease Receivable

How to Un-Post Amortization Entries

  • Navigate to the Lease Amortization Line - Posted list view.

  • Select entries and then click the Un-Post button to un-post.

  • The system will create reverse G/L entries if un-post is successfully run.

    • Sample reverse entries:

Automatic Post Amortization GL Entries

  • Use the Hourly routine configured on the Job Scheduler, with Job name = “Post Amortization GL Entries” and Class name GF_PostAmortizationEntriesSched

  • All errors will be displayed in the field Error Message.

  • Batch size = 1

  • Need to create a view to display the error.

Open Questions/To Dos

  1. Work with Umair to create and test different test cases:

    1. Salesforce Invoice with one product

    2. Salesforce Invoice with multiple products.

    3. Salesforce Invoice with discount

    4. Salesforce Invoice with sales tax (Texas charges Sales Tax on the first invoice?)

      1. SW: Please send some examples.

    5. Salesforce invoice with downpayment

      1. SW: Need the Home Water team to create test invoices with a down payment line

    6. Excel Sheet with Examples

      1. https://microdatanet1988.sharepoint.com/:x:/s/Clients/ES-9cKPQSJtKjv2iacvcnsoBie47orn_Gk8W_rOBTOMsPw?e=shJ7lo

  2. Go Live, how should we handle open invoices?

    1. if we mass-create GF invoices and Amortization entries for existing Salesforce Invoices will it cause GL issues? such as double count?

  3. The current First Invoice flag does not work on Renewed subscriptions, it does not flag the First Invoice of the renewed subscription!!!

Reference

  1. Home Water Amortization Schedule

  2. Amortization Mapping

 

Related content

Non-Lease Revenue Reconition
Non-Lease Revenue Reconition
More like this
Lease Revenue/Recurring Change Request 12/12/24
Lease Revenue/Recurring Change Request 12/12/24
More like this
Texas Sales Tax Payable Requests- 12/18/24
Texas Sales Tax Payable Requests- 12/18/24
More like this
Filter Replacement Plan Revenue Recognition
Filter Replacement Plan Revenue Recognition
More like this
Sales Invoice Mappings
Sales Invoice Mappings
Read with this
Accounting Variable Setup
Accounting Variable Setup
More like this