ICQ

ICQ - change log

Details Date
Tax report - wrapped the tables in divs so the JavaScript to select the table text works in IE - to make copy/paste into Excel easier.

Tax report - added opening balance - a list of all unpaid invoices dated to the start of the selected tax year.

Tax report - added list of invoices issued in the tax year.

Tax report - added list of unpaid invoices issued in the tax year.
17th May 2013
Static data and email creating - customisable email subject line with placeholders - for invoices and quotes. 11th May 2013
Clients list - removed the hidden clients feature - caused more problems that it was worth...

Clients list - list of all clients emails - trimmed each email address.

Delete client - changed to use db.php.

Expenses section - changed to use db.php.

Expenses - added another date preset - lastTaxYear

10th May 2013
Adding a new client - made it redirect to the new Clients list page.

Made a start on changing to using the db.php.

Bug fix - quote adding screen - clicking X on the information tooltips wasn't closing them - fixed.

After sending a general email to a client, redirects you back to the new clients page rather than the old one.

Invoice layouts 1 and 2 - link to the client - made it link to the new clients page.

Navigation menu on the left - removed link to old client selecting screen

Quote - link to the client - made it link to the new clients page.

Sent emails report - link to the client - made it link to the new clients page.

Adding service sheet - link to the client - made it link to the new clients page.

Viewing site repot - link to the client - made it link to the new clients page.

9th May 2013
Added db.php

Cash section - adding, deleting and sending the thank-you email - changed to use db.php.
7th May 2013
Small bug fix - sending emails with a single quote in the subject line - single quotes were being escaped - so stripped slashes to fix.

Small bug fix - the pdf version of type 2 invoice and site reports - if the client's image was less than 200px wide it was being stretched to 200px - so was being distorted - fixed.
3rd May 2013
Added new field to client records - "Hidden" - so if you're no longer doing work for a client you can hide them so they don't appear on the clients list, but aren't deleted so all their invoices and quotes etc still exist. 28th Apr 2013
Small bug fix in getClientDetailsForPopup.

Refined the wording of the explanation/procedure for uploading an invoice via csv.
25th Mar 2013
Clients page - added comma delmited list of all client's emails - so you can copy/paste into Outlook for example - to send a mail to all clients. 23rd Mar 2013
Emailing a quote - changed EmailQuote.php to use PHPMailer.

Emailing a purchase order - changed EmailPO.php to use PHPMailer.

Emailing a service sheet - changed EmailServiceSheet.php to use PHPMailer.

Emailing a site report - changed EmailSiteReport.php to use PHPMailer.

Site reports list - set the date column width to stop the dates from wrapping.
21st Mar 2013
Invoice scheduler - when the new invoice is automatically created, made it copy across the new Notes field from the original invoice.

Changed the background color of tooltips

Added invoice alerts. Users can opt to receive alerts when any invoices get to 15 or 30 days old - so they can send reminders.

Invoice schedule - added tooltip with some info about the recurring invoice auto-creating process.
18th Mar 2013
Sending email - emailCreate.php - changed the validation - made it so subject isn't required - can be blank and made it so To can't be blank.

Sending general email to client - changed EmailToClient.php to use PHPMailer instead of writing the headers myself and using the mail() function.

Emailing an invoice - changed EmailInvoice.php to use PHPMailer.
17th Mar 2013
Added Notes field to an invoice - so updated the invoice-full-details view - adding the new field, updated modifying screen and action to save the new field and added the notes to the bottom of the html invoice - only showing if there are notes - and making it not appear on the print view and pdf. 15th Mar 2013
Purchase Order add and modify and the javascipt for dynamically adding table rows - right aligned the net, vat and gross currency amounts and defaulted the vat tickbox to ticked.

Modify Expenses - changed the button text from Update Expense to Save Changes.

Expenses list and ones added today - swapped the position of the modify and delete logos.

Quote search - refined the sorting of results to deal with multiple quotes added on the same day - so was just by descending quote date, now by descending quote date then descending quote id.

Quote line items - if a number, assume it's a currency amount and format as a currency amount on the html quote and the pdf. Also updated the info tooltip and added the tooltip to the modify quote page.

