Version 2021-1.8
Summary
Primarily a maintenance release with numerous bug fixes, but also a
number of minor new features.
New Features
-
Numerous improvements to importers related to custom fields and item lookups.
-
Removed email greeting portion that was part of the templates email as it was not easily
editable. All information is now accessible through the System Settings -> Email -> body
sections.
-
Added a safeguard to prevent situations where a payment gateway’s response to the FusionInvoice
installation, for a completed payment transaction, was deemed incomplete by the payment gateway,
however the payment had been applied in FusionInvoice. This could yield future attempts by the
gateway to notify FusionInvoice of the payment, thereby creating additional payment posting
emails.
-
Added a new CSS class reference “custom-fields” to custom fields usage throughout. This will
make it easier for users to add their own JS event handling for custom fields.
Bugs Fixed
-
Entering a payment and automatically attempting to send the payment receipt could cause a 500
error if the system setting for Default Payment Receipt Body was set to Custom and there was no
custom template on disk. Added an error message display for this situation.
-
Resolved issues related to the system user not having a users_custom record. This entry is
automatically added with this version.
-
Overdue invoice emails could error due to this
-
The payments eventsubscriber could fail after payment application with Error: [0] Trying
to get property 'id' of non-object
-
From the Payments Module, Payment record, selecting [Options] Send Payment Receipt - the modal
window would not show the option for Attach Invoice PDF. It now does, and defaults to the System
Setting, Email, Payment Receipts section.
-
The System Settings dropdown list option for Invoices “If Invoice is Emailed While in Draft
Status” had been accidentally removed in a prior release. It has been restored.
-
Payments made from one of the three payment gateways by way of a public invoice link would not
always fill in the appropriate currency_code value in the payments table.
-
A migration has been added to fill in any missing entries automatically upon this
version update.
-
Deleting a recurring invoice that had no quantity entries would cause an error.
-
A small bug in attaching invoice PDFs to the payment receipt emails. The main setting is in
System Settings->Email. Check the box for Attach Invoice PDF in the Payment Receipts section.
Next, when entering a payment receipt, there is an option to Attach Invoice PDF, which it is
checked by default, it works fine. The issue is when you go to the Payments module, select a
payment record and choose [Options] Email Payment Receipt. The attach invoice option is not
shown here and it does not attach it by default. The option is now shown and checked/unchecked
based on the system settings value.
-
Changing a quantity value during invoice or quote line item entry could cause a custom entered
description to be reset to the default description.
-
On a new installation (not update), editing an invoice, recurring invoice or quote could display
an error “undefined index” related to the tax_id field.
-
Invoice template alignment change for Product Name. Product name would justify in the middle of
the row if there was a multi-line description or multiple custom fields. Changed to justify top
and left.
-
Emailing of a Credit Memo would yield an exception
-
Added Credit Memo section to the System Settings -> Email configuration
-
Attempting to change a vendor on an existing expense entry would fail.
-
Attempting to generate PDF output from running the Revenue by Client report would yield an
error.
Version 2021-1.7
Summary
A minor maintenance release
Bugs Fixed
-
Fixed a bug reported where entering a numeric only value in the invoice line item Product field
would cause a “Processing…” message that would not end.
-
Fixed a bug related to a missing table relationship that could cause a never ending
“Processing…” display upon deleting an invoice.
Version 2021-1.6
Summary
Many improvements, including import and export functionality,
additional custom field support, etc. Also numerous bugs were fixed.
* DATABASE UPDATE PROCESS - PLEASE READ *
We have added support for custom fields on a number of
core tables. This can cause the database upgrade portion of this update to take a long time.
Depending on the size of your database, it could take as long as one hour. Please be patient when
updating.
New Features
-
Major improvements to data importing and exporting
-
New Import Mappings allow for multiple, predefined file layouts to match your various
CSV formats.
-
Improved validation and feedback for failures
-
Added on-screen documentation (see Important Details button) including required fields,
and process explanations.
-
Added the ability to import data into your own defined custom fields as if they were
part of the native tables.
-
Created Named Exports for all exportable tables as a means of pre-defining selected
export fields.
-
Exports allow for use of your own custom fields as if they were part of the native
tables.
-
Added an option to define your own system limit to the maximum number of item lookups allowed.
The default is 5,000 and can be set withing System Settings -> General. This was previously set
to hard limit of 1,000 entries.
-
Added the ability to run daily tasks (normally run as a CRON job) from a new menu option within
Utilities and Logs.
-
Added custom field support for the following tables:
-
Invoice Items
-
Quote Items
-
Item Lookups
-
Recurring Invoice Items
-
Added table import support for the following tables:
-
Invoice Items
-
Quote Items
-
Item Lookups
-
Added a new option to the Item Sales Report for ‘Exclude Unpaid Invoices Y/N’.
Bugs Fixed
-
Fixed a bug where, if one or more add-ons were enabled, editing a standard user record could
yield an error.
-
Payment date issue - opening an invoice with an unpaid balance, then from the [Other] button,
select Enter Payment. Entering a date earlier than today and saving would incorrectly save the
date of today.
-
Using a currency that required a comma for the decimal point and dot for the thousand separator,
such as Euros, would display incorrectly when adding an invoice line item. It would show with a
dot for the decimal point and comma for the thousands separator.
-
Invoice totals would not refresh properly on save, if the system setting for number of tax
fields to display was set to 1 instead of 2.
-
Migrating from an older version that had database prefixes could cause an error when adding
currency codes.
-
When an Expense was edited and Category field was changed, the change would not persist on save.
-
Timeline entries for full payments could sometimes display partial payments due to a rounding
issue
Version 2021-1.5
Summary
Many features added, including improvments to currency formatting,
timeline views, etc. Numerous bugs were also fixed.
New Features
-
Restructuring of currency formatting. Added support for Euros with the comma and decimal in
either the thousands or decimal position. This holds true for all other supported currencies as
well.
-
You may now designate the currency selected for a payment. (Previously it would default to the
currency of the invoice.)
-
Added the ability to directly print invoices and quotes. Previously you were required to
generate and download a PDF before you could print.
-
Improvements to Save Item as Lookup on Invoices and Quotes. Options display more appropriate to
the state of the invoice and line item.
-
Removed the ability to change the currency and exchange rate on an invoice that already has a
partial or full payment.
-
Reduced timeline logging of completed tasks within the Dashboard Tasklist widget. Previously it
would display an Edit entry followed by the Completed entry. These have both been combined in to
one Completed entry now.
-
Made the system menu / navbar submenus approximately 15% wider for improved responsiveness.
-
Added a test after user login to ensure that all required writable folders exist and are in fact
writable. If not, the appropriate warning(s) are displayed.
-
Added a test for existence of email template files on post-login of admin users. Appropriate
warning(s) are displayed if they are missing.
-
Added a highly visible watermark on the Client view for Inactive clients.
-
Added a new configuration item in System Settings -> General for Tax Fields, allowing for the
selection of 1 field or 2 fields.
-
The description of Tasks have been added to the Timeline entry display.
-
Added the public invoice link to the default payment receipt email body.
-
Added a new System Setting -> General option to Require Tag(s) on Client Notes, Yes/No. This can
require that a tag is entered prior to saving a note for a client.
-
When entering a new payment from the Payments module, the initially selected currency was the
first in the list “Australian Dollars” and would change appropriately once the client was
selected. It now initially displays the default system currency instead.
-
On the main client view, improved the display of balance information to show Open Credit amounts
as well as Unapplied Payment amounts.
-
On the main client view, improved the display of balance information to handle clients that have
used multiple currencies. The primary currency for the client is displayed/selected by default,
and the other used currencies are selectable via a dropdown list.
-
Improved the UI grouping of the System Settings -> Email page to group logically based on the
function of the email (Ie. Quotes, Invoices, Payment Receipts, etc.)
-
Added a new client setting for Automatically Email Recurring Invoices. When a recurring invoice
is generated, if this option is selected, it will automatically email the client a copy of the
invoice.
-
Added the ability (and setting on System Settings -> Email) to Attach PDF for Payment Receipts,
Overdue Invoices and Upcoming Payment Notice emails.
-
Numerous Czech language file translation updates
-
Added a utility file, ficheck.php, to the base installation to assist in identifying missing
installation requirements.
Bugs Fixed
-
Time Tracking add-on, Timesheet report could show time entries with dates outside of the
selected date range.
-
Data importers for invoices and payments have been updated to reference the new payment_invoices
table.
-
In the case of multiple partial payment being applied to multiple invoices for the same client,
the payment balance could show the client’s outstanding invoice balance in error.
-
In certain cases, deleting a note could cause the timeline view to display an error.
-
The Payments Collected report would display an error when a specific Company Profile was
selected.
-
Clicking the Back button within a Task view from the Tasks module, could route to an incorrect
page.
-
The Dashboard’s Custom Date range was not respecting the selected system date format. It now
does.
-
The Timeline Event Types list display would cut off, with only 3 event types being displayed.
Fixed.
-
When selecting multiple Invoices or Quotes from the list and creating PDFs (contained in a zip
file), in certain cases, the zip file creation could fail and display an error. Fixed.
-
Hidden console errors related to apple touch icons have been fixed.
-
Sometimes when paying an invoice in full, the text of the timeline event could incorrectly show
as “partial payment”. Fixed. This was due to an occasional rounding error.
-
Deleting a Task that you created and assigned to another user would cause an error for that
other user if you deleted the task. Fixed.
-
Removed a migration that attempted to create Passport keys on the 2021-1.4 release. Not all
hosts support the ability to run the exec command.
-
For some shared hosting providers, the Check for Updates feature would fail because the PHP
option allow_url_fopen is often disabled. Changed to use GuzzleHTTP library instead.
-
Creating an Item Lookup entry that had the double quote character “ in the name or description
could cause an incorrect display.
-
The CSS styles assigned to the payment receipt email was being ignored.
-
Tags for recurring invoices and invoices were independent of one another, so that assigning a
recurring invoice with a specific tag would not guarantee that the invoice created by it would
be assigned the same tag. This has been corrected and an update migration was created to align
prior entries.
-
Sometimes when saving changes to a client record, and the client had the setting enabled to
Allow Client Center Login, it would incorrectly prompt to enter a password for the client, when
it had been entered previously. Fixed.
-
In certain instances it would allow entering and applying a payment in a currency other than the
invoiced currency. Fixed.
-
The Mollie payment gateway could record more than one payment in FusionInvoice if Mollie’s
Webhook did not receive a proper 200 response. This would not charge the client twice, but could
show in FusionInvoice as having multiple payments.
Version 2021-1.4
Summary
A wide range of minor feature additions and bug fixes.
New Features
-
Added language support for Lithuanian, Danish and Czech.
-
Minimum PHP version requirement has changed to 7.3.
-
Improved tax handling with respect to Item Lookups. There is a new option for the dropdown
fields Tax1 and Tax2 on Item Lookups, which is ‘System Default’. If this option is selected,
when the item is used on an invoice, recurring invoice or quote, it will inherit the tax
assigned at the system configuration level.
-
Improved internal referencing of the greeting within the body of the invoice and quote emails.
If a client record has a “Default To” contact(s) set to Yes, that contact(s) will be included
for sending the email to. If there are multiple recipients of the email, the greeting will be
“Hi there”. If there is only one recipient, it will use the company name or the contact name,
(Ie, “Hi John”).
-
Client deletion is no longer allowed if a client has associated transaction records (invoices,
quotes, notes, payments, etc.) It is recommended that you instead set the client as Inactive.
-
Several CSS improvements which improve mobile responsiveness. (Vielen dank, Falko)
-
Added the ability to update a client contact’s Default To, CC, and BCC when in the contact’s
modal edit view.
-
Removed the validation for a client contact to require phone number.
-
The client selection control now displays only active client records when creating an invoice or
quote.
-
Added the invoice date field to the payments list, for payments that have a 1-to-1 relationship
to an invoice. If a payment was applied to more than one invoice, the word “multiple” will be
shown.
-
Removed the static column widths within the Invoices table display, which allows for improved
readability, especially when some users do not populate all of the columns, as unpopulated
columns now take up less space.
-
Merchant payment processing safeguards added. This is related to clients paying invoices via the
public invoice link, which in turn uses a merchant’s payment gateway. After the payment is
processed the merchant’s network calls back to your FusionInvoice, notifying it that the payment
was successful (or not), at which time a payment entry is generated in FusionInvoice. In the
case of a network error, when the merchant network call-back could make several attempts,
FusinInvoice will now accept only the first successful attempt, discarding all subsequent
requests. In addition, when the client clicks the Pay Now button, it is immediately disabled to
disallow the potential for multiple clicks.
-
Added a “Searching. . .” animated graphic to Timeline searching and filtering, both on the
dashboard timeline and client view timeline.
-
Added a folding interface for long notes to be displayed within the Timeline and Notes lists.
Now if the note is more than 5 lines long, it will show the first 5 lines and display a “Show
more” link, allowing you to view the rest of the note, while conserving space.
-
Added a Tax column to the Expense List report. In previous releases it was difficult to
determine why the Expenses, totalled by category did not match the Profit and Loss Expense
amounts. Taxes were not being displayed on either report, but were being deducted from the total
on the P&L report.
-
Added an option to “Deduct Taxes from Expenses” to the Profit and Loss report.
-
Removed the deprecated .\api folder from the default distribution.
-
The system setting for Invoices 'if_invoice_is_emailed_while_draft' has been deprecated and
removed.
-
The system setting for Invoices 'Allow entering payments without balance' has been deprecated
and removed.
-
Added the ability to see Note Tags within the header of the note of the Timeline view.
-
Tasks created by another user and assigned to you now display the Created By User and Datetime
at the bottom of the task view.
-
From the Client’s Task page, the Options button would only display if you were the user that
created the task. In addition, it now displays also if the task has been assigned to you.
-
Added a thin border to the dropdown menu, to better distinguish it from the background, when
using a theme with a white background.
-
Improved multi-currency visibility on the Payments Collected report. There is a new option,
“Currency Format” available that allows you to choose Base Currency or Invoiced Currency. When
using Base Currency, all amounts are adjusted by the exchange rate established on the invoice.
If using “Invoiced Currency”, the native currency of the invoice will be shown, but the totals
will still be adjusted by each invoices exchange rate.
-
The Payments list now displays payments in their actual currency. Previously they had been shown
only in the system default currency.
Bugs Fixed
-
Fixed a bug related to the new system email default, where it could be left empty on a brand new
installation.
-
Fixed a UI bug that would display “fi.” in the client contacts list Title column, in the case
that the contact had no title assigned.
-
Added a refresh of the invoice view after a draft invoice is emailed, as internally the status
changes to Sent, but the view was not reflected the change until it was refreshed.
-
System generated emails for upcoming payment notices, overdue notices, and new invoices
generated from a recurring invoice run were not including client contacts that were marked as
“Default To” = Yes. Fixed.
-
When a live invoice is generated from a recurring invoice template, the email shown on the
public invoice and PDF could display as “system”. Fixed. In addition use of the system email has
been improved throughout.
-
Default system tax rates were not being properly assigned when invoicing and adding a custom
item code (not selected from an existing Item Lookup). Both tax entries were left blank in this
case. Fixed.
-
A browser syntax error was generated when sending a system test email with the system language
set to French. Fixed.
-
Pre-payments were not automatically sending payment receipt emails, despite the Email Payment
Receipts option being set to Yes. Fixed.
-
Searching the Timeline, within a specific Client view, would lose scope of the client and
perform a global timeline search. Fixed.
-
In some cases, within the Payment Entry window, if the Email Payment Receipt box was checked,
the email could fail. The error could be seen in the mail log and was related to improper JSON
formatting. Fixed.
-
Contact titles in some languages (French reported) were not displaying with proper localization.
Fixed.
-
When entering a payment, the checkbox for Email Payment Receipt would not always check or
uncheck itself based on the Email Payment Receipts setting on the client record. Fixed.
-
Keyword searches within the payments module was not consistent. Fixed.
-
If a client’s Name did not match their Unique Name value, when creating an invoice, recurring
invoice or quote, the client name was not properly pre-selected and could result in a new client
record being created. Fixed.
-
Using a date selector of Last Month or Last Quarter, for dashboard views or reports, would yield
incorrect results when used in the first month of the year. Fixed.
-
Notes could display improperly in the timeline view if they had been pasted in from formatted
HTML. Removed the timeline short description cut off to remedy this.
-
Reported discrepancy between expenses shown on the Expense List report and the Profit and Loss
Report. This was not a bug, per se, but the reports did not display the tax amounts in a way
that was self-explanatory. This has been addressed in two reporting improvements.
-
Attachment uploads were not being logged to the timeline. Fixed.
-
When entering a payment through the invoice view, if the client had no email on file or they had
the option to Send Payment Receipt Emails set to No, the checkbox would not display to “Send
Payment Receipt Email”. It now displays, but is disabled, with a mouse-over tooltip, showing the
reason for being disabled.
-
If a new standard user was created, without the option to Allow Time Period Change within the
Dashboards section of User Permissions, they could receive an error when trying to load their
dashboard. Fixed.
-
On a brand new installation, the default values for decimal and thousands separator where
incorrect for Euros. Fixed.
-
Reported that installations using an IP address as a base for their server URL could display an
error when clicking the new Payment Applications button (or the “Multiple” link) from the
Payments module. This was related to a relative pathing issue. Fixed.
-
A testing value was improperly included in the Quote and Invoice Email subject blades and was
distributed in the storage folder. This folder should not be imported as part of and upgrade,
but was reported. Fixed.
-
When using the Copy Expense feature, the original values for Vendor ID and Category ID were not
persisted to the new entry. Fixed.
-
It was discovered that a standard user, who did not have the permission set for Allow Time
Period Change = “Yes”, could be unable to have their time period settings changed at all. To
correct this, a new field was added to the System Settings Dashboard view, which allows the
system setting to be changed for ”System Default Time Period for Invoice and Quote Summary”. (As
part of last year’s release, all admin users (and standard users with this option enabled) were
given the ability to change their own dashboard time periods independent of the system default.)
-
Payment entry in Euros was not properly using the decimal and thousands separator. Fixed.
-
Remaining balance on payment entry was not consistently updating. Fixed.
Version 2021-1.3
Summary
Minor feature additions and a number of resolved issues.
New Features
-
Dashboard Widgets Timeline and Task List now have a minimum column setting of 6 and maximum of
12.
-
Documentation changes for the use of Payment Receipt Emails, as their use has changed with the
2021 release.
-
CRUD operations for Recurring Invoices are new logged as Timline events.
-
The Payment Receipt Email subject line now supports variable referencing. For example: “Thank
you for your payment of: {{ payment->formatted_amount }}”
-
Quotes and Recurring invoices view now highlight the Currency and Exchange Rate fields, if the
currency used is not the default system currency. (This was implemented previously for
Invoices.)
Bugs Fixed
-
If a client record was deleted, and the client had payments on file that had been applied to
invoices, opening the Payments view would yield a 500 error.
-
Attempting to delete a paid invoice would display the processing image indefinitely.
-
The calculation for the overdue invoice total, on the Dashboard Invoice Summary widget, was not
always accurate for the selected time frame.
-
Adding a file attachment that contained a comma in the filename would cause an error if using
the Chrome browser.
-
A minor bug in Timline filtering was fixed.
-
When editing a Quote, the “Other” menu link for Quote to Invoice would display an error. Fixed.
-
Currency editing and display. When a currency record had a Thousands Separator of a comma and a
decimal point value of a Dot (full stop), such as is normal for Euros, it could display as '
in the Currency Edit form.
-
In the above currency scenario (Ie. Euros), line items on Quotes and Invoices would display with
their thousands and decimal notations reversed, causing an evaluation problem on document save,
which would overstate the line item amount.
-
Opening the Time Tracker add-on would display an error.
-
When choosing to create an Invoice or Quote from within a Client record, the document details
view which pops up would prompt to select the client. This is now defaulted to the current
client.
-
Converting a Quote to an invoice is now a timeline logged event. This can happen by clicking the
Quote to Invoice link or, if the System Setting for Automatically Convert Quote to Invoice When
Client Approves, is set to ‘Yes’.
-
Payment Receipt Emails could allow an incorrect selection in the To Mail of the current logged
in user’s email address. if the client record had no email address defined. Fixed.
-
The default invoice template could display an out of place comma character if address
information was only entered in the freeform address entry text area (and not in the individual
address fields).
-
Attempting to upload an .SVG file for use as a company logo would yield a 500 error. Attempts to
upload .SVG files are now denied, as they are not supported by the graphics library FI uses.
-
On System Settings update, added a check to see if the (hidden) System user email matched the
System Settings -> Email -> Mail From Address. If not, the System user’s email is automatically
updated to this value.
-
Unchecking the Send Payment Receipt email box, could be overridden by the Client setting for
Send Payment Receipts. Fixed.
Version 2021-1.2
Summary
Minor feature additions and bug fixes.
New Features
-
Item import now allows the importing of item categories.
-
All areas throughout FI, where client selection is an option, the new dropdown selector control
is used.
-
The Item Lookup list was previously limited to 100 entries. It has been expanded to 5,000.
-
Emailing documents (Invoices, Quotes, Payment Receipts, etc.) has been improved to allow 3
options:
-
The main system email defined in System Settings
-
The email address of the user that created the document or entered the payment
-
The email address of the currently logged in user
Bugs Fixed
-
Client Center logins were experiencing errors stating “BadMethodCallException”.
-
Customers using Database Table Prefixes were experiencing errors in multiple modules.
-
Using the Edit button for to client’s “To:” information on the Invoice edit view would yield a
500 error.
-
Expense entry - attempting to remove a client from the expense, once added could not be removed.
-
Export tool would display an error.
-
Clicking the Delete button from the Client view, Task page was not actually executing the delete
action.
-
Currency Editing - Editing a Currency entry would display the HTML markup values for the decimal
point and thousands separator after saving the entry. (Ie. a dot for Decimal Point would display
. and a comma for Thousands Separator would show ,)
-
Payment Receipt Emails - The Send From email address was being improperly displayed.
-
The Client Name column in the Invoices list has been widened.“System” would show as an (invalid)
email Send From option when the invoice had been generated from a recurring invoice template.
Version 2021-1.1
Summary
A minor maintenance update with a few feature additions.
New Features
-
Client Statements now include pre-payments
-
The Current FI Version is now shown at the top of the main Setup page.
-
Added ability to complete tasks and edit them from within the Client view.
Bugs Fixed
-
Certain non-English language files were displaying graphic symbols in place of language specific
characters. Removed php_value specific size limits on the distributed .htaccess file, as it was
causing issues for some hosts.
Version 2021-1.0
Summary
A wide range of major feature additions, including Credit Memos,
pre-payments, a new timeline dashboard widget, and many, many more. A number of minor issues from
previous releases were resolved.
New Features
-
Credit Memos
-
We have added the ability to create Credit Memos, sometimes called Credit Notes.
-
A Credit Memo is, for all intents and purposes, a negative invoice. Credit Memos are
displayed in the same areas in which you would normally see invoices.
-
Credit Memos are distinguished from Invoices with a light red indicator.
-
To create a Credit Memo, begin in the same way that you would with an invoice, but
select the Credit Memo option.
-
Credit Memos can be applied to one or more invoices through the new ‘Apply to Invoices’
option.
-
Pre-Payments
-
Prepayments are now supported in FI.
-
Prepayments are recorded payments that remain open until they are applied to one or more
invoices.
-
To create a prepayment, enter a new payment from the Payments module and select the
option ‘Pre-payment for future invoices’.
-
Pre-payments can be displayed in two ways on the payments collected report, either by
showing the entire pre-payment amount or by showing only the amount(s) of the
pre-payment that has been applied to invoices.
-
The dashboard widget displaying payments collected includes only pre-payment amounts
that have been applied to invoices.
-
To apply a pre-payment to an invoice, first select the invoice, then select Apply
Prepayment. This can be done from the Invoices list or by editing the invoice.
-
Similar to Credit Memos, prepayments can be applied, but on an individual
invoice-by-invoice basis.
-
Payments Covering Multiple Invoices
-
Similar to pre-payments, FI now supports entering one payment that can be applied to
multiple invoices.
-
This is done the Payments module, while entering a new payment.
-
Task List Improvements
-
The dashboard widget Task List has a new filter, allowing you to show All tasks, tasks
created yourself or tasks assigned from others.
-
Tasks relating to clients are now shown in a tab on the Clients view.
-
Task List now has it’s own module
-
Added a button on the Task List dashboard widget to sort by date or date/time.
-
Added the ability to customize the Task Title, when creating a task from a Note.
-
The Task List dashboard widget is now set to be enabled by default for upgrading users.
-
Within the Task edit view, clicking the Calendar icon now displays a calendar for
selecting dates.
-
Parent and Child Account Support
-
From any Client account, on the Settings page, you may assign a parent account,
establishing a parent-child relationship.
-
Child accounts display a Link visual and the parent account name under the main client
name area.
-
Parent accounts display a page/tab within the Client view called “Child Accounts” and
lists all of the child accounts that belong to the parent account.
-
A New Timeline View
-
A dashboard widget allows displaying a timeline of important FI events, such as:
invoices created, clients being edited, payments received, notes created, recurring
invoices generated, etc.
-
The timeline allows for quickly searching and filtering important events.
-
In addition to the dashboard Timeline display, a client-specific Timeline is displayed
below the Client record.
-
For upgrading users that wish to populate their timeline from past events, there is a a new page
within System Settings, labeled “TImeline History”. This page is shown only when your system has
past timeline events to be generated.
-
Improvements to the Clients View
-
A new tab showing Tasks assigned to the client.
-
A new tab showing Child accounts displays if the client has child accounts.
-
A new link showing the account’s Parent account is displayed if the client record has a
parent account defined.
-
Count badges are displayed on client related tabs, for Contacts, Attachments, Notes and
Tasks.
-
A new button was added to the Client view to Add Note.
-
A new button was added to the Client view to Create Task.
-
Reduced clutter on Client view by moving Create Invoice, Create Quote and Create
Recurring Invoice to their respective tabs.
-
Added a new Client Type option for Affiliate. This is for clients that do business on
your behalf, with your products.
-
Client searches now these fields in addition to the previous ones: Address, City and
Zip/Postal code.
-
A red badge is shown in the header area for Client entries that are flagged as inactive.
-
Client Contacts Improvements
-
Added 2 new fields to Contacts view - Primary and Alternate Phone.
-
Added a Notes field.
-
Added the ability to create, edit or delete contacts for a client while in View mode.
-
Added WYSIWYG capabilities to Note entries.
-
Currency and Exchange Rate Improvements
-
Added support for currency symbols requiring a space after the amount and before the
symbol.
-
When the currency used for an invoice differs from the base system’s currency, the
exchange rate and currency fields display with a yellow background to call attention to
the difference.
-
Redesigned the formatting capabilities of currency symbols to be much more flexible.
-
The currency options for thousands separator and decimal points have been changed from a
free-form textbox to a dropdown list, allowing for all major world currency options.
-
Invoice Improvements
-
Added a Client link to the “To” box containing the client name and address for Invoices,
Recurring Invoices and Quotes.
-
Line item entry was improved with the use of the new Item Lookup control.
-
Item Lookups Changes
-
Item Lookups will no longer allow entries with duplicate names.
-
Added a new Category field to Item Lookups to improve sales reporting capabilities.
-
A new item entry control was created for item selection within invoice line items. The
new control allows for and easier selection from a dropdown list of existing lookup
items or enter a new one. Previously, to get a list of lookup items, you had to enter
the first few letters of the item to get a matching list.
-
Introduced the concept of a System Emails.
-
Within System Settings, there are new fields for Mail From Address and Mail From name.
This serves as a System user to send mail from and is the new default when sending
emails and quotes. It had previously used the email of the logged in user. You still
have the option to chose to send from your user email account if you like.
-
System Menu Improvements
-
Redesigned the System menu into more logical groupings.
-
Added a new view for System Log.
-
Added a new view for Mail Log.
-
Reporting Improvements
-
The Client Statement report could be confusing when multiple currency types were used.
It has been improved and now groups and totals by currency type.
-
The Client Statement report includes Credit Memos and displays their document numbers as
a light red color.
-
Added date range selections of Last Month, Last Quarter, and Last Year to the options
for all date range selections throughout the system, including most reports.
-
The Revenue by Client report now allows for custom dates.
-
Added Category selection to the Item Sales report.
-
Added new improved dropdown list selector for Clients on the Client Statement report.
-
Added a new report, Invoices by Client.
-
General UX Improvements
-
Added more attention-grabbing warnings when deleting records.
-
Added a new status field of Inactive to the Users view. An inactive user has no login
rights.
-
Improved handling of user deletions. It now prompts to change them to Inactive instead,
but if deleted, it is a soft delete and all related information entered by the user
remains in tact.
-
Changed default web session timeout from 2 hours to 1 week to minimize logins required
for normal users.
-
Added a new setting for Company Profiles to designate the Default profile.
-
Added a Cancel button to the Expenses edit mode.
-
The new Item Lookup control is used for invoices, quotes and reports that prompt for
item selection.
-
Added a visual enhancement of striped tables to all table displays throughout.
-
Delete buttons throughout are themed red.
-
Introduced a new “System” user that is used to mark timeline entries for automated
entries, like recurring invoices being created or customers paying invoices from public
invoice links.
-
Improved search capabilities within all the modules. It is now an AND search instead of
OR for keyword matching.
-
Updated the control used to select Expense categories to a new selectable dropdown list,
similar to the new Item Lookups control.
-
Previously, when within the Client view, when deleting a document, you would be returned
to the individual document module’s list. You are new returned to the view of the client
and specific module from the document that you deleted.
-
Improved the layout and improved functionality for Email testing within System Settings.
-
Added more information to the System tab within System Settings to display MySQL
version, Webserver type and the most recent 300 lines of the system log.
-
Added the concept of user specific dashboards. A user can now define, within their user
settings, their own dashboard display. If the user does not have a custom dashboard
defined, the system dashboard is used for them.
-
Added the ability to create PDFs in bulk for Invoices or Quotes, by selecting the
checkbox in the invoice list and clicking the PDF button.
-
Added a new setting for Tasklist items to show (or not show) a time value in the task’s
due date.
-
Improved readability of all field labels on all module views, where the field’s label
displays in bold and the data displayed is in standard type.
-
Added a new Tag field to the Invoices module for quick filtering of specific invoices.
This has been added to normal invoices, as well as recurring invoice templates. The
filtering capability was added to the header area of the Invoices list.
-
Added an automatic field selection of the search box when clicking any of the modules
from the left navbar menu. Reduces the number of clicks needed to search within any
module.
-
Added a dropdown list control for Country selection for the Client view, Company
Profiles and System Setup.
-
Added a Copy Invoice feature to the Options button on the primary invoices list as well
as the Client view invoices list.
-
Improvements to the System Settings, System page. It now shows all requirements in an
easily identifiable pass/fail manner.
-
Moved the Notes area that could conditionally be displayed below the normal client view
back to its own Notes tab. I In place of this, the new Timeline display, which includes
Notes,is shown. as well as an Add Note button.
-
Improved UI when manually sending an overdue invoice notification. It is more evident
now when sending has completed.
-
Set a limit of 8MB on file attachments to minimize DB impact.
-
Safeguards were added before an Admin type user can be deleted. There must be at least
one other active Admin user and you cannot delete the user account if it is your
currently active user.
-
When a recurring invoice is generated and the system setting is on to automatically send
emails, the invoice status is now automatically changed to Sent.
-
Added an option within System Settings to require CAPTCHA on user login. This can be
used if you have a problem with brute force login attempts.
-
Changed the order of tasks that are run within daily scheduled tasks. Recurring invoices
is now run before the other tasks.
-
Improvements to Custom Fields
-
Added a new PDF creation library, MPDF, as an alternative to DOMPDF.
-
An all-new API
-
WARNING! This is a breaking change if you are using the API from prior versions.
-
Added custom API endpoints for sending invoices or quotes via email
-
Added support for custom fields
-
This release includes an entirely rewritten API, which is much more accessible from
other applications and can easily be tested with common API testing tools like Postman,
cURL, Fiddler, Insomnia, Swagger UI. etc.
-
We will be providing detailed information about using the new API in upcoming
documentation, but in the mean time, if you are using and relying on the previously
provided FusionInvoice API, this update will be a breaking change. Please do not update
your live FusionInvoice installation until you have the new documentation and have
recreated your endpoints using the new API.
-
Improved Upgrade Migrations
-
Significantly redesigned the database migration strategy, which improves relational
integrity during updates.
-
New Notification System
-
A notification system was added that displays a badge with a number in it in the upper
left portion of the header when a new notification comes in. Currently notifications are
limited to tasks that have been assigned to you from others, but it will be used for
additional purposes in future releases.
-
Groups is now “Document Number Schemes”
-
The “Groups” table and associated UI labels to the more accurate “Document Number
Schemes”.
-
Language File Overides
-
You can now customize your own language file translations and place them in an overrides
folder to ensure that they will be preserved through new version updates. This allows
you to override system default translations as well as create new translations that you
can use in your own customizations.
-
For reference, look in the /resources/lang/ folder (where ‘xx’ is your
specific 2 character language code) to see your language specific translation
files. Your override files will have to have the same names as the core files,
but you will place them in the /custom/overrides/lang/ folder. You may
create override files for as many of the core files as you like.
-
When creating your override files, keep in mind that you only need to enter values that
you want to override. It’s not advisable to duplicate the same information that is in
the core language translations.
-
Due Date on Invoice Templates Supports Multiple Formats
-
We’ve expanded the options for Due Date to allow you to better call attention to it on
your invoices.
-
A few of the potential options:
-
{{ $invoice->getDueAt('F j, Y') }} returns January 29, 2020
-
{{ $invoice->getDueAt('m/d/Y') }} returns 01/29/2020
-
{{ $invoice->getDueAt('l jS \\of F Y h:i:s A') }} returns Wednesday 29th of
January 2020 12:00:00 AM
-
{{ $invoice->getDueAt('g:i a l jS F Y') }} returns 12:00 am Wednesday 29th
January 2020
-
{{ $invoice->getDueAt('l jS F Y') }} returns Wednesday 29th January 2020
-
Laravel Update from 5.5 to 7.4
-
Laravel, the underlying framework of FI, has been updated.
-
All third party libraries, including all payment gateways have been updated.
-
Increased PHP Requirement
-
7.25 minimum and 7.4 maximum
-
Email Templating Change for Payment Receipt Emails
-
Due to core changes with the payments system, to support payments that can span multiple
invoices, pre-payments and credit memos, there were changes also to the way that email
templates work for payment receipts. If you are currently sending payment receipt
emails, please pay special attention to this.
-
In previous versions there was a text area on the System Settings -> Email page that
allowed for the definition of the body of your payment receipt emails. This has been
replaced with a drop-down list that offers options for Default and Custom.
-
The new body for these default emails can be found here:
.\app\Modules\Payments\Views\payments\paymentReceiptBody.blade.php. ▪This file contains
proper referencing for the new structure of the payments and related tables.
-
If you wish to use a customized version of this email, create a copy of this file here:
.\custom\templates\email_templates\payment\paymentReceiptBody.blade.php. Any changes
made to files in the .\custom\ folder will not be overwritten by updates.
-
Finally, to ensure your custom version is used, change the setting in System Settings ->
Email -> Payment Receipt Emails from Default to Custom.
-
-
-
-
-
-
-
-
-
-
-
-
Bugs Fixed
-
The Notes window, which is modal, would disappear if you clicked outside of the window, losing
any note text you had just typed.
-
A custom field of type Checkbox would change its value to checked after a record was saved.
-
A bug when PDF-ing multiple invoice files from the invoice list.
-
User deletion was a problem. The UI now explains that it is a bad idea and allows for making
them inactive instead.
-
Fixed a UI bug where a user could change the status of an invoice that had a non-zero balance to
‘Paid’, but upon save it would simply revert. Now the Paid option is not available, if the
invoice has a non-zero balance.
-
If you viewed the System Settings page and your system was unable to report the current MySQL
version, the page load would fail. It now fails gracefully, showing that it could not be
determined.
-
Fixed occasional errors reported from the new Email Test feature added in the previous release.
-
Expense copying - If you copy an expense that had already been billed, selecting a different
client would not save. It would only be saved to the original client.
-
Client’s contact set as default CC was being ignored when an invoice was created from a
recurring invoice template.
-
Deleting all invoice or quote line items and trying to save would generate an error.
-
Fixed a bug where attempting to edit a note after it had been saved would not commit the
changes.
-
Corrected an error where, if the system date format was d-m-Y or d/m/Y, and you attempted to
create a task, it would fail.
-
Deleting an invoice when in edit mode would return control to a blank page.
-
Fixed bug where, when updating from very old versions, and error would occur due to no
associated company profile. Now, if no default is set, the update selects the first entry and
uses that as the default.
-
If a user added a logo image that was extremely large, it could cause invoice PDF generation to
fail. An automatic resize was added to reduce the size of the image if needed. The max size is
now 1000x1000 pixels.
-
In some instances a notification for Support Expiring Soon would display for dates a year from
today.
-
Improved handling of special characters when using the Import process.
-
Adding notes from an Invoice’s or Quote’s public view did not work.
-
Custom fields of type Date would not always respect the system’s setting for date time.
-
Attempting to save an invoice that has an empty line item on it would display an error “Name is
a required field”. It will now simply discard the blank entry and save normally.