Skip to main content

Release Notes Archive

 Version 2023-3.03 

 Summary

This release includes a number of requested improvements, support for the Catalan language, as well as several important bug fixes.

 New Features
  • Added Catalan as a new supported language.
  • The Payments list now allows for filtering by date, client, payment method and invoice tags.
  • The price field for invoices, quotes and recurring invoices can now accept a negative value, as long as the entire document total is greater than zero. This allows you to enter a custom discount as an ad-hoc line item.
  • Support of HTML tags in invoice and quote Footer and Terms fields. In the 2023-3.0 release, we removed support for HTML and JS in the Terms and Footer fields due to an XSS scripting vulnerability. We have added back support of basic HTML tags now, but will continue to disallow JS or jQuery tags.
  • Added an About FusionInvoice page on System Settings, which shows our license agreement and 3rd party libraries used.
  • Improved the visual display of new system notifications by animating (shaking) the bell icon in the titlebar area.
  • The default Invoice and Quote template is now selectable according to the company profile. (Set within System Settings -> Company Profiles)
  • Previously, all Quote and Invoice email bodies would start with \"Hi contact_name\" before the actual body of the email. Removed this.
  • PayPal checkout update. Some users reported a PayPal warning that their integration was in need of updating, when their customers clicked the Pay Now button from the public invoice link. The libraries used have been updated.
  • Within the Time Tracking add-on you could previously send your time billing entries to invoices that were in a Draft or Sent status. A new configuration option has been added to Time Tracking that allows you to specify which invoice status you want to allow when sending time billing entries to invoices.
 Bugs Fixed
  • Entering an invoice or quote line item that had 4 or 5 digits before the decimal point, then saving the invoice, could cause a display issue that would show the line item quantity as blank. Fixed.
  • When entering a new client record and adding a tag, then saving, the tag would display twice on the client view. Fixed.
  • When entering a new invoice and changing the currency from the default to Euro, then adding a line item, the line item\'s price field would get set to blank.
  • After invoice currency had been changed and saved as Euro (not the default currency) and changing another field, like summary, then re-saving, invoice calculations would be incorrect. Fixed.
  • On the Invoice list page of the Client view, clicking the Options record menu could display the context menu partially blocked. Fixed.
  • When adding a new invoice (or Quote) line item and checking the box for "Save item as lookup", if the quantity for the line item was greater than 1, the quantity would be reset to 1 after saving the invoice or quote. Fixed.
  • On invoice or quote line item entry, sometimes the warning "Price cannot be zero/empty" would display when it shouldn't. Fixed.
  • The Client Statement report could result in a 500 error when running the report for a specific client and selecting a specific invoice status. Fixed.
  • Running the Revenue by Client report, while selecting a specific Company Profile, would yield a SQL exception error. Fixed.
  • The system setting value for Number of Decimals for Quantities and Amounts was not strictly adhered to on Invoice line items. Fixed.
  • Custom fields on the Client table, of type Image and Tags, could cause an error on saving of a new client entry if the values for these were also entered on a new client record. Fixed.
  • Enabling Captcha on login could cause an inability to login. Fixed.
  • Entering a comma instead of a decimal point in the quote or invoice line item Qty field could result in an incorrect error message about the quantity being less than zero. If this happens now, the comma is replaced with a decimal point and there is no error shown.
  • Attempting to add a new client on-the-fly, when creating a new invoice or recurring invoice would appear to do nothing. Fixed.
  • Square Payment Gateway issues related to PHP versions above 8.11. Fixed.
  • When the number of line items on an invoice or quote were more than 1 and a line item validation error was displayed, it would display once per line item. Fixed.
  • You could delete an expense vendor that had existing expense records, causing orphaned expense records. Fixed. It now prompts that this is not allowed.
  • Duplicate Expense Vendor records could be created if you entered a new expense for an existing vendor, that had an Expense Category value defined, but you changed the category on the expense record to something different. Fixed.
  • The Tag Cleanup utility was not working properly for Quotes and could create orphaned tag entries that were assigned only to quotes and not invoices, clients or recurring invoices. Fixed.
Version 2023-3.02 

 Summary

This is a minor maintenance release that addresses a number of reported bugs.

 Bugs Fixed
  • An error was reported affecting phone number formats while saving client records. Fixed.
  • An error was reported when enabling Captcha on login that would incorrectly fail the login attempt without displaying the Captch challenge. Fixed.
Version 2023-3.0 

 Summary

This is a significant update in terms of new features and bug fixes. Some of the more notable new features include adding support for Square as a payment processor, changing the storage method of attachments from database to file based, adding Stripe support for payment methods other than credit cards, many VAT improvements, and a new data seeder for easier testing.

Please note that during this upgrade all of your system attachments will be exported from your database to your file system. This can take some time, depending on the number and size of your attachments. Also, because this is a crucial step in the upgrade, it is recommended that you make a complete backup of both your database AND your site files before beginning the upgrade process.

 New Features
  • Added Square as a new payment processor option.
  • File storage has been changed from stored in the database to being stored on disk. As part of this update, all files stored in the DB will be exported to disk.
  • Quotes, invoices and Recurring Invoices will now prompt that you have unsaved data if you have edited any values and attempt to navigate away from the document/page without having saved the changes.
  • For Stripe payment transactions, removed the limitation of Payment Type = Card, so that other payment methods may be used.
  • Add a new Utilities function called Data Seeder. This allows you to create mock data for testing. It can generate data for: clients, quotes, invoices, recurring invoices, expenses, and tasks.
  • Changed the menu item for Credit Memos to read “Edit Applied Credit Memo” instead of “Edit Applied Invoice”.
  • Tags are now available in the Quotes module and can be filtered by in the Quotes list.
  • Custom Fields - Added the ability to set a default value for new entries to each custom field type except for images.
  • API improvements for list endpoints: Client, Invoices, Quotes, and Payments, we added the ability to filter the list by custom field values (previously filtering was only possible with fields native to the base table). Example: To filter on a quotes custom field that is the second custom field for industry type, our API call would look something like this:
    https://myfusioninvoice/api/v1/quotes?include_custom_fields=1&custom->column_1=Laundry
  • Improved the UI of the System and Mail logs viewers and added search capabilities.
  • Added client VAT ID to Quotes.
  • Added VAT information to company profiles - to show on invoices and quotes.
  • Users may now add notes and create tasks on inactive clients.
  • Added bulk record action functionality to recurring invoices.
  • Added month to date, quarter to date, year to date to all date range pickers.
  • User’s last Active date and time, which takes the last activity from the timeline, was added to the Users view.
  • Payment receipts can now be sent to contacts using the “default to” option.
  • Added styling to make invoice and quote numbers more prominent on the edit screen.
  • A new post-login warning has been added for FusionInvoice databases that contain database prefixes, stating that support for db prefixes will be removed with the next major release.
  • For all reports that allow filtering by a company profile, when a specific company profile is selected, the report will display the company profile logo and company name as part of the report header area.
  • To avoid hacking attempts that could degrade system performance, a throttling limit of 50 requests per IP address per minute was added.
  • Added a “PAID” watermark on the default invoice template for paid invoices, and an “APPLIED” watermark was added to credit memos that have been applied.
  • Added support of querying by custom field values to all API list endpoints.
  • Resolved a potential race-case situation in invoice numbering when entering invoices very rapidly (via API).
  • Some customers reported a PayPal API warning on checkout (invoice payment) stating that the integration must be upgraded. We have changed to a new PayPal driver and processing library to bring PayPal payment processing inline with their current requirements.
  • Tax shown on customer statements has been improved to now show the appropriate individual tax charged and can include both taxes charged per invoice, whereas previously it showed only the total of the taxes.
 Bugs Fixed
  • Invoice price entry could incorrectly display “Invalid price. Amount must be greater than 0” on initial entry. Fixed.
  • The invoice action Print and mark as mailed was not working properly. Fixed.
  • Tasks module, creating a new task and setting a due date will not save the due date if the date format was using the d-m-Y format. Fixed.
  • The tool tip popup on some notes fields could cause a flickering effect and not display properly. Fixed.
  • The Utilities, Database Backup feature could fail to execute on some installations. Fixed.
  • Credit Memo editing issue - If you change system settings to allow editing invoices of all 3 types (draft, sent, paid), the option for Edit Applied Invoice appears, and when you click the option, the CM becomes available to edit for one or two seconds and then the paid overlay comes back and does not allow edit. Fixed.
  • If a Credit Memo had been applied, the menu option “Change to Draft” should not be shown. Fixed.
  • When entering expenses, if an expense vendor is chosen and a category is already present, the category resets. Fixed.
  • Time Tracking - With the new floating time tracking widget, some users reported that stopping the timer would not always have the desired effect. Fixed.
  • Fixed language translation issues related to certain HTML tags, like < strong > and < del >.
  • Patched a potential Cross-site scripting (XSS) vulnerability in previous versions.
  • On the Expenses list, longer descriptions could be visually truncated. Now, when a description that is longer than the display area allows, a button with a magnifying glass is shown, which allows you to view the entire description.
  • A breadcrumb issue could be observed if your FI root folder was in a subdirectory, such as mydomain.com/myfusioninvoice. A click on the home breadcrumb could yield a 404.
  • Non-English installations could incorrectly suppress the invoice expiration.
  • Fixed an English wording problem at the top of the public invoice view for invoices that had expiring public links.
  • Fixed reply-to address on the email tab in System Settings.
  • The Mail From field on the email tab is now respected - previously it came from the authenticated user.
  • The Discount amount field is now shown on quotes.
  • Fixed a bug where double clicking on tags would open a duplicate modal window and would make the main page appear to be locked.
  • Fixed an issue where the line item description could get erased when quantity was changed.
  • If a user has the update invoice (or quote) permission, they should now be allowed to delete a line item.
  • Fixed an issue where, if a user clicked outside of the important note modal window, the window would disappear, but the user would be unable to interact with the client view.
  • Fixed a chart issue on the dashboard that could result in error “Undefined Array Key 13 on Dashboard Refresh”.
  • Attempting to send a test email is not prevented, if the email sending method is empty.
  • Quote line items no longer allow a line item discount more than 99.99%.
  • The Tax Summary report would display an error if the option to “Exclude Unpaid Invoices” was set to Yes.
  • The DOMPDF 1.x component was upgrade to 2.x in order to address a security vulnerability reported in the 1.x library.
  • The dashboard totals were using the server’s timezone, rather than the browser’s. Fixed.
  • Invoices and quotes could show email action options when the system settings for email were not fully filled in and operational. Fixed.
  • Timeline entries for payments could show a credit card convenience fee, even if the convenience fee feature was disabled. Fixed.
  • Some API endpoints did not respect the pagination y/n setting. When set to yes, they could respond with an error. Fixed.
  • If a client’s default email address was empty, but their record had a contact entry that was set to be included in their default mail to value, the sending of automatic system emails, like overdue invoices, could fail. Fixed.
  • Attempting to Apply a Credit Memo from the client view did not work properly after clicking the submit button. Fixed.
  • The Client Add and Update API endpoints did not properly support custom fields. Fixed.
  • Moved PDF temp file storage to the ./storage/temp folder, as the previous folder (./assets) was not always writable.
  • Adding a new invoice line item with a non-integer quantity value would initially calculate the line total based on the integer portion of the quantity only. Once the invoice was saved, this was corrected. Fixed.
  • The Quote KPI cards could display inaccurate totals if the dashboard date range was set to today, yesterday, last 7 days, last 30 days, first quarter, second quarter, third quarter, or fourth quarter. Fixed.
  • The data exporter and importer did not always handle special characters properly for languages other than English. Fixed.
  • The Tax Summary report could return No Records Found incorrectly if the setting for Exclude Unpaid Invoices was set to No. Fixed.
  • The automatic sending of Overdue Invoice Reminder emails could attach two PDFs if the setting for Invoice emails had the Attach PDF setting set to Yes and the Overdue Invoice Reminder setting for Attach PDF was also set to Yes. Fixed.
  • Manually sending an overdue invoice email reminder did not respect the setting for Attach PDF. Fixed.
  • Quote line item fields and headers could display misaligned in certain situations. Fixed.
Version 2023-2.3 

 Summary

This is primarily a maintenance release that addresses a potential login issue after upgrading to the previous release. There are a few other minor bug fixes and one minor feature addition.

 New Features
  • On invoices, quotes and recurring invoices, a new “Add” button is displayed at the bottom of the line items list. This helps when the document has many line items and removes the need to have to scroll back to the top of the list each time you need to add a new line item.
 Bugs Fixed
  • Fixed a critical login issue where, if upgrading users were not upgrading from version 2023-1.0, a 500 server error would be shown.
  • Fixed item column alignment issues, if line item discounts is enabled, on Invoices, quotes and recurring invoices.
  • Credit Memos may not longer edited after they have been applied to an invoice.
Version 2023-2.2 

 Summary

