Changes

phpaga 0.5

New features

  • Charts are now generated via JavaScript by using the jqPlot library. Therefore ezComponents are no longer required.
  • Late Fees - Manual process; Adds late fee to invoice for unpaid balance. Late fee amount calculation based on percentage specified in Sitewide Settings. Updated bill page and pdf invoice to display late fees
  • Payments - Support for payments on unpaid invoices/bills.
    • Updated finances reports to use payments in calucations
    • Updated bill page and pdf invoice to display payments and balance due; ticket #42
    • Payment date automatically set when payments equal or exceed invoice amount.
    • Added option to Sitewide Settings to show/hide ‘Set Payment Date’ link. May be times when date needs to be set manaully.
  • Updated all existing billing plugins to include support for payments and late fees. NOTE to authors of billing plugins: Please verify changes are backward-compatible.
  • Added Notes field to invoices and payments.
  • Added ability to enable/disable display of currency abbreviation after monetary values.
  • Added field to Sitewide Settings for monetary symbol to be displayed in front of monetary values e.g. $ or €
  • Added Bar Chart highlighting to display exact monetary amount for each bar on Finances Invoiced/Received/Missing chart. Also added option to Sitewide Settings to enable/disable highlighting.
  • New billing plugin by Tim Esselens (Belgium VAT)
  • Ticket #55: Allow an invoice’s payment date to be modified
  • Ticket #72: PDF template sets
  • Ticket #74: Show/hide the unbilled hours panel

Fixed

  • Replaced _REQUEST with REQUEST_DATA that contains only _GET and _POST, addressing a problem reported and analyzed by Jools Wills (cookie collision).
  • Fixed bug making it possible to bill again already invoiced expenses.
  • Ticket #42: Balance Due now calulated and displayed on invoices when payment has been made.
  • phpaga.css: references missing sortable.gif; fixed path and added sortable.gif to htdocs/img/phpaga/
  • Fixed bug causing paid invoices with due date in the past to be displayed with red due date text.
  • A company’s financial information is no longer displayed if the user does not have the required permission
  • Ticket #78: Handling of time in task entry inconsistent
  • Ticket #59: Cannot delete expenses
  • Ticket #57: Finance report chart: Wrong value for the “missing” bar
  • Ticket #54: Do not allow project removal when related invoices exist

Other

phpaga 0.4

New or changed requirements

  • UTF-8 locales
  • PostgreSQL >= 7.4, MySQL >= 4.1.16
  • PHP >= 5.2 is required with PDO and the PDO driver for PostgreSQL or MySQL
  • eZ Components are required
  • JpGraph is no longer used
  • PEAR packages are no longer required - all dependencies from PEAR have been removed.
  • The project timeline has been removed
  • Picking a date is now handled by the “Unobtrusive Date-Picker Widgit” by frequency-decoder.com. (The coolest DHTML calendar widget is no longer required.)