My details - made all the textareas the correct width - but setting the width rather than the number of cols - number of cols across browsers is inconsistent.

Updated the tooltip javascript - changing from onmouseover to onclick and making it more efficient and easier to add new tooltips.

Clients Add - added spacer label - moving the buttons over in line with the input boxes.
14th Mar 2013
Added invoice uploader

Bug fix - clients - changed the sql for getting the counts of invoices, quotes, service sheets etc - it was looking for service sheets, so if there was a service contract with no sheets under it linked to a client - it was showing the delete logo - when that client can't be deleted.
4th Mar 2013
Bunch of behind the scenes refinements:

Deleted vw_ClientsWithInvoices from all databases.

Invoice modify - bug fix - made it loop through all 4 tootltips when hiding them rather than just 3.

Modify Invoice action page - changed the header location redirect - was "/invoice/26" now just "26"

Adding a quote - fixed the javascript so the tooltips work - one was given the wrong name.

Quote adding action - changed the header location redirect - had the Quote.php rather than just the slash then quote number.

Adding a supplier - added spacer label moving the add button to left align with the text boxes

Modifying a quote - removed the CalculateAmountPayable javascript function which was running and causing an error every time an amount was entered - no calculation needed - it must have come from an invoice page I copied.

Quote modify - UI screen and action screen - added a "Save changes & view quote" button.

Removed the IE logo from the sign in page - this was used to distinguish between we app and MS Access users logging in - but there's no MS Access any more.
3rd Mar 2013
Replaced the DOCUMENT_ROOT server variable with the siteRoot variable in a bunch of places. 19th Feb 2013
Added new Clients.php page and other modify/delete pages. I prefer this to the existing AJAX page. I'll leave this AJAX version - so there's both the old and new ways of viewing and updating clients.

Fixed the Cancel button on the email sending screen - so fully works for all email types. Also removed the full home root path from the email attachment - using a relative path instead.
08th Jan 2013
Fixed the Cancel button on the email sending screen - making it properly delete the attachment file.

Added spacing under the red "Email Sent" message so it doesn't appear at the very bottom of the page - all 6 pages.

The cash due and cash overdue report emails - in html format - made the font be Arial for the whole email - so looks a lot nicer - it was Times New Roman for the text and Arial for the invoice list table.

Added to every page an include in the image-box div - so now the icon in the top left comes from a single include file so can easily be changed and now it links back to the home page on every page.

In My details changed the address to a multi line field, then displayed it as either single or multi-line in the various places - mainly to make the addresses on purchase orders look nicer.
31st Dec 2012
Went through almost every page and made all links relative and replaced the DOCUMENT_ROOTs. 30th Dec 2012
Upgraded code - almost every page - from MySQL_ functions to MySQLi_

My Details - added another save button so you don't have to scroll so far to save after making a change.

The GetSites general function - SQL - removed the DISTINCT - is already taken care of with the UNIONs - so makes it slightly faster.

Nav menu on the left, removed the height attribute, so now there's a gap between the bottom of the control icons (print, email, modify etc) and the bottom of the screen.

Invoice search for clients, quote search and quote search for clients - changed from POST to GET - so the browser Back button works without the form resubmission message.
29th Dec 2012
Expense - added new preset - This Tax Year - to quickly run the report for the dates of the current tax year - 6th Apr to 5th Apr. 28th Dec 2012
Small change to the side menu - added a space at the bottom to stop the bottom menu item sitting right at the base of the browser window.

Went through a bunch of pages and made the invoice logo in the top left corner clickable - linking back to the home page. Still have some pages to go.
14th Dec 2012
New custom Site Reports module added for one client - includes add/view/modify/delete of reports, emailing and pdf creation. 26th Oct 2012
Updating cash received - now puts the amount due into the box automatically - to save typing it - if the full amount has been received.

When you sign in and see the colour coded counts of your invoices - you can now click on "Your invoices" and be taken to your list of invoices.
12th Aug 2012
Added notes field to Clients 2nd Aug 2012
Viewing an invoice - all templates - and viewing a quote - added a link so you can click the client and view their details directly.