This release is a combination of many new features and several bug fixes. Many improvements to system configurations for being able to modify invoices in various statuses. In addition, many usability improvements to to the Time Tracking add-on.

 New Features
  • Added a User Profile settings view for all users (standard and admin), which is available by clicking the user’s avatar (initials) in the upper left of the main view. This allows for changing color scheme, password, etc.
  • When a client record was visited and the visit was listed in the Recently Viewed list (lower left section of the nav bar), its action state was also recorded in the shortcut link (view or edit). This has been changed to only include View in the clickable link.
  • Added a new System Setting for Default Client Type (Lead, Prospect, Customer, etc.)
  • To improve the distinction between a user specific dashboard and system default dashboard, the Dashboards tab has been removed from the Users view and the System Settings view and moved to two new menu items, under Configuration -> Dashboards, User Specific Dashboards and System Default Dashboard. Note: The User Specific dashboard will always take precedence, if defined, over the system dashboard.
  • Added new system settings that allow for the ability to edit invoices in Sent status and invoices that have been paid.
    • On the Invoices page of System Settings, there is a new setting, “Allow editing of invoices in status: “
      • The default is Draft
      • You may also change the setting to: “Draft and Sent“ or “Draft, Sent and Paid“
  • Added the ability to view and change your FI license key from System page of System Settings.
  • Changed logic for invoice deletion. If the last issued invoice number was deleted, it would decrement the invoice number. It will no longer do that.
  • Added a new System Setting for Unpaid and Overdue invoices - Include Draft invoices in Unpaid and Overdue groupings.
  • Invoice cancellations now show on timelines
  • Added “Invoice” and “Invoice Number” to the Invoice Timeline view.
  • Changing an invoice status to draft is now logged in the timeline
  • The UI was confusing if a Draft invoice had been paid. The Draft badge would not display. It now does.
  • Improved UI for Child Accounts and Invoices Paid By.
  • Added “Viewed” as a filterable option for the Invoices list.
  • The ability to send an Overdue Invoice reminder was not available if an invoice was in Draft status. This is now available, if you have the System Setting on for Include Draft Invoices in Unpaid and Overdue Lists.
  • Added the ability to manually, instantly create a live invoice from a Recurring Invoice template. For instance, if you create a recurring invoice to start recurring today, it will not recur until the daily cron job runs (possibly tomorrow). This feature allows you to create it immediately.
  • Improved formatting of the payment receipt
  • Data Importer - Removed Document Number Schemes from Invoices and Quotes
  • Many UI, example, and functionality improvements to the data Importers
  • Added tool tips to all Utility menu items on hover of the menu icon
  • The Force HTTPS feature in System Settings has been removed. This could cause conflicts when there was a problem with SSL certificates. It is safer and more appropriate to implement this at a server level.
  • Added animated “Processing…” display when running Recalculate Invoices and Quotes to show in-progress.
  • Improvements to header area display of new version releases
  • New users now inherit all dashboard settings from the system dashboard.
  • Added support for updating custom fields of type Date and DateTime via the API.
  • Added duplicate tag cleanups functionality to the Tag Cleanups utility.
  • Added more filters to the Invoices by Client report.
  • Added more filters to the Client Statement report.
  • Added an option to show Invoice Detail on the Invoices by Client report.
  • Small formatting change to invoices and quotes Terms and Conditions to improve readability.
  • Added prompt for “No records found” on all system reports if the report selections yielded no results.
  • Added the ability to filter by Tags to the Payments Collected report.
  • Add a “+” icon as a shortcut to the hover of all of the left nav menu items for all modules so that you can quickly add a client, invoice, expense, etc. quickly, without having to load the entire module.
  • Added the client name with a link to the header area of an invoice if the status was sent and as such, the invoice was not editable.
  • All Tags lists are now displayed in alphabetical order by default.
  • Added a utility option allowing the name of a tag to be changed.
  • Added 2-digit year as a token option for document number schemes.
  • Improved the UI and overall view of the system log (Utilities, System Log)
  • API Improvements
    • Added search functionality on client listing
    • On client creation, response returns the newly created client object
    • Added invoice attachment functionality on sendEmail endpoint
    • Changed API endpoint for custom fields add from POST to PATCH
  • Time Tracking Add-on, New Features
    • Improved UI
    • Added Preset Tasks. Here you can define the tasks you use over and over on many projects and later apply the list(s) to a new project to save on data entry.
    • Changed colors for paused and running timers.
    • Added floating timers widgets that will stay at the bottom and on top of all other modules to raise awareness of active times, and allow stopping and starting of those timers without having to open the Time Tracking module.
    • Created fav icons for Safari apple-touch-icon png files
 Bugs Fixed
  • When adding a new client, the settings for Child Accounts and 3rd Party Bill Payers would not save.
  • Badges displayed on Client view were incorrect for Parent Accounts and 3rd Party Bill Payer.
  • Expense importer did not work with company profiles properly. Fixed.
  • Importers would fail on blank lines in CSV files. Fixed.
  • Importer could report success on zero records imported. Fixed.
  • Editing a live invoice and changing its status to Cancelled, then editing the invoice and Changing the status to Draft would cause the invoice to show a “Paid” badge. Fixed.
  • Responsive issues with Safari browser, fields not aligning properly on invoices, recurring invoices and quotes. Fixed.
  • Utility menu modal prompts would show “Delete” on the Submit button in some cases, Ie. Recalculate Invoices. Fixed.
  • You could not upload an attachment on a new expense record. Fixed.
  • Any attachments that existed before upgrading to FI 2023-1.0 could cause a timeline display error. Fixed.
  • If you used the bulk delete feature on the Invoices list (checking multiple invoices), it would not refresh the list after it completed. It does now.
  • Client Timezone was not setting properly on new clients when set in System Settings. Fixed.
  • Checking a Task as complete in the Dashboard Widget for Task List would not automatically refresh. Fixed.
  • Dark mode could show on public invoice links if the user who created the invoice had dark mode enabled.
  • The Open Invoice Aging Dashboard widget could cause an error on a new installation, Undefined Array openInvoiceAging. Fixed.
  • Having no Laravel.log file could cause a login error. Fixed.
  • In certain cases the Client Timeline could error with a bad route. Fixed.
  • The Viewed status was not always displayed properly on the Invoices List. Fixed.
  • In certain cases the entity of a tag could be changed unexpectedly. Fixed.
  • Sending (emailing) an invoice that was in a Sent status would cause a reset of the Invoice Date to today’s date. Fixed.
  • Fixed several minor bugs in the sending of Test Emails from System Settings.
  • In creating a new client, if you receive a duplicate client warning and save the new client, the email value entered in the new client record will not be saved. Fixed.
  • Fixed a bug on API applied payments related to convenience charges.
  • Searching within the Tasks module would yield a SQL error. Fixed.
  • If you modify an existing invoice and add or change the line items, the totals area would not always refresh, showing the new total right away. Fixed.
  • Deleting an invoice attachment would yield an error. Fixed.
  • Applying a partial credit memo did not work properly. Fixed.
  • In some cases, an invoice that had been paid in full would still show in the selection list of invoices to be paid when recording a payment. Fixed.
  • After a brand new installation, the dashboard widget that shows “Loading…” on the Task List area runs without stopping.
  • The dashboard widget for Tasks could show an empty dropdown list for the Task Section. Fixed.
Version 2023-1.0 

 Summary

This is a maintenance release, primarily addressing a few reported UI issues with the Time Tracking add-on and improves the overall readability of the timers list. In addition, a new feature was added to all system reports, the ability to output to CSV.

 New Features
  • The Time Tracking timers list would display, initially, in natural order, but after adding a manual timer and saving the list would change to being ordered by date/time descending. This was visually confusing. The list is now always displayed in date/time descending order.
  • The Time Tracking timers list was visually uninspiring. Improved that with a new column that displays a more human friendly date and time based on the current date and time, such as "10 minutes ago" or "2 months ago", etc. Also added color to the new column values, to easily differentiate today's timers from yesterday's and others in the past or future.
  • All system reports now have a new output option, "CSV". This can be a great help when you need to pull data from FusionInvoice into Excel or Google Sheets for further reporting and analysis.
 Bugs Fixed
  • When opening a timer from the timers list and editing the start time, then saving, the total time would be calculated and saved properly, however the start time would be reverted to the original start time.
  • The delete icon in the Time Tracking timers list had a bad icon reference causing it to not be displayed.
  • When manually adding a new timer entry in Time Tracking, if you had a large number of entries in your timers list, the date selector window would not properly float with the list.
  • Resolved a library version incompatibility issue with SendGrid email sending.
  • The Credits and Prepayments report would display a 500 error when run.
Version 2023-1.2 

 Summary

This is a maintenance release, as a follow up to the previous 2023-1.0 and 2023-1.1 releases.

 Bugs Fixed
  • To simplify usage of the new primary and secondary invoice statuses, all paid invoices will be assigned a status of 'sent'. If an invoice status is draft at the time of the payment, it will be changed to 'sent' and a timeline event of the change will be logged.
  • In the Time Tracking add-on, reordering time tracking tasks was not working.
  • In the Time Tracking add-on, attempting to bill tasks that were created before the update to 2023-1.1, result in an empty invoice created, if the new field for Task Description was not filled in.
  • If the new feature for Line Item Discounts was not enabled, adding an invoice or quote line item and saving the invoice/quote could result in the line item not being saved.
  • Increased the area for company name and address information on the default invoice template.
  • Improved consistency of invoice and quote notes visibility on public invoice views, when marked private/not private. This now matches the logic for attachments.
Version 2023-1.1 

 Summary

This is primarily a maintenance release, as a follow up to the previous release. It addresses most of the issues reported. There is one new feature, which adds a VAT Tax ID as a built-in field for the clients table.

There are several vendor file updates within this update, so be sure to follow the normal update steps, which include updating your vendor folder.

 New Features
  • VAT Tax ID field added to the clients table
    • This field is hidden by default, but can be enabled through Configuration -> System Settings -> Taxes, Enable VAT ID Y/N.
    • If enabled, it displays on the client views and is also included in the default invoice and quote templates.
    • If you have custom templates defined, make sure to review the default template to see how the new field is referenced.
 Bugs Fixed
  • Several errors were reported related to language translations other than English. These have been fixed.
  • When attempting to add item lookups “on the fly” during quote or invoice line item entry, by checking the box “Add to item lookups”, there was an issue validating data, which would cause the item to not be added to the item lookups list. No error was displayed, but the error was logged.
  • When viewing the payments list and selecting the Options button, the menu could be cut off if there were less than 3 or 4 payments in the list. This has been fixed.
  • Line item discounts displayed the USD $ currency symbol to indicate a flat discount. This has been changed to a more universal monetary symbol.
  • Line item discount values, when selecting the flat discount method were formatted in standard USD format, where a comma was used for the thousands separator and a dot was used for the decimal indicator. This has been corrected and now follows the format defined by the invoice / system currency.
  • Using a custom field of type “phone number” could fail on validation if the value contained parenthesis or dashes. Fixed.
  • Expense entry allowed users to save a new record without selecting a valid vendor, which could cause a 500 error when displaying the expenses list. The vendor is now required and the list display will no longer error if an empty value for vendor was saved in the past.
  • The invoices list had a responsive issue and when sized too thin, the contents could run over the right container boundary. Fixed.
  • Invoice and quote attachments marked as not-visible could be shown on public invoice views. Fixed.
  • From the public invoice or quote views, the Add Note and Edit Note buttons were not working. Fixed.
  • Google Fonts were being loaded vis fonts.googleapis.com. It was noted that this is a concern for GDPR/DSGVO, in that if not locally integrated, a banner must be displayed. These have been locally integrated.
  • Several languages were displayed incorrectly in the System Settings -> General ‘Select Language’ dropdown list. This has been corrected.
  • When configuring send mail settings and there was a validation error, the error display was not rendered properly. This has been fixed.
Version 2023-1.0 

 Summary

This is our largest release to date. It’s taken nearly a year to complete. We’ve updated the entire UI and upgraded our underlying framework and most of the supporting vendor libraries. In addition to that, we've added hundreds of new and improved features.

 

Here are just a few of the highlights, but please take a few minutes to read the full list. Many of the goodies we've added are bound to save you time, effort and money.

  • The main dashboard has been revamped with a new UI, custom sizing and drag and drop support.
  • Three new business critical widgets: KPI Cards, Open Invoice Aging, and a Sales Chart
  • Tighter and more flexible security settings
  • Improved timeline logging
  • Custom fields can now be flagged as required
  • New light and dark theme support
  • Line item discounts
  • Major task list and notification system improvements
  • Credit card surcharge support
 New Features
  • Core framework and dependencies updated to Laravel 9
  • System wide mobile responsiveness improvements
  • PHP 8.1x is now required
  • MySQL 8.x is now supported
  • Added the ability to add an expiration date for invoice and quote public links for improved security.
  • A new, more modern UI template has been used throughout.
Credit Card Surcharges
  • A new system setting was added to enable an additional charge (by percentage) when a client pays with a credit card, often referred to as a surcharge or convenience fee.
  • The fee may also be enabled or disabled within the individual Invoice Options area.
Line Item Discounts
  • May be used on quotes or invoices
  • May be enabled or disabled within System Settings.
