Moneylender 3 Professional Changelog

Released Version 3.0.230 - 2024-10-02

  • Fixed: Editing a Template with the Template Wizard was crashing.
  • Fixed: Template/Page layout wouldn't initialize when the page is first displayed for templates that don't fill the whole page.
  • Importing payments from Excel will attempt to match a payment to a loan using the loan's AutoPay Identifier field and then the Borrower's Bank Account Holder Name if no loans can be found by matching with the Account Number field.
  • Fixed: New Loan template for Cash Loan - no option to prefill the payment amount.
  • Filtering on a date field, using S in front of a number will filter against the report start date instead of the end date.
  • Added a checkbox on the Portfolio Settings > General tab to make the replyto field on emails sent by Moneylender use the sending email account instead of the email address from the lender record.
  • Added Regional > United States > ACH Investor Payments to allow generating an ACH file of all the payments on the currently selected loans. Useful when disbursing money to investors on loans where you are the borrower, for example.
  • Fixed: InterestIsAmountDue setting on the regular payment was unaware of Extension Account balances, and would not add enough interest if there was a balance in the extension account.
  • Custom fields on borrower and lender wizards are now able to fill up the whole dialog instead of being squished up at the top.
  • Added Other Records > Non-Banking Days to allow entering the federal holidays to use in conjunction with the push due dates setting added to the loan settings.
  • Add a checkbox on the payment setting to push back a due date if it falls on a weekend or holiday.

Released Version 3.0.229 - 2024-08-10

  • Payment Summary reports now properly honor the sort column.
  • Fixed: Split Payments tool, payments don't display properly.
  • Fixed: When updating the autopay return fee, if the window is reopened without switching to another loan, the fee doesn't appear to be updated.
  • Loading loans, especially with Closed Loans visible, sometimes it doesn't load successfully over the network (problem arises when there are more than 5000 loans). Increased the timeout for loading loans from 15 seconds to two minutes.
  • Fixed: Daily Per-Diem Interest at start of loan and periods longer than one months don't always honor the "all months have 30 days" setting.
  • Choosing No End for Payment Schedule doesn't take when hosted on the server.
  • Fixed: Adding new custom fields to the portfolio breaks the hosting and requires restarting the portfolio from the store account page when hosting on our server.
  • Prevent choosing a payoff date prior to the most recent payment when loan uses the daily interest engine.
  • Manage Escrow Charges window wasn't showing the charge data properly after the most recent update.
  • Hide the edit payment button on the AutoPay window in Moneylender (it had no function).
  • Fixed the template text tag not showing Custom fields.
  • The amount due option on the Generate Payment History tool will now include Other Fees that land on a due date when setting the amount for each payment.
  • Added an automatic confirmation step to the AutoPay portfolio keychanger to help prevent portfolios from losing their link to the AutoPay service.
  • Enabled escrow in when using the Explicit Amortization for Chronic Underpayment loan engine.

Released Version 3.0.228 - 2024-05-28

  • When selecting an existing borrower, the name wouldn't be visible in the new loan wizard.
  • Payment description not shown on the Payments tab.
  • When closing a loan with an escrow shortfall and a chargeoff, and the final payment arrived in lieu of the most recent regular payment the escrow account and loan balance weren't always zeroing out properly.
  • AutoPay payments returned for R08 - Payment Stopped will now automatically cancel any recurring payments against that bank account.

Released Version 3.0.227 - 2024-05-22

  • New Portfolio Hosting Service is available! Put your portfolio on our server and keep your loan data in the cloud instead of on your local computer. Log into your account on the store and you'll see the option to upload your portfolio and sign up for hosting.
  • Added <CopyAllTagsAndValuesToClipBoard> template tag. When added to a template, previewing the template will copy all the currently available tags and the values they possess for the loan being printed onto the clipboard. You can then open any text editor like Notepad or Word and choose paste to see all the tags and the values they have. Be sure to remove this tag from the template before sending statements. This tag forces all records to loan and all calculations to run, so it can have a major performance impact when printing a batch of statements.
  • Added a new Create Payments permission for portfolio users. Reviewed the availablity of options that shouldn't be available when certain permissions are not granted and removed the options accordingly.
  • Fixed: Importing Payments would lowercase any capital letters in the loan account numbers.
  • Added a new setting on the Portfolio Settings > General2 tab to limit the number of displayed loans - potentially helpful when you have more than 20000 or 30000 loans and you get out of memory errors when the main list is loading. Searching and selection by tools will still find and select loans that aren't currently displayed on screen.
  • Added Loan Interest Balance and Loan Fee Balance as properties of the loan record so you can now add them to the main window.

Released Version 3.0.226 - 2024-02-19

  • If a loan has per-diem late fees, recaluclate should always start at the beginning.
  • Borrower import allows mapping to custom fields.
  • Loan import now allows mapping custom fields for the primary borrower (loan and secondary borrowers already had custom fields, apparently).
  • Template Designer now allows copy/pasting template objects. Select one or more objects (hold Control key while clicking to select multiple) and then click the buttons at the top or press Ctrl-C and Ctrl-V to copy and paste. Objects can be copied to the same page, new pages, or even different templates. If copied to the same page, pasted objects have a slight offset so they're not just overlapping the originals.
  • When clicking to select or move a template object in the template designer, the object in the foreground is selected. Previously, the background object would get selected - which was awful.

Released Version 3.0.225 - 2023-12-31

  • Tested and ready for the 2023 Tax Year's Form 1098s.
  • New option -Itemize by Lenders- on the lender drop-down for reports will run the report once for each lender in the portfolio and list all the results.
  • Fixed problems with creating a Custom field and then adding it to the main window as a column would make the main stop working until Moneylender was restarted.
  • Network communications now have a mechanism to inform the client that their request caused an error on the host computer.
  • Better error handling on network hosts to accommodate requests that cause an error.

Released Version 3.0.224 - 2023-07-13

  • Added a new report values - SummaryOfFinancesRecord:CostBasisBeginning and SummaryOfFinancesRecord:CostBasisRemaining for visiblity into the cost basis for a loan.
  • Clicking a loan from a network computer now requests most of the relevant records in a single batch, instead of several sequential batches. It cuts the time from clicking a loan to the details being visible by about 60%.
  • Allow importing Payments and Borrowers from a network instance of Moneylender.
  • Added "Charged but not due" options for Other Fees and Extension Fees.
  • Refresh button is always clickable on reports.

Version 3.0.223 - 4th May 2023

  • Added Recent Portfolios to the File menu to make it easier to reopen both file and network portfolios.
  • Added tags for EscrowTrialBalance tables as well as a new ecrow analysis with a second page for the trial balance. (For existing users, add the new template from Servicing > Manage Template > Import > check the box for the Trial Balance flavor escrow analysis > Import Checked)

Version 3.0.222 - 16th March 2023

  • Fixed error if a variable rate interest setting took over in the middle of a loan it would calculate additional interest from the start of the variable rate's index.
  • Added the option to tag an inventory item to an existing loan by selecting it in the main window before opening the inventory list.
  • Fixed crash on Projected Payment report for loans that have no scheduled due dates.

Version 3.0.221 - 10th March 2023

  • Added several statement tags to represesent the balances of the loan on the date the statement is generated instead of on the loan's due date. LoanTodaysOverallBalance, LoanTodaysPrincipalBalance, LoanTodaysInterestBalance, LoanTodaysAmountDue, LoanTodaysInterestBearing, LoanTodaysExtension1Balance, LoanTodaysExtension2Balance, LoanTodaysExtension3Balance.
  • Added "Skip One Payment and Exend Loan" to the Loan menu. Details in the User's Guide.

Version 3.0.220 - 6th March 2023

  • Fixed: Moneylender crashing when a network client used the Regular Payment column and there was a loan using the Interest is Amount Due setting for the regular payment.
  • Added <LoanTotalPaidAllTime> tag that lists the amount of all the non-returned payments ever received on the loan.
  • Removed returned payments from the sums for the <LoanTotalPaidYTD> and <LoanTotalPaidLastYear> tags.
  • AutoPay enrollment from a network instance of Moneylender will now send the login to the host instance of Moneylender where the portfolio's enrollment in AutoPay occurs.
  • AutoPay tokens are no longer updated from network clients when the portfolio settings are saved.
  • Added the continuously compounding annual interest rate compatible with the "Amortized with Daily Interest" calculation engine.

Version 3.0.219 - 31st December 2022

  • Added updated official Form 1098 template for 2022. (Other templates not affected by IRS revisions).
  • When AutoPay is cancelled, Moneylender will deactivate AutoPay in the portfolio after the final AutoPay billing cycle is collected.
  • Added three fields to SummaryOfFinancesRecord for reports: LenderPricePaid, LenderPricePaidWithinReport, and LenderOwnershipPercent.

Version 3.0.218 - 21st November 2022

  • Added LenderOwnershipBeginDate and LenderOwnershipEndDate report column options to Financial Summary reports.
  • Borrower Phone, Email and Address are now required when submitting a loan to AutoPay.
  • Cleaned up the AutoPay windows in Moneylender a little.
  • Fixed the AutoPay Re-Send Invite Code button.
  • AutoPay system will now generate new portfolio key IDs every 10 minutes or so to prevent a backup of a portfolio from successfully connecting to the AutoPay server. This is to prevent a user opening a backup from uploading outdated loan information to the AutoPay server. If a loan had been closed, but the outdated file had the loan open, AutoPay might be left with an open loan that never updates.
  • Added date of likely bank draft and date processing will complete to the payment details for processing payments on the borrower-facing AutoPay website.
  • When a closed loan is uploaded to AutoPay, recurring payments and pending one-time payments are cancelled automatically.
  • Fixed: Under some circumstances, AutoPay wouldn't begin to synchronize until the Portfolio Settings were edited on the loan.
  • When closing a loan, you are only prompted to mark a payment final if it is larger than at least half the principal balance on the loan. This will skip that question when charging off a loan to avoid confusion.
  • If a loan doesn't end with a final payment and looks like it won't be paid off in full, the default date in the closing wizard will be today instead of the date of the last payment.

Version 3.0.217 - 9th November 2022

  • Add an optional minimum rate for interest that varies on prime.
  • fixed: Variable rate loans with daily interest might pick up the interest rate one transaction too soon.
  • fixed: Under some conditions, the AutoPay synchronization process might not start when a portfolio was opened.

Version 3.0.216 - 26th October 2022

  • ACH batch file export for principal disbursements can now be sorted by clicking the column headers.
  • Payoff quotes through API now populate the interest, principal and fee amounts properly.

Version 3.0.215 - 29th September 2022

  • The fix for late fees applied in 214 was inadvertently removing concessions for fees added shortly before a due date. I'm not crushing it with reliable rollouts this week 😢

Version 3.0.214 - 29th September 2022

  • Fixed a bug from version 212 that would put interest capitalization transactions on loans erroneously.
  • When a metro2 report is created, all open loans have their "closedreportedon" date reset.
  • Added the <PayoffAmountMinusEscrow> tag to allow showing the payoff amount if the current escrow balance is applied toward the loan.
  • Moneylender was not recognizing payments through AutoPay that were marked as "Incorrect" by the borrower's bank account.
  • Added a "does not end with" report filter option.
  • Added Email Override Name to the portfolio settings on the General 2 tab. All emails sent from Moneylender from this portfolio will show the sender as whatever's in the box instead of the lender name.
  • When deciding if a late fee should apply, the calculator will use the balance at the end of the date on the actual due date in question. Previously, only due balance on days after the due date were considered, which might cause an unexpected late fee when the loan was paid in full on the due date, but a subsequent adjustment to the amount due (that was not generated by an Other Fee record) within the grace period was entered.

Version 3.0.213 - 26th September 2022

  • Fixes for some of the networking bugs people are encountering after the version 212 update.

Version 3.0.212 - 23rd September 2022

  • Major revisions to AutoPay finally went live along with most of the features listed under 3.0.214.

Version 3.0.212 - 23rd September 2022

  • Major revisions to AutoPay finally went live along with most of the features listed under 3.0.214.

Version 3.0.211 - 11th July 2022

  • Added IsRefinance property to loans to track when a loan is created by the refinance calculator.
  • Added the "Was Disbursed" property to principal settings to track whether a loan has been disbursed to the borrower or not.
  • ACH Principal Disbursement now auto-selects principal that hasn't been marked as disbursed yet, and then marks as disbursed when the ACH file is generated.
  • Option to subtract the points on the loan from the principal disbursement on loans that are not refinances.

Version 3.0.210 - 28th June 2022

  • Added a batch date option for generating an ACH Disbursement file.
  • Added a field to the lender to hold a bank-issued ID for use with batches in the ACH disbursement files.

Version 3.0.209 - 16th June 2022

  • AutoPay payments disputed as "incorrect" weren't updating to the loan record properly.
  • Added ACH disbursements option to the Regional menu. Lenders that make lots of loans can generate a file with the disbursements to upload to their bank.

Version 3.0.208 - 2nd May 2022

  • Metro2 reports were omitting new loans from reports if the loans had no payments ever received and no regular payments due before the end of the current reporting period.
  • When a closed loan is reclaculated, it is marked for resubmission in Metro2 reports.

Version 3.0.207 - 26th April 2022

  • Fixed: In multi-user network environments, dead connections from network client Moneylenders that were terminated without being allowed to shut down would cause the host instance of Moneylender to crash when clearing the abandoned connection.

Version 3.0.206 - 22nd April 2022

  • Fixed Metro2 files were reporting the InnovisID in all four ID slots, MLP now properly reports the Equifax, Experian and TransUnion IDs in their respective slots.
  • Fixed: A loan nearing maturity that also has escrow would start showing a weird due date. This was because the newly added mechanism to ensure the regular payment/amount due never excees the loan's overall balance wasn't including the escrow due. It now includes the escrow due and also has a hard limit of zero so it can't set a negative regular payment.

Version 3.0.205 - 15th April 2022

  • Generate Payment History on the Tools menu now imposes a limit of a couple years in the future when populating the list of starting due dates.
  • Fixed a freeze when using the "Click for Calculated Amounts" option with lines of credit.
  • The servicing borrower's email field can now have multiple emails separated by a comma or semicolon and Moneylender will send statements to multiple emails accordingly.
  • Added a checkbox on the borrower settings window to always CC a borrower on emails, even if they're not the primary borrower.
  • Add <LoanPaidThroughDate> tag for statements.
  • Allow escrow on precomputed loan types.