Clients view/modify - put focus/made the cursors start position be the search box.

Updating cash - put focus/made the cursors start position be the cash amount box.
31th Jul 2012
When selecting and viewing a client's details you now get a list of their unpaid invoices. You can click to view the invoice or go straight to update the cash. This, along with the client search, should make finding unpaid invoices easier when looking at cash received into your bank account. 20th Jul 2012
Added "Paid Cash" tickbox to updating cash. This can help if reconciling cash recieved to your bank account - to help identify where you were paid in cash rather than into your bank. Is shown on the tax report.

Added "Paid Cash" column to invoices section of the Tax report

Bug fix - on My Details section - updated the JS to make the CIS & VAT tickboxes work right in IE8 - wasn't showing/hiding the rate fields. setAttribute("class","") didn't work - had to make it setAttribute("className","").
26th Jun 2012
When emailing the cash due and cash overdue reports, it now displays the report on the email sending screen. I tried to make it put the table into the email body text with a contenteditable div - but it got too complicated - with line breaks especially. 29th May 2012
Status is now displayed on the invoice (Paid, Partially Paid, Unpaid, Over Paid). It's not shown in print view or the PDF. I didn't colour code as there's colour coding for age of invoice and combining the two was a bit complicated.

When updating cash, the invoice number is now a link back to the invoice - to making navigating to the invoice a bit easier.

Sent emails report - when clicking the quick links (Today, Last 7 days etc) along with setting the dates in the dropdowns it also submits the form to get the results for the selected date range.
27th May 2012
New Tax report added listing all cash received and all expenses paid for the selected tax year. I'm doing my own tax return at the moment, so added this report to help me do it.

You can now modify expenses.
20th May 2012
Invoice Search & My Details - made it so you can choose the default view of the invoice search screen - either all invoices or only unpaid. Is an option you an pick and set in the My Details section. 18th May 2012
Recurring invoice scheduler - small bug fix - escaped the invoice body text when auto creating the new invoices.

Tidied CIS and VAT display on viewing invoices, PDF and creating email with invoice details. If you're VAT/CIS registered, you'll see these amounts - even if the rates are zero. If you're not registered and the rates are zero, you'll not see these items - you will however see them if the rates are greater than zero.

MyDetails static data - added tickbox: "Invoice details in email body". In the EmailCreate section made reference to this new setting, so when ticked, the invoice details are automatically put into the body text of the email - incase the recipient can't open the pdf attachment.
22nd Apr 2012
On the invoice search results screen, for users and clients, added JS code to make clicking on the table headers sort the table by the clicked column. 19th Feb 2012
Bug fix. Disabled clicking of sent email icon when a client views a quote - clients aren’t authorised to see sent email details so was taking them to a "Not authorised" page.

Removed the view vw_QuoteFullDetailsSpecQuoteID replacing it with just sql

In My details added dynamic sections and tick-boxes for CIS and VAT

You can now choose to display either "Registered office" or "Address" as your address title.
1st Feb 2012
Finished behind the scenes changes to My Details static data - storing in new table.

Users can now set the starting number for quotes, purchase orders, service contracts and service sheets (depending on their profile)

Changed label on invoice & quote sections from Site to Site/Project title
27th Jan 2012
When a client signs in, they're taken to their invoice search/list screen - rather than the blank sign-in screen.

Added div/css to allow me to display a message to users after they log in.

Added section to static data allowing users to choose their own invoice template - so they can choose from various invoice layouts.
26th Jan 2012
After creating an invoice from a quote - made it select and view the new invoice - rather than taking you to the list of invoices.

On saving My Details, display "Details Updated" pop up.
23rd Jan 2012
Behind the scenes improvements to the way static data is stored. 22nd Jan 2012
Bug fix - emailing service sheet - made the default email signoff text appear in the email sending screen.

Behind the scenes changes to the way title and signature images are handled.
21st Jan 2012
Adding an invoice, made it automatically total up the line items amounts as they're entered.