Dashboard Improvements
  • Widgets now support drag and drop as well as sizing directly from the dashboard.
  • An all new ‘Sales Chart’ widget was added to graph your invoice and payment information.
  • The cards for invoice summary, quotes summary, etc. have been replaced with the KPI Cards widget, along with improved visuals.
  • A new widget, Open Invoice Aging, give you a better grasp on your accounts receivable and how far out they are.
  • Improved position and visibility of the dashboard-wide label and field for Dashboard Date Range.
  • All widgets now have an expand/contract button. This new setting is persisted on a dashboard refresh.
  • Removed the option to ‘Display Profile Image’ in the dashboard settings, as it was not used.
Invoicing Improvements
  • Added line item discounting, by percentage or flat amounts.
  • Invoice statuses have changed substantially
    • There are now 3 primary statuses:
      • Draft, Sent and Canceled
    • There are now many secondary statuses, which are subordinate to the primary ones:
      • Emailed, Mailed, Viewed, Paid, Unpaid, Applied (for Credit Memos), overdue
    • Dates mailed and emailed are now tracked.
    • When an invoice is mailed or emailed, that sets the primary status of “Sent”.
    • Invoices may only be edited when they are in ‘Draft’ status.
    • The invoice header fields of Summary and Tags may be edited, even if an invoice has a ‘Sent’ status.
  • A system setting for ‘Allow Invoice Deletion’ was added to improve security. Remember, canceling an invoice is most often a better choice than deleting. It sets the invoice to a zero balance but retains the information for reference should you ever need it.
  • Line item discounts are now supported. You may discount by percentage or flat dollar amount.
  • An invoice with payments applied can no longer be canceled.
  • An invoice with a Sent status can no longer be edited.
  • In the event that you need to change an invoice status from Sent or Canceled back to Draft, to make it editable, there is a menu option under the ‘Other’ button called ‘Change to Draft’. This action is logged in the timeline for security reasons.
  • Overdue invoice reminders will no longer be sent to client that has an Inactive flag set to yes.
  • Moved the option for ‘Always Attach PDF’ to the System Settings -> Email area for Invoice email templates.
  • You can no longer manually change an invoice status to Overdue. This is now a secondary statusand is maintained by the system, according to the due date of the invoice.
  • Removed the “Not Viewed” status/badge. (redundant)
  • Added (back) the ability to add a client on-the-fly when creating a new invoice.
  • Added the ability to quickly filter the invoices list by client.
  • Added the ability to filter the invoices list by date range.
  • Added a total field, by page, to the bottom area of the invoices list.
  • Added a method for persisting changes to the line item description, if the user enters a value different than the value that was set from the item lookup description.
  • Added the ability to create a recurring invoice from a standard invoice.
  • The invoices list now allows you to show or hide the columns you require.
  • Creating a new invoice, but entering no line items and then backing out, will now remove the invoice record instead of creating a blank invoice.
  • Added a timeline view to the Invoice view, under the ‘Other’ button. This show all of the actions that have taken place for a particular invoice within a modal (pop-up) window.
  • Bootstrap badges displaying the invoice’s primary and secondary statuses are now displayed at the top of the invoice view.
  • Improved the visual indicator that designates Credit Memos.
  • Added a ‘Cancel Invoice’ option to the invoices list record ‘Options’ menu.
  • If Credit Card Surcharge is turned on and an invoice was paid through the public invoice link, the surcharge (convenience fee) amount is shown within the totals area of the invoice view.
  • Entry of a numeric only value in the Product field would cause an error. (Alphanumeric was fine). Fixed.
  • Added ‘Other’ button actions for ‘Mark as Mailed’ and ‘Unmark as Mailed’.
  • Added a new action to the ‘Other’ button for ‘Print and Mark as Mailed’ to reduce clicks.
  • If you have defined custom fields for the invoice line items table, the ‘Copy Invoice’ function would not also copy the values from the custom fields. Fixed.
Quote Improvements
  • Line item discounts are now supported. You may discount by percentage or flat dollar amount.
  • A notification is created when a quote is approved or rejected.
  • Moved the option for ‘Always Attach PDF’ to the System Settings -> Email area for Quote email templates.
  • Added (back) the ability to add a client on-the-fly when creating a new quote.
  • Added the ability to quickly filter the quotes list by client.
  • Added the ability to filter the quotes list by date range.
  • Added a total field, by page, to the bottom area of the quotes list.
  • The quotes list now allows you to show or hide the columns you require.
  • Entry of a numeric only value in the Product field would cause an error. (Alphanumeric was fine). Fixed.
Recurring Invoice Improvements
  • Clients marked as Inactive will no longer be included in the recurring invoice daily task generation, even if the invoice stop date is empty or set to a future date.
  • Added the ability to quickly filter the recurring invoices list by client.
  • Added the ability to filter the recurring invoices list by Next Date range.
  • Added a total field, by page, to the bottom area of the recurring invoices list.
  • Added the ability to create a recurring invoice from a standard invoice.
  • The recurring invoices list now allows you to show or hide the columns you require.
  • Entry of a numeric only value in the Product field would cause an error. (Alphanumeric was fine). Fixed.
Email Templates - A Complete Revamp
  • Custom HTML email templates can now be added and maintained easily.
  • The ability to toggle from preview to code editing allows for quick iterative testing.
Item Lookups
  • Added a new field for ‘Default Quantity’ so that when the item is added to an invoice or quote, that quantity will be the default starting value.
Task List Improvements
  • A new ‘Complete with Notes’ option that lets you complete a task with completion notes. If the task was assigned to you by another user, the completion notes are sent to that user in the form of a system notification. (The standard ‘Complete’ button is still there too, if you want to completed a task but don’t need to add completion notes.)
  • Recurring Tasks are now supported
  • Task list filtering has been improved
  • Task list dates now show day-wise text where appropriate. Ie. “Yesterday”, “Tomorrow”, etc.
  • The client name is now shown in the task module’s tasks list, if a task is associate with a client.
  • When a task that you assigned to another FI user has been completed, a notification entry is created automatically, letting you know that the task was complete.
  • A ctrl + click on the completion checkbox of a task in the task list widget, will complete the task and prompt you for completion notes.
  • When a task that was a assigned a due date in the future reaches its due date, you will receive a notification.
  • Huge performance improvements on the Task List widget for users with thousands of tasks.
  • Any filters set on the dashboard Task List widget now persist through a dashboard refresh.
  • FI admins can now close or reopen any task within the task list system.
  • When a task is edited and saved, within the Tasks module, it now returns to view mode to maintain UX consistency.
  • Completed Date was added to the Tasks list view and is a sortable column.
  • Within the task details view, the client name is now hyperlinked to the client record view.
  • The task list dashboard widget now shows a loading graphic when it is rendering the widget entries.
  • Assigning a task from one user to another will now only allow the reassignment to active users.
  • Searching tasks from the Task List widget now displays a Loading… graphic until the results are rendered.
  • A new coloring scheme was added to help visually identify tasks that are overdue, due today, coming due soon, etc.
  • Task completions and notes (if added) are now displayed in the timeline.
  • The task list shown within a clients view no longer displays a column for the client name.
Notifications System Improvements
  • A new button was added that allows you to Clear All notifications.
  • Added a new Notification Type field.
  • When opening a task from the Notifications list, it now opens in edit mode.
  • Notifications are, well, more noticeable now, with improved contrast and larger size.
Timeline Improvements
  • Added a new search/filter by event type.
  • Automatic Overdue invoice reminder emails are now logged to the timeline.
  • Reduced the number of entries when adding notes, especially when adding tags to notes.
  • Adding or removing tags are now a timeline logged event.
  • User set filters are persisted after a dashboard refresh.
  • Deleted payments are now logged on the timeline.
  • Added safeguards that prevent incomplete or invalid HTML content, pasted into a note, causing the timeline view to fail.
  • The client name is now shown in the timeline when a client is deleted.
  • Attachments are now shown and hyperlinked in the timeline, if the user has the appropriate system privileges.
Payment Changes
  • Added an edit button that allows for editing payment notes.
  • Added the ability to generate a payment receipt and PDF.
  • The payment processor Stripe has updated their payments API, which required some changes on our end to support it.
Utilities Menu Changes
  • A new Clear Cache function was added
  • Tag Cleanup now includes tags set on invoices and recurring invoices.
  • Attempting to view the system log (laravel.log), when one does not exist, no longer creates an error.
Client Module Improvements
  • Optional fields - A new button has been added to let you customize the fields that are displayed on the client view.
  • The ‘Unique Name’ field has been removed.
  • A new duplicate check has been added when you save a new client record. It displays all client records that are similar to the one that you just entered and allows you to continue and save the new client or view one of the matching, existing duplicate records.
  • If a client has a parent account or a 3rd party bill payer account, either of those accounts may be set as their default email, when sending automated client emails (invoices, payment receipts, etc.)
  • A button was added to the client view to run the Client Statement report for this client only.
  • Added an option to manually send an Upcoming Payment Due Reminder email.
  • The settings area for Client Center Login is more prominently displayed.
  • Added a Lead Source field to the clients view.
  • Added a Lead Source Notes field to the clients view.
  • Added a General Notes field to the clients view.
  • Added a field Social Media URL to the clients view.
  • Added a new client type of ‘Other’, to be used for companies that perhaps don’t fit the normal client relationship, but are valuable to have in your clients list. This could be a corporate parent or a 3rd party bill payer.
Parent / Child Client Accounts
  • In order to allow a client record to have child accounts, the setting for Allow Child Accounts must be set to Yes. This also defines the client record as a parent account and adds the account to the drop-down list of Parent accounts for selection.
  • A child account may designate in their settings that the parent account should receive all automated system emails (invoices, payment receipts, overdue notices, etc.)
  • When a parent account lists the child accounts belonging to it, any inactive client accounts now show with a strikethrough through their name.
Support for third party bill payers
  • These function similar to parent accounts, where a client account can be designated as a ‘3rd Party Bill Payer’. When set to yes, they can be selected on another client account as their 3rd party bill payer.
  • A related account may designate in their settings that the 3rd party bill payer should receive all automated system emails (invoices, payment receipts, overdue notices, etc.)
Report Improvements
  • Mobile responsiveness has been greatly improved on all reports.
  • The Revenue by Client was only displaying the most recent payment. Fixed.
  • A sort by option was added to the Revenue by Client report.
  • Minor layout improvements to the Expense List report.
  • Minor layout improvements to the Recurring Invoice List report.
  • The Expense List report has new Sort by and Group by options.
  • The Tax Summary report may now be run based on invoice date or payment date.
  • Added two new filter options to the Client Statement report, invoice status and invoice tags.
  • Added two new filter options to the Invoice by Client report, invoice status and invoice tags.
  • A new report was created, Credits and Prepayments.
  • Fixed a bug in the Tax Summary, if filtered by company profile, it had no effect on the expenses section of the report.
  • The Payments Collected report would show duplicate entries when one payment was applied to multiple invoices. Fixed.
  • The Item Sales report Quantity column totals were incorrect. Fixed.
  • Added a new Display Order option to the Item Sales report.
Custom Field Improvements
  • Displaying custom fields of type ‘Image’ have been improved. Use this notation on your blade file: {!! $invoice->customField('my_custom_field_label_name') !!}
  • Custom fields may now be defined as ‘Required’. If set to yes, the validation on record save will require that the field have a value and will display an appropriate error if it does not, preventing the save process from completing until a value is entered.
Currency Handling Improvements
  • Improved identification of the system default currency in the Currencies list.
  • Added a validation on save of a currency record which will not allow the decimal and thousands separator to be the same symbol.
Data Importer Improvements
  • The step by step import process is much more intuitive.
  • Example CSV files are now provided.
  • Completion statistics (records imported) are now shown at the end of the process.
  • When failures happen due to improper data, they are explained in detail.
Expenses Improvements
  • Added the vendor name field to the Expenses list.
  • Added a field for Default Expense Category to the Expense Vendor view.
  • Added fields: Address, Phone, Email, Contact names, Notes to the Expense Vendor view.
Time Tracking Add-On Improvements
  • A new ‘Description’ field was added to time tracking entries.
  • When a time tracking entry is billed (invoice is created), the ‘Task’ field is used at the invoice line item ‘Product’ and the ‘Description’ field maps to the line item’s ‘Description’ field.
  • You can no longer bill time tracking entries to an invoice that has been paid.
  • Added a new and improved control for client selection.
