...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Lease Revenue with Recurring
Use Salesforce Invoice Line view to create Amortization schedules to record revenue. Do not deduct inventory again.
For Order with Record Type = Tech Install/Self Install - Rental
Product Family on Salesforce Invoice Line != FRP
Accounting Posting Group = Lease Revenue
Order Record Type contains Rental. // better to use this filter to separate records from Upfront
Do not use below. Discount and Down Payment have Charge Type = One Time, which might be confused with Upfront Payment.
(Charge Type = ‘Recurring' OR Product.Sub Category = ‘DISCOUNT’ OR 'DOWN_PAYMENT')
Amortization Line is not blank
Invoice Status = Posted
Populate Amortization Line on Invoice Lines
...
Table of Contents | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
...
Setups
Company Setup
...
Field Name
...
Help
...
Lease Receivable G/L Account
...
Lookup(GL Account)
...
Account Sales Tax Payable
...
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
...
Interest Income G/L Account
...
Lookup(GL Account)
...
Write-Off G/L Account
...
Lookup(GL Account)
Product
Field Name | Help |
---|---|
Sub Category | DISCOUNT, DOWN_PAYMENT |
...
Criteria
For Accounts with Account Posting Group = Lease Revenue
For Salesforce Invoice Lines with Charge Type = Recurring
Salesforce Invoice Line Views
Field Name | Help | ||
---|---|---|---|
Ready for Amortization Calculation | Formula:
|
Lease
...
Create Amortization from Salesforce Invoice Lines
Salesforce Invoice Line List Views
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
Filters:
First Invoice = True
Lease Amortization Line != ‘'
Lease Monthly SF Inv. Lines with AMT Lines
Filters:
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
Drawio | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Setups
Company Setup
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 |
---|---|
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 |
---|---|
Sub Category | DISCOUNT, DOWN_PAYMENT |
Salesforce Invoice Line
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)
...
Navigate to theLease First SF Invoice Lines with AMT Lineslist view.
Click on the Salesforce Invoice record to view the amortization entries generated for the invoice in the Lease Amortizations section.
Amortization Schedule
The system will create one Lease Amortization Schedule per Order Product if 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:
...
When processing the invoice lines, the system will sort sorts them by the Start Date . Then, it’ll process the invoice lines 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
...
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 Amoritization Amortization is cancelled canceled using the Cancel Lease button |
Currency | |
GL Ledger | From order’s Warehouse |
...
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.
...
When processing the invoice lines, the system will sort sorts them by the Start Date . Then, it’ll process the invoice lines 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
...
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
Work with Umair to create and test different test cases:
Salesforce Invoice with one product
Salesforce Invoice with multiple products.
Salesforce Invoice with discount
Salesforce Invoice with sales tax (Texas charges Sales Tax on the first invoice?)
SW: Please send some examples.
Salesforce invoice with downpayment
SW: Need the Home Water team to create test invoices with a down payment line
Excel Sheet with Examples
GL Accounts for Posting?
GL Ledger - Should go to Salesforce Invoice__r.Salesforce Order__r.Warehouse__r.GL_Ledger__c
Should add GL Ledger to the Amortization Schedule
- SW: Currently, the System is assigning GL Ledger to GL Entry by CurrencyCode.
Go Live, how should we handle open invoices?
if we mass-create GF invoices and Amortization entries for existing Salesforce Invoices will it cause GL issues? such as double count?
The current First Invoice flag does not work on Renewed subscriptions, it does not flag the First Invoice of the renewed subscription!!!
...