Version 3.0.204 - 15th February 2022

  • Fixed: The API was writing below the cache layer, so updates to loans were getting undone when the calculator used the cached copy for recalculating. The API now notifies the cache layer when records are saved to the portfolio.

Version 3.0.203 - 14th February 2022

  • Added the option to keep record IDs when copying to a new portfolio. Useful when you want to keep a copy of some loans in a different portfolio, and want to keep those loans updated by re-copying them from the main portfolio instead of creating duplicates during the copy.
  • "Copy select loans to a different portfolio" from the Tools menu wasn't copying the escrow disbursements.
  • Projected Payments amortizer allows full escrow details now, instead of clearing the escrow prior to generating the report information.
  • Added the description "Auto-Generated History" to payments created by the Auto-Generate Payment History tool to help identify these payments if the tool is run by mistake.
  • The amount of a regular payments will never exceed the overall balance on the loan - even when the Fixed Additional amount is non-zero.

Version 3.0.202 - 7th February 2022

  • Fixed a problem with the API not handling filters on enum values if the value was supplied as text instead of a number.

Version 3.0.201 - 4th February 2022

  • File > New Portfolio will no longer allow you to create a portfolio using a name for a file that already exists after asking if you're sure twice. Now it will just prevent this entirely. You will need to delete the existing portfolio from File Explorer if you really want to replace it with an empty portfolio.
  • Added a space on Moneylender's main window to display the status of the AutoBackup system and warn if regular backups aren't happening.
  • Fixed Custom Columns would throw off the main window when switching portfolios.
  • API search on enum columns was not working.
  • Added "Ignore portfolio's future days on overpayments." checkbox to loan settings. Mostly for use when your look ahead setting on the Portfolio Settings > Numbers tab is almost as long as the actual payment cycle on a loan.
  • Added SummaryOfFinancesRecord:RecentPaymentDate and :RecentPaymentAmount options for financial summary report columns. This value will be the date or amount of the most recent payment that was not marked as returned. LatestPaymentDate/Amount includes returned payments in the values listed - so these new values only show the last non-returned payment.

Version 3.0.200 - 28th January 2022

  • Fixed an issue where these settings weren't behaving properly when all were enabled: loan is set to pay regular payment before fees, a large fee was added as an interest bearing fee, and regular payment is set so interest is amount due.
  • Add payment calculator API endpoint.

Version 3.0.199 - 27th January 2022

  • Fixed a problem with the API not noticing integer values in record edits.

Version 3.0.198 - 25th January 2022

  • Updated the "print to official IRS forms" 1098 template to use the borrower's full SSN instead of the masked one.
  • Added /paymentCalculator endpoint to the API to allow programmaticaly retrieving payment amount suggestions from Moneylender.

Version 3.0.197 - 24th January 2022

  • Fixed an error in the API that would prevent creating or editing new loans through the API successfully.

Version 3.0.196 - 21st January 2022

  • Removed the '$' from the interest value printed onto form 1098s.
  • Enabled selecting a default account for Portfolio Transaction reports.

Version 3.0.195 - 13th January 2022

  • Removed some extra spaces in the IRS FIRE 'C' records.
  • Added the option to enter all 0's for the SSN on a borrower that does not have a social security number, and then the 1098 system will report it as blank to the IRS.

Version 3.0.194 - 10th January 2022

  • Added option to disable the daily refresher under file > Moneylender Settings.
  • Added new fields to the IRS FIRE file generator.

Version 3.0.193 - 6th January 2022

  • When printing a template fails, the message now includes the underlying exception information to help troubleshoot the printer problem.

Version 3.0.192 - 4th January 2022

  • Fixed a hang in the 1098 printer if the lender's name had non-numeric characters at the beginning.
  • Option to save 1098 data to a CSV was not recording the principal balance properly.

Version 3.0.191 - 30th December 2021

  • Checked everything is ready for 2021 Form 1098s.
  • Added Bulk Maturity Change Tool.
  • When creating a new interest rate setting on a loan, the values that are prepopulated are now taken from the last rate, not the first.
  • Fixed the Select Loans from List tool.

Version 3.0.190 - 15th December 2021

  • Added <LoanRegularPITIAmount> tag to list the regular payment plus the current escrow charge (Principal, Interest, Taxes, Insurance currently due).
  • Changed the value reported on the <PayoffFeeTotal> tag for payoff quote templates to be the sum of the loan's fee balance, and all fees marked due at closing. Previously, the fees due at closing were not included in this sum. Updated the tag's description accordingly.
  • Fixed: Lines of credit (and other loans) with no principal activity for a while were showing the loan as past due until a principal disbursement eventually happened.
  • Copy Loan also copies the extension fee records.

Version 3.0.189 - 18th November 2021

  • Add checkbox to pay regular P&I payment before escrow. (matches the payment application wording for Fannie Mae loan contracts).
  • Added the ability to create report filters on fields that have "enum values" - essentially, any field that has a list of choices.

Version 3.0.188 - 16th November 2021

  • Added a Description field to Interest setting records.

Version 3.0.187 - ??? November 2021

  • I don't know what was in this update. Probably something small.

Version 3.0.186 - 3rd November 2021

  • Added extension accounts to allow tracking up to three separate types of charges on a loan.

Version 3.0.185 - 28th October 2021

  • Added SummaryOfPaymentsRecord:SplitDate and SummaryOfPaymentsRecord:DateCollected columns to Payment Summary report types.

Version 3.0.184 - 15th October 2021

  • Added the API to allow programmatic interactivity with your portfolio data in real time.
  • Fixed: LoanCurrentRate column in the main windows wasn't displaying the correct interest rate.

2021-09-09 Released version 3.0.183
-Added "Property HOA" option to the Escrow Disbursement Purpose choices.
-Allow selecting multiple items in inventory to sell under one loan, and returning the individual items back to inventory with updated costs basis for each if the loan is bad.

2021-08-26 Released version 3.0.182
-Added inventory tracking with basis across multiple reposessions from Other Records > Inventory. -Fixed: late fees were re-appearing but maybe going away again when recording a payment after the end of the original term of the loan with the loan continuation set to expect payments but no late fees.
-Fixed a crash when running a projected payments report for a loan that had no payments.
-Added File > Export Portfolio Data so you can convert your entire portfolio into a series of CSV files for use however you see fit.
-Basis for a lender on a loan is now based on the balance immediately before any payments are applied, instead of after the days payments have applied - so a lender now gets credit for payments on the first day of the loan and/or payments that occur on the first day they begin their ownership of a loan or part of a loan.
-Allow per-loan setting the ratio of regular payment for Moneylender to switch from current payment to catch-up mode on the Settings tab > Loan Settings window.

2021-07-07 Released version 3.0.181
-Loan status shows Due on the due date instead of beginning to show on the day after the due date.
-Copying Templates between portfolios now also includes the chained reports and templates.
-Copying a report or template between portfolios will automatically copy any chained reports and templates that are not already present in the destination portfolio. Reports will automatically copy their header templates if not already present in the destination.
-When emailing a statement with a chained report, the attach PDF didn't have enough space allotted for the report's header template.

2021-06-25 Released version 3.0.180
-Fixed: "Pay regular payment before fees" checkbox would cause the payment to overpay interest if the payment amount was greater than the regular payment plus fees.

2021-06-07 Released version 3.0.179
-Fixed a variety of crashes related to networked Moneylenders getting a bad response from the host computer, various changes in state of records while editing loans, reporting corner cases, etc.
-Fixed: Under some conditions, clicking the Maturity button on the payoff calculator would make Moneylender sad.
-LoanRecentPaymentAmount and LoanRecentPaymentDate columns in the main window will now ignore returned payments.
-Added a delete payments tool to allow deleting all payments in a portfolio between two dates.

2021-05-04 Released version 3.0.178
-Added a checkbox to the Late Fee setting that says “Fees are not due” so fees are charged but don't increase the amount the borrower needs to pay to keep the loan current.
-Added Resend Borrower/Lender/Loan buttons to the AutoPay window.

2021-04-01 Released version 3.0.177
-Add checkbox to earn interest on the day of closing to the loan closing wizard.
-Added an option on Portfolio settings to default to charging an extra day of interest for the day of closing.
-Reports that are amended to templates will respect page size defined in the reports default paper size when generating a PDF and in the preview window. When printing, the printer's paper settings will override the report defaults, and the reports will be laid out as best they can with the paper size /orientation indicated in the print job.
-Fixed: late fees occurring before the calculation start date might have modified the actual start of calculations when resuming mid-loan, which may have lead to some numbers being uninitialized properly. The calculator always starts one day after the previous due date on loans with due dates, so the issue is not likely to have had an impact on any calculations in real loans.
-Fixed: When resuming a calculation mid-loan, Moneylender might not have properly honored a fee's custom grace period, preferring instead the loan's grace period.

2021-03-30 Released version 3.0.176
-Clicking the Refreshing progress box now allows you to terminate the refresh mechanism. Clicking Tools > Refresh All Balances will restart the refresh mechanism.
-Fixed: Unable to close a loan, nor approve or deny an application when using Moneylender as a network client.

2021-03-29 Released version 3.0.175
-Cleared the "T" test flag from the IRS FIRE files that Moneylender generates.
-Background colors and status icons were adjusted to use the same value for determining what to display.
-Record caching was sometimes storing newly created records which could lead to a record being duplicated if a concurrent read requests was triggered almost instantly alongside the write request.
-Added a detailed email delivery report when sending statements via email to help identify the cause of delivery issues when emailing statements.
-Moneylender's file system is now more careful when locating records under heavy load from multiple users at the same time to prevent errors.
-Fixed typo on the Payment Receipt template ("Payent Receipt"). Will only affect newly created portfolios.
-Added Help > Remote Support option.
-Added the option to limit multi-loan reports to the selected borrower.
-Added the option to limit statement printing to one-per borrower
-Added the ability to append reports and other statements onto any statement template.

2021-03-01 Released version 3.0.174
-Add <PayoffItemizedClosingFees> template tag which shows a list of the amounts and descriptions of all fees marked as due at loan payoff.
-Sort the principal disbursals on the same day by amount in descending order for consistent reference to the order of disbursals.
-Added template tags for <LoanDownPayment> and <LoanPurchasePrice>
-Add Down Payment to the loan settings.
-If a loop is detected during loan calculation, add a note to the loan with the reminder turned on with some information about the problem, and then make the calculator advance.
-Added Tools > Clear #SYSTEM Notes from All Loans to clear all the notes generated by the loop detection.

2021-02-24 Released version 3.0.173
-Massive update to revise the way lenders generate their 1098 forms each year. Includes the ability to E-File your forms, or even have us E-File the forms for you.
-Added three new keyboard shortcuts (Ctrl-P = new payment on selected loan, Ctrl-S = focus on the search box, Ctrl-L = select the first loan in the list of loans)
-Chargeoff was incorrectly subtracting unearned discount on loans that were still open on summary of finances reports.
-Discount unearned was being misreported as zero if there was no activity on the lender's discount earned account after the report period on Summary of Finances reports.
-The new "InterestFees" account tracks how much fees are currently interest bearing. The fees paid from payments will now only pay down the basis on the loan by the amount of interest bearing fees paid, even if non-interest bearing fees are also paid by the same payment.

2021-02-12 Released version 3.0.172
-Fixed icon still illuminated on closed loans.
-Added a Refreshing progress bar to indicate when the system is updating the balances in the background.
-Balances now refresh when the portfolio opens and then again each morning at 12:05 AM local time thereafter, to update the balances for the current day. Previously, balances would update every 12 hours - which usually meant it would happen during work hours at least once.
-Added the ability to trigger a compress routine to the Tools menu (Please use responsibly).
-Fixed an issue with the file system where it was slowly bloating with deleted records over time.
-Average Daily Balance interest would sometimes show NaN for the loan balance if a second interest was added.
-Loans with the Line of Credit - Average Daily Balance engine were missing the schedule option on the interest settings.
-Special Situations capitalizing interest wasn't putting the amount into the interest bearing balance.
-Reverse the order on the principal disbursals list and the other settings so the newest settings are at the top (next to the buttons to manage them).
-Added <Borrower#Ampersand> tags - will be " & " when the indicated borrower (#1, 2, 3 or 4) ir present on the loan.
-Late Fees and Other Fees now have their own setting to make them interest bearing. The Loan's Compound Interest setting now only affects the interest. This gives better control over what will become interest bearing on a loan. Existing loans with compound interest enabled will automatically have their other fees set to earn interest when the portfolio is upgraded to the latest version. Late fees were never interest bearing, so now you have the option to enable this on your late fees if desired.
-Interest was sometimes being overcharged at the beginning of daily interest loans when a payment was changed to slightly before an the first due date after an interest rate setting took effect (including the first rate setting on the loan).
-Form 1098 Principal balance was the balance at the end of the day on 1/1 instead of at the beginning of the day.
-Escrow Charge Calculator finally shows the correct regular payment without the target date needing to be changed first.
-Fixed Escrow charge calculator hanging if a loan's final payment occurs before the analysis period. (The loan is past the maturity, and then the escrow charge calculator is run anyway to figure out escrow when there are no scheduled payments within the analysis period.)

2021-01-05 Released version 3.0.171
-Added the <Borrower#SafeSSN> tag so substitute 1098s will only show the last four digits of SSNs.

2020-12-31 Released version 3.0.170
-Added 2020 and 2021 Form 1098 default templates and the Form 1096 cover letter. Includes the addition of the <1098OwnershipDate> tag.
-<LoanRecentPayment...> tags no longer include returned payments in their results.
-If a portfolio is set for payments to default to Interest Only, AutoPay payments will be set as interest only when retrieved from the autopay server.
-Option to have statement tags format dates as long dates instead of short dates. Added to the General2 tab of the Portfolio Settings dialog.
-Add the payment schedule as a column on the main window. (Weekly, monthly, etc)
-Copy Reports button on report manager allows you to make copies of existing reports.
-Loans that are enrolled in AutoPay cannot be deleted. When attempting to do so, the user will be invited to mark the loan as a denied application instead.
-If a payment arrives one day before the due date and not marked final it can throw off the the closing wizard under some circumstances. A prompt to mark it as final now appears when closing a loan.