General UI Improvements
  • Added support for drag and drop adding of attachments.
  • Your company logo is now displayed on the main login page.
  • Added support for light or dark themes.
  • Deletion warning prompts have been changed to use the native Bootstrap library instead of Alertify.JS.
  • The control used for Lookup Item selection on invoices, as well as client selection, etc. has been improved to allow selection of the internal textbox value for cut and paste operations.
  • Added persistent sort order saving by individual FI user for all modules, Client, Invoices, Quotes, Recurring Invoices, Expenses, etc.
  • Improved UI for the System Settings -> General Settings view to improve grouping and overall readability.
  • Added a warning re: database impact when attaching large files.
  • Added a titlebar color selector added to distinguish between multiple companies or installations.
  • Breadcrumbs were added to the top of all pages.
  • To avoid excessively large log files, the system log now truncated after it exceeds 1MB in size.
  • Tooltips will display, with an explanation of the field and its intended usage, when you hover over the field’s label. These are show on most settings areas and wherever a field’s usage may not be abundantly clear.
  • Added visual icons to every System Setting menu item.
  • Moved several utility specific options from the System Settings view into the Utilities menu, specifically - Tag Cleanup, PDF Cleanup, Download DB Backup. Recalculate Invoices, Recalculate Quotes.
  • The Logout button has been given a little more breathing room and a new look to avoid it being confused with its closest neighbor, the System settings button.
  • Deleting a client, invoice or quote will now automatically remove the deleted item from the MRU list.
  • If there was a failure during the daily task run (CRON job) , you will see a notification of the failure in the Notifications area.
Version 2022-1.2 

 Summary

This is a maintenance release, as a follow up to the previous 2022-1.0 and 2022-1.1 releases.

 Bugs Fixed
  • To simplify usage of the new primary and secondary invoice statuses, all paid invoices will be assigned a status of 'sent'. If an invoice status is draft at the time of the payment, it will be changed to 'sent' and a timeline event of the change will be logged.
  • In the Time Tracking add-on, reordering time tracking tasks was not working.
  • In the Time Tracking add-on, attempting to bill tasks that were created before the update to 2022-1.1, result in an empty invoice created, if the new field for Task Description was not filled in.
  • If the new feature for Line Item Discounts was not enabled, adding an invoice or quote line item and saving the invoice/quote could result in the line item not being saved.
  • Increased the area for company name and address information on the default invoice template.
  • Improved consistency of invoice and quote notes visibility on public invoice views, when marked private/not private. This now matches the logic for attachments.
Version 2022-1.1 

 Summary

This is primarily a maintenance release, as a follow up to the previous release. It addresses most of the issues reported. There is one new feature, which adds a VAT Tax ID as a built-in field for the clients table.

There are several vendor file updates within this update, so be sure to follow the normal update steps, which include updating your vendor folder.

 New Features
  • VAT Tax ID field added to the clients table
    • This field is hidden by default, but can be enabled through Configuration -> System Settings -> Taxes, Enable VAT ID Y/N.
    • If enabled, it displays on the client views and is also included in the default invoice and quote templates.
    • If you have custom templates defined, make sure to review the default template to see how the new field is referenced.
 Bugs Fixed
  • Several errors were reported related to language translations other than English. These have been fixed.
  • When attempting to add item lookups “on the fly” during quote or invoice line item entry, by checking the box “Add to item lookups”, there was an issue validating data, which would cause the item to not be added to the item lookups list. No error was displayed, but the error was logged.
  • When viewing the payments list and selecting the Options button, the menu could be cut off if there were less than 3 or 4 payments in the list. This has been fixed.
  • Line item discounts displayed the USD $ currency symbol to indicate a flat discount. This has been changed to a more universal monetary symbol.
  • Line item discount values, when selecting the flat discount method were formatted in standard USD format, where a comma was used for the thousands separator and a dot was used for the decimal indicator. This has been corrected and now follows the format defined by the invoice / system currency.
  • Using a custom field of type “phone number” could fail on validation if the value contained parenthesis or dashes. Fixed.
  • Expense entry allowed users to save a new record without selecting a valid vendor, which could cause a 500 error when displaying the expenses list. The vendor is now required and the list display will no longer error if an empty value for vendor was saved in the past.
  • The invoices list had a responsive issue and when sized too thin, the contents could run over the right container boundary. Fixed.
  • Invoice and quote attachments marked as not-visible could be shown on public invoice views. Fixed.
  • From the public invoice or quote views, the Add Note and Edit Note buttons were not working. Fixed.
  • Google Fonts were being loaded vis fonts.googleapis.com. It was noted that this is a concern for GDPR/DSGVO, in that if not locally integrated, a banner must be displayed. These have been locally integrated.
  • Several languages were displayed incorrectly in the System Settings -> General ‘Select Language’ dropdown list. This has been corrected.
  • When configuring send mail settings and there was a validation error, the error display was not rendered properly. This has been fixed.
Version 2022-1.0 

 Summary

This is our largest release to date. It’s taken nearly a year to complete. We’ve updated the entire UI and upgraded our underlying framework and most of the supporting vendor libraries. In addition to that, we've added hundreds of new and improved features.

 

Here are just a few of the highlights, but please take a few minutes to read the full list. Many of the goodies we've added are bound to save you time, effort and money.

  • The main dashboard has been revamped with a new UI, custom sizing and drag and drop support.
  • Three new business critical widgets: KPI Cards, Open Invoice Aging, and a Sales Chart
  • Tighter and more flexible security settings
  • Improved timeline logging
  • Custom fields can now be flagged as required
  • New light and dark theme support
  • Line item discounts
  • Major task list and notification system improvements
  • Credit card surcharge support
 New Features
  • Core framework and dependencies updated to Laravel 9
  • System wide mobile responsiveness improvements
  • PHP 8.1x is now required
  • MySQL 8.x is now supported
  • Added the ability to add an expiration date for invoice and quote public links for improved security.
  • A new, more modern UI template has been used throughout.
Credit Card Surcharges
  • A new system setting was added to enable an additional charge (by percentage) when a client pays with a credit card, often referred to as a surcharge or convenience fee.
  • The fee may also be enabled or disabled within the individual Invoice Options area.
Line Item Discounts
  • May be used on quotes or invoices
  • May be enabled or disabled within System Settings.
Dashboard Improvements
  • Widgets now support drag and drop as well as sizing directly from the dashboard.
  • An all new ‘Sales Chart’ widget was added to graph your invoice and payment information.
  • The cards for invoice summary, quotes summary, etc. have been replaced with the KPI Cards widget, along with improved visuals.
  • A new widget, Open Invoice Aging, give you a better grasp on your accounts receivable and how far out they are.
  • Improved position and visibility of the dashboard-wide label and field for Dashboard Date Range.
  • All widgets now have an expand/contract button. This new setting is persisted on a dashboard refresh.
  • Removed the option to ‘Display Profile Image’ in the dashboard settings, as it was not used.
Invoicing Improvements
  • Added line item discounting, by percentage or flat amounts.
  • Invoice statuses have changed substantially
    • There are now 3 primary statuses:
      • Draft, Sent and Canceled
    • There are now many secondary statuses, which are subordinate to the primary ones:
      • Emailed, Mailed, Viewed, Paid, Unpaid, Applied (for Credit Memos), overdue
    • Dates mailed and emailed are now tracked.
    • When an invoice is mailed or emailed, that sets the primary status of “Sent”.
    • Invoices may only be edited when they are in ‘Draft’ status.
    • The invoice header fields of Summary and Tags may be edited, even if an invoice has a ‘Sent’ status.
  • A system setting for ‘Allow Invoice Deletion’ was added to improve security. Remember, canceling an invoice is most often a better choice than deleting. It sets the invoice to a zero balance but retains the information for reference should you ever need it.
  • Line item discounts are now supported. You may discount by percentage or flat dollar amount.
  • An invoice with payments applied can no longer be canceled.
  • An invoice with a Sent status can no longer be edited.
  • In the event that you need to change an invoice status from Sent or Canceled back to Draft, to make it editable, there is a menu option under the ‘Other’ button called ‘Change to Draft’. This action is logged in the timeline for security reasons.
  • Overdue invoice reminders will no longer be sent to client that has an Inactive flag set to yes.
  • Moved the option for ‘Always Attach PDF’ to the System Settings -> Email area for Invoice email templates.
  • You can no longer manually change an invoice status to Overdue. This is now a secondary statusand is maintained by the system, according to the due date of the invoice.
  • Removed the “Not Viewed” status/badge. (redundant)
  • Added (back) the ability to add a client on-the-fly when creating a new invoice.
  • Added the ability to quickly filter the invoices list by client.
  • Added the ability to filter the invoices list by date range.
  • Added a total field, by page, to the bottom area of the invoices list.
  • Added a method for persisting changes to the line item description, if the user enters a value different than the value that was set from the item lookup description.
  • Added the ability to create a recurring invoice from a standard invoice.
  • The invoices list now allows you to show or hide the columns you require.
  • Creating a new invoice, but entering no line items and then backing out, will now remove the invoice record instead of creating a blank invoice.
  • Added a timeline view to the Invoice view, under the ‘Other’ button. This show all of the actions that have taken place for a particular invoice within a modal (pop-up) window.
  • Bootstrap badges displaying the invoice’s primary and secondary statuses are now displayed at the top of the invoice view.
  • Improved the visual indicator that designates Credit Memos.
  • Added a ‘Cancel Invoice’ option to the invoices list record ‘Options’ menu.
  • If Credit Card Surcharge is turned on and an invoice was paid through the public invoice link, the surcharge (convenience fee) amount is shown within the totals area of the invoice view.
  • Entry of a numeric only value in the Product field would cause an error. (Alphanumeric was fine). Fixed.
  • Added ‘Other’ button actions for ‘Mark as Mailed’ and ‘Unmark as Mailed’.
  • Added a new action to the ‘Other’ button for ‘Print and Mark as Mailed’ to reduce clicks.
  • If you have defined custom fields for the invoice line items table, the ‘Copy Invoice’ function would not also copy the values from the custom fields. Fixed.
Quote Improvements
  • Line item discounts are now supported. You may discount by percentage or flat dollar amount.
  • A notification is created when a quote is approved or rejected.
  • Moved the option for ‘Always Attach PDF’ to the System Settings -> Email area for Quote email templates.
  • Added (back) the ability to add a client on-the-fly when creating a new quote.
  • Added the ability to quickly filter the quotes list by client.
  • Added the ability to filter the quotes list by date range.
  • Added a total field, by page, to the bottom area of the quotes list.
  • The quotes list now allows you to show or hide the columns you require.
  • Entry of a numeric only value in the Product field would cause an error. (Alphanumeric was fine). Fixed.
Recurring Invoice Improvements
  • Clients marked as Inactive will no longer be included in the recurring invoice daily task generation, even if the invoice stop date is empty or set to a future date.
  • Added the ability to quickly filter the recurring invoices list by client.
  • Added the ability to filter the recurring invoices list by Next Date range.
  • Added a total field, by page, to the bottom area of the recurring invoices list.
  • Added the ability to create a recurring invoice from a standard invoice.
  • The recurring invoices list now allows you to show or hide the columns you require.
  • Entry of a numeric only value in the Product field would cause an error. (Alphanumeric was fine). Fixed.
Email Templates - A Complete Revamp
  • Custom HTML email templates can now be added and maintained easily.
  • The ability to toggle from preview to code editing allows for quick iterative testing.
Item Lookups
  • Added a new field for ‘Default Quantity’ so that when the item is added to an invoice or quote, that quantity will be the default starting value.
Task List Improvements
  • A new ‘Complete with Notes’ option that lets you complete a task with completion notes. If the task was assigned to you by another user, the completion notes are sent to that user in the form of a system notification. (The standard ‘Complete’ button is still there too, if you want to completed a task but don’t need to add completion notes.)
  • Recurring Tasks are now supported
  • Task list filtering has been improved
  • Task list dates now show day-wise text where appropriate. Ie. “Yesterday”, “Tomorrow”, etc.
  • The client name is now shown in the task module’s tasks list, if a task is associate with a client.
  • When a task that you assigned to another FI user has been completed, a notification entry is created automatically, letting you know that the task was complete.
  • A ctrl + click on the completion checkbox of a task in the task list widget, will complete the task and prompt you for completion notes.
  • When a task that was a assigned a due date in the future reaches its due date, you will receive a notification.
  • Huge performance improvements on the Task List widget for users with thousands of tasks.
  • Any filters set on the dashboard Task List widget now persist through a dashboard refresh.
  • FI admins can now close or reopen any task within the task list system.
  • When a task is edited and saved, within the Tasks module, it now returns to view mode to maintain UX consistency.
  • Completed Date was added to the Tasks list view and is a sortable column.
  • Within the task details view, the client name is now hyperlinked to the client record view.
  • The task list dashboard widget now shows a loading graphic when it is rendering the widget entries.
  • Assigning a task from one user to another will now only allow the reassignment to active users.
  • Searching tasks from the Task List widget now displays a Loading… graphic until the results are rendered.
  • A new coloring scheme was added to help visually identify tasks that are overdue, due today, coming due soon, etc.
  • Task completions and notes (if added) are now displayed in the timeline.
  • The task list shown within a clients view no longer displays a column for the client name.
Notifications System Improvements
  • A new button was added that allows you to Clear All notifications.
  • Added a new Notification Type field.
  • When opening a task from the Notifications list, it now opens in edit mode.
  • Notifications are, well, more noticeable now, with improved contrast and larger size.
