Improvements came in Osprey in performance of billing, to both the initial load of the summary page and the reload of the summary page after input of from and/to dates based on considering only timesheets, tasks and expense claims overlapping the from/to date range input. Rather than calculating billed amounts and hours from timesheets and expense claims when the summary is called up, we now store this information in each project and calculate it in the background. This only applies if the from/to dates are blank, the amounts to be billed are still calculated on the fly if you enter dates.

Speaking of the billing summary from/to dates these were also enhanced to serve two roles: as a filter for calculation and display of amount to be billed on the summary page and as the from/to date selection when clicking the $+ button to prepare and create a new invoice. If you enter from/to dates and click on the reload button the summary page is reloaded; if you just click the $+ button without reloading then a new invoice is created for your input from/to dates with waiting for the summary to be reloaded.

Credit memos and invoice payments including a popup to show and add payments and match payments entered from the billing summary screen to unpaid invoices for the same customer. Credit memos are automatically offset against existing invoices and behave similar to payments. In the future we will add payment merchant account integration for systems such as stripe, paypal and authorize.net.

Finally we applied a fix to conversion from daily rates or hourly fees for customer invoices and the time and expense report, as well as in project revenues