Product Documentation

Versions

About FusionInvoice - 2023

Release Notes

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 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.