6.4. Version 3.2 (November 2, 2017)

This version contains many new features, improvements and bug fixes. Here's a list with all the changes:

New Features

  • Reports

    • Redesigned the report windows to show their settings on the left so that the preview area is taller.

    • Can preview reports and invoices created from plain text templates (.txt, .csv, .xml, .iif, and .qif).

    • Redesigned all report templates to use a clean and simple design.

    • New report templates:

      • Time Statistics - new time report that displays various time statistics and charts.

      • Sales Statistics - new sales report that displays various sales statistics and charts.

      • Tasks Progress by Client and Project - new tasks report that displays the estimated time, the actual recorded time and the progress for the tasks included in the report.

      • Expenses - new expenses report that displays all expenses in a table just like they are displayed in the Expenses view.

      • Expenses by Category - new expenses report that shows expenses grouped by category.

      • Trips - new trips report that displays all trips in a table just like they are displayed in the Trips view.

    • Renamed the following report templates:

      • Project Expenses to Expenses by Client and Project

      • Project Tasks to Tasks by Client and Project

      • Project Trips to Trips by Client and Project

      • Client Summary by Month to Invoices Summary by Client and Month

      • Client Summary by Year to Invoices Summary by Client and Year

      • Client Summary to Invoices Summary by Client

      • Task Summary by Date to Time Summary by Task and Date

      • Task Summary by Week to Time Summary by Task and Week

      • Task Summary by Month to Time Summary by Task and Month

      • Project Timelog by Date to Timelog by Date, Client, Project and Task

      • Project Timelog to Timelog by Client, Project and Task

      • Projects to Projects by Client

    • Added new time, tasks, expenses, trips and sales report placeholders.

    • The ${item.date} invoice placeholder returns a different date for service items.

      For service items with at least one time entry, this placeholder returns the date of the oldest time entry while for service items with no time entries it returns the start date of the task it bills. Starting with version 3.0 up until now, the ${item.date} placeholder returned the start date of the task.

      If your service items are sorted by date in the invoice template that you are using to export your invoices (most likely) then older invoices may display services in a different order. This will happen especially for tasks that were billed multiple times.

    • Added support for CSV templates.

      Most tables can export their data as CSV files but if that doesn't work for you because you want the CSV file in a specific format, you can use a CSV template instead. CSV templates are plain text files that have the .csv extension. The advantage of using CSV templates over plain text templates is that the exported files will have the .csv extension.

      Timelog.csv is a template that creates a CSV time report with the Client, Project, Task, Description, and Time columns. Go to File / Open Templates Folder / Time Reports to open the templates folder and copy it there if you want to use it.

    • Fanurio can handle inline HTML images represented with the data URI scheme. This new feature is relevant for HTML templates (reports or invoices) that need to embed images.

    • Added a new Freemarker directive that can be used to include charts in Freemarker templates (for instance report templates). It can handle area charts, bar charts, line charts, pie charts and ring charts. More chart types will be added in the future.

    • Updated Freemarker from version 2.3.20 to version 2.3.23. This update is relevant only to expert users who need to create templates that use features available in versions newer than 2.3.20.

  • Time tracking

    • Added a new project section that makes it possible to view and manage the time recorded on a project. This section is similar to the Timesheet view except that it shows only the time entries of the project selected in the Projects view.

    • By default, Fanurio tracks time in minutes but it can now be configured to track time in seconds.

    • If you are not recording time in seconds, Fanurio rounds the time recorded by a timer to the nearest minute when it's stopped. Previous versions always rounded time down. Here's how it woks now:

      • If the timer shows 01:29:15 (1 hour, 29 minutes and 15 seconds) then this time will be rounded down to 01:29:00 (1 hour, 29 minutes).

      • If the timer shows 01:29:35 (1 hour, 29 minutes and 35 seconds) then this time will be rounded up to 01:30:00 (1 hour, 30 minutes).

    • The Edit Time and Start Timer dialogs display the name and the price of billable tasks.

    • Time fields are set to 00:00 if their content is deleted.

    • The duration of the Time and Pause fields from the New Time dialog can be adjusted using the up and down arrow keys.

    • Deleting time entries from Edit Task | Time now asks for confirmation.

    • The Timesheet contextual menu that's displayed when a time entry is right-clicked or Ctrl-clicked on macOS contains two new actions: Start New Timer and Start New Timer... . They start the timer for the same task and with the same description.

    • The default date for new time entries depends on the selected view and its date filter. When the Timesheet view is selected and its date filter is set to a specific date or period like yesterday, the default date for new time entries will be yesterday instead of today. This feature makes it easy to enter records in the past and it was first implemented in version 2.2.

      The New Time action has been improved to use the same default date no matter where it is called from (menu, toolbar, table button, table double-click, or contextual menu). This behavior was also improved for expenses and trips.

    • The default date for the first time entry of a task is the start date of the task.

    • The delimiter field from Import | Import Timesheet (CSV) is now editable.

    • Added a new setting (ui.window.mini.alwaysontop) that can change whether the mini-timer window is always on top or not.

      This setting is enabled by default but if you want to disable it, you must edit the settings file manually and add the following line at step #4:

      ui.window.mini.alwaysontop=false
  • Projects

    • Projects can now be moved from one client to another. To do this, right-click a project in the Projects view, select Edit Project from the contextual menu and then set the new client in the Edit Project window.

      Invoiced projects can't be moved since they can't be billed to a client and then be assigned to another client but uninvoiced tasks, expenses, trips and products can be moved to other projects.

    • When trying to edit an invoiced project element (expense, trip, product or time entry), Fanurio will inform you that it can't be edited but it will now offer you the option to view it.

    • Right-click a trip in the trips table and select New Reverse Trip from the contextual menu to create a copy of the selected trip that reverses the start and end locations.

    • The due date for new tasks defaults to the due date of their project if the optional Due Date field is enabled for tasks.

  • Contacts

    • Go to File » Export » Export Clients to export all the clients you recorded in Fanurio to CSV or Excel.

    • Added a search field to File » Import » Import Contacts from Apple Contacts ... to locate contacts faster when the list of contacts is very large.

