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.