Timeline Improvements
  • Added a new search/filter by event type.
  • Automatic Overdue invoice reminder emails are now logged to the timeline.
  • Reduced the number of entries when adding notes, especially when adding tags to notes.
  • Adding or removing tags are now a timeline logged event.
  • User set filters are persisted after a dashboard refresh.
  • Deleted payments are now logged on the timeline.
  • Added safeguards that prevent incomplete or invalid HTML content, pasted into a note, causing the timeline view to fail.
  • The client name is now shown in the timeline when a client is deleted.
  • Attachments are now shown and hyperlinked in the timeline, if the user has the appropriate system privileges.
Payment Changes
  • Added an edit button that allows for editing payment notes.
  • Added the ability to generate a payment receipt and PDF.
  • The payment processor Stripe has updated their payments API, which required some changes on our end to support it.
Utilities Menu Changes
  • A new Clear Cache function was added
  • Tag Cleanup now includes tags set on invoices and recurring invoices.
  • Attempting to view the system log (laravel.log), when one does not exist, no longer creates an error.
Client Module Improvements
  • Optional fields - A new button has been added to let you customize the fields that are displayed on the client view.
  • The ‘Unique Name’ field has been removed.
  • A new duplicate check has been added when you save a new client record. It displays all client records that are similar to the one that you just entered and allows you to continue and save the new client or view one of the matching, existing duplicate records.
  • If a client has a parent account or a 3rd party bill payer account, either of those accounts may be set as their default email, when sending automated client emails (invoices, payment receipts, etc.)
  • A button was added to the client view to run the Client Statement report for this client only.
  • Added an option to manually send an Upcoming Payment Due Reminder email.
  • The settings area for Client Center Login is more prominently displayed.
  • Added a Lead Source field to the clients view.
  • Added a Lead Source Notes field to the clients view.
  • Added a General Notes field to the clients view.
  • Added a field Social Media URL to the clients view.
  • Added a new client type of ‘Other’, to be used for companies that perhaps don’t fit the normal client relationship, but are valuable to have in your clients list. This could be a corporate parent or a 3rd party bill payer.
Parent / Child Client Accounts
  • In order to allow a client record to have child accounts, the setting for Allow Child Accounts must be set to Yes. This also defines the client record as a parent account and adds the account to the drop-down list of Parent accounts for selection.
  • A child account may designate in their settings that the parent account should receive all automated system emails (invoices, payment receipts, overdue notices, etc.)
  • When a parent account lists the child accounts belonging to it, any inactive client accounts now show with a strikethrough through their name.
Support for third party bill payers
  • These function similar to parent accounts, where a client account can be designated as a ‘3rd Party Bill Payer’. When set to yes, they can be selected on another client account as their 3rd party bill payer.
  • A related account may designate in their settings that the 3rd party bill payer should receive all automated system emails (invoices, payment receipts, overdue notices, etc.)
Report Improvements
  • Mobile responsiveness has been greatly improved on all reports.
  • The Revenue by Client was only displaying the most recent payment. Fixed.
  • A sort by option was added to the Revenue by Client report.
  • Minor layout improvements to the Expense List report.
  • Minor layout improvements to the Recurring Invoice List report.
  • The Expense List report has new Sort by and Group by options.
  • The Tax Summary report may now be run based on invoice date or payment date.
  • Added two new filter options to the Client Statement report, invoice status and invoice tags.
  • Added two new filter options to the Invoice by Client report, invoice status and invoice tags.
  • A new report was created, Credits and Prepayments.
  • Fixed a bug in the Tax Summary, if filtered by company profile, it had no effect on the expenses section of the report.
  • The Payments Collected report would show duplicate entries when one payment was applied to multiple invoices. Fixed.
  • The Item Sales report Quantity column totals were incorrect. Fixed.
  • Added a new Display Order option to the Item Sales report.
Custom Field Improvements
  • Displaying custom fields of type ‘Image’ have been improved. Use this notation on your blade file: {!! $invoice->customField('my_custom_field_label_name') !!}
  • Custom fields may now be defined as ‘Required’. If set to yes, the validation on record save will require that the field have a value and will display an appropriate error if it does not, preventing the save process from completing until a value is entered.
Currency Handling Improvements
  • Improved identification of the system default currency in the Currencies list.
  • Added a validation on save of a currency record which will not allow the decimal and thousands separator to be the same symbol.
Data Importer Improvements
  • The step by step import process is much more intuitive.
  • Example CSV files are now provided.
  • Completion statistics (records imported) are now shown at the end of the process.
  • When failures happen due to improper data, they are explained in detail.
Expenses Improvements
  • Added the vendor name field to the Expenses list.
  • Added a field for Default Expense Category to the Expense Vendor view.
  • Added fields: Address, Phone, Email, Contact names, Notes to the Expense Vendor view.
Time Tracking Add-On Improvements
  • A new ‘Description’ field was added to time tracking entries.
  • When a time tracking entry is billed (invoice is created), the ‘Task’ field is used at the invoice line item ‘Product’ and the ‘Description’ field maps to the line item’s ‘Description’ field.
  • You can no longer bill time tracking entries to an invoice that has been paid.
  • Added a new and improved control for client selection.
General UI Improvements
  • Added support for drag and drop adding of attachments.
  • Your company logo is now displayed on the main login page.
  • Added support for light or dark themes.
  • Deletion warning prompts have been changed to use the native Bootstrap library instead of Alertify.JS.
  • The control used for Lookup Item selection on invoices, as well as client selection, etc. has been improved to allow selection of the internal textbox value for cut and paste operations.
  • Added persistent sort order saving by individual FI user for all modules, Client, Invoices, Quotes, Recurring Invoices, Expenses, etc.
  • Improved UI for the System Settings -> General Settings view to improve grouping and overall readability.
  • Added a warning re: database impact when attaching large files.
  • Added a titlebar color selector added to distinguish between multiple companies or installations.
  • Breadcrumbs were added to the top of all pages.
  • To avoid excessively large log files, the system log now truncated after it exceeds 1MB in size.
  • Tooltips will display, with an explanation of the field and its intended usage, when you hover over the field’s label. These are show on most settings areas and wherever a field’s usage may not be abundantly clear.
  • Added visual icons to every System Setting menu item.
  • Moved several utility specific options from the System Settings view into the Utilities menu, specifically - Tag Cleanup, PDF Cleanup, Download DB Backup. Recalculate Invoices, Recalculate Quotes.
  • The Logout button has been given a little more breathing room and a new look to avoid it being confused with its closest neighbor, the Sytem settings button.
  • Deleting a client, invoice or quote will now automatically remove the deleted item from the MRU list.
  • If there was a failure during the daily task run (CRON job) , you will see a notification of the failure in the Notifications area.
Version 2021-1.8 

 Summary

Primarily a maintenance release with numerous bug fixes, but also a number of minor new features.

 New Features
  • Numerous improvements to importers related to custom fields and item lookups.
  • Removed email greeting portion that was part of the templates email as it was not easily editable. All information is now accessible through the System Settings -> Email -> body sections.
  • Added a safeguard to prevent situations where a payment gateway’s response to the FusionInvoice installation, for a completed payment transaction, was deemed incomplete by the payment gateway, however the payment had been applied in FusionInvoice. This could yield future attempts by the gateway to notify FusionInvoice of the payment, thereby creating additional payment posting emails.
  • Added a new CSS class reference “custom-fields” to custom fields usage throughout. This will make it easier for users to add their own JS event handling for custom fields.
 Bugs Fixed
  • Entering a payment and automatically attempting to send the payment receipt could cause a 500 error if the system setting for Default Payment Receipt Body was set to Custom and there was no custom template on disk. Added an error message display for this situation.
  • Resolved issues related to the system user not having a users_custom record. This entry is automatically added with this version.
    • Overdue invoice emails could error due to this
    • The payments eventsubscriber could fail after payment application with Error: [0] Trying to get property 'id' of non-object
  • From the Payments Module, Payment record, selecting [Options] Send Payment Receipt - the modal window would not show the option for Attach Invoice PDF. It now does, and defaults to the System Setting, Email, Payment Receipts section.
  • The System Settings dropdown list option for Invoices “If Invoice is Emailed While in Draft Status” had been accidentally removed in a prior release. It has been restored.
  • Payments made from one of the three payment gateways by way of a public invoice link would not always fill in the appropriate currency_code value in the payments table.
    • A migration has been added to fill in any missing entries automatically upon this version update.
  • Deleting a recurring invoice that had no quantity entries would cause an error.
  • A small bug in attaching invoice PDFs to the payment receipt emails. The main setting is in System Settings->Email. Check the box for Attach Invoice PDF in the Payment Receipts section. Next, when entering a payment receipt, there is an option to Attach Invoice PDF, which it is checked by default, it works fine. The issue is when you go to the Payments module, select a payment record and choose [Options] Email Payment Receipt. The attach invoice option is not shown here and it does not attach it by default. The option is now shown and checked/unchecked based on the system settings value.
  • Changing a quantity value during invoice or quote line item entry could cause a custom entered description to be reset to the default description.
  • On a new installation (not update), editing an invoice, recurring invoice or quote could display an error “undefined index” related to the tax_id field.
  • Invoice template alignment change for Product Name. Product name would justify in the middle of the row if there was a multi-line description or multiple custom fields. Changed to justify top and left.
  • Emailing of a Credit Memo would yield an exception
    • Added Credit Memo section to the System Settings -> Email configuration
  • Attempting to change a vendor on an existing expense entry would fail.
  • Attempting to generate PDF output from running the Revenue by Client report would yield an error.
Version 2021-1.7 

 Summary

A minor maintenance release

 Bugs Fixed
  • Fixed a bug reported where entering a numeric only value in the invoice line item Product field would cause a “Processing…” message that would not end.
  • Fixed a bug related to a missing table relationship that could cause a never ending “Processing…” display upon deleting an invoice.
Version 2021-1.6 

 Summary

Many improvements, including import and export functionality, additional custom field support, etc. Also numerous bugs were fixed.

 * DATABASE UPDATE PROCESS - PLEASE READ *

We have added support for custom fields on a number of core tables. This can cause the database upgrade portion of this update to take a long time. Depending on the size of your database, it could take as long as one hour. Please be patient when updating.

 New Features
  • Major improvements to data importing and exporting
    • New Import Mappings allow for multiple, predefined file layouts to match your various CSV formats.
    • Improved validation and feedback for failures
    • Added on-screen documentation (see Important Details button) including required fields, and process explanations.
    • Added the ability to import data into your own defined custom fields as if they were part of the native tables.
    • Created Named Exports for all exportable tables as a means of pre-defining selected export fields.
    • Exports allow for use of your own custom fields as if they were part of the native tables.
  • Added an option to define your own system limit to the maximum number of item lookups allowed. The default is 5,000 and can be set withing System Settings -> General. This was previously set to hard limit of 1,000 entries.
  • Added the ability to run daily tasks (normally run as a CRON job) from a new menu option within Utilities and Logs.
  • Added custom field support for the following tables:
    • Invoice Items
    • Quote Items
    • Item Lookups
    • Recurring Invoice Items
  • Added table import support for the following tables:
    • Invoice Items
    • Quote Items
    • Item Lookups
  • Added a new option to the Item Sales Report for ‘Exclude Unpaid Invoices Y/N’.
 Bugs Fixed
  • Fixed a bug where, if one or more add-ons were enabled, editing a standard user record could yield an error.
  • Payment date issue - opening an invoice with an unpaid balance, then from the [Other] button, select Enter Payment. Entering a date earlier than today and saving would incorrectly save the date of today.
  • Using a currency that required a comma for the decimal point and dot for the thousand separator, such as Euros, would display incorrectly when adding an invoice line item. It would show with a dot for the decimal point and comma for the thousands separator.
  • Invoice totals would not refresh properly on save, if the system setting for number of tax fields to display was set to 1 instead of 2.
  • Migrating from an older version that had database prefixes could cause an error when adding currency codes.
  • When an Expense was edited and Category field was changed, the change would not persist on save.
  • Timeline entries for full payments could sometimes display partial payments due to a rounding issue
Version 2021-1.5 

 Summary