New features

  • Simple recurring invoices. (Ticket #7)
  • Improved databased abstraction, new error handling, HTML cleanup.
  • Files can be uploaded and associated to persons. (The “foto” feature has been removed from person’s details. A migration script is available at tools/migrate_personpictures.php.)
  • UTF-8 support (read the relevant sections in the INSTALL file before upgrading your existing installation)
  • An optional contact person has been added to invoices and quotations. (Ticket #34)
  • An invoice due date has been added. (Ticket #35)
  • When a quotation is turned into an invoice, the quotation number can optionally be used as invoice number. (Ticket #30)
  • It is no longer possible to store two invoices with the same number within the same year. (Ticket #31)
  • Filed expenses can be added to an invoice (existing custom billing plugins need to be slightly changed).
  • Jeremy from omnitechpro.com has submitted the following patches:
    • Show materials amount on unbilled hours page
    • Show invoice amount on invoice list page
    • Add “unpaid” bar to finances graph
    • Add invoice popup on Unbilled Hours screen

Updated translations

  • Norwegian (Roger Bystrøm)

New billing method plugins

  • Netherlands: nld_btw_hoog.php (Angelo Höngens)

Fixed

  • Ticket #48: Letterhead layout problems with PDF documents in “letter” format.
  • Ticket #25: With MySQL new projects would show up as blank under the unbilled hours page.
  • Unbilled hours would show up on invoices.
  • Fixed problems related to Javascript behaviour under various browsers.

phpaga 0.3a

Fixed

  • Fixed a minor issue with the installer in 0.3 that could be triggered when trying to create the database on a remote MySQL server.

phpaga 0.3

New requirements

  • PHP with gettext enabled
  • smarty-gettext
  • PEAR DB >= 1.7.6
  • PEAR HTTP_Upload >= 0.9.1
  • HTTP_Download >= 1.1.1
  • HTTP_Header >= 1.2.0
  • locales for desired supported languages
  • Graphviz and PEAR IMAGE_Graphviz (optional, if you want to see project relationship graphs)
  • Removed Overlib dependency, tooltips now shown with Walter Zorn’s DHTML JavaScript Tooltips library (comes bundled with phpaga)
  • If you are using MySQL then MySQL >= 4.1.15 is required
  • 3rd party libraries are now moved to their own subdirectory ext/

New features

  • A web interface for assisted database upgrade during phpaga upgrades has been added.
  • First time “wizard” has been enhanced to create database structure and import core data.
  • Added the possibility to assign default hourly rates per task type; per task type per project; per task type, project and project member.
  • Multiple invoices can be exported to a single PDF file.
  • Invoices can be created from within a project page, and tracked material and tasks can be added.
  • Quotations can be deleted as long as they are not tied to a project.
  • Material can now be tracked per project.
  • Product management added. Also, if a product with the product code of a new line item exists in the database, the description and price are added automatically to the line item.
  • Files can be uploaded and associated to projects.
  • The day and month of the beginning of the fiscal year can be defined. All financial reports are now based on the fiscal year.
  • A default term of payment can be saved per company. This value can be fetched when creating an invoice.
  • Let only users with the right permissions see all projects; other users see only projects they created or they are a member of. This is both true for the projects search interface and for the projects timeline.
  • Hide a project’s financial information (hourly rates, human cost) from “common” project members. Show “common” project members their own expenses but nobody elses.
  • Added the possibility to upload and assign a picture to a person.
  • When a project is created from a quotation then add a reference to said quotation
  • Added a simple system information and an application log viewer
  • Added project priority (suggested by Mark Parssey)
  • Search bills/quotations between two dates
  • Enable/disable installed billing plugins. Disabled plugins don’t show up in drop-downs when creating new invoices/quotations
  • Line items for invoices and quotations (conversion script for existing inv/quot)
  • Search interfaces for persons and for companies (Mark Parssey)
  • Only persons with a user account are shown when adding a new project member (Mark Parssey)
  • Show project relationship graph (optional - Graphviz and PEAR Image_Graphviz required)
  • Added a “summary overview” page
  • An individual color can be specified for each operation category
  • Persons: show projects person is owner or member of
  • List summary overview of unbilled hours per customer and project; create invoice from unbilled hours
  • Projects search interface; print project list to PDF (Mark Parssey)
  • Projects: Added deadline (Mark Parssey)
  • Projects: Added estimated manhours, estimated cost manhours, estimated cost material, parent project, billable status
  • Get persons’s default job category when adding a project member (Mark Parssey)
  • Default hourly rate per person (this rate is suggested when adding a new project member)
  • First time setup “wizard” (to create first user and person via web)
  • Permission system
  • All user submitted data is escaped/quoted by PEAR DB’s methods before being stored in the database
  • When selecting a language it is first checked whether the required locale is installed
  • Second address field added to companies and persons
  • Delete users
  • Added task category matrix/graph to company page
  • A list of invoices and the billing summary is shown on a company’s details page
  • Added a detailed overview to the project page that shows the sum of time per task category per person in a matrix
  • Delete companies
  • Billing method plugin installer/uninstaller
  • Delete invoices that have not been paid yet
  • Translations handled by gettext
  • New billing method plugin by Daniel Cabezas
  • Main page: show only projects the current user created or is a member of
  • Limit number of characters shown for project title and task category title in task lists

New billing method plugins

  • Spain: esp_liberoprof_euro.php (Daniel Cabezas)
  • Canada: cdn_gstpst.php (Ken)
  • USA: usa_sales.php (Arif Hamirani)
  • Germany: de_mwst.php (Jens Bierkandt)

New translations

  • Norwegian (Sverre Farstad)
  • French (Benoit Nicolas)

Fixed

  • Include JpGraph libraries only when actually creating a graph
  • When changing a task, the task is no longer “taken over” by the changing user
  • Thousands and decimal separator settings were not respected on the financial overview page
  • New invoice/quotation numers greater that 10 would not be calculated correctly

phpaga 0.2

New features

  • Create an invoice from a quotation
  • Clone operations and invoices
  • Added “average weekly work hours” line in weekly manhours graph
  • Separated pdf layout (templates) from library, making it easier to personalize the pdf output
  • Additional task search parameters (sponsored request)
  • Added a detailed overview to the person page that shows the sum of time per task category per project in a matrix
  • Added a field to projects that can contain the company that issues the invoice (sponsored request)
  • Changed various text links to icons (using gnome icons from http://jimmac.musichall.cz/ikony.php3)
  • Added a billing plugin (sales of goods) written by Alessio Bogani
  • Added basic expense tracking per project (i.e. travel, hotel, meals)
  • Allow multiline input for company location in the letterhead (patch by Robert Paskowitz)
  • New web-based configuration system
  • Added robots.txt (to prevent spiders from indexing phpaga sites)
  • Added combined financial graph
  • Added contrib/ for contributed stuff. Moved contributed style sheet(s) to contrib/
  • Give detailed information when unable to connect to the database when PHPAGA_ERR_VERBOSE is defined and true
  • Added a turnover history graph
  • Added human costs calculation for invoices and project information. The necessary information is taken from the project memberships table (hourly rates field).
  • When adding a task, administrators can now file hours for other users, not just themselves

New translations

  • Danish (Per Christiansen)
  • Hungarian (Fehér János)
  • Russian (Dmitry Stroganov)
  • Spanish (Daniel Cabezas)

Fixed

  • Gantt chart (project timeline) shows cleanly, projects bars are linked to projects
  • Various code, templates and stylesheets cleanups; interface improvements
  • Email address check did not allow upper case letters
  • Moved more display logic into the Smarty templates
  • Fixed a bug regarding the handling of timestamps in PostgreSQL