Allowed users to set their invoice starting number - if they didn't want it to be #1 and instead wanted to for example start from #1000.
20th Jan 2012
Some behind the scenes refining to the logging in procedures. 24th Dec 2011
Changed purchase orders - adding and modifying - to use the VAT rate, based on the PO date, from the static data table of historic VAT rates rather than the VAT rate in the users 'My details' section.

Added report of historic VAT rates. These static data VAT rates are used in the purchase order and expenses section. Based the date you select, the VAT rate on that date is pulled from the system level static data table and used.
30th Nov 2011
Created new trial profile so potential clients can try without signing up. Added button image to main site home page. 30th Oct 2011
Whole new service contract module added (for one particular client). Includes diary system of recurring lift servicing visits.

Bug fix - special characters such as Ø & ¼ weren’t being displayed on the pdf. Added utf8_encode() function around text fields so these characters are now displayed.

Added invoice counts by R,A,G,Paid status on the initial page you see after signing in.
28th Oct 2011
Removed the modify and delete radio buttons from the clients modify screen. They weren't needed by the php, and I've added a new way for the JS validation to detect which button has been clicked - no need for the client to select a radio button. 19th Oct 2011
Behind the scenes change to make the invoice be displayed using a separate layout file, so making it possible to add other layout files so users can choose from different invoice layout templates. 18th Oct 2011
Viewing clients - when clicking a client to show their full details, it now also shows the count of invoices, quotes and service sheet which have been added for that client. This can help if you’re tidying up duplicate clients.

If the invoice or quote count is zero, a '0' is show. However if the service sheet count is zero, neither '0' nor the 'Service sheets:' label is shown - this is so clients who don’t use service sheets don’t see it.
17th Oct 2011
Added supplier filter to the viewing expenses screen. 22nd Sept 2011
Added client field to the live recurring invoice schedules report. 15th Sept 2011
Enhancement to the expenses by month report - adding a link to the dates which takes you to the view expenses screen and shows the expenses for that month - so allows you to drill down into the months expenses and list what they all are. 8th Sept 2011
Added expenses module. Adding, viewing and deleting expenses. Also added report which shows total expense costs per month.

Added table of historic VAT rates - which is used by the expenses module - vat rate is looked up using the date the expense item was purchased.
6th Sept 2011
Changes to the sign in page. Removed the rounded corners images - using the html5 border-radius instead. Removed the MS Access login. Once logged in, the sign in form is hidden. 1st Sept 2011
New button added to the Add Client page. After you enter the new clients details, it takes you straight to the Add Invoice page and selects that new client - for a quicker process of adding a new client and sending them an invoice. 29th Aug 2011
Added "Keep me logged in" checkbox - to keep you logged in for 2 weeks, or until you click Sign out. 29th Aug 2011
Added ‘Save changes and view invoice’ button the modify invoice screen. 20th Aug 2011
On the invoice search results list, if you hover the cursor over the invoice number, it displays the clients company name. 10th Aug 2011
Updating cash on an invoice - made it display it’s status - either unpaid, partially paid or paid.

Now shows a full breakdown of all the cash amounts and tax rates which make up the invoice.
9th Aug 2011
Made it display the users subscription expiry date, and number of days until that date, on the signing in screen - after they’ve signed in.

Colour coded:
Red - expired or less than 15 days until expiry.
Amber - between 15 and 30 days until expiry.
Green - over 30 days until expiry.
3rd Aug 2011
Improved adding and modifying the list items section of the invoice details. Was previously just two boxes you had to put multiple lines now - now it’s rows of textbox pairs - so tabbing is possible. 21st Jul 2011
Enabled html formatting tags to be applied to the price breakdown left & right sections of invoices - so the formatting appears on the pdf. (For example <b></b> tags can be added to bold text) 20th Jul 2011
Fixed the "Create invoice from quote" routine. It wasn’t putting bank details into the invoice - I didn’t update this when adding the 2 bank account feature. Also it wasn’t calculating the amounts correctly - was simply giving a net amount of zero which meant the tax rates were all wonky - now it looks up the users static data cis & vat rates and properly calculates the net & amount payable.

