### Navigation

- index
- next |
- previous |
- phpaga v0.5 documentation »

# 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

- Documentation is now written in reStructuredText and built via Sphinx http://sphinx.pocoo.org/

## 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&eacute;r J&aacute;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

### Navigation

- index
- next |
- previous |
- phpaga v0.5 documentation »