Many features added, including improvments to currency formatting, timeline views, etc. Numerous bugs were also fixed.

 New Features
  • Restructuring of currency formatting. Added support for Euros with the comma and decimal in either the thousands or decimal position. This holds true for all other supported currencies as well.
  • You may now designate the currency selected for a payment. (Previously it would default to the currency of the invoice.)
  • Added the ability to directly print invoices and quotes. Previously you were required to generate and download a PDF before you could print.
  • Improvements to Save Item as Lookup on Invoices and Quotes. Options display more appropriate to the state of the invoice and line item.
  • Removed the ability to change the currency and exchange rate on an invoice that already has a partial or full payment.
  • Reduced timeline logging of completed tasks within the Dashboard Tasklist widget. Previously it would display an Edit entry followed by the Completed entry. These have both been combined in to one Completed entry now.
  • Made the system menu / navbar submenus approximately 15% wider for improved responsiveness.
  • Added a test after user login to ensure that all required writable folders exist and are in fact writable. If not, the appropriate warning(s) are displayed.
  • Added a test for existence of email template files on post-login of admin users. Appropriate warning(s) are displayed if they are missing.
  • Added a highly visible watermark on the Client view for Inactive clients.
  • Added a new configuration item in System Settings -> General for Tax Fields, allowing for the selection of 1 field or 2 fields.
  • The description of Tasks have been added to the Timeline entry display.
  • Added the public invoice link to the default payment receipt email body.
  • Added a new System Setting -> General option to Require Tag(s) on Client Notes, Yes/No. This can require that a tag is entered prior to saving a note for a client.
  • When entering a new payment from the Payments module, the initially selected currency was the first in the list “Australian Dollars” and would change appropriately once the client was selected. It now initially displays the default system currency instead.
  • On the main client view, improved the display of balance information to show Open Credit amounts as well as Unapplied Payment amounts.
  • On the main client view, improved the display of balance information to handle clients that have used multiple currencies. The primary currency for the client is displayed/selected by default, and the other used currencies are selectable via a dropdown list.
  • Improved the UI grouping of the System Settings -> Email page to group logically based on the function of the email (Ie. Quotes, Invoices, Payment Receipts, etc.)
  • Added a new client setting for Automatically Email Recurring Invoices. When a recurring invoice is generated, if this option is selected, it will automatically email the client a copy of the invoice.
  • Added the ability (and setting on System Settings -> Email) to Attach PDF for Payment Receipts, Overdue Invoices and Upcoming Payment Notice emails.
  • Numerous Czech language file translation updates
  • Added a utility file, ficheck.php, to the base installation to assist in identifying missing installation requirements.
 Bugs Fixed
  • Time Tracking add-on, Timesheet report could show time entries with dates outside of the selected date range.
  • Data importers for invoices and payments have been updated to reference the new payment_invoices table.
  • In the case of multiple partial payment being applied to multiple invoices for the same client, the payment balance could show the client’s outstanding invoice balance in error.
  • In certain cases, deleting a note could cause the timeline view to display an error.
  • The Payments Collected report would display an error when a specific Company Profile was selected.
  • Clicking the Back button within a Task view from the Tasks module, could route to an incorrect page.
  • The Dashboard’s Custom Date range was not respecting the selected system date format. It now does.
  • The Timeline Event Types list display would cut off, with only 3 event types being displayed. Fixed.
  • When selecting multiple Invoices or Quotes from the list and creating PDFs (contained in a zip file), in certain cases, the zip file creation could fail and display an error. Fixed.
  • Hidden console errors related to apple touch icons have been fixed.
  • Sometimes when paying an invoice in full, the text of the timeline event could incorrectly show as “partial payment”. Fixed. This was due to an occasional rounding error.
  • Deleting a Task that you created and assigned to another user would cause an error for that other user if you deleted the task. Fixed.
  • Removed a migration that attempted to create Passport keys on the 2021-1.4 release. Not all hosts support the ability to run the exec command.
  • For some shared hosting providers, the Check for Updates feature would fail because the PHP option allow_url_fopen is often disabled. Changed to use GuzzleHTTP library instead.
  • Creating an Item Lookup entry that had the double quote character “ in the name or description could cause an incorrect display.
  • The CSS styles assigned to the payment receipt email was being ignored.
  • Tags for recurring invoices and invoices were independent of one another, so that assigning a recurring invoice with a specific tag would not guarantee that the invoice created by it would be assigned the same tag. This has been corrected and an update migration was created to align prior entries.
  • Sometimes when saving changes to a client record, and the client had the setting enabled to Allow Client Center Login, it would incorrectly prompt to enter a password for the client, when it had been entered previously. Fixed.
  • In certain instances it would allow entering and applying a payment in a currency other than the invoiced currency. Fixed.
  • The Mollie payment gateway could record more than one payment in FusionInvoice if Mollie’s Webhook did not receive a proper 200 response. This would not charge the client twice, but could show in FusionInvoice as having multiple payments.
Version 2021-1.4 

 Summary

A wide range of minor feature additions and bug fixes.

 New Features
  • Added language support for Lithuanian, Danish and Czech.
  • Minimum PHP version requirement has changed to 7.3.
  • Improved tax handling with respect to Item Lookups. There is a new option for the dropdown fields Tax1 and Tax2 on Item Lookups, which is ‘System Default’. If this option is selected, when the item is used on an invoice, recurring invoice or quote, it will inherit the tax assigned at the system configuration level.
  • Improved internal referencing of the greeting within the body of the invoice and quote emails. If a client record has a “Default To” contact(s) set to Yes, that contact(s) will be included for sending the email to. If there are multiple recipients of the email, the greeting will be “Hi there”. If there is only one recipient, it will use the company name or the contact name, (Ie, “Hi John”).
  • Client deletion is no longer allowed if a client has associated transaction records (invoices, quotes, notes, payments, etc.) It is recommended that you instead set the client as Inactive.
  • Several CSS improvements which improve mobile responsiveness. (Vielen dank, Falko)
  • Added the ability to update a client contact’s Default To, CC, and BCC when in the contact’s modal edit view.
  • Removed the validation for a client contact to require phone number.
  • The client selection control now displays only active client records when creating an invoice or quote.
  • Added the invoice date field to the payments list, for payments that have a 1-to-1 relationship to an invoice. If a payment was applied to more than one invoice, the word “multiple” will be shown.
  • Removed the static column widths within the Invoices table display, which allows for improved readability, especially when some users do not populate all of the columns, as unpopulated columns now take up less space.
  • Merchant payment processing safeguards added. This is related to clients paying invoices via the public invoice link, which in turn uses a merchant’s payment gateway. After the payment is processed the merchant’s network calls back to your FusionInvoice, notifying it that the payment was successful (or not), at which time a payment entry is generated in FusionInvoice. In the case of a network error, when the merchant network call-back could make several attempts, FusinInvoice will now accept only the first successful attempt, discarding all subsequent requests. In addition, when the client clicks the Pay Now button, it is immediately disabled to disallow the potential for multiple clicks.
  • Added a “Searching. . .” animated graphic to Timeline searching and filtering, both on the dashboard timeline and client view timeline.
  • Added a folding interface for long notes to be displayed within the Timeline and Notes lists. Now if the note is more than 5 lines long, it will show the first 5 lines and display a “Show more” link, allowing you to view the rest of the note, while conserving space.
  • Added a Tax column to the Expense List report. In previous releases it was difficult to determine why the Expenses, totalled by category did not match the Profit and Loss Expense amounts. Taxes were not being displayed on either report, but were being deducted from the total on the P&L report.
  • Added an option to “Deduct Taxes from Expenses” to the Profit and Loss report.
  • Removed the deprecated .\api folder from the default distribution.
  • The system setting for Invoices 'if_invoice_is_emailed_while_draft' has been deprecated and removed.
  • The system setting for Invoices 'Allow entering payments without balance' has been deprecated and removed.
  • Added the ability to see Note Tags within the header of the note of the Timeline view.
  • Tasks created by another user and assigned to you now display the Created By User and Datetime at the bottom of the task view.
  • From the Client’s Task page, the Options button would only display if you were the user that created the task. In addition, it now displays also if the task has been assigned to you.
  • Added a thin border to the dropdown menu, to better distinguish it from the background, when using a theme with a white background.
  • Improved multi-currency visibility on the Payments Collected report. There is a new option, “Currency Format” available that allows you to choose Base Currency or Invoiced Currency. When using Base Currency, all amounts are adjusted by the exchange rate established on the invoice. If using “Invoiced Currency”, the native currency of the invoice will be shown, but the totals will still be adjusted by each invoices exchange rate.
  • The Payments list now displays payments in their actual currency. Previously they had been shown only in the system default currency.
 Bugs Fixed
  • Fixed a bug related to the new system email default, where it could be left empty on a brand new installation.
  • Fixed a UI bug that would display “fi.” in the client contacts list Title column, in the case that the contact had no title assigned.
  • Added a refresh of the invoice view after a draft invoice is emailed, as internally the status changes to Sent, but the view was not reflected the change until it was refreshed.
  • System generated emails for upcoming payment notices, overdue notices, and new invoices generated from a recurring invoice run were not including client contacts that were marked as “Default To” = Yes. Fixed.
  • When a live invoice is generated from a recurring invoice template, the email shown on the public invoice and PDF could display as “system”. Fixed. In addition use of the system email has been improved throughout.
  • Default system tax rates were not being properly assigned when invoicing and adding a custom item code (not selected from an existing Item Lookup). Both tax entries were left blank in this case. Fixed.
  • A browser syntax error was generated when sending a system test email with the system language set to French. Fixed.
  • Pre-payments were not automatically sending payment receipt emails, despite the Email Payment Receipts option being set to Yes. Fixed.
  • Searching the Timeline, within a specific Client view, would lose scope of the client and perform a global timeline search. Fixed.
  • In some cases, within the Payment Entry window, if the Email Payment Receipt box was checked, the email could fail. The error could be seen in the mail log and was related to improper JSON formatting. Fixed.
  • Contact titles in some languages (French reported) were not displaying with proper localization. Fixed.
  • When entering a payment, the checkbox for Email Payment Receipt would not always check or uncheck itself based on the Email Payment Receipts setting on the client record. Fixed.
  • Keyword searches within the payments module was not consistent. Fixed.
  • If a client’s Name did not match their Unique Name value, when creating an invoice, recurring invoice or quote, the client name was not properly pre-selected and could result in a new client record being created. Fixed.
  • Using a date selector of Last Month or Last Quarter, for dashboard views or reports, would yield incorrect results when used in the first month of the year. Fixed.
  • Notes could display improperly in the timeline view if they had been pasted in from formatted HTML. Removed the timeline short description cut off to remedy this.
  • Reported discrepancy between expenses shown on the Expense List report and the Profit and Loss Report. This was not a bug, per se, but the reports did not display the tax amounts in a way that was self-explanatory. This has been addressed in two reporting improvements.
  • Attachment uploads were not being logged to the timeline. Fixed.
  • When entering a payment through the invoice view, if the client had no email on file or they had the option to Send Payment Receipt Emails set to No, the checkbox would not display to “Send Payment Receipt Email”. It now displays, but is disabled, with a mouse-over tooltip, showing the reason for being disabled.
  • If a new standard user was created, without the option to Allow Time Period Change within the Dashboards section of User Permissions, they could receive an error when trying to load their dashboard. Fixed.
  • On a brand new installation, the default values for decimal and thousands separator where incorrect for Euros. Fixed.
  • Reported that installations using an IP address as a base for their server URL could display an error when clicking the new Payment Applications button (or the “Multiple” link) from the Payments module. This was related to a relative pathing issue. Fixed.
  • A testing value was improperly included in the Quote and Invoice Email subject blades and was distributed in the storage folder. This folder should not be imported as part of and upgrade, but was reported. Fixed.
  • When using the Copy Expense feature, the original values for Vendor ID and Category ID were not persisted to the new entry. Fixed.
  • It was discovered that a standard user, who did not have the permission set for Allow Time Period Change = “Yes”, could be unable to have their time period settings changed at all. To correct this, a new field was added to the System Settings Dashboard view, which allows the system setting to be changed for ”System Default Time Period for Invoice and Quote Summary”. (As part of last year’s release, all admin users (and standard users with this option enabled) were given the ability to change their own dashboard time periods independent of the system default.)
  • Payment entry in Euros was not properly using the decimal and thousands separator. Fixed.
  • Remaining balance on payment entry was not consistently updating. Fixed.
Version 2021-1.3 

 Summary

Minor feature additions and a number of resolved issues.

 New Features
  • Dashboard Widgets Timeline and Task List now have a minimum column setting of 6 and maximum of 12.
  • Documentation changes for the use of Payment Receipt Emails, as their use has changed with the 2021 release.
  • CRUD operations for Recurring Invoices are new logged as Timline events.
  • The Payment Receipt Email subject line now supports variable referencing. For example: “Thank you for your payment of: {{ payment->formatted_amount }}”
  • Quotes and Recurring invoices view now highlight the Currency and Exchange Rate fields, if the currency used is not the default system currency. (This was implemented previously for Invoices.)
 Bugs Fixed
  • If a client record was deleted, and the client had payments on file that had been applied to invoices, opening the Payments view would yield a 500 error.
  • Attempting to delete a paid invoice would display the processing image indefinitely.
  • The calculation for the overdue invoice total, on the Dashboard Invoice Summary widget, was not always accurate for the selected time frame.
  • Adding a file attachment that contained a comma in the filename would cause an error if using the Chrome browser.
  • A minor bug in Timline filtering was fixed.
  • When editing a Quote, the “Other” menu link for Quote to Invoice would display an error. Fixed.
  • Currency editing and display. When a currency record had a Thousands Separator of a comma and a decimal point value of a Dot (full stop), such as is normal for Euros, it could display as ' in the Currency Edit form.
  • In the above currency scenario (Ie. Euros), line items on Quotes and Invoices would display with their thousands and decimal notations reversed, causing an evaluation problem on document save, which would overstate the line item amount.
  • Opening the Time Tracker add-on would display an error.
  • When choosing to create an Invoice or Quote from within a Client record, the document details view which pops up would prompt to select the client. This is now defaulted to the current client.
  • Converting a Quote to an invoice is now a timeline logged event. This can happen by clicking the Quote to Invoice link or, if the System Setting for Automatically Convert Quote to Invoice When Client Approves, is set to ‘Yes’.
  • Payment Receipt Emails could allow an incorrect selection in the To Mail of the current logged in user’s email address. if the client record had no email address defined. Fixed.
  • The default invoice template could display an out of place comma character if address information was only entered in the freeform address entry text area (and not in the individual address fields).
  • Attempting to upload an .SVG file for use as a company logo would yield a 500 error. Attempts to upload .SVG files are now denied, as they are not supported by the graphics library FI uses.
  • On System Settings update, added a check to see if the (hidden) System user email matched the System Settings -> Email -> Mail From Address. If not, the System user’s email is automatically updated to this value.
  • Unchecking the Send Payment Receipt email box, could be overridden by the Client setting for Send Payment Receipts. Fixed.