2020-11-06 Released version 3.0.169
-Changing something that does not materially affect the calculation of a loan (such as the description of a payment record) does not trigger the details panel to reload the records.
-Adding an other fee leaves the details panel inaccurate until clicked off and back on again. Only over network.
-Add Interest Rate to the main window column options (LoanInitialRate and LoanCurrentRate)
-Added <EscrowDeficitBalance> template tag that lists the amount by which the balance of the escrow account is below zero. Tag is zero if the account is positive.
-Added Expense tab to Details Panel to track per-loan expenses (also great for tracking expenses with rental property leases).
-Added Loan Expense and Portfolio Expense report types to get the list of expenses on a loan or the whole portfolio within any date range.
-Added LoanExpenses as record value to Financial Summary report types, and added it to the default Profit/Loss report template.
-Added Expense Categories to the Portfolio Settings where you can set up the list of categories you can choose from when adding an expense record to a loan.
-Payments tab did not update when payments were added, loan was recalculated.

2020-10-01 Released version 3.0.168
-Fixed an error on the new MonthlyPaymentAmount report column.

2020-09-28 Released version 3.0.167
-Added a sanity cap of 100 years into the future for recurring fees with no end. This stops the amortization schedule from taking a very long time when the loan has certain recurring other fees.
-Added Per-Diem report column option for Financial Summary reports. This value is the daily interest that accrues on the interest bearing balance at the then-current interest rate on the ending date of the report.
-Date format in Loan Details panel needs to have the language set explicitly.
-Informal loans were still using a 1 year calculation horizon instead of the new setting in the Portfolio Settings.
-Ability to kick Informal loans into and out of daily interest.
-Add report column value for average monthly payment. Divides the regular payment amount by whatever the frequency modifier is.
-Fixed an error that would occur on slow-loading payment reports when changing report options and refreshing before the initial report had loaded.
-Add an option to loans to pay fees after interest and principal. Payment below the amount due minus fees balance pays interest, then principal, and then what's left follows the normal rules.
-Add LoanRecentPrincipalAmount and LoanRecentPrincipalDate template tags to show the most recent principal disbursal on a loan.
-Copy loans to new portfolio wasn't putting the payments on the new loan correctly!!

2020-08-27 Released version 3.0.166
-Added Aging columns to summary of finances reports.
-Fixed: After the last update, some columns wouldn't populate if you changed to a different portfolio file.
-Added a projected payment details report type that shows the existing payment history and then amortizes the loan thereafter.
-Add a row count option to the report column summation choices.
-Added Aging Report
-Added Payment Projection Report
-Added the ability to generate network debugging logs to help identify the source of crashes on networked computers.

2020-07-20 Released version 3.0.165
-Major overhaul to how the main list loads. List now loads noticeably faster for locally hosted portfolios (file portfolios), but most importantly, load times for network clients is now nearly identical, even on high-latency connections (connections across the internet, for example).
-New interest type: actual days over daily modifier for monthly loans.
-New report columns - SummaryOfFinancesRecord:Attachments, ummaryOfFinancesRecord:Notes and SummaryOfFinancesRecord:NotesDetails.

2020-06-17 Released version 3.0.164
-Added Portfolio Transactions report type to list individual transactions across all matching loans.
-Added a new interest type option to have interest monthly but determined by days in month vs days in the year.
-Precomputed interest now shows up on the loan's origination date instead of 1/1/0001.
-Added per-late-fee-setting grace period overrides – including the option to set it in days or months.
-Added monthly self-recurring late fee type similar to how per-diem late fees recur.
-Added bulk late fee setting copy to copy late fee settings from one loan to multiple other loans.
-Made a modest improvement to the time it takes for a report to render after the numbers have been compiled.

2020-05-27 Released version 3.0.163
-Add calculation horizon to the portfolio settings to control how far in the future Moneylender will calculate.
-Added setting to control how much of the regular payment must be paid for the late fee to be skipped. Added to both the portfolio-wide default setting and to individual late fee settings.
-Make the calculation horizon an adjustable number. Setting is now available from the Portfolio Settings - Numbers tab.
-Add button to payoff calculator to choose the maturity date.
-Checkbox to optionally Omit future Late Fees from payoff quote.
-Network message handling was sometimes releasing a message envelope twice, or releasing an envelope with the wrong data.
-Added LoanRecentPaymentDate, LoanRecentPaymentAmount column options for the main window.
-Add Loan > Mark Loan Current for an easy way to ignore any past due amounts up to the current due date.

2020-05-20 Released version 3.0.162
-Added the option in Portfolio Settings to have loan calculations run at the interest precision instead of the currency precision.

2020-05-12 Released version 3.0.161
-Allow choosing the loan engine when creating a payday/cash/title loan. Add the engine choice to portfolio defaults and custom loan type options, too.
-Rule of 78s checkbox not honored on payoff calculator for precomputed loans.
-Added a tool to "Set selected loans to engine..." and also toggle overpayment if needed.

