January 9, 2020
New Features A New User Roles & Permissions Management System o 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. o 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. o 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. o Notes are included within the user privileges system. o You can now edit notes after they’ve been saved. o 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. o A timeline view with user initials and colored avatar. o Client notes can (optionally) be displayed below the Client Details page. (set within System Settings) o Notes can be searched by description, user name and assigned tag. o A new search control was added to allow for a more directed search experience. o 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 o The Search control was moved from the top of the left navigation menu into each module (Clients, Invoices, Quotes, etc.) o Added Tag filtering to the Clients module o Added a display of the number of matching filtered records. o Added the ability to easily clear the current filter. o Searching now respects all active filters. Added Notifications for New Version Releases Added Notifications for Support and Update Renewals A New Integrated Task List o A new dashboard widget was designed for managing your personal to-do list. o You can enable the widget from the System Settings -> Dashboard view. (A minimum of 6 columns is recommended.) o Assign a task to yourself or any member of your team. o Use the inline task creation for quick task notes (using the Add Item link in the task section header) o Use the Create Task or Edit Task buttons to enter full details. o Tasks can be assigned to a specific client, if needed. o Tasks can have file attachments and notes. o Tasks can be closed (marked complete) o Tasks can be reopened if needed. o Tasks can be reassigned o Tasks can be filtered based on their: Status (open, closed, all, overdue), Date range Keyword contained Assignee o Task have four sections: New Today Tomorrow Later o Tasks can be moved and sorted within and between sections with a simple drag and drop. o 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 o Badges display for: Clients, Invoices, Quotes and Tasks Added Automatic Exchange Rate Calculations o 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 o 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 o 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 o This provides a more consistent UX and flows better with the new user permissions system. Editing a Client record respects the active tab o 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 o 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 o 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. o Accessible from the panel below the invoice details, using Options/Edit. Improvements to System Settings Email Testing o The email to use for testing is now saved. o 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 o Adding a new field now respects the active tab (selected table). o Field names are limited to A-Z, a-x, 0-9, space, - and _ characters to avoid naming compatibility issues. o Removed the ability to define date and datetime formats as it could conflict with the system setting. o Added bulk delete functionality. (select multiple fields and delete) o Added the ability to sort all base module table views by custom fields. Example: Assumes we have added a custom field (Date type) to the Invoices table, called “annual_support_due”. In the _table.blade.php <thead> section <th> {!! Sortable::link('annual_support_due', 'Annual Support Due') !!} </th> In the _table.blade.php <tbody> section <td class="hidden-xs">{{ $invoice->customField('annual_support_due') }}</td> *It Should be noted that fields having multiple value options (like tags) are not sortable. *Also, instead of making changes directly to a core module’s view file, create a copy the file in the ./custom/overrides/<core_module_name>/ folder. At run time, override views will take the place of core views and by doing this, your modified files will be preserved during upgrades, even if the core files are replaced. 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 Previously, without this, there was not client name visibility when entering payments. Added the ability to define the display density of Custom Fields, by setting the number of columns. Previously, custom fields could only display one field per row. (This is set in System Settings -> General) 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’. *Previously this would quietly change the value back to ‘Customer’ on save. It now lets you know that it’s not allowed. 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. o 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. Bug Fixes 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.
Resolved Issues 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.
Maintenance Release
Version 2020-1.1
Release Notes
Resolved Issues Resolves a database migration issue, which occurred for upgrading users, that would display client center logins, under the admin users list, as admin users. (This was only a display issue, client ID logins worked properly and were only able to view their own information.) Attempting to create a new user would fail with an error “Undefined variable: returnURL”. On a new installation, no user initials or profile avatar background color were created upon creation of the default system user.
January 12, 2020
[Maintenance Release]
Version 2020-1.2
January 10, 2020
Version 2020-1
Resolved Issues 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. New Features Added a new Email sending option of SendGrid API in System Settings -> Email. German Language Translations. (Vielen dank to Jakob G.)
January 17, 2020
[Maintenance Release]
Version 2020-1.3
Version 2020-1
January 9, 2020
New Features A New User Roles & Permissions Management System o 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. o 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. o 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. o Notes are included within the user privileges system. o You can now edit notes after they’ve been saved. o 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. o A timeline view with user initials and colored avatar. o Client notes can (optionally) be displayed below the Client Details page. (set within System Settings) o Notes can be searched by description, user name and assigned tag. o A new search control was added to allow for a more directed search experience. o 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 o The Search control was moved from the top of the left navigation menu into each module (Clients, Invoices, Quotes, etc.) o Added Tag filtering to the Clients module o Added a display of the number of matching filtered records. o Added the ability to easily clear the current filter. o Searching now respects all active filters. Added Notifications for New Version Releases Added Notifications for Support and Update Renewals A New Integrated Task List o A new dashboard widget was designed for managing your personal to-do list. o You can enable the widget from the System Settings -> Dashboard view. (A minimum of 6 columns is recommended.) o Assign a task to yourself or any member of your team. o Use the inline task creation for quick task notes (using the Add Item link in the task section header) o Use the Create Task or Edit Task buttons to enter full details. o Tasks can be assigned to a specific client, if needed. o Tasks can have file attachments and notes. o Tasks can be closed (marked complete) o Tasks can be reopened if needed. o Tasks can be reassigned o Tasks can be filtered based on their: Status (open, closed, all, overdue), Date range Keyword contained Assignee o Task have four sections: New Today Tomorrow Later o Tasks can be moved and sorted within and between sections with a simple drag and drop. o 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 o Badges display for: Clients, Invoices, Quotes and Tasks Added Automatic Exchange Rate Calculations o 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 o 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 o 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 o This provides a more consistent UX and flows better with the new user permissions system. Editing a Client record respects the active tab o 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 o 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 o 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. o Accessible from the panel below the invoice details, using Options/Edit. Improvements to System Settings Email Testing o The email to use for testing is now saved. o 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 o Adding a new field now respects the active tab (selected table). o Field names are limited to A-Z, a-x, 0-9, space, - and _ characters to avoid naming compatibility issues. o Removed the ability to define date and datetime formats as it could conflict with the system setting. o Added bulk delete functionality. (select multiple fields and delete) o Added the ability to sort all base module table views by custom fields. Example: Assumes we have added a custom field (Date type) to the Invoices table, called “annual_support_due”. In the _table.blade.php <thead> section <th> {!! Sortable::link('annual_support_due', 'Annual Support Due') !!} </th> In the _table.blade.php <tbody> section <td class="hidden-xs">{{ $invoice- >customField('annual_support_due') }}</td> *It Should be noted that fields having multiple value options (like tags) are not sortable. *Also, instead of making changes directly to a core module’s view file, create a copy the file in the ./custom/overrides/<core_module_name>/ folder. At run time, override views will take the place of core views and by doing this, your modified files will be preserved during upgrades, even if the core files are replaced. 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 Previously, without this, there was not client name visibility when entering payments. Added the ability to define the display density of Custom Fields, by setting the number of columns. Previously, custom fields could only display one field per row. (This is set in System Settings -> General) 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’. *Previously this would quietly change the value back to ‘Customer’ on save. It now lets you know that it’s not allowed. 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. o 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. Bug Fixes 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.
Resolved Issues 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.
January 10, 2020
Maintenance Release
Version 2020-1.1
Release Notes
Resolved Issues Resolves a database migration issue, which occurred for upgrading users, that would display client center logins, under the admin users list, as admin users. (This was only a display issue, client ID logins worked properly and were only able to view their own information.) Attempting to create a new user would fail with an error “Undefined variable: returnURL”. On a new installation, no user initials or profile avatar background color were created upon creation of the default system user.
Version 2020-1.2
January 12, 2020
Maintenance Release
Version 2020-1.3
January 17, 2020
Maintenance Release
Resolved Issues 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. New Features Added a new Email sending option of SendGrid API in System Settings -> Email. German Language Translations. (Vielen dank to Viktor N.)