Product Documentation


About FusionInvoice - 2023

Release Notes

FI Logo Blue Version 2023-3.03


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.
FI Logo Grey Version 2023-3.02


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.
FI Logo Grey Version 2023-3.0


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:
  • 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 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.
FI Logo Grey Version 2023-2.3


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.
FI Logo Grey Version 2023-2.2


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.
FI Logo Blue Version 2023-1.0


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.
FI Logo Grey Version 2023-1.2


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.
FI Logo Grey Version 2023-1.1


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 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.
FI Logo Grey Version 2023-1.0


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.