Improvements

  • Database loading time: The database is loaded faster now. For large databases (data recorded over several years with many projects and invoices), the loading time is reduced to more than half of what it used to be. This means that the application will start a few seconds faster.

  • Table improvements

    • Added a new table shortcut to edit the selected record (Command-I on OS X and Alt-Enter on Windows and Linux). Tables already had a shortcut for deleting the selected record (Delete).

      To avoid confusion between the new Command-I shortcut and the existing "Switch to Invoices View" shortcut (Command-Shift-I), the latter now uses Command-Shift-V (OS X) and Control-Shift-V (Windows, Linux).

    • Double-clicking the empty area of a table will create a new record for that table. For instance, double-clicking the empty area of the Timesheet table will create a new time entry.

    • The totals displayed at the bottom of a table are calculated for all records when one row is selected and for all the selected records when two or more records are selected.

    • Added more space between the totals displayed at the bottom of a table to make them easier to read.

    • Added a new Select Columns action to the table header popup menu that makes it easier to select the visible columns.

    • Removed all table buttons except for the New button to declutter the area below each table. The same actions are available from the contextual menu of each table. Ctrl-click on macOS and right-click on Windows and Linux to open the contextual menu.

  • Date filters

    • Date filters have two new buttons that allow you to navigate to the next or previous period. The buttons are enabled only if a day, week, month or year is selected, they are not enabled if an arbitrary period is selected.

    • Date filters across the application use the same grouping of predefined periods, the current period (Today, This Week, This Month, This Year) and the previous period (Yesterday, Last Week, Last Month, Last Year).

    • Report date filters have two new periods when billing is enabled, This Financial Year and Last Financial Year.

    • Redesigned the looks of the date picker calendar and added two new buttons to scroll its year.

    • The date filter popup has a new action that can select a month called Select Month. Besides the standard periods (Today, This Week, This Month, etc) you can now select specific days, months or custom periods.

  • Duplicates

    • Renamed all "Copy X" actions to "Duplicate X" to avoid confusion on whether the selected object is copied to clipboard (it isn't). For instance, Copy Project is now called Duplicate Project while Copy Expense is called Duplicate Expense.

    • The folowing fields were not copied when creating a duplicate object: Task.notes, Project.description and Project.notes.

  • Projects table

    • The Projects table has a new Invoices column that displays the invoices for each project. The column is hidden by default, right-click any column name to make it visible.

    • The Number and Reference columns from the Projects table are left-aligned since they can contain any values, not just numbers.

    • Added a new setting (ui.projects.largerows) that can change whether the projects table has large rows or not.

      This setting is enabled by default but if you want to disable it, you must edit the settings file manually and add the following line at step #4:

      ui.projects.largerows=false
  • Invoices

    • The Invoices table has a new Projects column that displays the invoiced projects. The column is hidden by default, right-click any column name to make it visible.

    • The tasks tables have a new Invoices column that displays the invoices for invoiced tasks. The column is hidden by default, right-click any column name to make it visible.

    • Added the action New Product (Ctrl-U, Command-U) to the Business menu.

    • Added the action View Invoice to the payments contextual menu.

    • The default currency used for foreign clients is the client currency.

      For instance, if your business is based in Canada and you're billing in both CAD and USD, invoices created for US clients (must be marked as foreign clients) will use USD as their default currency.

    • Improved Email Invoice to ask for the email password if it can't be decrypted instead of displaying the "javax.crypto.BadPaddingException: Given final block not properly padded" error message.

    • New tasks billed in units, products and regular invoice items are checked whether they have a zero quantity.

  • Default invoice template

    • The template editor can configure a template to show two more totals: the client balance and the balance of all other invoices.

    • The default invoice template and invoice templates created by the Template Editor show totals only on the last page if the invoice has multiple pages.

    • The default invoice template doesn't display anything in the Time column for invoice items with no time.

    • The default invoice template doesn't display a Time subtotal for invoices with no time.

  • User interface

    • Improved the layout of several dialogs: Select Project, Select Projects, Configure Optional Fields, and Global Hotkeys.

    • Search fields can now handle multiple tags. The tags must be separated by commas and matching objects must have all the specified tags.

    • Improved the Edit Tags dialog to handle a long list of tags.

    • Most dropdown lists display more elements. For instance, the category dropdown from the New Task dialog shows 25 elements. This makes it easier to select a category if you have lots of them.

    • Repository-related actions can be accessed from the File menu when the repository is closed.

    • Improved French, German and Italian translations.

      Special thanks to Jan-Christoph Ihrens from Comprehensive Computer Services for the updated German translation.

  • Java-free Windows version: The Windows version no longer requires Java in order to run. You can uninstall Java if you installed it to run Fanurio.

Bug Fixes

  • iBiz import - Failed to import job events without names. If a job event doesn't have a name, Fanurio will use the name Noname when it imports it.

  • Windows 10: Fanurio wasn't using the Windows task bar features (thumbnails, pinning, badge icons) and the right user interface look and feel.

  • Fanurio prevented Windows from shutting down if it was still running.

  • The date filters "This Financial Year" and "Last Financial Year" were not initialized properly.

  • Windows are moved to the primary monitor if they are displayed in a secondary monitor that's no longer enabled.

  • When clicking the Start New Timer button, the timer was not started for the selected task but for the last task that was right-clicked.

  • Trips were not sorted by date in the Trips by Client and Project template.