Version 2021-1.2 

 Summary

Minor feature additions and bug fixes.

 New Features
  • Item import now allows the importing of item categories.
  • All areas throughout FI, where client selection is an option, the new dropdown selector control is used.
  • The Item Lookup list was previously limited to 100 entries. It has been expanded to 5,000.
  • Emailing documents (Invoices, Quotes, Payment Receipts, etc.) has been improved to allow 3 options:
    • The main system email defined in System Settings
    • The email address of the user that created the document or entered the payment
    • The email address of the currently logged in user
 Bugs Fixed
  • Client Center logins were experiencing errors stating “BadMethodCallException”.
  • Customers using Database Table Prefixes were experiencing errors in multiple modules.
  • Using the Edit button for to client’s “To:” information on the Invoice edit view would yield a 500 error.
  • Expense entry - attempting to remove a client from the expense, once added could not be removed.
  • Export tool would display an error.
  • Clicking the Delete button from the Client view, Task page was not actually executing the delete action.
  • Currency Editing - Editing a Currency entry would display the HTML markup values for the decimal point and thousands separator after saving the entry. (Ie. a dot for Decimal Point would display . and a comma for Thousands Separator would show ,)
  • Payment Receipt Emails - The Send From email address was being improperly displayed.
  • The Client Name column in the Invoices list has been widened.“System” would show as an (invalid) email Send From option when the invoice had been generated from a recurring invoice template.
Version 2021-1.1 

 Summary

A minor maintenance update with a few feature additions.

 New Features
  • Client Statements now include pre-payments
  • The Current FI Version is now shown at the top of the main Setup page.
  • Added ability to complete tasks and edit them from within the Client view.
 Bugs Fixed
  • Certain non-English language files were displaying graphic symbols in place of language specific characters. Removed php_value specific size limits on the distributed .htaccess file, as it was causing issues for some hosts.
Version 2021-1.0 

 Summary

A wide range of major feature additions, including Credit Memos, pre-payments, a new timeline dashboard widget, and many, many more. A number of minor issues from previous releases were resolved.

 New Features
  • Credit Memos
    • We have added the ability to create Credit Memos, sometimes called Credit Notes.
    • A Credit Memo is, for all intents and purposes, a negative invoice. Credit Memos are displayed in the same areas in which you would normally see invoices.
    • Credit Memos are distinguished from Invoices with a light red indicator.
    • To create a Credit Memo, begin in the same way that you would with an invoice, but select the Credit Memo option.
    • Credit Memos can be applied to one or more invoices through the new ‘Apply to Invoices’ option.
  • Pre-Payments
    • Prepayments are now supported in FI.
    • Prepayments are recorded payments that remain open until they are applied to one or more invoices.
    • To create a prepayment, enter a new payment from the Payments module and select the option ‘Pre-payment for future invoices’.
    • Pre-payments can be displayed in two ways on the payments collected report, either by showing the entire pre-payment amount or by showing only the amount(s) of the pre-payment that has been applied to invoices.
    • The dashboard widget displaying payments collected includes only pre-payment amounts that have been applied to invoices.
    • To apply a pre-payment to an invoice, first select the invoice, then select Apply Prepayment. This can be done from the Invoices list or by editing the invoice.
    • Similar to Credit Memos, prepayments can be applied, but on an individual invoice-by-invoice basis.
  • Payments Covering Multiple Invoices
    • Similar to pre-payments, FI now supports entering one payment that can be applied to multiple invoices.
    • This is done the Payments module, while entering a new payment.
  • Task List Improvements
    • The dashboard widget Task List has a new filter, allowing you to show All tasks, tasks created yourself or tasks assigned from others.
    • Tasks relating to clients are now shown in a tab on the Clients view.
    • Task List now has it’s own module
    • Added a button on the Task List dashboard widget to sort by date or date/time.
    • Added the ability to customize the Task Title, when creating a task from a Note.
    • The Task List dashboard widget is now set to be enabled by default for upgrading users.
    • Within the Task edit view, clicking the Calendar icon now displays a calendar for selecting dates.
  • Parent and Child Account Support
    • From any Client account, on the Settings page, you may assign a parent account, establishing a parent-child relationship.
    • Child accounts display a Link visual and the parent account name under the main client name area.
    • Parent accounts display a page/tab within the Client view called “Child Accounts” and lists all of the child accounts that belong to the parent account.
  • A New Timeline View
    • A dashboard widget allows displaying a timeline of important FI events, such as: invoices created, clients being edited, payments received, notes created, recurring invoices generated, etc.
    • The timeline allows for quickly searching and filtering important events.
    • In addition to the dashboard Timeline display, a client-specific Timeline is displayed below the Client record.
  • For upgrading users that wish to populate their timeline from past events, there is a a new page within System Settings, labeled “TImeline History”. This page is shown only when your system has past timeline events to be generated.
  • Improvements to the Clients View
    • A new tab showing Tasks assigned to the client.
    • A new tab showing Child accounts displays if the client has child accounts.
    • A new link showing the account’s Parent account is displayed if the client record has a parent account defined.
    • Count badges are displayed on client related tabs, for Contacts, Attachments, Notes and Tasks.
    • A new button was added to the Client view to Add Note.
    • A new button was added to the Client view to Create Task.
    • Reduced clutter on Client view by moving Create Invoice, Create Quote and Create Recurring Invoice to their respective tabs.
    • Added a new Client Type option for Affiliate. This is for clients that do business on your behalf, with your products.
    • Client searches now these fields in addition to the previous ones: Address, City and Zip/Postal code.
    • A red badge is shown in the header area for Client entries that are flagged as inactive.
  • Client Contacts Improvements
    • Added 2 new fields to Contacts view - Primary and Alternate Phone.
    • Added a Notes field.
    • Added the ability to create, edit or delete contacts for a client while in View mode.
  • Added WYSIWYG capabilities to Note entries.
  • Currency and Exchange Rate Improvements
    • Added support for currency symbols requiring a space after the amount and before the symbol.
    • When the currency used for an invoice differs from the base system’s currency, the exchange rate and currency fields display with a yellow background to call attention to the difference.
    • Redesigned the formatting capabilities of currency symbols to be much more flexible.
    • The currency options for thousands separator and decimal points have been changed from a free-form textbox to a dropdown list, allowing for all major world currency options.
  • Invoice Improvements
    • Added a Client link to the “To” box containing the client name and address for Invoices, Recurring Invoices and Quotes.
    • Line item entry was improved with the use of the new Item Lookup control.
  • Item Lookups Changes
    • Item Lookups will no longer allow entries with duplicate names.
    • Added a new Category field to Item Lookups to improve sales reporting capabilities.
    • A new item entry control was created for item selection within invoice line items. The new control allows for and easier selection from a dropdown list of existing lookup items or enter a new one. Previously, to get a list of lookup items, you had to enter the first few letters of the item to get a matching list.
  • Introduced the concept of a System Emails.
    • Within System Settings, there are new fields for Mail From Address and Mail From name. This serves as a System user to send mail from and is the new default when sending emails and quotes. It had previously used the email of the logged in user. You still have the option to chose to send from your user email account if you like.
  • System Menu Improvements
    • Redesigned the System menu into more logical groupings.
    • Added a new view for System Log.
    • Added a new view for Mail Log.
  • Reporting Improvements
    • The Client Statement report could be confusing when multiple currency types were used. It has been improved and now groups and totals by currency type.
    • The Client Statement report includes Credit Memos and displays their document numbers as a light red color.
    • Added date range selections of Last Month, Last Quarter, and Last Year to the options for all date range selections throughout the system, including most reports.
    • The Revenue by Client report now allows for custom dates.
    • Added Category selection to the Item Sales report.
    • Added new improved dropdown list selector for Clients on the Client Statement report.
    • Added a new report, Invoices by Client.
  • General UX Improvements
    • Added more attention-grabbing warnings when deleting records.
    • Added a new status field of Inactive to the Users view. An inactive user has no login rights.
    • Improved handling of user deletions. It now prompts to change them to Inactive instead, but if deleted, it is a soft delete and all related information entered by the user remains in tact.
    • Changed default web session timeout from 2 hours to 1 week to minimize logins required for normal users.
    • Added a new setting for Company Profiles to designate the Default profile.
    • Added a Cancel button to the Expenses edit mode.
    • The new Item Lookup control is used for invoices, quotes and reports that prompt for item selection.
    • Added a visual enhancement of striped tables to all table displays throughout.
    • Delete buttons throughout are themed red.
    • Introduced a new “System” user that is used to mark timeline entries for automated entries, like recurring invoices being created or customers paying invoices from public invoice links.
    • Improved search capabilities within all the modules. It is now an AND search instead of OR for keyword matching.
    • Updated the control used to select Expense categories to a new selectable dropdown list, similar to the new Item Lookups control.
    • Previously, when within the Client view, when deleting a document, you would be returned to the individual document module’s list. You are new returned to the view of the client and specific module from the document that you deleted.
    • Improved the layout and improved functionality for Email testing within System Settings.
    • Added more information to the System tab within System Settings to display MySQL version, Webserver type and the most recent 300 lines of the system log.
    • Added the concept of user specific dashboards. A user can now define, within their user settings, their own dashboard display. If the user does not have a custom dashboard defined, the system dashboard is used for them.
    • Added the ability to create PDFs in bulk for Invoices or Quotes, by selecting the checkbox in the invoice list and clicking the PDF button.
    • Added a new setting for Tasklist items to show (or not show) a time value in the task’s due date.
    • Improved readability of all field labels on all module views, where the field’s label displays in bold and the data displayed is in standard type.
    • Added a new Tag field to the Invoices module for quick filtering of specific invoices. This has been added to normal invoices, as well as recurring invoice templates. The filtering capability was added to the header area of the Invoices list.
    • Added an automatic field selection of the search box when clicking any of the modules from the left navbar menu. Reduces the number of clicks needed to search within any module.
    • Added a dropdown list control for Country selection for the Client view, Company Profiles and System Setup.
    • Added a Copy Invoice feature to the Options button on the primary invoices list as well as the Client view invoices list.
    • Improvements to the System Settings, System page. It now shows all requirements in an easily identifiable pass/fail manner.
    • Moved the Notes area that could conditionally be displayed below the normal client view back to its own Notes tab. I In place of this, the new Timeline display, which includes Notes,is shown. as well as an Add Note button.
    • Improved UI when manually sending an overdue invoice notification. It is more evident now when sending has completed.
    • Set a limit of 8MB on file attachments to minimize DB impact.
    • Safeguards were added before an Admin type user can be deleted. There must be at least one other active Admin user and you cannot delete the user account if it is your currently active user.
    • When a recurring invoice is generated and the system setting is on to automatically send emails, the invoice status is now automatically changed to Sent.
    • Added an option within System Settings to require CAPTCHA on user login. This can be used if you have a problem with brute force login attempts.
    • Changed the order of tasks that are run within daily scheduled tasks. Recurring invoices is now run before the other tasks.
  • Improvements to Custom Fields
    • The CustomField() helper function now supports returning raw values. This can be used in normal views, as well as Invoice, quote and email templates. ▪Previously, using syntax like this: {{ $invoice->customField('ServiceInvoice') }} was the only option and would return fully formatted HTML, suitable for including on any view. A return value for a custom field based on a checkbox would display something similar to this: ' You can now add a second parameter of ‘false’ to the function call and receive back only the raw value of “1”.The syntax is: {{ $invoice->customField('ServiceInvoice', false) }}
    • Changed underlying storage of custom fields of type Date. They are now stored internally as DateTime to mitigate potential display issues.
  • Added a new PDF creation library, MPDF, as an alternative to DOMPDF.
  • An all-new API
    • WARNING! This is a breaking change if you are using the API from prior versions.
    • Added custom API endpoints for sending invoices or quotes via email
    • Added support for custom fields
    • This release includes an entirely rewritten API, which is much more accessible from other applications and can easily be tested with common API testing tools like Postman, cURL, Fiddler, Insomnia, Swagger UI. etc.
    • We will be providing detailed information about using the new API in upcoming documentation, but in the mean time, if you are using and relying on the previously provided FusionInvoice API, this update will be a breaking change. Please do not update your live FusionInvoice installation until you have the new documentation and have recreated your endpoints using the new API.
  • Improved Upgrade Migrations
    • Significantly redesigned the database migration strategy, which improves relational integrity during updates.
  • New Notification System
    • A notification system was added that displays a badge with a number in it in the upper left portion of the header when a new notification comes in. Currently notifications are limited to tasks that have been assigned to you from others, but it will be used for additional purposes in future releases.
  • Groups is now “Document Number Schemes”
    • The “Groups” table and associated UI labels to the more accurate “Document Number Schemes”.
  • Language File Overides
    • You can now customize your own language file translations and place them in an overrides folder to ensure that they will be preserved through new version updates. This allows you to override system default translations as well as create new translations that you can use in your own customizations.
    • For reference, look in the /resources/lang/ folder (where ‘xx’ is your specific 2 character language code) to see your language specific translation files. Your override files will have to have the same names as the core files, but you will place them in the /custom/overrides/lang/ folder. You may create override files for as many of the core files as you like.
    • When creating your override files, keep in mind that you only need to enter values that you want to override. It’s not advisable to duplicate the same information that is in the core language translations.
  • Due Date on Invoice Templates Supports Multiple Formats
    • We’ve expanded the options for Due Date to allow you to better call attention to it on your invoices.
    • A few of the potential options:
      • {{ $invoice->getDueAt('F j, Y') }} returns January 29, 2020
      • {{ $invoice->getDueAt('m/d/Y') }} returns 01/29/2020
      • {{ $invoice->getDueAt('l jS \\of F Y h:i:s A') }} returns Wednesday 29th of January 2020 12:00:00 AM
      • {{ $invoice->getDueAt('g:i a l jS F Y') }} returns 12:00 am Wednesday 29th January 2020
      • {{ $invoice->getDueAt('l jS F Y') }} returns Wednesday 29th January 2020
  • Laravel Update from 5.5 to 7.4
    • Laravel, the underlying framework of FI, has been updated.
    • All third party libraries, including all payment gateways have been updated.
  • Increased PHP Requirement
    • 7.25 minimum and 7.4 maximum
  • Email Templating Change for Payment Receipt Emails
    • Due to core changes with the payments system, to support payments that can span multiple invoices, pre-payments and credit memos, there were changes also to the way that email templates work for payment receipts. If you are currently sending payment receipt emails, please pay special attention to this.
    • In previous versions there was a text area on the System Settings -> Email page that allowed for the definition of the body of your payment receipt emails. This has been replaced with a drop-down list that offers options for Default and Custom.
    • The new body for these default emails can be found here: .\app\Modules\Payments\Views\payments\paymentReceiptBody.blade.php. ▪This file contains proper referencing for the new structure of the payments and related tables.
    • If you wish to use a customized version of this email, create a copy of this file here: .\custom\templates\email_templates\payment\paymentReceiptBody.blade.php. Any changes made to files in the .\custom\ folder will not be overwritten by updates.
    • Finally, to ensure your custom version is used, change the setting in System Settings -> Email -> Payment Receipt Emails from Default to Custom.
 Bugs Fixed
  • The Notes window, which is modal, would disappear if you clicked outside of the window, losing any note text you had just typed.
  • A custom field of type Checkbox would change its value to checked after a record was saved.
  • A bug when PDF-ing multiple invoice files from the invoice list.
  • User deletion was a problem. The UI now explains that it is a bad idea and allows for making them inactive instead.
  • Fixed a UI bug where a user could change the status of an invoice that had a non-zero balance to ‘Paid’, but upon save it would simply revert. Now the Paid option is not available, if the invoice has a non-zero balance.
  • If you viewed the System Settings page and your system was unable to report the current MySQL version, the page load would fail. It now fails gracefully, showing that it could not be determined.
  • Fixed occasional errors reported from the new Email Test feature added in the previous release.
  • Expense copying - If you copy an expense that had already been billed, selecting a different client would not save. It would only be saved to the original client.
  • Client’s contact set as default CC was being ignored when an invoice was created from a recurring invoice template.
  • Deleting all invoice or quote line items and trying to save would generate an error.
  • Fixed a bug where attempting to edit a note after it had been saved would not commit the changes.
  • Corrected an error where, if the system date format was d-m-Y or d/m/Y, and you attempted to create a task, it would fail.
  • Deleting an invoice when in edit mode would return control to a blank page.
  • Fixed bug where, when updating from very old versions, and error would occur due to no associated company profile. Now, if no default is set, the update selects the first entry and uses that as the default.
  • If a user added a logo image that was extremely large, it could cause invoice PDF generation to fail. An automatic resize was added to reduce the size of the image if needed. The max size is now 1000x1000 pixels.
  • In some instances a notification for Support Expiring Soon would display for dates a year from today.
  • Improved handling of special characters when using the Import process.
  • Adding notes from an Invoice’s or Quote’s public view did not work.
  • Custom fields of type Date would not always respect the system’s setting for date time.
  • Attempting to save an invoice that has an empty line item on it would display an error “Name is a required field”. It will now simply discard the blank entry and save normally.
