Changelog for ccInvoices

Always create a backup before you update!

ccInvoices 4.0.9 February 13, 2024 =
### Submit form adjust

ccInvoices 4.0.8 December 28, 2023 

### NEW Joomla 5, Hikashop 5.0.0, Virtuemart 4.2, and PHP 8.2. Compatibility

ccInvoices 4.0.7 September 22, 2023 

### Adding a new item, when “Possible tax values” field in the configuration is left empty, Changing Invoice status to Paid, Preventing generation of duplicate invoices

ccInvoices 4.0.6 March 27, 2023

### PHP 8.1 compatibility, Servers using PHP 8.1+ ->strftime() date format to date() conversion function added for after upgrade.

Note : strftime() date format to date() all servers with PHP 8.1 and above, is it necessary to add and also strongly advised to add the new date format (https://www.php.net/manual/en/function.date.php) in the Configuration.

ccInvoices 4.0.5 January 25, 2023=

### Fixes links & Payment button, PDF Template for PHP8, item_description limits,TCPDF library for possible upload size for extension update adjustment

ccInvoices 4.0.4 December 27, 2022 =

### ccInvoices: Fix links & pay-button, Payment plugins for Joomla4 update, Latest Stripe version 10.0.0 update, Recurring.php copy functionality fix

Compatibility & download compatibility: all ccExtensions to Joomla 4x on bleeding-edge server that uses PHP8 and MySQL8, all ccExtensions compatibility with latest release Joomla 4 incl. latest versions plugins used by ccExtensions & Joomla 3 on PHP7 running MySQL5.
Compatibility Set up: on Joomla 3, PHP 7, MySQL5 ( Note: support on some is either limited, stopped or about to end)

Compatibility Set up: on Joomla 4, PHP 8, MYSQL8

Note 1: Support for PHP 7 has ended Nov. 28, 2022.
Note 2: Support for Joomla 3x will end on August 17, 2023. We strongly advise to migrate to Joomla 4 before that time to continue being supported.
Note 3: VirtueMart -> We strongly advised to use only VM3 + J3 or VM4 + J3 or J4 ( We do NOT recommend VM3 on J4)
Note 4: As is the case with all minor or major extensions updates, we always advise creating a backup with Akeeba Backup first.


ccInvoices 4.0.3 November 28, 2022 =
### ccInvoices update, PHP 8, XML API, Editor formatting, database , new user email, Mollie
Payment API keys in settings, Mollie PHP 8

  • ccInvoices XML API improved

  • ccInvoices Editor formatting, saving editor database
  • ccInvoices Editor formatting, saving editor data
  • ccInvoices draft save
  • ccInvoices new user email
  • Mollie Payment API keys in settings for ccInvoices

  • Mollie PHP 8 API update

ccInvoices 4.0.2

  • ccInvoices compatibility defining paths PHP 8
  • Added XML Export button
  • Fix deprecated XML API

ccInvoices 4.0.1

  • Fix notification when exporting ccInvoices CSV

ccInvoices 4.0.0

  • Compatibility with Joomla! 4.x & backward compatibility with Joomla 3.x
  • Fix deprecated features and bugs when migrating from Joomla 3 to Joomla 4.
  • Compatibility Joomla! 3.x & Joomla! 4.x with latest version of Akeeba.com

ccInvoices 2.2.5 through 3.0.3

  • Optimise database query that processes recurring invoices, maybe makes sure they are processed on ascending order on invoice_date and id
  • Improve function of invoice numbers, custom invoice numbers
  • Improve Assign Users to contacts functionality
  • Code formatting and comments
  • Fix bug and make sure emails are also sent to cc and bcc addresses if they are set in the configuration
  • Fix bug and store payment date correctly if status set to paid from admin manually (not via payment plugin)
  • Fix bug and make sure emails are also sent to cc and bcc addresses if they are set in the configuration
  • Fix issue where %s was shown before the previous used item ID in “New item” view
  • Check that Invoice Updates plugin doesn’t load when pages are opened in a Editor Modal (Regular Labs extensions do this)
  • Improve deliverability of Invoice emails to customers by adding a text version of all emails automatically

ccInvoices 2.2.4

  • Fix rounding issues in Invoice edit view
  • PHP 7.2 testing and compatibility, fixed a few PHP warnings
  • Make Stripe plugin compatible with PHP 7.2
  • Add updated nl-NL language files to ccInvoices
  • Fix calendar issue where months where not visible in selection because of missing font size

ccInvoices 2.2.3

  • Fix bug in the new currency format that was aded in 2.2.2
  • Make sure contact name is not required in contact edit form (ccInvoices, site)
  • Various other improvements
  • Improve and add new translation (strings)

ccInvoices 2.2.2

  • Fix for “corrupt PDF” files when downloading from site (on some servers)
  • Fix issue where Stripe integration could conflict with other extensions using Stripe (namespace)
  • Add new currency format

ccInvoices 2.2.1

  • Recurring Invoices “Invoice updates” plugin:
    • Use better class call and path to fix static errors
    • Use onAfterRender instead of onAfterInitialise, fixes some issues
  • Bug fix: incorrect redirect to Invoices overview in site if invoice is already paid (and users clicks on pay link in email)
  • Improvement: use new JEditor for Invoice note
  • Improvement: use new JEditor for all templates
  • Improvement: sending emails via front-end, add more fall backs
  • Bug fix: method Store was not found when recurring invoices where created (because it searched for table in site files instead of admin)
  • Remove currencyformat.php from site files and include from administrator (less code=better code)
  • Bug fix: in Invoices overview > Update status
  • Add event/debug logging to ccInvoices
    • Create a separate log file per day
    • Add log messages to PayPal plugin
    • Add log messages to components/com_ccinvoices/controllers/ccinvoices.php
  • PayPal plugin:
    • Support payments without a PayPal account
    • Improve integration
    • Add log messages
  • 2Checkout plugin:
    • Bug fix: payments via 2Checkout asked to login when user was using guest checkout
    • Reformat and cleanup 2Checkout plugin
  • PHP 7.1 compatibility:
    • Multiple fixes for “A non-numeric value encountered” error
    • Add (float) to TCPDF library to fix PHP issues
    • Add (float) to invoices.php to fix warnings
    • Make sure PDF margins are numbers/integers
    • Add condition in tables/invoices.php to fix warnings
  • Improve code, stop using JPATH_COMPONENT_ADMINISTRATOR
  • Add instructions about adding images/logos to Invoice PDF template

ccInvoices 2.2.0

Added Invoice Statistics to Invoices view.

And focus on PHP 7.1 support and stability, so cleaned up code/removed old code, and multiple bug fixes.

  • PHP7.1 compatibility fixes
  • Fix issues with incorrect redirect because of “Edit Contact” feature
  • Remove all methods for invoice generation that are now called from the administrator
  • Use a better way to initialize the method gettemplatelayout()
  • Removed unused code and comments
  • Reformat and cleanup code with PHPStorm
  • Fix error Notice: Undefined variable: view
  • Remove failed payment warning in Stripe plugin, showed to often
  • Bug fix: On Invoice edit view, calendar input for payment data was not saved
  • Bug fix: escape search input in administrator overviews so users can search for strings like Dani’s with ‘
  • Add Invoice Statistics to Invoices view
  • Added “Edit contact” view on site, by Pieter Bos, SMACK it CREATIONS
  • Reformat code in some ccInvoices files with PHPStorm so it’s easier to read
  • Fix bug when saving custom payment dates in Invoice edit view
  • Fix for Invoice Page Numbers not showing
  • Fix bug for special characters being cut off in Contacts Overview
  • Fix for Invoice Footer not showing, switched to JSession

ccInvoices 2.1.6

Bug fix: copy of an invoice from Invoice edit view with “Save as Copy” now sets Invoice Sent Date and Communication status to 0, just like “Copy” from Invoices overview.

ccInvoices 2.1.5

  • Fixed minor rounding issue in {invoice_total_incl_tax} tag
  • Simplified calculation for due date for recurring invoices
  • Invoice edit view: improve handling of payment date
  • Invoice edit view: if there is no payment date, show nothing, but don’t take the last payment date from another invoice
  • Show payment date field in New Invoice view when status is set to “Paid”, saves a few clicks
  • Fixed typo in htmlspecialcharss to htmlspecialchars
  • Changed htmlentities to htmlspecialchars for better Japanese support

ccInvoices 2.1.4

  • Fix the now infamous “Invalid address” error in Joomla 3.5.1+ for ccInvoices – Invoice Updates plugin
  • Fixed bug where status for new invoices would not be stored correctly when sending new invoices to customer on creation
  • Fixed bug: updated email validation for contacts edit to match invoice edit view
  • Remove unused language string that was shown on installation “COM_INSTALLER_INSTALL_SUCCESS”

ccInvoices 2.1.3

  • ACL update! Export PDF and Export CSV now available to users that are allowed to edit invoices. Previous connection to core.admin ACL was not logical.
  • Bug fix: Fixed incorrect syntax for JSession calls
  • Improve ACL for Templates, so people actually see the page (and the ccInvoices admin menu) when getting the error they don’t have access to templates (it’s more user friendly this way)
  • Localize the date format with the default Joomla site language
  • Bug fix: making sure status of recurring invoice is not always Open
  • Bug fix: make sure Reset button on search fields works
  • Updating $_SESSION to JSession for Joomla 3.4.7 compatibility
  • Better support Japanese characters in item name and description by replacing htmlentities with htmlspecialchars
  • Remove hidden-phone for search button in “Manage users” section in Invoice edit view

ccInvoices 2.1.2

  • Make sure administrator language file is also loaded in the site
  • Re-added a few missing PDF fonts to package
  • Bug fix, removed a call to backend language file in site and plugins, which would cause strings in site to not be translated
  • Configuration, added explanation about missing “Logo” section in configuration, also see FAQ #3 on http://www.chillcreations.com/manuals/ccinvoices/
  • Added separate “Page numbers” configuration option in “Invoice PDF > PDF Settings”, so you can have a footer text without page numbers
  • Added comment to explain footer text is added to page footer in PDF’s (TCPDF)
  • Fixed multiple bugs in displaying success message after payments
  • Optimized installation script to better install payment plugins in edge cases (broken updates etc)
  • Update cciDEAL integration payment plugin to better match default payment plugins (incl. overridable logo)
  • Updated “Pay now” button on payment method page to COM_CCINVOICES_PAY_NOW_BUTTON
  • Added “Recurring system status”, check and displays warning when recurring invoices are created, but “Invoice updates” plugin not enabled
  • Invoice edit view: add space between “Last invoice id” text and actual last invoice number
  • Added check to make sure the entered Download ID is correct (used regular expression), otherwise show warning (new and updated language strings)
  • Update link to JED in extension administrator footer

ccInvoices 2.1.1

  • Invoice edit view: add space between “Last invoice id” text and actual last invoice number
  • Added check to make sure the entered Download ID is correct (used regular expression), otherwise show warning (new and updated language strings)
  • Update link to JED in extension administrator footer
  • Removed unused divs (row-fluid) in configuration view
  • Make configuration view more friendly with quick links to sections and “Back to top” links
  • Updated Configuration view, tax layout and explanation (language strings) to be more clear
  • Clean up, removed more references to Akeeba Strapper and FOF, stopped using them earlier
  • Installation script:
    • Renamed JFile to JFolder where old folders where not removed on update/installation
    • Other minor improvements
    • Removed all code and references to Akeeba Strapper and FOF, already stopped using them earlier in 2015
    • Added more code comments to installation script
    • Removed unused $plugin_tablename, $plugin_tab_fields variables in installation script
  • Removed unused to process /assets/ and /media/ folders, should fix bug where invoice_main.js was missing when updating from old ccInvoices versions
  • Removed unused code from invoice_main.js
  • Updated email validation regex in Invoice edit view, now also supports format name@domai-n.international (dash)
  • Remove {logo} functionality from views. Externally included {logo} always caused issues with TCPDF library, so I am removing it. Customers can add a logo directly in the “Invoice PDF” template.
  • Load language files in “ccInvoices – Invoice updates” plugin (for recurring invoice emails)
  • Also added “Droid Sans Fallback” to site (font for Chinese (and Japanese?) characters), previously only added it to administrator PDF generator

ccInvoices 2.1.0

  • Improvement, added a few tooltips with explanations about contact fields in invoice edit and recurring edit views
  • Improvement, changed “contact number” to “contact ID” and “contact name” to “organisation” in English and Dutch languages to be more clear to new users
  • Improvement, added a asterisk to “Organisation” and “Email” under “Contacts” so its clear those are required fields
  • Added a few code comments for clarity
  • Added function on installation to automatically move plugin language files to /language/
  • Added support for new font that works with Chinese and other non-Western characters (Droid Sans Fallback), see FAQ 7
  • Add missing ” to hidden form fields, thanks Wim de Ruijter
  • Bug fix, where multiple lines (return) in text are for contact details was not going to the new line
  • Bug fix, Save as new contact and Update contact did not work, moved JS function in invoice_main.js to around line 188

ccInvoices 2.0.9

  • Bug fix: 100% discounts on invoices where not accepted (returned a warning)
  • Fixed issue where Live Update in older ccInvoices versions would think these stable versions (2.0.8 and 2.0.9) where in fact unstable because “st” was added to the version number
  • If extension redirects to Live Update (which was removed in recent versions of ccInvoices) after updating, redirect it to Joomla! Extension Manager Update (so users don’t see an error that the view is missing)

ccInvoices 2.0.8

  • Stable release of ccInvoices 2.0 series
  • Bug fixes and improvements
    • Bug fix and UX improvement, automatically update “Manage users” button/link with new contact ID in URL after new contact is created
    • UX improvement, replaced void(0) with a URL without contact ID, so user sees an error and knows why “Manage users” wont work
    • Fixed bug, added warning to “Users” functionality, will not proceed when no contact is saved to the invoice yet, prevents people from adding users to emp
    • Improvements to Dutch admin language file, now consistently using “klant” instead of “contact”
    • Fixed passord typo in “New user e-mail” template (only for new installs, update manually in older sites)
    • Fixed price format issues in items edit view by converting to and from PHP float  (thanks again Hans Hardeman!)
    • Removed default ¬ currency symbol that was hardcoded.
    • Replaced old {invoice_subtotal} tag in default template with {invoice_total_excl_tax}, should only affect new installations
    • Fix so iDEAL is shown as payment method in invoice emails

ccInvoices 2.0.7

  • Added Stripe payment plugin
  • Added “Payment details” to invoice edit view to show payment method and transaction ID when invoice is paid (+ transaction_details function to get all da
  • Added new language strings for Stripe payment plugin and “Payment details” in invoice edit view
  • Now shorter payment_method (eg. PayPal) is saved to payments table as payment method after payment, previous payment_method_note (eg. Credit card via Pay
  • Add friendly alert when existing recurring invoice is being edited, so users know it will not influence past invoices
  • Fixed bug where toolbar buttons did not work after an invoice row was removed (Invoice edit view), added type=”button” to the remove button to fix it.
  • Remove Glyphicons from ccBootstrap, rename ccbootsrap.php file to ccbootstrap.php
  • Minor improvements
    • Improvements to invoice edit view layout
    • Template edit view language and usability improvements
    • Add explanation for template footer option in Templates > Invoice PDF > PDF Settings
    • Languages: en-GB and nl-NL administrator language file optimizations
    • Added “Recurring” to recurring edit view so it’s more clear that user is editing a recurring invoice
    • Removed default euro symbol for currency symbols when none is entered in the configuration
    • Language, en-GB and nl-NL updated CC_VIEW_ALL_INVOICE for be shorter
    • Made sure YES/NO options in invoice edit view are translated
    • Refactoring, removing JRequest for jinput, and removing old code

ccInvoices 2.0.6

  • New price validation in Invoice, Recurring and Item edit view: only allow one leading dash – for negative amounts, numbers (0-9) and one decimal comma or point. No thousands separators allowed. This allows for cleaner data entry and management during calculations.
  • Improve display of quantity on invoices: trim zeroes and unnecessary dot/comma where possible from end of the quantity, so it’s just “1 beer” instead of “1,00 beer” on your invoices
  • Invoice preview and PDF shows incorrect amounts and incorrect decimal symbol (dots instead of comma etc), so fix is to now convert user entered amounts that might have a comma as separator to floats with dots before calculations when generating an invoice
  • Authorize.net, jsfile.js, missing strip function made it impossible to process Authorize.net payments

ccInvoices 2.0.5

Noticeable changes:

  • Convert to Chill Creations Bootstrap, remove Akeeba Strapper and FOF
  • Automatically remove all old ccInvoices language files from core language folders on installation or update
  • Converted administrator action toolbar to Bootstrap button group, looks nice!
  • Converted site invoices overview to Bootstrap (and now responsive), looks nice as well!
  • Switched all payment method logo’s to JHTML::image and moved to media/com_ccinvoices/images so they are overridable
  • Added “Bank” logo to Offline payment method in the payment method list
  • Improve support for new Joomla! 3.4 sidebar, removed some CSS to fix interference
  • Make sure invoices have individual page numbering even when exported as batch (TCPDF API)
  • Solved multiple issues with currency format, still needed some TLC after previous work.

Other minor fixes:

  • Added $pdf->SetFooterMargin for regular PDF downloads so footer is actually shown on PDFs
  • Added htmlentities() for item name and description when PDF is generated (solves conflict when less than tag used)
  • Converted image URLs that are included in Invoice PDF to local paths, that works better for TCPDF (done before, change was lost?)
  • Added translation for Dutch administrator language file and new strings from ccInvoices 2.x
  • Improved “payment method name note” language string and made sure that is used instead of the longer payment method description
  • Improved “payment method name note” language string to “bank (or wire transfer)”
  • Added “payment method name note” language string for payment method list in invoice’s “Invoice note”
  • Load administrator language files for untranslated strings and for action toolbar tooltips
  • Improved Site > Invoice overview, convert status labels to Bootstrap labels
  • Improved Site > Invoice overview table (bootstrap) and hide some columns on smaller screens
  • Changed “Kwartair” to “Per kwartaal” in Dutch translation. Thanks Hans Hardeman!


ccInvoices 2.0.4

  • Fixed currency format issues: format user entered numbers to acceptable number for PHP, so they can be formatted back to full currency formats
  • Fixed installation issue for language files: after I already added them to the package, they were missing again in the package customers could download. Re-added them manually.
  • Fixed installation issue on Joomla! 2.5 because XML file for Akeeba Strapper was missing
  • Re-added older version of Akeeba Strapper to the package that uses fof instead of f0f (don’t ask)
  • I will replace Akeeba Strapper and FOF with Chill Creations Bootstrap in a next version.That plugin has less dependencies and should work better in the background.
  • Language files according to Joomla! best practice
    • Language files now moved to stay in extension itself (/administrator/components/com_ccidealplatform/languages and /components/com_ccidealplatform/languages)
    • Old language files will be automatically removed on next update. If you made changes to the ccInvoices core language files, move those changes to the Joomla! language overrides system.


ccInvoices 2.0.3

Improved “Chill Creations Update” plugin that works with the Joomla! built-in updater (Extensions > Extension Manager > Update).

  • Renamed plugin class to Joomla! standards so it actually runs when updating, and adds the download ID to the download URL.
  • Also added check to only search for download ID’s if one of the Chill Creations extensions is installed.


ccInvoices 2.0.2

    • NEW: Added support for the Joomla! built-in updater (Extensions > Extension Manager > Update)
    • NEW: Moved language files into ccInvoices itself according to Joomla! best practice, so all language files are now in administrator/components/com_ccinvoices/language and /components/com_ccinvoices/language. This means that if you are updating, the older language files in administrator/language and /language are loaded first and you might see untranslated strings. In the next update the old language files will be automatically removed on update, so if you have made custom changes to the ccInvoices language files and did not use the Joomla! language overrides, do so now!
    • Also print the invoice footer when invoices are generated by “Export PDF” in the administrator
    • Improved contact email validation: now supports longer TLD’s (like .international)
    • Improved installer script: create ccInvoices tables if they do not exist already, solves sudden and unexplained SQL errors during installation on some sites
    • Improvements to script.ccinvoices.php including support for Chill Creations Update plugin, ccInvoices – Invoice updates plugin and better handling for uninstall
    • Update payment plugin XML files to use instead of tags (best practice)
    • Updated URL to logo image to solve TCPDF “Unable to get image size error”. Needs to be local path instead of http://
    • Fixed minor spelling mistakes and removed duplicates in site language file


ccInvoices 2.0.1

    • PayPal plugin: updated and uncommented email used for testing
    • Further tweaks to the recurring invoice functionality
    • Add existing items now also respects the currency format settings
    • Currency symbol was shown for quantity field, removed it
    • Added “last_processed” to recurring invoices database to track when a recurring invoice was last processed (nice for when invoice date is not the same as processed date, like with recurring invoices with date in the past)


ccInvoices 2.0.0

    • Quantity now also accepts dots and commas (1.5 or 1,5)
    • Email validation for contacts adjusted to also accept crazy new domain names like .party and .international
    • Quotes in item names or descriptions now escaped correctly
    • Double X-position settings in PDF settings removed


ccInvoices 1.9.x

    • Add support for PDF/A
    • Add “onInvoiceStatusUpdate” trigger to invoice status function in Administrator
    • Add # of days late in status box in administrator
    • Also search “Note” field in administrator
    • Bootstrap currency and percentages
    • Convert more views to Bootstrap
    • Improve/add footer page number & pagination
    • Full refactor of code (css, js)
    • Improve Invoices > Search date range
    • Improve Invoices view header (more minimalistic)
    • Show payment date in administrator Invoice > Edit
    • PHP 5.4 & 5.5 compatibility
    • Security review 2014
    • Remove Joomla 1.5 and other old code