Fixed the auto creating invoice feature - on the recurring invoice scheduler - this too wasn’t putting the bank account into the invoice - also should have been updated when the 2 bank account feature was added.
17th Jul 2011
Applied a mod_rewrite to the invoice urls, making them look very neat and tidy - like this:
http://www.icq32.co.uk/invoices/22
instead of having the php file name and invoice number parameter
10th Jul 2011
Added search to the clients section - so users can search by client ID, part company name or part contact name.

Added a new report of the count of invoices per client.
21st Jun 2011
Allowed users to store details of 2 bank accounts (rather than just 1). When adding invoices users can choose which account they want the invoice paid to.

Added feature to allow users to download all their data to a .sql file (for phpMyAdmin) - to enable them to back up their data themselves. This is in addition to the daily automated backups the system administrator does.
19th Jun 2011
Enabled html formatting tags to be applied to the details section of invoices and quotes - so the formatting appears on the pdf. (For example <b></b> tags can be added to bold text) 18th Jun 2011
Removed blank lines from the full client details on the title pop-ups on the client selectors. 17th Jun 2011
Upgraded the Sent emails report to show all mails sent in a date range. Added quick selectors to quickly select common date ranges.

When sending a general email to a client, you can now add an attachment to the mail.

Added Client filter to the Sent emails report - so now you can see all emails sent to a particular client. Also now when any mail is sent, the client ID is logged in with the sent email record - to make this report work - (if appropriate - PO’s for example don’t go to clients)
14th Jun 2011
Added feature to send a general email to each of your clients.

Added count of invoices and quotes returned when searching.
4th Jun 2011
Modifying clients - after saving changes, the client is reselected when the page is refreshed.

Made the sort order of invoices on the invoice search results page uniform for all the different options - now all sorted by descending invoice date.
3th Jun 2011
Minor change to navigation - adding a clearer link from the sign-in page back to the home page.

Added new report of cash due by client - showing only overdue cash. The existing report shows all cash due.

Improved the report of sent emails, so can be run for a date range as opposed to just one day.
30th May 2011
Improved the recurring invoices module - allowing for a number of "days before" to be added - so invoices can be generated ahead of time - so they can be scheduled to be generated before they’re due - giving the client time to pay.

Also wrote up recurring invoices in the system documentation.
25th May 2011
Redesign of home page and slight changes to menus and navigation. 23rd May 2011
Added purchase order module.

It works both ways - you can create purchase orders, adding line items with costs and VAT and also add a purchase order number you’ve received to an invoice.
21st May 2011
Fixed the sorting of the Cash due by month report - behind the scenes the leading zero was missing from the month number, so although the report was correct, it wasn’t sorted correctly. The MySQL Month() function doesn’t add the leading zero, so used Date_Format() instead. 5th Mar 2011
Upgraded the email logging of sent invoices, quotes, service sheets & Thank You emails. It was just recording the date the email was sent, but now the whole email is logged - and can be viewed by clicking the sent email icon.

Began fully logging emails:
Invoices: 24Feb11
Quotes: 01Mar11
Service sheets: 03Mar11
Thank You emails: 03Mar11
3rd Mar 2011
Email delivery failures were being sent to the main ICQ mailbox rather than the individual users email address.
Fixed the Return-path in the email headers so delivery failures are routed back to the clients email box instead.
22nd Feb 2011
Added ReadOnly profile. So now there’s 3 profiles you can have.

User. Full access. Can view, add, modify and delete everything (invoices, quotes, static data etc...).
ReadOnly. View access to everything, but can’t add, modify or delete anything.
Client. To give to your clients, ReadOnly access and able only to see their invoices & quotes - not anyone else’s. Can’t add, modify or delete anything.
10th Feb 2011
Added recurring invoice feature. 1st Feb 2011
Code change. Tidied pdf functions.
Tidied My Details static data - removing 2 unused tax fields.

Added payment received - thank you emails.
28th Dec 2010
Code change. Improved the way logging in is done. 5th Dec 2010
Added VAT to invoices. 25th Oct 2010
Added pdf libraries. Invoices and quotes now emailed as pdf attachments. 7th Oct 2010
Web-based version of ICQ goes live. Aug 2010