2020-04-29 Released version 3.0.160
-Check that a loan has a primary borrower and lender before displaying the AutoPay window.
-Prevent up/down arrows from crashing Moneylender when a date box has MinDate or MaxDate in it already.
-Prevent crash if a record was invalidated prior to being written to the in-memory record cache.
-Fix crash if loan or borrower had null fields for SSN/Address/ etc when assigning a parent loan.
-The compress routine, when encountering an invalid block in a file, now advances one byte at a time instead of 16 bytes at a time to re-synchronize records when bytes of data have been added or removed, causing a record boundary to occur at a position other than a multiple of the encryption block size.
-Reset the calculation dates on loans during the copy process to make sure they get recalculated when the destination portfolio is opened.
-Revise the routines that set the amount due on the loan so that the recalculate and the refresh routines agree on the date to use for showing the balances.
-Refresh routine runs every 12 hours instead of just once when the portfolio opens to ensure that portfolios that are left open for weeks or months at a time will still have properly updated amounts due as time passes on loans without payment activity.
-Added the Special Situations setting, which allows any combination of reinstatement, forbearance, extended deferral, interest waiving or capitalization, and waiving of accumulated due escrow.
-Fixed a bug if clicking the attachment panel outside the list of attachments.
-When importing templates, check if showing the choose file window failed and try showing the window using the default documents folder instead.
-Fixed crash if the last column was used to sort the loans and then that column is removed from the window.
-Fixed a crash when editing a borrower association to a loan when the borrower record was deleted from the portfolio.
-Fixed an error if a template line shape has a width or height of NaN (not a number) to use zero instead when drawing a preview of the template.
-Prevent drawing box on a template with a bad size or placement form creating an object with NaN for one of its dimensions.
-Fixed a crash if "Explicit Amortization for Chronic Underpayment" loan type is chosen and then all payment schedule settings on a loan are deleted.
-Prevent mapping to BorrowerID in the Import Borrowers from Excel wizard.
-Prevent crash on daily interest loans with no rate change dates (likely because there's no interest setting on the loan).
-Fixed a crash if a loan has no borrower when showing the print template dialog.

2020-03-23 Released version 3.0.159
-Added OldestDueDate field to payment records, can be added to payment reports to show the oldest due date a payment is paying against.
-Added a progress bar to the Update to Latest Version routine.
-Improved one of the steps in loading indexes when a portfolio opens. On very large portfolios, the time to open is now much shorter.

2020-03-09 Released version 3.0.158
-Fixed: CopyLoan routine wasn't copying loan's custom values.
-AutoPay prevents payments on closed loans.
-Added <1096Form1098TotalNoBusiness> tag to make it so 1098 forms don't show interest from business loans. Also added <1096FormCountNoBusiness> for use on the 1096 form with mixed portfolios, too.
-AutoPay BCC's the lender on email notifications that a borrower's payment is returned.

2020-02-10 Released version 3.0.157
-Added <LoanInterestEarnedLastYear> tag to show the amount of interest added to a loan during the previous calendar year.
-Added Select Loans from List tool. Allows selecting loans by pasting a list of account numbers into a box.
-Added Bulk Change Interest tool. Allows setting an interest rate on a chosen date to all selected loans, optionally setting any subsequent rate settings to the new rate as well.

2020-01-30 Released version 3.0.156
-Split Payment tool now skips any payments that it thinks should be $0 or less.
-Split Payment tool now uses the default payment type when generating payments.
-Made some cosmetic improvements to the Split Payments dialog. -Re-Add the 1096 template to the default templates in Moneylender.
-Add Principal Balance column to the default Financial Activity report.
-Importing borrowers through the loan import wizard was not properly parsing boolean values.
-Fixed the bad layout on the Print Templates page cause by the addition of the lender option in the previous update.
-Fixed a glitch with importing loans from v2 that had a 0% interest rate.
-DateApplied on payment records now actually reflects the date that a payment is credited against the balances on loans, helpful for seeing the timing on when Moneylender lets a payment hit the loan balances.
-Added Explicit Amortization for Chronic Underpayment loan engine to apply payment to the next unpaid due date on a loan regardless of how far in the past that date might be. Payments received on time or a few days early are handled the same was as amortized loans, but once the loan gets behind, the payments are applied at the time of the oldest unpaid due date.

2020-01-23 Released version 3.0.155
-Added ability to print groups of loans for a selectable primary lender on the Print Template window.
-Added ability to group attachments into nestable folders.
-Installer now installs the correct Templates file, every time it installs.

2020-01-09 Released version 3.0.154
-If a mortgage originated in the previous calendar year, the mortgage balance box shows the balance on the greater of the origination or ownership dates.
-Add the rate and basis to the descriptions for Scheduled and Average Daily Balance interest transactions.
-Fixed crash when calculating a loan if there is no interest rate setting on the loan.
-Had accidentally omitted ALL the reports from the program in v153. Put those back in!!!

2019-12-31 Released version 3.0.153
-AutoPay won't allow two payments on the same loan on the same day. A lot of people were accidentally duplicating payments. Instead, someone can just increase the amount of the payment if they want to pay more.
-Added 2019 Form 1098 templates to Moneylender's default templates.
-Removed 2017 and 2018 Form 1098 Templates from Moneylender's default templates.
-Checked the "Attach a PDF" box for all the default template - it was erroneously not checked on templates imported into new portfolios.

2019-12-19 Released version 3.0.152
-Added "purpose" column to the list of disbursements on the Manage Disbursements window.
-Reversed the sort order on the escrow disbursements so newer disbursements are at the top of the list.
-Variable Rate index changed will trigger daily interest transactions when loans using the daily interest mechanism are calculated.
-Percent of Amount due late fees now properly account for payments received during the grace period that pay down the amount due but not enough to avoid the late fee.

2019-12-11 Released version 3.0.151
-Added page for the Late Fee Settings to the User's Guide.
-Added AutoPay recurring payment option to pay whatever the Amount Due is each month.
-AutoPay recurring amount due has an optional Max the borrower can set.
-Added matching options to Moneylender for AutoPay recurring amount due payments.
-Added page to User's Guide detailing autopay portfolio and loan enrollment.
-If the borrower is idle on an AutoPay page for too long, the page will automatically redirect to the login screen when their session ends (20 minutes of inactivity) for privacy and security.
-Fixed: Escrow analysis and escrow charge printing don't always load the regular payment correctly.

2019-11-27 Released version 3.0.150
-changed the value reported for <LoanRegularPayment> when interest is amount due to list the regular payment from the AmountDue account on the loan's amount due date rather than just listing the balance of the interest account.

2019-11-19 Released version 3.0.149
-Added AmountDueDate to financial summary report columns.
-Added Accounts and Engines pages to User's Guide.
-Fixed the default folder that Moneylender uses to stop trying to save directly to the root of the C: drive.
-Fixed an issue that was preventing error reports from being submitted successfully.
-Added <Borrower#Employer> tags.
-New template tags: <Borrower1PdfPassword>, <Borrower2PdfPassword>, etc. to be able to send the borrowers their passwords.

2019-11-15 Released version 3.0.148
-Removed special handling for paranthesis in report column values to allow for custom fields with (paranthesis).
-When printing from the Escrow Adjustment Calculator, the regular payment amount was not always being set properly.

2019-10-25 Released version 3.0.147
-Fixed the <LoanDuePrincipal> tag to show the current amount of principal due even when a loan gets behind, not just the amount of principal that would be due if a loan was paid current.
-Added checkbox to change the from address on emails to the Lender's address - in the even that you control your own mail server and can allow relay for various addresses.
-Added the lender name as a friendly name on the from address for ent emails.
-fixed: when a report would have an amount due column but the report date range didn't include any amount due transactions, the report would show $0 due. Report now shows the correct balance ofthe AmountDue account.
-fixed: same problem with overall balance on reports not showing properly if there were no ledger account transactions within the report date range.
-Override bank account on borrower wizard now says override for borrower instead of incorrectly saying override for lender.
-When printing from the Escrow Adjustment Calculator, the regular payment amount was not always being set properly.

2019-09-02 Released version 3.0.146
-fixed: forgot to set the version number in Moenylender to 145. Now it's 146.
-fixed: any portfolio loaded from a previous version would have templates attach PDFs to emails enabled by default.

2019-08-30 Released version 3.0.145
-added transaction amounts to AutoPay letter to show amount that will appear on bank statement when a payment+fee is withdrawn for NSF and reversed payments.
-Fixed the lag on the Overall Balance number after a payment or other calculation is made.
-AutoPay daily processing summary emails now include the actual transaction amount (which is either a fee or the fee and the returned payment amount on returned payments) to make bank reconciliation easier.
-AutoPay payment failed notices now include a link to the autopay site for borrowers to log in and manage their payments.
-Fixed Boolean values on reports saying True/False instead of the original X/"blank". True/False is now a column format option you can choose for boolean report columns.
-Fixed report filters not showing the changes in the edit report window efter being changed.
-If exporting an attached file, and a new filename is typed, the original extension will be added if no extension is specified in the file name.
-Statement email body can now be set as HTML.
-Option to omit the PDF attachment of a statement when sending an email.
-Option to password protect the PDF that is generated and attached when emailing statements.
-Email PDF Password box on the Borrower Wizard to set what the borrower's password will be.
-Added a LoanStatus column to the Financial Activity Report that shows 0,1, the grace period, 30,60,90,120 for loans, similar to the OK, Due, Late, Late30, Late60, Late90 status icons in the main window.
-Fixed: error thrown quietly when closing network connections ant the network mechanism was unregistering tasks that were disposed.
-Added a warning message when previewing an attachment if Moneylender is unable to create a temporary folder to export the attachment to.
-Fixed: if the default portfolio folder has limited permissions for the current user, ignore setting the default forlder when showing the file browser to choose a template file for importing template.
-If Moneylender can't remove the previous installer file when updating from File > Update to Latest Version, then it'll try to open the website to th edownloads page instead.
-If Moneylender can't access the default path (My Documents\Moneylender Portfolios) when opening a new portfolio file it will try to just show the open file window without specifying the starting folder.
-Fixed: running a yearly schedule with a very large number of years will overrun the hard limit of the year 9999 on .NET Date data types. Moneylender now caps the schedules at the year 9999 when listing dates.
-Changed: Auto-Add Payments will use the amount that was due on the current due date, instead of the current amout due (which may include a late fee if the grace period has elapsed) when setting the amounts for automatically added payments.
-Fixed: possible crash if loan grace period is set to an absurd number (like millions or billions, or negative millions, etc.).
-Fixed: escrow suggested deposit amount when there's a shortage will be sufficient to leave the target minimum balance in the escrow account.
-added: video of how all the loan settings work - The Settings Tab
-fixed: prevent editing statement templates if user doesn't have print statement permissions.
-fixed: prevent editing reports if user has neither the loan report nor the portfolio report permissions.
-fixed: block appropriate reports if user does not have the necessary report permissions.
-fixed: if final payment on a loan was returned, closing wizard was incorrectly adjusting the charge off amount based on the principal the payment would have paid.
-added: Payment Split on the Payments tab - record a big payment from the borrower that will pay future due dates on a loan with escrow, other fees, etc.

2019-08-05 Released version 3.0.144
-Reports run on a separate thread! Continue working while reports are loading. Cancel reports. Reconfigure reports and refresh before they finish loading. Run multiple reports at the same time.
-Added <LoanAmortizedFinanceCharge> tag for truth in lending disclosures to include the amount entered into the Points box as part of the finance charge.
-When View Loans permissions are disabled, list of loans is not displayed.
-Added a routin when reversing the conversion fo an enum to a description so descriptions can be fed into loan mappings for importing loans.
-Fixed memory leak from WPF listbox making hundreds of thousands of UI elements whenever an item was added or removed from a list.
-Enabled importing loans across the network.
-Allow changing the user accounts and permissions from a network connection.
-Fixed issues with host computer's UI thread blocking actions from network computers.
-Fixed bug that would rarely cause network computer connections to fail.

2019-07-29 Released version 3.0.143
-Fixed crash when touching the UI when the import was running.
-Revised the import routine to pull the excel data into the portfolio in one pass, and then recalculate all the loans using all the processor cores.

2019-07-26 Released version 3.0.142
-Added: Custom Loan Defaults - create a new set of defaults for one of the loan wizards, and add it to the Loan > New Loan menu to make it faster to create loans that share common settings, like interest rates or payment counts.
-Added: Import Loans from Excel - this massive system allows mapping data from an excel file onto the properties of any of the loan wizards, and then mapping to any additional configuration records, allowing the import of nearly every mechanism of loan that Moneylender supports.
-Fixed: When a lender ownership changes during a report date range, and the report date range includes a principal balance transaction after the lender ownership ends, and there are no principal transactions prior to the end of the lender ownership, the report was incorrectly reporting based on the transaction that occurred after the lender's ownership ended.

2019-07-15 Released version 3.0.141
-Added visual indicators for missed due dates and late fees into the Payments tab.
-Added new tags for amounts paid between due dates: LoanInterestPaidSinceLastDueDate, LoanPrincipalPaidSinceLastDueDate, LoanFeesPaidSinceLastDueDate, LoanEscrowPaidSinceLastDueDate.
-Daily Interest Modifier setting in amortized loan wizard is now properly set on the loan during creation.
-Fixed a crash if the AmountPastDue was zero.

2019-07-09 Released version 3.0.140
-AmountPastDue template tag now properly reflects amounts after the originally scheduled maturity on the loan.
-Added Bulk Add Late Fee Settings
-Fixed Late Fees not getting copied over from original loan when doing a refinance in the refinance calculator.

2019-07-05 Released version 3.0.139
-LoanAmountPastDue tag now reflects the amount due that would have been expected on the previous due date for loans that are past the maturity and using the loan continuation setting to continue collections attempts.
-Added <LoanPaymentsSinceLastDueDate> tag to show total of all Regular, Interest Only, and Final payments received on or after the last due date.
-Fixed a crash when a new borrower is created in the Manage Borrowers window, and then a search on the borrowers is attempted.
-Fixed: Clicking the print escrow analysis letter without setting the escrow charge first caused crash.
-Escrow disbursements copy forward not keeping the purpose option.
-Fixed sometimes crash when calculating loan balance.
-Fixed an error with wraparound loans where all the payments entered weren't payments that effect amount due.
-Fixed an error that might be thrown if Moneylender is opened and closed quickly.
-Fixed: If typing a date into a box that contained 1/1/0001 or 12/31/9999 and used the up or down arrows it might crash.

2019-07-03 Released version 3.0.137 and 138
-Added Tools > bulk Add Late Fees to quickly add late fees to multiple loans.
-Refinance calculator properly adds late fees to refinanced loans now.

2019-06-21 Released version 3.0.136
-Hopefully fixed the installation problem that required everyone to Repair or Uninstall/Reinstall Moneylender after doing an update.

2019-06-10 Released version 3.0.135
-Fixed a potential problem with how records might be retrieved if queried against more than one indexed field.
-Added balances for interest, fees, escrow and ledger account to payment records, as well as amount due and escrow due before and after payment is applied - which can now be included on payment reports.
-Fixed problem with Average Daily Balance advancing to subsequent interest settings too soon when more than one interest rate applies on a loan.

2019-06-04 Released version 3.0.134
-If AutoPay has a problem getting updates, it will try again later rather than stopping the autopay update mechanism.

2019-05-29 Released version 3.0.133
-Fixed problem with new loans not showing details in columns that required checking additional records in the portfolio until the portfolio was closed and re-opened.
-Network connections should now open a lot faster than they did before with portfolios over several hundred loans.
-Network performance overall should feel a lot zippier, eliminated some of the causes of latency and inefficiency in the networking system.

2019-05-23 Released version 3.0.132
-Re-set the file system to trigger a record migration and compress even when only the index structure on a record is modified.
-Added: Per-Diem Late Fees (Weekdays Only) option to charge per-diem late fees, but not charge fees on the weekends.
-Main List loads the loans quickly and loads all the additional columns afterward so Moneylender is ready to use very quickly, even with many loans over the network.
-Fixed a bug where records would intermittently appear to duplicate (although actually only present once in the file, they would be reported twice when requested under certain circumstances).

2019-05-13 Released version 3.0.131
-fixed: problem with file system not making a note in the index of records that were supplied with an existing ID value - making it appear as though the record didn't exist even though it was in fact the file.

2019-05-09 Released version 3.0.130
-When closing a loan where the interest on the final payment was enough to cover the outstanding principal balance, the closing wizard wasn't giving the option to adjust interest down if the total accumulated interest and principal was greater than the interest from the final payment.
-Fixed: Last update broke the heck out of many of the windows in Moneylender.
-Fixed: Crash if Dragging the File Maintenance window using the right mouse button.
-If duplicates of custom values were present, prevent them from crashing Moneylender when listing them in the main window. - Likely the problem arose due to a bug in the file index system from versions 3.0.127 and 3.0.128.
-Added handling to import payments routine that if Excel throws an error when reading the value of a cell, Moneylender will treat the cell as being blank.
-When generating a Metro2 report, null data is treated as a zero when writing numeric fields.
-If user doesn't have permission to edit loans, the options at the bottom of the loan menu go away.

2019-05-08 Released version 3.0.129
-fixed: Edit Users permission and Delete Loan permission settings are now honored.
-fixed: Editing template text was not changing the text properly and saving unreliably.
-fixed: Network computers crashing some when certain types of records were modified - related to the template problem.

2019-05-01 Released version 3.0.128:
-fixed: default templates importing with all blank text.
-Auto-Add Payments will set the new payments to whatever type is chosen in the Portfolio Settings > Defaults tab for new payments.
-Changed the way record groups are passed around within Moneylender to reduce rearranging overhead when compiling reports.
-Generate Payment History prevent clicking the Generate button until the first payment date has been chosen for loans that have their first payment in the future.
-Fixed: When doing a refinance, credit limit not getting set to the amount of the new loan.

2019-04-12 Released version 3.0.127:

Major revision to the indexing systems within Moneylender's file structure. Portfolios with thousands of loans should now feel quite snappy and responsive, and portfolios well into the tens or hundreds of thousands should perform quite acceptably, too. In addition, several small additions and fixes were added:

-Added EscrowCharge column value on Summary of Finances reports.
-Added LatestPaymentAmount column on Summary of Finances reports.
-Fixed: Report Designer was reverting the header choice to generic header when editing an existing report.
-Fixed: crash if filtering on report dates with a positive number and report date range was set for All Time.
-Fixed: Details panel not updating the amounts when a loan is recalculated.
-Changed: If Excel crashes on payment import, display a friendly message to install Excel or do a repair to clear out old registry keys.
-Fixed: Null record values don't crash the report filters.
-Fixed: After importing payments, if the result is blank, prevent copy-to-clipboard from trying to put it on the clipboard.
-Fixed: errors when editing or deleting some of the records from the Details Panel's Settings tab immediately after a recalculation takes place.
-Fixed: crash when ADB type Line of Credit is chosen for loan engine, and interest has only one date specified.

2019-03-22 Released version 3.0.126:
-Enumerations that have descriptive names will show those names on reports. (Columns like Loan Status will say "Open", "Application", etc. instead of gibberish.)
-AutoPay monthly fees are being charged now.
-Fixed applications no becoming open loans if approved from network clients.
-fixed: AutoPay refresh date not getting set after a successful refresh.
-Auto-add payments to the selected loans is a new item on the Tools menu.
-Fixed: When closing a loan that had accumulated interest that needed to not be paid, but no adjustment was required, Moneylender was erroneously creating an adjustment for the amount of interest that would not have been charged because no per-diem interest would be added. Admittedly, this is a very weird situation, but it did happen and Moneylender tacked on an adjustment incorrectly.
-Fixed: Import from Moneylender 2 - quicknotes don't have their content text in the new portfolio.

2019-03-12 Released version 3.0.125:
Just a quick update to address a problem that was affecting at least one customer that leans pretty hard on Moneylender in network mode.
-Fixed a rare problem when working with multiple Moneylenders on a network that a bad request could cause either the client, host, or both computers to hang.
-Networked Moneylender computers update everyone when the portfolio settings have been changed.

2019-03-05 Released version 3.0.124:
-Press up / down key to increase date in datepickers across moneylender by a day, or press Ctrl-D to choose today's date.
-Network clients will update the file host's recent record cache.
-Accept payments on apps and closed loans during import from Excel, but include them on the import complete summary.

2019-03-01 Released version 3.0.123:
Some of the items on this list were added in earlier versions but those changes weren't listed on this page. -Recalculating loan ensures borrower is marked to sync autopay if loan has autopay enabled.
-Save button is disabled on template image if no image has been selected.
-Network clients that edit borrowers or lenders will properly trigger updates to AutoPay
-Have AutoPay reconnect if the connection has timed out or gone stale.
-Wraparound loan that has payments applied to automatically keep pace with the parent loan.
-Fixed crash when disposing of the AutoPay connection when a portfolio is closed.
-Added an in-memory cache of recently written records to the file system to prevent situations where a record is written and immediately read but the file system reads the record prior to the write process flushing all the way to the disk.
-If a loan is an app, don't import payments onto it.
-Add setting that when loan hits maturity to keep it going or stop - and late fees or no.
-Override autopay account information at the server.
-Mark payment returned in AutoPay and pull funds back from lender at next batch.

2019-02-22 Released version 3.0.122:
-Adjusted Form 1096 totals to match the changes made to the code that separates late fees for the 1098 form.
-Parent/Child loans using Match Due Date was applying the wrong amount on the child loans for payments that were received after the due date on the parent loan.
-AutoPay will test if its connection is still active and reconnect if needed when Moneylender is open for extended periods of time.
-Some small edits to AutoPay emails and systems.

2019-02-14 Released version 3.0.121:
-In Moneylender, prevent autoPay Payments from being scheduled for a date prior to tomorrow.
-AutoPay does some checking for a valid routing number when entered by borrower.
-AutoPay will send a reversed payment notice to borrowers when a payment is returned by the bank.
-Approving a loan application will set the Ownership date of the loan to the date the application was approved.
-1098 Forms have commas in the numbers but shouldn't. Zeros should be reported as blanks.
-Fixed a crash if the details panel is refreshed (by another user's edits to a loan) while waiving a late fee or deferring a payment.
-Add some additional handling to the file backup process to handle if the backup file becomes unavailable during backup (such as a USB drive being disconnected while the backup is being created).
-Added some more error handling for printing report where the printer drivers return an exception.
-If importing from MLP2 and the default directory was deleted, the file browser for import will not attempt to default to that folder.

2019-02-05 Released version 3.0.120:
-When determining the portion of fees that are late fees paid by payments in the previous year, adjustments remove late fees first before removing other fees.
-Removed the loan/borrower/lender custom fields from the Payment, Ledger, and Amortization report column value choices - this information can be added to a report header to show it on the report.
-Added Payment Custom field to Payment Summary report types.
-Clicking the lower two amortized buttons on the regular payment calculator would incorrectly fill in the normal amortized or interest only value from the upper buttons.
-Add a suggested payment amount that uses the amortizer to calculate the ideal payment amount.
-Add loan continuation settings for Portfolio Settings and Loan Settings. Allows Moneylender to automatically extend the payment scheduled when a loan goes past the maturity date.

2019-01-28 Released version 3.0.119:
-added <LoanPreviousAmountDue> tag which is the same as <LoanAmountPastDue> except is will show a credit balance as a negative number when applicable. AmountPastDue will never go below zero.

2019-01-25 Released version 3.0.118:
-Landscape Reports are missing rows off the bottom of the pages.
-Reports don't rerun when printed.
-When a payment is marked NSF it now has an X over the payment icon.
-Import Templates Select All / none option.
-Delete multiple adjustments at the same time.
-Preview / view attached files by double-clicking them. Files with dangerous extensions are blocked from preview.
-Filter out non-late fees from 1098 interest amount.

2019-01-22 Released version 3.0.117:
-Fixed <PageNumber> tag showing one number too high.
-When printing, set the detail settings to HighQuality, 300dpi, Color.

2019-01-18 Released version 3.0.116:
-Added set of payment choices for new payment settings based on the balance from the payment calculations.
-When selecting a borrower, puth the focus on the seach box of the manage borrowers window by default.
-Deleting a loan will remove it from the list of all connected Moneylenders.
-Adding a new loan will add it to the list of all connected Moneylenders.

2019-01-15 Released version 3.0.115:
-Allowed re-registering a portfolio in AutoPay if it's registration became invalid.

2019-01-14 Released version 3.0.114:
-enrolling loans in AutoPay can now be done from network client computers.
-Enable filtering with Summary of Payments reports.
-Sorting Report Column groups alphabetically.
-Added support for filter on subrecord fields like borrower, lender, and loan properties.
-Added support for filtering on Dates, using either specific dates in the filter, or entering a positive or negative number to add or subtract days from the report's end date.

2019-01-10 Released version 3.0.113:
-Enable emailing from Printed Check templates.
-If there's another due date before the end of the grace period for a previous due date, and late fees are waived when at least one regular payment is made, the late fee is now correctly waived.
-Payment should never apply after the due date. A payment received on a a due date should never be allowed to pay toward future dates. - Turns out that some methods of adding payments could have a time stamp on them. Calculator now strips out the time component on any payments prior to calculation. After calculation, payments are saved with only the date portion.
-AutoPay Daily Processing Summary for Lenders email goes out whenever a lender has money coming to their bank account from AutoPay.
-Fixed crash when running a report that was deleted by another user.
-If report defaults to custom date, don't run the report yet.
-Fixed crash if trying to attach a PDF of a template that was deleted or changed.
-Fixed crash when running a report if a report column points to a property of an object that is no longer supported by Moneylender.
-Fixed crash if portfolio is asked to recalculate a loan that was deleted.
-Prevent crash if a loan is being displayed that was deleted.
-Prevent clicking Update to Latest Version while the update is already downloading.
-Fix crash if no printer installed and try to print a report.

2019-01-02 Released version 3.0.112:
-When recalculating a closed loan, all regular or interest only payments after the last due date before the closing date are automatically marked as final payments instead.
-Added the option to attach a copy of a template to loans in the print template window - allowing the generation and attachment of douments without printing or emailing them.
-Fixed: newly created report columns weren't changing order properly if more than one new report column was created at the same time.
-Fixed: crash if opening a portfolio that opens to the network automatically when another portfolio is already open with that network port.
-When refinancing a loan, the loan is just added to the main list without triggering the entire list to refresh.
-When creating a new loan, the loan is just added to the list without doing a full refresh of the entire list.
-Adjusted the <LoanAmortizedAmountFinanced> to reflect the SUM OF ALL principal disbursals minus the points on the loan.
-Adjusted the APR calculation to use the time adjusted principal disbursals to allow for multiple disbursals at any time in the life of the loan and still determine the correct APR.
-Refi calculator now defaults to today's date.
-Added portfolio-wide and per-late fee setting that no late fee is charged if at least the regular payment is paid, even if the account is multiple payments behind.

2018-12-31 Released version 3.0.111:
-Rewrote <LoanAmortizedAPR> to use the actuarial method for calculating APR. Matches APRWIN perfectly.
-Added <LoanAmortizedPaymentSchedule> tag to list the number and amounts of payments scheduled on the loan.
-Added <LoanAmortizedAmountFinanced> tag to show the first principal minus points to reflect the TILA amount financed.
-Changed refi calculator to put the refi fee into the new loan's points field.
-Fix crash caused by late fee change in v3.0.110 when recalculating loan from mid-loan.

2018-12-27 Released version 3.0.109 and 3.0.110:
-Changed the version of .NET that Moneylender uses from 4.5.2 to 4.7.2 to ensure email system defaults to the latest security protocolos when connecting to SMTP servers.
-Fix misspelling on late fee trigger threshold
-Per-Diem Late Fee settings would cause other late fees to be triggered incorrectly.
-Add Lender columns to Summary of Payments reports.
-For emailed statements, ReplyTo will go to servicing lender email address.

2018-12-11 Released version 3.0.108:
-fixed: Interest on separate schedule was not using the First Instance date for the interest, instead was using the Open Date on the loan.
-added: Late fee type: Percent of Amount Due. New setting will allow the late fee to be a percent of the current total amount due on the loan as of the payment due date that was not paid timely.

2018-12-07 Released version 3.0.107:
-there was a problem with the new amortized payment calculation that could cause Moneylender to lock up in certain scenarios.

2018-12-07 Released version 3.0.106:
Some polishing up of parts of AutoPay, fixing some of the errors from error reports that came in.

-Fixed: Recalculate leaves the amount due at zero for new loans.
-Fixed: If search was entered in Moneylender, and then cleared, the full list of loans would not become visible again.
-Added "Identifying detail" option to the AutoPay setup to allow inclusion of something recognizable to the borrower in the AutoPay invite emails.
-Fixed: AutoPay last invite sent time is not in the computer's time zone.
-Changed: When 0 invites sent to a borrower to set uo AutoPay, say "Invite will be sent in the next 60 seconds."
-Fixed a crash if there were no transactions on the interest bearing balance on a loan prior to the payoff date. Would happen when a payoff date prior to the start of the loan is chosen.
-Fixed crash if Moneylender Settings were edited prior to a portfolio being opened.
-Add some checking for invalid data when opening an old version of a Moneylender 3 Portfolio file.
-Fixed crash if the column that was currently being used to sort the list of loans was removed in Moneylender settings.
-Fixed crash if sorting a list of loans that is not yet initialized.
-Network connector mechanism will accept null during connection failure and forward the null response to the calling routine.

2018-12-03 Released version 3.0.105:
This was an exciting one. AutoPay was rewritten so borrowers can log in and see their accounts, including balance, amount due and due date, and also set up one-time and recurring payments. AutoPay very quickly became the equivalent of an online portal for borrowers into their loans.

-Revised the <LoanNewFees> tag to pull from the AmountdueDate instead of the current due date
-Per-diem interest in the Payoff Quote for lines of credit with Average Daily Balance now calculated the basis for interest correctly.
-whitman.tech/payments site is now available to allow borrowers to view their account information and set up payments directly.
-Moneylender no longer stores the AutoPay payment details in the portfolio. All payments and recurrences are stored in the cloud.
-Information about whther the borrower has connected to AutoPay and entered their bank info now appears in Moneylender.
-Moneylender shows how many invitations have been sent and when the last invitation was sent in the AutoPay window for borrowers that have not enrolled.
-Refreshing list should honor current search.
-Add ability to invite borrowers to use AutoPay without scheduling a payment or recurring payment.
-Added <LoanAmortizedAPR> tag, which includes scheduled fees on the loan in the APR calculation.
-Increased the length of the borrower's email field from 50 to 80 characters.

2018-11-09 Released version 3.0.104:
-fixed: Default Statements and Reports not copying into new portfolios.
-Hide the Metro2 closure reason box if Metro2 is disabled.
-Fix the status formatting on AutoPay window.
-Consistent Sorting of the lenders and showing the start date on the settings tab's lenders section.
-Show description in Other Fees list of Settings tab.

2018-11-07 Released version 3.0.103:
-Fixed crashing when columns are changed. New columns are now displayed and loans show their values.
-Add handling for report printing if the printer fails to process the print job.
-Fix a crash when changing columns in the main window.
-Fixed crash when loan items are updating.
-Fixed crash when opening a URL from Moneylender on computers where no browser has been set as the default browser.
-Allow saving the index to fail quietly. If something prevents the index from writing to the disk, it'll force Moneylender to build the index at next loan. There's no need to display a crash message at the time of closing.
-Added a friendly message that a user's temp folder might be full and provide the option to view the folder in explorer so the user can easily clear it out.
-Added a step to get the full path of a folder in case a relative path for the default directory is chosen.
-If the main window is closed, don't bother showing a report window that may have been loading.
-Added a friendly error message when a crash occurs because "Not enough quote is available..." to ask the user to close apps or increase Virtual Memory.
-Prevent clicking Connect on network portfolio window without first entering a hostname.
-Failed network portfolio connection attempt leaves the host and port as entered in the connect box.
-Manually controlling the shutdown of the application to properly address errors that may happen after the main window is closed.
-Fixed crash when getting a payoff quote on an ADB line of credit that has no transactions that are interest bearing.
-Prevent the program from crashing when user opens a portfolio and then opens a second copy of Moneylender and tries to replace the existing portfolio file with a new portfolio file while the existing portfolio is open in the first instance of Moneylender.
-Friendly message if Moneylender doesn't have permission to fire off the updater from File > Update to Latest Version
-Fixed error when closing the Import Borrowers wizard that couldn't run because Excel wasn't installed.
-Fixed payoff calculator was using interest bearing balance on or before payoff date to calculate per-diem interest, but should have been using the balance prior to the date of closing.
-Fixed crash on per-payment report generation if max date was entered by hand.
-Help > Moneylender Website goes to the Support page of the website now.
-Make a tag for the printed check which is principal amount minus check amount.
-Rate changes in the Refinance Calculator not reflected in calculated payment amounts.
-Add ability to resend AutoPay invitation email to borrowers.

2018-11-04 Released version 3.0.102:
-Added AutoPay to Moneylender.
-Added PayoffClosingFees tag to payoff quote template.
-Added a step to set the minimum payment amount when using the "interest is amount due" setting to ensure that, at a minimum, the accrued interest since the last due date will be the amount due for the current regular payment.
-Added checkbox to Moneylender Settings to open the last portfolio or not.

2018-09-19 Released version 3.0.100:
-added: Loan Application allows you to set up loans that are marked separately from open loans. Reports can show total for loans, applications or both as desired. Main window can be set to show loans, application or both. Applications can be approved to convert to an open loan, or denied where it'll be like a closed loan but is still considered an application.
-added: Refinance Calculator - refi the selected loan, shows how much cash the borrower will net in a refi and can create an application or close the original loan and open a new loan under the refi terms.
-added: revised the formatting on the payment import message to show numbers in a more meaningful way.
-added: Regular Payment Amount as a column that can be added to Financial Summary reports.
-added: Final Payment Date (maturity date) as a column for Financial Summary reports.
-added: Interest Rate to available columns in Financial Summary reports.
-added: Last Payment Received Date column option for Financial Summary reports.
-added: Template tags for doing finely tuned date values on statements. (MonthNumber, MonthNumberShort, MonthName, YearNumber, YearNumberShort, DayNumber, DayNumberShort)
-fixed: editing the borrower on a loan will refresh the loan details panel.
-added: "Fee must be paid at closing" option for fees that are added but not collected until the loan is paid off.
-added: Rule of 78s payoff adjustment for Precomputed loans.
-added: Uppercase and Lowercase option for template textboxes to force the casing on all text - runs after tag substitution so any values injected by tags will have the desired casing.
-added: Portfolio Setting checkbox to have unpaid fees always trigger late fees - overriding the mechanic that will not charge a late fee for an otherwise current loan that had a fee added possibly after statements mught have been sent.
-added: Checkbox on payoff calculator to add interest for the day of payoff.
-fixed: Prepaid Interet and Fees payments are allowed to affect the amount due to pay the origination fees on the loan appropriately.

2018-09-07 Released version 3.0.99:
-added: Default Payment Type in the Portfolio Settings default tab.
-fixed: principal balance reported on per-lender loans was not reflecting the lender's share of a loan with fractional ownership under some conditions.
-added: payment import from excel now displays a detailed list of payments that were not imported, more specific counts, and the result can be copied to the clipboard for further examination.

2018-09-06 Released version 3.0.98:
-fixed: Import from Excel crashes if Excel is not installed - now it gives a friendly message that Excel is required first.
-improved speed of network computers - revised the data packaging to reduce unneeded bandwidth.
-removed Unknown from the options for Payment schedule when setting up a new loan.
-added a friendly message to warn users that may have saved a loan with Unknown for the payment schedule.
-Removed Escrow Report from the report types.
-Prevent saving the TemplateImage dialog if no image is selected.
-Removed border and fill on Template Image dialog - they didn't do anything.
-Prevent clicking Connect on the Network Portfolio dialog until something has been entered in the hostname box.
-Prevent changing the Report Type if the report being edited has any columns.
-Rewrote the searching routine on the main window and searches are now nearly instantaneous, even in network portfolios.
-Revised the sorting routin for the list in the main window for substantially improved performance as well.
-Fixed a bug in the template designer during load that would rewrite the objects on the template to the file over and over, making load times very slow on network computers.
-Added the ability to filter on ledger transaction reports.
-Fixed a problem where adding a fileter, and not changing the column of the filter first would create an uneditable, nonfunctioning report filter.
-Changed report loan selection option "Overdue and Late Loans" to "Delinquent (30+)" to more accurately reflect the loans that are show with that choice.
-Fixed an error that would happen on network portfolios if the host was recalculating loans while the network computer was connecting. The notice to refresh a loan might be received before the list of loans was initialized.

There has been a ton of work toward implementing AutoPay into Moneylender, allowing lenders to schedule one-time and recurring payments. This exciting feature will be available for some brave alpha testers soon!

2018-07-24 Released version 3.0.97:
-fixed: Setting up a password that had % or maybe & in it wouldn't allow you to activate your license.
-fixed: Collateral wouldn't save sometimes when updating loan setting (and likely other settings wouldn't save either.
-fixed: Crash if Payday Loan engine was chosen from the Loan Settings.
-fixed: Report engine would throw an error if the report font size was set to 0. Now if the font is 0 or less, it'll be size 10.
-fixed: crash if overwriting the currently open portfolio by selecting it from File > New Portfolio. Now it'll close the portfolio before deleting it.
-fixed: crash if hardware manager was blocked by limited user permissions or anti-virus software locking Moneylender when it's trying to create a license. Now you get a friendly message about the problem and suggestions to fix it.

2018-07-04 Released version 3.0.96:
-added: ability to shuffle template pages around, and now there's pretty buttons for moving, appending, inserting, and deleting template pages.

2018-07-03 Released version 3.0.95:
-fixed: amortization would stall if lender settings showed a purchase price on it.
-added: borrower and lender notes fields show up on the Notes tab.
-added: <LoanFutureDueDate1> through <LoanFutureDueDate6> template tags to allow inserting subsequent due dates after the amount due date on the loan.
-added: <LoanDuePaymentNumber> to get the payment number for the payment due on the AmountDueDate.
-fixed: uncovered a bug where amortization template tags would override values on the loan for the remaining tags on a statement.
-fixed: crash if running a metro 2 report for a lender that has no entries to report (no loans, or noy payments on any loans, for example).

2018-06-29 Released version 3.0.94:
-fixed: crash if hostname for network portfio can't be resolved.
-removed Unknown schedule type from payment schedule choices in Cash/Payday/Title loan.
-added further handling of access restrictions to hardware serial numbers when activating software to replace a crash with a friendly message that the system is not identifiable.
-remove future late fees from the amount due columns of reports so receivables doean't reflect late fees that haven't happened yet.
-fixed: the last chunck of daily interest on a loan that was closed was being dropped, causing the final balance to show a small credit balance.

2018-06-20 Released version 3.0.93:
-fixed: Crash if no payment schedule and opening interest period is greater than one payment cycle and interest is on payment schedule.
-fixed: Reintroduced a bug where interest on its own schedule would stop calculating after the initial term of a loan.
-fixed: Can only edit the borrower or lender from the loan settings if there's a borrower or lender selected.
-fixed: Crashed if trying to log in over a network and username and/or password were left blank.
-changed: default date range for date options on template print window is now the upcoming year to make voucher printing more intuitive.
-fixed: if printing a document and there are no pages the user gets a friendly warning instead of a crash.
I really love this error reporting thing. Now I can track down all the little random things that cause people to have a bad experience with Moneylender. Another couple months of this and Moneylender will be absolutely bulletproof.

2018-06-18 Released version 3.0.92:
-fixed: Crash if program can't access it's settings file. Now it waits a bit and tries again. If it can't read/write the file after a few seconds, the user will get a warning note that the file is locked by another program and it was unable to save/load the settings.
-fixed: Moneylender will try to upload an error message a couple times, and then warn the user if it couldn't submit the error details.
-added: sanity checks against the settings in case an invalid value was saved or read for some of the program's settings.

2018-06-16 Released version 3.0.91:
-fixed: Crash when calculating loan with interest set on payment schedule and no payment schedules set on the loan.
-fixed: Crash when creating an adjustment to a lender discount account (user's should not be able to make adjustments to lender discount accounts). These adjustments are now ignored by the calculator.
-removed lender discount account choice from the adjustments dialog, from the ledgers tab, and from the ledgers report.

2018-06-12 Released version 3.0.90:
-added: Automatic crash reporting to help troubleshooting networking problems in the field.
-updated: License agreement to reflect the use of crash related data including privacy, security, and deletion policy for collected data.
-changed: Prepaid interest and fees recorded on a loan are now included on the amortization schedule.

2018-06-07 Released version 3.0.88 and 3.0.89:
-fixed: Exclamation triangels wouldn't show until the first recalculation on the loan.
-fixed: system was crashing if trouble accesing hardward during activation.
-changed: searching loans and borrowers is more limited in scope, but much faster on main window and manage borrowers.
-added: edit button to the borrower settings and lender settings on the Settings tab. You can now edit the borrower from the borrower settings on a loan, rather than having to open the manage borrowers and find the borrower in that list.
-fixed/added: LoanPaymentCount column in main window now shows the number of payments scheduled on the loan.

2018-05-22 Released version 3.0.87:
-fixed: <LoanTodaysOtherFees> and &LoanTodaysFees> were not working.

2018-05-17 Released version 3.0.86:
-fixed: statements attached to emails didn't have the .pdf extension added to the filename.

2018-05-02 Released version 3.0.84:
-fixed: cash/title/payday loan wizard wasn't setting the interest start date correctly.
-added: using interest scheduled Once with any percent type on the same day as the first principal disbursal would give counter-intuitive result of 0 interest added because the interest has to be earned. The program displays a warning when this scenario occurs and recommends changing the interest to occur on the date of the first payment.
-fixed: I broke report headers in v3.0.83, sorry. They should be working again in v3.0.84.

2018-04-27 Released version 3.0.83:
Haven't released an update for a little while because I'm in the middle of adding integration with an automated payments system to the program! There were a couple issues that were affecting calculations though, so I disabled all the auto-pay stuff and pushed out this update.
-removed: the superfluous hyphen from the borrower name on the settings panel and a couple other places.
-changed: the date where the ledgers tab stops showing future transactions.
-fixed: page layout setting on reports wasn't doing anything
-added: A4 to default paper size for reports.
-changed: late fees don't show 1/1/0001 for the start date anymore.
-fixed: late fee as percent of payment shows the percent as a percentage and not currency.
-added: ability to choose the cut-off date when archiving closed loans.
-added: tool to auto-close multiple selected loans.
-fixed: payments will only be suspended if they are greater than the current amount due on a loan.
-fixed: importing payments will recalculate all affected loans properly.
-fixed: amount due on a loan will never exceed the overall balance.
-fixed: rewrote the entire discount earned system so the max discount earned will never exceed the actual discount at tthe time of purchase, even if more principal is added later.
-added: unearned discount and discount already earned column to lender (financial summary) reports.
-changed: editing a lender setting on a loan will recalculate the loan.
-fixed: amortized loans with payment suspension now properly resume calculation and should never have duplicate/missed transactions.
-fixed: column value on the Cash Flow report was based on an older iteration of the report system's math.

2018-03-23 Released version 3.0.82:
-fixed: check when closing a portfolio from File > Close Portfolio.
-added: Template tags for the custom fields in the portfolio.
-added: Delete Page and Insert Page buttons on template designer.
-added: Amortizer can include fees on the amortization report.
-fixed: changing template type will take templates off the menu if the new type isn't allowed on the menu.
-added: can export selected loans to a new portfolio.
-added: can archive loans closed prior to the previous calendar year to another portfolio.
-added: Borrower list report.
-added: LoanAmortizedTotalPI, LoanAmortizedFees, LoanAmortizedInterestAndFees template tags.
-fixed: LoanAmortizedTotal and LoanAmortizedInterest tags weren't getting a proper value.
-added: BorrowerXBirthday template tag.
-fixed: Amortizer would crash if a loan had no interest setting.

2018-03-12 Released version 3.0.79 and 3.0.80:
-fixed: payments that were being suspended past a payoff quote date were omitted from the total shown to pay off a loan.
-changed: when importing payments, if there is more than one loan with the same account number, Moneylender will prefer applying the payment to an open loan before applying to a closed one.
-added: File > Update to Latest Version menu option. When enabled, there is a newer version of Moneylender available. Click to automatically download and run the installer.
-fixed: escrow that should expire on daily interest loans was not expiring.

2018-03-09 Released version 3.0.78:
-fixed: when creating or opening a portfolio, if the current user doesn't have access to the documents folder, the program might crash.
-added: notification at the bottom of the main window for all notes that have reminder set and are now due. When clients are connected by network, all users instantantly see notes go away as soon as one user unchecks the reminder box and saves the note.

2018-03-08 Released version 3.0.76 and 3.0.77:
-added: Option to BCC sender address for all emailed statements added to Portfolio Settings.
-fixed: Overall Balance would be set based on a different date depending on which routine wa setting the balance.
-fixed: Major revision of network system now provides substantially improved stability and slightly better network performance.
-fixed: Interest is amount due will properly handle overpaid loans with a negative amount due balance (as long as the loan is not in "ML2 compatibility mode").
-fixed: Late fees behaved strangely if interest is amount due and late fee was % of regular payment and the loan was alternatingly paid ahead and then late.
-added: option to change the default open folder in Moneylender Settings.

2018-02-27 Released version 3.0.75:
-added: display a suggested Ending Date or Occurrence Count when adding Payment Settings to a loan.

2018-02-26 Released version 3.0.72 and 3.0.73 and 3.0.74:
-fixed: Escrow payments were mistakenly affecting the Escrow Due account.
-fixed: Daily Interest loans with Interest is amount due were not properly triggering the daily interest prior to setting the amount due.
-added: option to set Monthly disbursements from Escrow accounts in addition to yearly disbursements.

2018-02-22 Released version 3.0.71:
-Worked through the escrow section of the program.
-Added pages to the user's guide for all the escrow windows.

2018-02-14 Released version 3.0.70:
-Fixed interest not continuing on loans that are extended past their original maturity.
-Amortization Report now honors the date range selection to show a partial slice of the amortization table.
-Maybe this time for sure the Payment Distribution and Payment History reports will have slightly wider date columns to prevent the dates from getting split across two lines.

2018-02-08 Released version 3.0.68 and 3.0.69:
-<LoanLateFee> now shows the actual dollar amount of the late fee for late fees using the % of regular payment option.
-Deferrals from Moneylender 2 are properly imported into Moneylender 3.
-fixed: Regular Payment settings were not being copied properly from Moneylender 2
-fixed: escrow charges wouldn't stop when their date range expired.
-couple other tweaks to the UI.

2018-02-02 Released version 3.0.66 and 3.0.67:
-When importing from Moneylender 2, escrow that was prorated is set as a charge, and the total prorated amount is recorded as a disbursement. If a non-prorated charge is present, it is disbursed from the escrow account, and also scheduled to deduct from payments immediately.
-<LoanNextPaymentLateDate> now properly populates with a value.
-Added a statement: Closed in Good Standing to give borrowers when they pay their loans in full.
-Added box to the payment dialog to enter the fixed additional amount commonly used with lines of credit.
-Expanded the configuration options for payment schedules to set and end date.
-Fixed a bug where double-interest might be charged when the interest rate changed.
-If a file is being attached and the file can't be accessed, the program displays a message instead of crashing.

2018-01-29 Released version 3.0.64:
-Added option to use # in account auto-numbering options to generate a random number.
-Added a tool to delete all escrow charges. Useful if the import from Moneylender 2 created a big mess in the escrow account.
-Fixed multi-page templates not printing on multiple pages.
-Added warnings to loan calculator to make the ! triangle light up in the main window if an escrow disbursement occurs within 20 days on a loan.

2018-01-19 Released version 3.0.63:
-Added Escrow Analysis template type, the relevant tags for an analysis letter, and a default escrow analysis statement.
-Fixed the "Payments" amount on SummaryOfFinances reports was omitting the amount paid to escrow.
-Added <1098PropertyTax> for lenders that choose to add this information to the Other box on the 1098 forms.
-Added the ability to create prime interest rate indexes, and to set the rate changes over time for an index.
-Added option to bind an interest rate to an index, and thus the rate would be a set amount above the varying index over time.
-Fixed the program crashed when a loan was chosen with a semimonthly payment schedule.
-Fixed a couple other bugs.

2018-01-17 Released version 3.0.62:
-Fixed a crash if closing a loan with no payments.
-Click the (!) triangles that are highlighted in the main window to see the full list of messages on a loan.
-Network edits no longer trigger a full recalc on a loan.
-Metro2 compliance condition 'XR' is reported for one cycle and then blanked out, per the Metro2 spec.
-Added a routine to calculate per-diem late fees.
-Escrow and Daily Interest Loans now detect if a payment arrived early on a paid-current loan and the escrow is deducted properly from the payment.
-Fixed a crash when clearing a field-mapping in the import borrowers from Excel routine.
-Added a tool that will mark the payments on the first day payments were made as prepaid interest and fees for all currently selected loans.
-Added the ability to choose a specific lender when running Summary of Payments reports like the Reconciliation Report.
-Added "Today" and "Yesterday" as date presets on reports.
-Fixed the Last 7 Days date preset (had the start and end dates reversed).

2018-01-12 Released version 3.0.61:
-Fixed Custom Fields not working on some report types.
-Added Auto-Generate Payment History tool
-Added <LoanCreditLimit> and <LoanAvailableCredit> to statement template tags.
-Added AvailableCredit as a column choice for the main window and on reports.
-Added Cash/Payday/Title loan wizard.
-Added option to Portfolio Settings for which loan wizard starts when you click the New Loan button.
-Maybe Fixed? some reports were crashing in a network environment, and don't appear to be crashing with the new version.

2018-01-09 Released version 3.0.58 and 3.0.59:
-Fixed Payment Vouchers crashing for preview or print.
-Added Loan, Borrower, and Lender properties as options for Financial Summary Reports.
-Added Payment Reconciliation report as a default report templates.
-Fixed: Choosing to report on loans that are Open / Closed / Due / Past Due works now.
-Added: Borrower fields to Payment Summary reports.
-Added "Last 7 Days" as default date option for reports.

2018-01-05 Released version 3.0.57:
-Moneylender will expect the total of outstanding principal, interest and fees as the final payment on the loan.
-Amortization system now runs entirely in memory - much faster and can be used easily in various parts of the application without unnecessary disk usage, especially important in a network environment.
-<LoanBalloonDate> and <LoanBalloonAmount> are now populating with the correct values.
-Option to prefer company name in the Portfolio Settings.

2018-01-03 Released version 3.0.56:
-fixed: infinte loop in calculator for precomputed interest if interest is 0.

2018-01-01 Released version 3.0.55:
-Added template tags for 1098 and 1096 forms.
-Added 1098 templates for 2017 and 2018.
-Added Skip Interest on 31st support for daily scheduled interest.
-More compatibility with some of Moenylender 2's more obscure configurations during import into Moneylender 3.
-Miscellaneous bug fixes.

2017-12-14 Released version 3.0.51:
-Loans using the Amortized with Suspense Account engine will now suspend payments received prior to the first due date for longer than a regular payment cycle.
-Double-click a regular payment from the Amount Due account on the Ledgers tab to defer that payment.
-Added custom fields for some records to the choices for columns on reports.
-Populate custom columns with custom data on reports.
-Removed the ReportHeaderPayment template type.
-Created a default Lender report header.
-When importing Reports, they'll choose the first header that matches the report type in the destination portfolio by default.
-When a portfolio is set to auto-open to network, it opens to the network now.
-Fixed a couple typos.

2017-12-08 Released version 3.0.49 and 3.0.50:
-When running a metro2 report, if a loan can't be included, the report is generated without the loan, and a message is displayed to the user with a list of loans that can't be generated.
-More documentation added the the online help.
-v50 changed the way the portfolio is opened so it can pop up the password box if needed.

2017-12-06 Released version 3.0.47 and 3.0.48:
-Fixed crash when printing vouchers because of the <BorrowerAllFormattedName> tag.
-Fixed some issues with metric paper support for template printing.
-Added A4 paper size templates to mirror the letter sized templates, with slight adjustments to the address and positioning of template elements.
-Can now select multiple template items by holding the control key while selecting.
-Fixed crash when closing a loan that had no payments on it.
-Adjust column sizes to print nicely for default reports.
-Math on reports now goes from left to right (instead of right to left).
-Some of the balances on reports now reflect percent ownership when a specific lender is selected. For example, the principal balance might be 100k on a loan, but wenr reporting for a lender that owns 25%, the principal will be shown as 25k to show the lender's stake in the principal balance.

2017-12-04 Released version 3.0.46:
-Added New Loan button on toolbar.
-Closed loans will recalc at least once if they haven't been calculated before.
-Added tool to re-open and then close unsatisfied loans to fix problems from:
-Fixed ChargeOff amount wasn't importing from Moneylender 2.
-Added suggestions for next steps to main window to create a portfolio and then add a loan.
-Deleting Custom fields works now.
-Custom fields input boxes have a smaller max height (about four custom fields' worth) and will then start scrolling.
-If a borrower pays the previous due date ahead of time, a payment any time after that due date will now apply to the subsequent due date.
-Fixed value on the <LoanAmountdueIfLate> tag to queue off the amountduedate instead of the current due date - would have the wrong value if printing statements on loans that were paid ahead.
-<BorrowerAllFormattedName> now populates with the list of names of all borrowers on the loan.
-Points paid is now a number that can be used on lender reports.
-Revert button for Statement templates and Report templates now clears and resets the corresponding templates (after asking if you're sure).

2017-11-28 Released version 3.0.45:
-LoanAmountPastDue tag now shows the latter of the amount due on the previous due date or after the last payment was received.
-LoanNewFees tag now shows the amount fees added to the loan since the latter of the previous due date or the most recent payment.
-Added Origination Date as a box on the Loan Settings dialog.
-Added Payoff Fees as a fillable field in the payoff calculator to add a tentative fee to the payoff quote.
-Added new tags to the payoff quote template to allow for more detailed description of the baances and amount quoted for the payoff: PayoffPrincipalBalance, PayoffInterestBalance, PayoffInterestTotal, PayoffPayoffFee, PayoffFeeBalance, PayoffFeeTotal
-Added keep-alive pinging to network clients so the host computer doesn't close their conections due to inactivity.
-Added Payment Calculator Window - available from Regular Payment dialog.
-Fixed crash when saving reocords with custom field values that are blank.
-Cleaned up parts of the Regular Payment window
-Stop calculator from hanging during calculation when a loan is opened and closed on the same day.
-Compress routine can carefully span gaps between valid records if a previous compress has been aborted. Auto-Repairs corrupt portfolios that were closed in the middle of a compress.
-If you use a corrupted portfolio in spite of the warning, the warning will not reoccur.
-Changed labels of some of the column heading in the main window.
-Revised the options under Loan > New Loan so it's easier to tell which choice to make. A lot of people as trying Manual configuration, which is EXTREMELY difficult to get right without a bunch of work.
-Moved the Add/Edit/Delete buttons on the Manage Borrowers and Manage Lenders dialogs so they're not right next to the X to close the window.
-Added five or six pages to the User's Guide.
-Cleaned up some parts of the Borrower wizard.
-Added Borrower's Notes field to the Contact info page, so it's visible on both the Name and Contact steps of the process.
-Re-enabled the No Portfolio Open panel that covers the main window when there is no portfolio open.
-Took out some menu options that no longer work, or were remnants from initial layouts based on Moneylender 2.
-fixed Charge Off amount wasn't being copied over when importing loans from Moneylender 2.

2017-11-17 Released version 3.0.43:
-Added County to Borrower Physical Address
-Fixed crash in Moneylender settings when no portfolio is loaded.
-Added Discount Earned column option to financial return.
-Added Investor Report to default reports.
-Program automatically calculates the discount ratio for lenders.
-Added default settings for new Amortized loans to Portfolio Settings > Defaults tab.
-Lender reports now allow choosing portfolio total or totals for a specific lender.
-Transactions Ledger Report template working, and a default one now comes with the program.

2017-11-14 Released version 3.0.42 to fix a crash with Bimonthly payments. Added the Intro to Moneylender 3 video to the website.

2017-11-13 Released version 3.0.41 with some fixes and improvements:
-Import from MLP2 prepends the Third Party "Payable To" or "Company" to the "Account number assigned by Third Party" when copying over fees.
-Fixed Sorting on Lender Reports like the Summary of Finances report.
-Added Clean Currency formatting to column formatting options on reports. The first row and the summation row on a report will show the currency symbol, the rest of the rows will not.
-Added "Next 30 Days" and "Next Calendar Month" to date presets for reports.
-Added several fields for initial and final amounts due on reports.
-Added "profit/loss", "gross receipts", "cash flow", "receivables" reports to the program defaults.
-Added "mailing label" and re-added the lost "payoff quote" statement templates.
-Fixed bug in suspended payment code when no payment schedule exists.

2017-11-10 Released version 3.0.40 with some cool updates:
-Added escrow charges to the amount shown on vouchers.
-It is now possible to have multiple concurrent late fees, and to set a trigger amount that will determine if a specific late fee will be added to a loan.
-Fixed a bug that would temporarily apply an extra late fee if a late payment was deleted from a loan.
-Fixed printing vouchers not respecing the selected ending date like the preview does.
-Improved how data is displayed on ledger tabs.
-Removed some of the items from the Loan menu that were copied over from Moneylender 2.
-Partial support for report header templates is working. The default templates have a sample ledger header template and can be used with Ledger Transactions and possibly payment distribution/history reports. Work is still underway to get a full set of header templates for all reports.
-Some work has been done on getting single-lender reports to show fractional ownership on loans.
-Fixes for lots of other little bugs and glitches.

2017-11-03 Worked on various parts of the program for the last few days. Got a couple reports of crashes, and released version 3.0.37 and then version 3.0.38 to address the reported problems. And then 3.0.39. It's nice to have people crawling through the whole thing with their specific loans to help identify trouble areas. Also, added the collateral field to the loan settings window. Lots of other small fixes and adjustments. Getting a lot of really great feedback, to be honest. Several customers are making the switch to version 3 now, so a lot of customer support through the transition.
2017-10-31 Released Moneylender 3 as the first production ready version!! There's still a bunch of great features on the list of things to be added, but the core components are working nicely and have been field-tested by a few dozen lenders. Updates across the moneylenderprofessional.com and store.wtech.us websites to reflect that Moneylender 3 is the current version of the program. Released second production version 3.0.35 and then version 3.0.36 with support for importing payments from Excel.
2017-10-24 Revised a protion of the calculation engine that edjusted the amount due when loans were overpaid and paid in advance. When closing loans, you can explicity set the loan status to be reported to credit bureaus. Changed the date shown in the details panel to the "current due date", which corresponds with the amount shown for "amount due". Published Beta v3.0.33.
2017-10-23 Fixed crash if getting payoff quote before interest starts. Autobackup now removed previous copies when it hits the max copy count. Moneylender 3 now has a demo mode. Add support for "YYYY", "YY", "MM", and "DD" to inject the numeric year, month and day into auto-generated loan numbers - in addition to the default formatting already available. Custom fields for Loan, Borrower, and Loender can now be added as columns in the main window. Ledger tab of the details panel doesn't show future transactions. When switching loans, the ledger panel remembers what account was displayed. Added LoanLastPaymentDate column option for the main window. Loan details panel was reloading twice or more with each click on a loan, fixed so it only does it once. Main Window was loading twice, fixed that. Fixed the password problem when creating a new account on the WTech Store. Added a Change Password option on the WTech Store once logged into an account. Plenty of testing.
2017-10-19 Ok, Metro2 reporting is pretty much fully integrated. There's one or two odds and ends (like when you close a loan it'll ask you to choose one of the closed account settings, but for now users can choose the account status that fits from the Loan's Metro2 settings dialog. That was a tremendous amount of functionality - adding full Metro2 support to Moneylender 3 in six days. Yikes! With that done, and some more eay tasks, there's only 25 items on my list left to do (from a total of 51 so far) and most of the big stuff is finished. It's looking pretty good for the Halloween launch.
2017-10-17 Wow, two weeks to go! Moneylender 3 is very close to actually producing Metro2 file. The base data for the files is coming out - just the header and footer records for the file need to be made, a couple very small report segments (Fannie Mae / Freddie Mac ID numbers and buy/sell reporting), and the account status code and payment history profile in the main base segment.
2017-10-16 OMG!! After working pretty much the whole weekend and today, the "Metro2 Base Segment" is almost entirely populated. There are three fields left to populate which require some careful checking of details. Structurally, Moneylender 3's Metro2 system is superior to Moneylender 2 in that temporary codes that should be reported once and then blanked out or revert to other settings will do so autmatically in Moneylender 3. Some of the Metro2 choices are much more robust than in Moneylender 2 as well, providing details in the program about when and why to use various reporting codes. A monumental task that is very close to completion, soon to be checking off 8 of the 26 unchecked "before Moneylender 3 goes live" boxes! So excited that Metro2 support will be implemented at Moneylender 3's release - albeit still needing some real-world verification.

After emailing the Moneylender 3 Beta users 10 days ago, there's been some very helpful feedback coming in. Many items are quick fixes and needed cleanup, and the program is so much better thanks to the extra sets of eyes on it. A huge thanks to all the Beta users, and please keep the feedback coming in.
2017-10-11 Lots of good stuff added today: auto-backup works now and checks if nothing has been edited since the last auto-backup to avoid overwriting multiple copies with essentially identical backup copies; made an Import Borrowers video on the help documentation; warns the user that the portfolio is corrupt if a portfolio is opened after the program was shut down during the compress process (a backup is always made before starting the compress for exactly this situation); finally have the triangle excalamation notification icons working - lighting up when a loan is approaching maturation; when opening a portfolio, if it has not been backed up for 90 days the program will invite you to make a backup; when changing the columns on the Moneylender Settings, the column choices take effect immediately instead of after the program is restarted.
2017-10-10 Finished up the support of template files, moved the defaults templates from a portfolio file to a template file, adjusted the installer accordingly. Tested a bunch of stuff. Finished up support for printed checks and made a basic printed check template to ship with the program. When using a password to open a portfolio, the user permissions that match the password take effect. Permissions are honored for editing borrowers and lenders. Permissions honored for editing loan settings.
2017-10-09 Set up a Template file structure that can hold templates and reports but not loan data. Reports of trouble when opening Moneylender 2 portfolios came in from a couple people and fixed a few bugs that were preventing direct-upgrade of MLP2 files from completing. Testing network portfolios and troubleshooting a few issues when the host computer is working hard to keep up with a lot of calculations and the client is asking for a lot of stuff. Finally have some idea how to handle bulk changing the interest rates in a portfolio. Import from Excel only works if excel is installed on the computer, so I might piggy-back a second system to read data onto the import routines. Took another step toward generating Metro2 files.
2017-10-06 Testing and packing up the application for a Beta update. Released Beta 3.0.29.
2017-10-04 Fixed an issue with amortization reports. Upgrade routine to convert the "version 0" file system to the new "version 1" files system. A whole bunch of checking the new system's file integrity. Testing the upgrade routine repeatedly to make sure the upgraded file works properly.
2017-10-03 Finished the refactoring of the template printing system, emailing and printing templates works well now, for statements and vouchers. Auto-attaching a copy of printed statements to each loan also works now.
2017-10-02 Added portfolio setting to keep a copy of printed templates in the portfolio. Added routines when printing/email templates to attach a PDF of the template to its loan. A lot of customer emails/calls today :) Work over that printing code and formalize the process and architecture.
2017-09-29 Tons of testing and debugging yesterday and this morning. Worked through all the biggest bugs and finally have the new file structure closing and opening correctly. I hope to have the code that reads the old file structure working properly in the next hour or two and migrate the default templates and reports to the new system. Then I'll be revising how passwords are set on portfolios - the users in the network config will have an extra option to allow them to open the file directly - allowing up to ten different passwords to open the portfolio file - but also allowing the user that opened the file to have limited permissions to the data.

I have a list of 13 items to round off the features in Moneylender 3. None of them are part of the calculation system. The loan balances seem to be really solid - and much more correct than Moneylender 2 (missed late fees, better loan closing numbers, etc.). The interest is accurate in both programs, but unless you're very specific in Moneylender 2, you'll waive late fees that you were entirely entitled to collect. This weekend I'm going to stabilize Moneyelender 3 after the massive restructuring of the file system and release a version of Moneylender 3 that should be just about 100% solid for daily use.

Testing the reindexing routines, structure modification routines, performance on super-large portfolios by attaching gigantic files to the loans.
2017-09-28 Actually testing the new code. Adding the revision to the password entry / login stage of opening a portfolio file. Added the validity test to see if the file began a compress routine and did not complete - orphaning some of the records in the file permanently.
2017-09-27 On Monday I started a massive restructuring in the file system's architecture. I've been working on that ever since. It enables better security for the data in the portfolio file, allows more than one person to have their own passwords to open a file - so if you forget your password, your business partner can get in and change your password for you. It also opens the door for me to store a password for your portfolio on my serever as a subscription service so you can log into your account on my website and unlock your portfolio if you ever lose your password. And it also allows the user who opens the file to have specific permissions to the file, too. Additionally, it makes both dictionary and brute-force attacks ineffective, even if someone had the portfolio on their own computer and had access to Moneylender's source code. Some of the larger businesses that run Moneylender have an employee hosting the portfolio and the employee really shouldn't have admin privileges to the data. This makes that possible now. Also, it formalizes a couple things that really needed to be specifically defined in the file structure. I'm hoping to be testing the new structure today and have the old structure auto-upgrading to the new one by tomorrow.
2017-09-25 Making a big push to get the last chunks of the program in place by the end of the month. There's a fairly short list of items left to do, maybe half a dozen medium/large tasks.
2017-09-22 Wrote a couple more pages for the Moneylender 3 documentation. Worked on "Primary" column for explicit sorting on reports.
2017-09-20 Any custom values that are present, but not listed in the portfolios custom fields list, are visible when editing a record - prevents data from getting orphaned if the custom field label is changed. Allow deleting reports from report manager. Created a New Loans report. Fixed a couple bugs with custom data. Created a Cash Flow report. Fixed a problem with the balance refresh routine not actually saving the loans after updating the balances.
2017-09-19 Roughed in a bunch of Metro2 classes yesterday in preparation for enabling reporting to the credit bureaus in Moneylender 3. Added custom values to Lender and Payment records. Read through some of the documents from Fannie Mae and Freddy Mac to see what kind of out-of-the-box support for those loan programs would be possible.
2017-09-15 Fixed a bug when closing an unsatisfied loan and charging off the balance that the recalculation wouldn't reflect the charge-off until manually recalculated later. Got custom fields working for loan records. Put a few pages into the program's documentation.
2017-09-14 Lots has been worked on in the last two weeks. Default templates are shaping up. Reporting now allows setting up report filters. Tons of bug fixes, cleanup and improvement of all sorts of places in the software. Betting handling for missing borrowers and lenders. Prevent deleting lender if there are loans connected to it. Allow payments to be marked returned, and a new NSF fee to be added when that happens. Tons of testing. Released v3.0.28 beta.
2017-09-01 Reworking the template printing system to allow multiple templates on a page, and multipage templates to print on paper the same way. When creating a template, setting portrait or landscape will cause that option to be automatically selected when printing the template. Printing multiple lemplates to a single page works now (like printing labels, for example).
2017-08-31 Added a routine to copy the default reports from the same source that has the default templates.
2017-08-30 Payments that are suspended to a future due date on amortized loans that are being closed are credited toward the outstanding principal balance at closing. Stopped closed loans from having their balances refreshed when the portfolio is first opened. The "Calculated Through" date on closed loans now accurately reflects that the loan is calculated up to the close date instead of two months before the actual calculation end as is the behavior for open loans. Dealt with many subtle glitches in the loan closing and re-opening processes until my loans are opening and closing multiple times and always zeroing out nicely.
2017-08-29 Added ability to import statement and report templates from other portfolios and to re-import the default statements and reports.
2017-08-16 Released 3.0.26 with support for almost all loan template tags, along with other random fixes and improvements.
2017-08-11 In the last couple weeks I've been testing many customers' portfolios in Moneylender 3, importing from version 2, resolving discrepancies, fixing issues with edge cases and corner cases. Lots of work across the whole program. Released beta version 3.0.25, a major step toward being production ready. Only a few items are left to code into the program - custom fields, Metro2 reports, and some of the statement types need to be finished. The rest is debugging, documenting, and fleshing out the default statements and reports that ship with the program. It's really getting quite close to being production ready.
2017-07-26 A whole lot of testing with people's real world loans. Fixing bugs in the network system. When any user updates a loan, that loan refreshes for all connected users automatically.
2017-07-14 Tested closing in the release version of the program. Published beta version 3.0.24.
2017-07-13 Refined the options at closing for handling escrow and balance adjustments. Extensive testing of various scenarios: escrow account is short; escrow has a surplus; escrow surplus is absorbed into the loan balance; balance overpaid - issue refund to borrower; balance overpaid - increase interest proportionally; balance already comes out perfectly to zero; balance underpaid slightly- decrease the final interest; balance underpaid a lot - charge off principal. The closing wizard only presents the options that are valid for the selected loan, making it very easy to see what's happening at closing. The numbers exactly match the figures generated by the payoff calculator, too. Also made several fixes and tweaks to components on the loan calculator. Fixed the value for the loan's overall balance showing a figure taken from too far in the future. The accounting mechanisms of the program are really coming together. I still need to work on payoff penalties and make sure the handling works for all the different types of loans that Moneylender supports.
2017-07-12 Lots of testing and debugging. Adding routines to the calculator components to zero the balances for due amounts and to stop calculations. Refinement of the order that modules are run in the calculation engine. The calculator is really starting to shape up well. All the account balances zero out properly, with the actual money accounts being zeroed out in an accountable and traceable way.
2017-07-11 Much of the closing wizard is actually operational, and the code to record the necessary adjustments and disbursals is written. Testing continues.
2017-07-10 Worked on the Balance Shortage page of the closing wizard. Started testing the date and balance shortage pages.
2017-07-07 Worked up the Escrow Surplus and Escrow Shortage pages of the closing wizard.
2017-07-06 Worked up the closing date page of the loan closing wizard.
2017-07-05 Tested v3.0.23 and released an update to the beta.
2017-07-03 Testing. Editing an adjustment refreshes the adjustment list properly. Created pages and windows for closing a loan.
2017-06-30 The details panel on the right of the main window will remember its width between sessions now.
2017-06-29 Clicking a column header will sort the list of loans. If already sorted on that column, the sort order is reversed. Changed some of the default dates in the new amortized loan to be today instead of the year 1.
2017-06-28 Worked over the list of loans extensively. Column resizing works well now. Tested the release version of the program and fixed several bugs. Font size in the Moneylender settings is working again. Got the ledgers in the details panel populating (albeit you have to switch the selected ledger first). Searching works, as does showing and hiding closed loans. Can delete multiple loans in a single operation.
2017-06-26 Fixed a crash on the main window when a loan did not have a valid lender set. Created the Precomputed Loan calculation engine. Worked over the settings on the informal loan structure. Fixed some more crashes on the main window and the column settings.
2017-06-22 A bunch of work yesterday and today redesigning the list of loans. A customer reported a crash when creating loans, so I got the list of loans to a point where it functions, but it's ugly. The crash should be fixed and version 3.0.21 is out for people to download.
2017-06-20 Moved the program settings to a new class that saves to a file in the C:\Program Data folder; this allows the installer to run without wiping out the program settings like auto-backup, default folder, columns, SMTP settings, etc. Continued working over the
2017-06-19 Worked over the default regular statement template that comes with Moneylender 3 a little bit. Added some escrow related tags. Started roughing in the new UI for the list of loans.
2017-06-15 Implemented the math for many of the statement template tags that weren't supported in Moneylender 3 yet.
2017-06-14 Couple changes to Moneylender 3 template tags. Revamped the home page of this site, and the colors/theming.
2017-06-13 Released Beta version 3.0.20 with fixes for a couple issues reported by a customer when importing their Moneylender 2 portfolio.
2017-06-12 Released Beta version 3.0.19. Template design system is much improved.
2017-06-08 and 09 Finished item reordering by drag/drop on the template designer. Tested the production template mechanism thoroughly for crashes.
2017-06-07 Work through the template designer to give better visual feedback and add a bunch of handlers for things like pressing "Escape" will cancel a move or resize in progress, switch modes to create template objects shows you you're in a mode. Fixed a bug in the snapping routine. Changed the appearance of the sort order list a lot. Fixed a bug with selecting an item from the tag list and saving wouldn't save the selected tag correctly. Made the sort order list resizable. Partially implemented zooming in and out in the designer.
2017-06-05 Work over the print templates dialog to make it clearer what is being emailed, what was emailed, and what will be printed. Test the changes, and printing and emailing statements.
2017-06-01 Finished up network code and started testing. Ironing out various bugs. It's actually working pretty decently at the moment. Adding code to auto-connect to network portfolios if that was the last portfolio open. Released Beta 3.0.18.
2017-05-31 Still working on the network routines.
2017-05-30 Implemented most of the remaining network portfolio access routines.
2017-05-29 Roughed in a mechanism to convert index-optimized record requests to byte arrays and implemented it on both file and network portfolio types. Some of the coolest code I've written in a while. Been designing it in my head for at least two years. Seeing it in real life is pretty epic. Cuts network bandwidth by anywhere from 90% to 99.9%. Should make network portfolio access feel a lot more like direct file access from the user's perspective.
2017-05-25 Created a "Suspense Account" mechanism that applies to amortized loans (without daily interest). When a payment arrives before it is due, the payment is held until the due date and then applied to the loan. Released Beta 3.0.12.
2017-05-24 Fixed balances to reflect the numbers corresponding with the proper dates.
2017-05-23 Added some routines to check if the portfolio being opened is a v2 portfolio, and to automatically create a new v3 portfolio to import the data into. Released Beta v3.0.11. Working on multi-user code. A good chunk of the communication framework between client and host is done. Working to add an index-optimization layer to the network protocol and complete the "data connector" routines. Reviewed loans with a couple customers and made some quick edits to get correct dates to show up.
2017-05-22 Fixed a bug in the borrower and lender wizards that would crash the program when copying the addresses. Release Beta2 with more Escrow capabilities and several minor bug fixes and improvements.
2017-05-18 Extensive work on the Escrow system this week. RESPA escrow adjustments - normal charge, charge with deposit, charge with deposit prorated. "Renewing" annual disbursements works nicely. Reviewed all the controls on the escrow windows. Added "Copy" to the template manager to make copies of templates within a portfolio.
2017-05-15 Find and fix the cause of the post-obfuscation crash whenever a form that has a schedule picker is loaded. Create a few default templates to ship with the Beta based on the ones that come with version 2. Servicing Menu is now the list of templates marked to show on the menu. Add a bunch of pages to the user's guide. Set up a file with the default templates and copy it to the target computer during installation. Add a routine to copy the default templates into new portfolios that are created. Set the program up as a Beta. Make a file association with the .mlp3 extension. Test the installer. Deploy to the web. Update the website.
2017-05-12 Testing in the obfuscated version of the program to clear out any errors related to problems in the obfuscator in preparation for a Beta release on Monday.
2017-05-08 through 2017-05-11 Participated in NoteVision 2017. Presented version 3 changes and new capabilities. A really amazing opportunity. Everyone who uses Moneylender is going to benefit significantly from what I picked up at that conference.
2017-05-05 Added borrowers to the settings tab, and coded the routines for creating, editing, switching primary. Created a window for editing lender connections to loans. Tested the obfuscation process to see if there would be any trouble prepping the application for presentation at NoteVision 2017. Added code to all adding, editing, deleting and switching primary for the lenders on a loan. Tested along with testing a couple other parts of the program.
2017-05-04 Added routines to test for irregular period at the beginning of scheduled interest loans and add or substitute daily interest accordingly. Revise the Payment details report code since the last round of changes to the reporting system. Testing and reviewing various sample loans for potential problems. Adding code to view and manage the borrowers and lenders associated with a loan.
2017-05-03 Allow dropping files onto the attachments panel to attach them to the loan. Testing and debugging the note editing. Found a dirty bug where text stored in Unicode format with the max number of characters would get abandoned. Most text is ASCII, so this hadn't come up yet. That took a while to figure out! Work over the import template from MLP2 process since the last round of template code changes. Fix the rounded rectangles on PDFs from templates. Found bug where late fees aren't getting picked up if partial calculation starts at some points between cycles, fixed it. Revised all routines in the loan details panel that edit records so the recalculation date is the lesser of the original date of the edited record or the revised date.
2017-05-02 Test the notes and attachments panels. Include late fee settings in the MLP2 import process. Adding and exporting attachments works. Converting stored statement history from MLP2 to PDF attachments in MLP3 is working. Create a quicknote edit page. Add "pop-up reminder" field to record. Notes coming from MLP2 are set with reminders on if they have a future date.
2017-05-01 Update PDFSharp references for generating PDFs from templates. Migrate Moneylender 2's stored template tag settings decompression routines. Add routines to save templates to PDF attachments. Add file attachment record type and code to read/write an arbitrary amount of binary data for the attachment. Test the import from v2 routine for copying in Notes and attaching pdfs for historic templates. Add tabs to the Loan Details Panel for notes and attachments. Add code for managing attachments.
2017-04-28 Added quicknote records to Moneylender 3's file structure. Added import routine to pull notes from Moneylender 2 into Moneylender 3. Started adding routine to convert saved statements to PDF attachments in MLP3.
2017-04-27 Importing payoff penalty settings from MLP2 is written now. Custom fields import from MLP2 is written. Importing third party fees as either fees or escrow settings per user configuration is written (making a couple assumptions about how users have entered their escrow charges in Moneylender 2).
2017-04-26 Testing the Portfolio Settings dialog's custom fields management. Testing the revised import routines. A lot of testing and debugging on the custom field interface on the portfolio settings dialog, and it's working and saving the custom settings nicely. Finished out some of the routines that import from Moneylender 2 that needed to be completed.
2017-04-25 Added routines to the portfolio structure to simplify reading and writing custom values. Added option to set the height of the textbox to create when adding controls for setting custom values on records. Started binding the portfolio settings dialog to the custom settings on the viewmodel. Lots of testing and debugging on a new routine to compress/reindex a portfolio file. Shaves about 40% of the time off the compress and reindex processes. The processes run when the file structure changes or the portfolio isn't properly closed. It happens to me all the time during debugging, and it'll happen occasionally during the normal use of Moneylender 3, and will happen occasionally when updates come out that change the structure of the file. Works pretty nicely now. :)
2017-04-24 Revised the "import from MLP2" routine to supply all upgradeable data for the loan records. Added structure for housing custom information in association with any type of record. Added the custom field lists to the Portfolio Settings object. Added "viewmodel" code for managing the custom fields. Started adding in the UI components to manage the custom fields in the portfolio.
2017-04-21 Rewrite the file structure to separate the records in the database from the assigned record type ids. Rewrite the record upgrade routine to automatically assign a new id to new templates. Rewrite the file maintenance process to upgrade templates in-place and manage indexes simultaneously. All these edits will cut the file management time when opening portfolios after a program update by 80% to 99%.
2017-04-20 Did some work with printing checks for principal disbursals. Created a print button for use around the application. Debugging in various loan calculations.
2017-04-19 Added routine to generate CSV files from reports. Tweaked the auto-selection behavior on large textboxes. Clean up on the edit Loan Dialog and the Interest setting dialog. Testing creating amortized loan with new wizard. Debugging scheduled interest on amortized loans. Started laying the groundwork for calculating the irregular interest at the beginning of a loan with interest on the payment schedule - ADB (Avg Daily Bal), Daily Interest, and interest on its own schedule don't have this requirement.
2017-04-18 Built the first three steps of the new Amortized Loan Wizard. Started testing and debugging the routines on those pages.
2017-04-17 Completed coding and testing of the template designer snapping. Printing using newer WPF is drawing pages. Disabled Print and Copy buttons on the preview window. Successfully test printing a payoff quote template.
2017-04-14 Continue revision of the templating system. Move all the measurements to density-pixels, which conversions to Inches or Millimeters where displayed to the user. Properly initialize the tag list when embedding tags into textboxes. Migrate printing to WPF FixedDocument rendering from GDI+ graphics drawing. Roughed in the template designer snapping code.
2017-04-13 Revise the templating system in conjunction with the payoff quotes. Clean up various parts of the user interface.
2017-04-12 When a portfolio is opened, loans that don't require a balance calculation will run a simpler refresh routine that updates the values that could have changed without the user adding any records to the loan. Added "CurrentDueDate" to loan record to compliment the "PaidThrough" and "NextPaymentDue" values. Improved the system status feedback when a portfolio is undergoing a record format upgrade (usually takes a while if there are lots of loans - knowing it's working and how long it'll take is reassuring). Prevent clicking on New or Open portfolio while a portfolio being opened is performing file maintenance.
2017-04-07 Added tags for Payoff values to the template system along with a Payoff Quote template type. Created a placeholder payoff quote. When a payoff is generated in the payoff calculator, the user can forward that payoff to the template system to send/print the payoff quote to the borrower. Print template system selects the first template by default.
2017-04-06 When closing, the window closes immediately and the portfolio is closed asynchronously so the user does not think the program did not close when the X is clicked. Payoff Calculator can calculate payoff quotes.

Still Reading?!?! Check out the Moneylender 2 changelog.

Demo & Buy The Powerful Moneylender Loan Software