Version 2020-1.3 

 Summary

Primarily a maintenance release with numerous bug fixes, but also a couple of minor new features.

 New Features
  • Added a new Email sending option of SendGrid API in System Settings -> Email.
  • German Language Translations. (Vielen dank to Jakob G.)
 Bugs Fixed
  • Resolves a problem with the new user permissions system, for users selecting a default system language other than English. Standard users with specific defined permissions may not have seen all of the menu options that were selected.
  • Added a cascading delete on user permission entries when a standard user was deleted.
  • Resolves a recurring invoice issue where, if the frequency was selected as Every 12 Months (as opposed to Every 1 Year), the invoice would be generated each single month.
Version 2020-1.2 

 Summary

A minor maintenance release

 Bugs Fixed
  • Fixed a bug reported where entering a numeric only value in the invoice line item Product field would cause a “Processing…” message that would not end.
  • Fixed a bug related to a missing table relationship that could cause a never ending “Processing…” display upon deleting an invoice.
Version 2020-1.1 

 Summary

A minor maintenance release

 Bugs Fixed
  • Resolves an issue that was reported which would cause the database migration portion of the 2020-1 update to fail, for customers using database prefixes.
Version 2020-1.0 

 Summary

A major feature release

 New Features
  • A New User Roles & Permissions Management System
    • We’re pretty darn excited about this one! FI now has a full-featured permissions system, which means not every user has to be a system admin. You can grant specific individual user rights to view, create, update and/or delete on every module and every report.
    • When adding a new user account, there’s a new option, “Standard user”.
  • A quick user roles explanation
    • Admin users have all rights.
    • Standard users can be assigned granular access to all major modules and reports.
    • Client users can only login to the Client Center and can view only their invoices, quotes and payments.
  • To speed up user entry, privileges can be copied from an existing user when creating a new user.
  • As some additional user eye candy, you can assign specific initials and a background color to everyone’s avatar for easier visual identification. The new avatars are used extensively throughout the new Notes and Task list systems.
  • MRU! We’ve added a new Most Recently Used menu below the existing navigation bar.
    • This handy list holds your ten most recent actions. It provides a reminder of what you’ve been working on as well as a one-click link to go back to any item - clients, invoices, expenses, quotes, reports, etc.
  • The Notes system has been overhauled. There are just too many UI/UX improvements to list them all, but here are some of the more, um, note-able.
    • Notes are included within the user privileges system.
    • You can now edit notes after they’ve been saved.
    • Dates added and last edited are tracked, as are the user who added and last edited. A tag system was added to allow quick categorization of notes.
    • A timeline view with user initials and colored avatar.
    • Client notes can (optionally) be displayed below the Client Details page. (set within System Settings)
    • Notes can be searched by description, user name and assigned tag.
    • A new search control was added to allow for a more directed search experience.
    • A badge at the top of the Note area displays the number of notes attached per entity (client, invoice, task, quote, etc.)
  • Improved System-wide Search and Filtering
    • The Search control was moved from the top of the left navigation menu into each module (Clients, Invoices, Quotes, etc.)
    • Added Tag filtering to the Clients module
    • Added a display of the number of matching filtered records.
    • Added the ability to easily clear the current filter.
    • Searching now respects all active filters.
  • Added Notifications for New Version Releases
  • Added Notifications for Support and Update Renewals
  • A New Integrated Task List
    • A new dashboard widget was designed for managing your personal to-do list.
    • You can enable the widget from the System Settings -> Dashboard view. (A minimum of 6 columns is recommended.)
    • Assign a task to yourself or any member of your team.
    • Use the inline task creation for quick task notes (using the Add Item link in the task section header)
    • Use the Create Task or Edit Task buttons to enter full details.
    • Tasks can be assigned to a specific client, if needed.
    • Tasks can have file attachments and notes.
    • Tasks can be closed (marked complete)
    • Tasks can be reopened if needed.
    • Tasks can be reassigned
    • Tasks can be filtered based on their:
      • Status (open, closed, all, overdue)
      • Date range
      • Keyword contained
      • Assignee
    • Task have four sections:
      • New
      • Today
      • Tomorrow
      • Later
    • Tasks can be moved and sorted within and between sections with a simple drag and drop.
    • Tasks can be created from any Note entry. Just check the box to “[x] Create Task from Note”.
  • Added Visual Badges for records having Notes, Attachments and Contacts
    • Badges display for: Clients, Invoices, Quotes and Tasks
  • Added Automatic Exchange Rate Calculations
    • Some time ago, the API service that we used to provide realtime exchange rates changed their model and no longer worked for us. We have changed to using exchangeratesapi.io and the ability to use automatic exchange rates is back.
  • QR Codes on Invoices
    • Your customers can scan the QR code on a printed invoice to go directly to the public URL link and pay it.This option can be turned on or off with a new setting System Settings -> Invoices.•
  • Added “Settings” as a new Tab to Clients view
    • This page houses properties most often set once and not changed, like: Active (Y/N), Invoice Prefix, Email Payment Receipts, Default Currency, Language, Timezone, etc., simplifying the main Details page.
  • Saving changes to a Client record now returns the state to View mode, instead of Edit
    • This provides a more consistent UX and flows better with the new user permissions system.
  • Editing a Client record respects the active tab
    • Previously, editing a Client record automatically opened the Details page. It now edits within the active page (Contacts, Attachments, Notes, etc.).
  • Added the ability to Create a Recurring Invoice directly from the Client record.
  • Added a strike-through to more easily identify inactive client records in the client list.
  • Added the ability to use a Custom Invoice Prefix for each Client
    • This feature can be used with the {INVOICE_PREFIX} field within System Settings -> Groups
  • A prefix will be auto-generated for all client records, but may be changed within Client Settings.
  • Added Last Login to the Users Table
  • Added the ability to Copy (duplicate) Expense Records
    • This feature can be used with the {INVOICE_PREFIX} field within System Settings -> Groups
  • From the Expense record list, select Options->Copy. This creates a duplicate of the expense record, allowing you to edit the new values before saving.
  • Added public Document links to the Client Center tables
  • Payments Editing can now be accessed directly within the invoice.
    • Accessible from the panel below the invoice details, using Options/Edit.
  • Improvements to System Settings Email Testing
    • The email to use for testing is now saved.
    • Details of the specific error encountered are now displayed along with suggestions for how to fix them.
  • The Invoice Status Filter now has an option for “Overdue Invoices”
  • Custom Fields Improvements
    • Adding a new field now respects the active tab (selected table).
    • Field names are limited to A-Z, a-x, 0-9, space, - and _ characters to avoid naming compatibility issues.
    • Removed the ability to define date and datetime formats as it could conflict with the system setting.
    • Added bulk delete functionality. (select multiple fields and delete)
    • Added the ability to sort all base module table views by custom fields.
  • Added an animated gif to show processing for long running processes, like bulk record deletions.
  • Added graphic visual identifiers for all major module views
  • Changed to a new and prettier JavaScript library for alerts and confirmations
  • Delete buttons have all been themed with Bootstrap Danger to avoid accidental deletions.
  • Added a Client Name badge to the Client Payments view
  • Added the ability to define the display density of Custom Fields, by setting the number of columns.
  • The Time-Tracking Add-on has been included in the new user permissions system.
  • The Time-Tracking Add-on now allows for editing of previously saved timer entries.
  • Added a small client type color indicator to the client list.
  • Added visual warning when attempt to change the Client Type to ‘Lead’ or ‘Prospect’.
  • Reduced the size of the dashboard widget icons.
  • Improved validation for the Import Tool and updated the documentation for it.
  • Added a utility function called “Tag Cleanup” to the System Settings -> General page.
    • This removes all tags that were created but are no longer being used.
  • Added a check for the newly required GD (graphics drawing) PHP extension on the System Settings -> System page.
 Bugs Fixed
  • The System Settings -> Dashboard page had no language translations
  • When copying an invoice, attachments would not copy from the source invoice
  • Client Center accounts would not display/translate to the appropriate language when the language was set on the client’s record.
  • When a quote was approved, it would not display within the Approved totals on the Dashboard.
  • The Profit and Loss report included tax amounts within the Income calculation. It should not have.
  • Running the Payments Collected report for a time period that yielded no results would display an error.
  • The Public Invoice view could cut off the bottom portion (footer area) of the view for longer invoices.