Changelog Latest release 3 days ago

Summary

This release is crucial if you upload electronic invoices manually to intermediary platforms. We made a change that allows to manage XML lot way more easily. Just take a look at this animated gif. Billing Extension automatically ticks/unticks checkboxes for you in case the invoice you are managing is part of a lot.

Improved 1
  • Massive actions involving XML lot (Invoices page). Ticking/Unticking checkboxes now have effect on the entire XML lot
Fixed 1
  • Some queries involving XML files were using incorrect statements
New 1
  • Tax Rules page. Set Tax Rate and Name globally
Improved 1
  • Electronic Invoicing. Deleting the XML will flush any existing log for that file

Billing Extension supports WHMCS 7.7.x. We had to make some small adjustments.

We've added a new feature for electronic invoicing that has been fully documented here. It's about Letter of Intent and VAT-free exceptions.

New 4
  • The module is compatible with WHMCS version 7.7.x
  • Electronic Invoicing. Letter of intent and VAT-free exceptions
  • The module notifies you when you are running an outdated version
  • Option to display country full name instead of 2 letters ISO code (eg. Italy instead of IT)
Improved 1
  • Data validation for electronic invoices is way more fault-tolerant
Deprecated 1
  • The module no longer forces you to define the Identifier for Credit Notes

Developer notes

We received some reports about Billing Extension not running daily tasks such as VIES Scheduled Checks, Warnings Checks and XML generation for Electronic Invoicing. We're investigating this issue.

Starting from this release you can run VIES check on specific Invoices so that VIES-related information is updated accordingly. There's also a new alert to report conflicts between Tax-Exempt status and VAT-Free invoices.

If you use Electronic Invoices this release will temporarily flush XML status and logs. Don't panic. All information will be updated with next Cron. If you cannot wait just run the check manually from Invoices page.

New 1
  • VIES check can be performed on single invoices
Improved 1
  • Some general improvements. Nothing particular
Fixed 1
  • Electronic Invoicing (Digiting). The Logs and status of some XML files were incorrect

If you manually import XML files of electronic invoices, this release is pure gold for you. With 2.2.36 we introduced the possibility to customize "Sent" and "Not Sent" directories to match the ones used by your Intermediary. But if you handle the entire process manually, we have great news for you!

Invoices page has been improved to the point that you can perform 14 massive actions on Invoices 6 of which are specificaly made for electronic invoices.

You can download multiple XML files on the fly. Billing Extension will prompt you to download a Zip file that contains all the requested files but there's much more! We received many feedback about intermediary platform not allowing to import individual Invoices and lot together. That's why in the Zip we automatically divide them in two separate folders so that you can easily import them without any hussle.

Similarly you can delete multiple XML files in one click and change their status to "Sent", "Rejected" and "Pending". This feature is ideal for example when you need to mark many Invoices as "Sent". You will no longer need to connect to the FTP node to move files. Billing Extension handles the entire process automatically!

Last but not least it is now possible to trigger the function that automatically issues XML files for all pending Invoices by simply clicking a button that will also double-check the status of all your files.

New 5
  • Download and delete Electronic invoices massively
  • All the downloaded XML files are split automatically in two directories. One for Lot and one for single invoices
  • Manual Intermediary. The status of XML files can be updated massively
  • The massive update of XML files reflects also on the structure of FTP node
  • Button to check the status of existing XML files and simultaneously issue new ones for pending invoices

Thanks to the many feedback we received, we managed to spot a new type of overpayment that we didn't yet covered in Billing Extension. We are going to describe you all the possible scenarios that can lead to an overpayment.

1st scenario. Overpayment based on an Unpaid proforma. The total due is 10 euro but your customer pays 20 euro. The overpayment is added as a new line on the same document. This way we have a correct Invoice with a balance of 20 euro.

2nd scenario. Let's suppose that your customer pays 10 more euro on this same invoice of the previous example. We can no longer update this document since it is a real invoice therefore we issue a new invoice for the overpayment.

3rd scenario. There's a paid invoice. At some point your customer pays it causing an overpayment. We issue a new invoice so that the original invoice doesn't change.

Our module was already addressing the first two scenarios but not the third one. Starting from this release it does. We would also like to mention these other improvements: Custom Directories for Electronic Invoices, Missing State/Region from proformas.

New 5
  • Overpayments. This feature now handles a new type of overpayment that was not covered yet by the module
  • Customizable Sent and Not Sent directories for XML files on FTP node for manual electronic invoicing
  • Invoices page. New button available to request a check for all your XML files
  • Client Display Format on Invoices for companies: Full name only, Company name only, Full name & Company name
  • Digiting Intermediary. BX Widget now reports the total number of sent invoices so that you can see when you're reaching limit
Improved 2
  • Various improvements for Manual electronic invoicing
  • Tax Rules page. It was not possible to save states with comma in their names (eg. PALMAS, LAS)
Changed 1
  • Few releases ago we added function that for security reasons prevent Admins from deleting Sent XML files. We understand that it's a bit too limiting for people who use Manual Intermediary therefore we rever this change
Fixed 3
  • Missing State/Region value from proformas
  • Invoices page. Massive actions not working when using select all checkbox
  • XML lot. Incorrect ImponibileImporto

In this release we take a step forward to help you applying correct tax rates for regions with special tax regime. For more details read the project published on our Lab.

New 2
  • Additional Tax Rules can be specified for regions / states (Level 1 and Level 2)
  • SdI Intermediary. Digital signature and encryption of electronic invoices
Improved 1
  • Digiting Intermediary. Small improvements
Fixed 1
  • Overpayments. A wrong condition was causing problems with Invoice numbering and possibly "holes" in Sequential Numbering

As you probably already know, Invoices page of Billing Extension uses our SorTables technology that allows you to add, remove, move, collapse and filter up to 37 columns. This page clearly is way more powerful than the standard one of WHMCS. The problem is that it didn't support massive actions but there's a good news.

With this release Invoices page can be used not only to perform actions like Mark Paid, Mark Cancelled, Mark Unpaid, Send Reminder, Delete but also Snapshot as Invoice, Create Snapshot, Convert to Invoice and Convert to Credit Note. In other words converting multiple proformas into invoices now requires one click!

The second feature we add is very useful if you happen to have a lot of customers from regions and states with special tax regimes like Canary Islands, Liviglio and so on. For them you can finally lock their Tax Exempt status so that it never changes.

New 3
  • Tax Exempt status can be locked or unlocked for specific customers in order to preserve its value. This way you can solve billing issues with regions like Canary Island and Liviglio
  • Option to remove unused and unnecessary Configurable Options from Invoice descriptions (e.g. 0 x SSD, Antivirus: No, Backup: Not today)
  • BX Invoices page. The following actions can be performed massively: Mark Paid, Mark Unpaid, Mark Cancelled, Send Reminder, Snapshot as Invoice, Create Snapshot, Convert to Invoice, Convert to Credit Note
Improved 3
  • Fattura Elettronica Sicura Intermediary. New fields (username and password) for API connection
  • SdI Intermediary. Added descriptions, colors and log viewer (experimental)
  • Fallback to Detach XML files when they're not found on the FTP Node

You can now choose your Intermediary platform in one click:

We changed color schemes for buttons and icons of electronic invoices. Colors reflects the effective status of XML files like follows:
  • Orange to generate XML
  • Blue for XML not yet transmitted
  • Green for successfull transmissions
  • Red for errors and rejections
  • White for missing files in FTP node

Moreover the status can be reviewed, filtered and even exported on spreadsheet from Invoice View, Invoices page and also from a new Widget. You can find previews of all these additions in the gallery of this changelog.

Client Custom Fields can now be added as column in Invoices page. Of course this column can be filtered and exported on spreadsheet.

Last but not least we managed to solve long standing issue that was causing troubles to some of our new customers. BX was incorrectly detecting invoices as proformas. For more details about this feature read documentation.

New 9
  • Select Intermediary Platform for Electronic Invoicing
  • Fattura Elettronica Sicura (Intermediary platform) fully integrated and 100% automatic including XML notifications
  • Sistema di Interscambio (Intermediary platform) support for Digital Signature and encryption
  • Conditional System Requirements for Electronic Invoicing based on the Intermediary in use
  • Scheduled task that on a daily basis automatically checks and updates the status of transmitted XML files
  • XML status can be checked from Invoice View, Invoices page and Widget
  • Download XML buttons. Color schemes reflect the actual status of invoices
  • Invoices page. Client Custom FIelds column addable, filterable and exportable on spreadsheet
  • Feature to manually fix invoices incorrectly mistaken as proformas
Improved 6
  • A conflict between VIES & Split Payment was incorrectly changing Tax Exempt status. It wasn't a bug but an incorrect decision
  • Split Payment not available for Minimum Taxpayer Regime
  • Changing Tax Regime to Minimum Taxpayer Regime automatically removes existing Split Payment rules
  • Exporting invoices on spreadsheet now produces more accurate information for Invoice ID column
  • All links to documenation have been updated in line with recent changes
  • Some improvements to Lara Admin & v4 even though we do not officially support these templates
Changed 2
  • VAT Number for Public Administration is no longer a required field
  • Settings page. Logging section renamed to Utilities
Deprecated 1
  • Removed DatiPagamento node since it's unnecessary and confusing. For more information read the changelog of 2.2.29
Fixed 1
  • One title and one description missing in italian language file

Developer notes

We updated our documentation for Electronic Invoicing. Please, read it in full before opening tickets.

We understand that it's a long article but it provides a lot of useful information and we would like to spend time developing new features instead of answering to the same questions about Electronic Invoicing :)

Thanks for your understanding.

Summary

We continue to improve and add new features based on your feedback in the daily use of Electronic Invoicing.

New 3
  • When Electronic Invoicing for foreing countries is disabled the "Generate XML" button no longer appears for non-italian customers
  • We've added some new validations for Electronic Invoicing
  • XML files can't be issued for Draft invoices
Improved 3
  • More accurate descriptions for the options of Electronic Invoicing
  • Some refinements to RappresentanteFiscale XML node
  • Encoding for clientsdetails in PDF
Changed 1
  • Quality of life change. Restrict mode is no longer used for Draft Invoices
Deprecated 1
  • Rappresentante Fiscale > IdPaese removed from Settings. This value - when in use - is always equal to "IT" therefore there's no need to set it
Fixed 1
  • IscrizioneREA XML node now produces correct sub-nodes for partnerships

Developer notes

In the upcoming releases we'll focus on implementing Digital Signature of XML files for transmission to SdI.

Summary

In addition to PHP 7.2+, 7.1+ and 5.6+, it is now possible to download the module as Bundle. For more information read Choosing package for download. As for the rest this release includes some small improvements and changes.

New 2
  • Billing Extension can be downloaded as Bundle (PHP 5.6 and onward support in the same package)
  • DataRiferimentoTerminiPagamento node in XML
Improved 1
  • Invoice PDF. Conditional footer no longer shows HTML entities in TCPDF
Changed 2
  • Electronic Invoicing validations. Firstname and Lastname are required only when Company Name is empty
  • We changed "Guess my business type" function to be less restrictive

Developer notes

In this release we continue to add new unnecessary nodes to XML files due to Intermediaries. Yes, we're a bit saracstic :)

Our initial goal was to generate XML files as "small" as possible to ease transmissions and save disk space for Conservazione Sostitutiva that usually costs depending on space used. We were focusing on adding only the mandatory nodes and values but Intermediaries seem to love to scare people with unnecessary validations and put emphasis on nodes that are not needed.

We kind of give up. We'll keep adding all nodes they want even though they're completely useless.

As we anticipated in our Lab, this release focuses on adding support to CUP/CIG codes for electronic invoices towards Public Administration.

The module will automatically add a new column on Invoice View that lets you set those codes when needed. Click on the provided icon (the small toggle inside CUP/CIG column) to open a modal from which it is possible to define both codes and eventually turn on the option to make them recurring on subsequent invoices.

New 5
  • CUP/CIG codes support for electronic invoicing toward the Public Administration
  • CUP/CIG codes can be set as recurring for specific invoice items
  • CUP/CIG support automatically shows up only on invoices toward the Public Administration
  • In line with what has been introduced in 2.2.29, ImportoTotaleDocumento and Causale are now available in the XML
  • System Requirement check for Electronic Invoicing now validates also PrefissoProgressivo
Improved 1
  • Tweaks to XML validations

Summary

Some of you found quite strange that the XML files generated by BX always have a Due Amount equal to zero. This is perfectly fine.

First off the node that contains Due Amount is not mandatory. It is used when you still need to collect payments from customers. As you probably already know, in WHMCS XML files are issued only when invoices get paid therefore there's no need to specify a Due Amount.

Some customers in fact could find confusing that you are asking to pay an invoice that has already been paid in WHMCS. Not to mention that when Due Amount is specified some other fields become mandatory.

That said, it is also true the opposite namely that customers see AliquotaIVA, ImponibileImporto, Imposta but not Due Amount and they think that it's an error.

What to do now? Who is right? What is the correct approach? As usual no one knows therefore it's up to us. Considering the feedbacks we received, we go for the second option. From now on Electronic Invoices will have Due Amount even though it wouldn't be necessary.

New 1
  • Added DatiPagamento node
Improved 2
  • Tax and VAT ID validations for Organizations and Public Administration are more flexible
  • We made the function that checks Electronic Invoicing configuration more visible converting it into a button instead of a link
Fixed 1
  • Invoice Created notification for Proformas was interrupted by OneInvocie (manual send)

Summary

The documentation has been updated to provide information about the use of Electronic Invoice among multiple installations of WHMCS and/or stores (e.g. Magento, Prestashop, physical stores...).

Generally speaking in this release we added many new checks, validations and messages that will help you configuring Electronic Invoicing. Moreover sole proprietorship customers can now find new options to properly issue electronic invoices.

New 3
  • Electronic Invoicing. Added many new validations, checks and error messages to help you filling all the required information in line with requirements
  • New fields available for sole proprietorship using Electronic Invoicing in WHMCS
  • New option to escape special characters stored inside CDATA nodes for Intermediari platforms that do not fully support CDATA
Changed 2
  • CapitaleSociale input type changed from Text to Number
  • Updated descriptions and filed names in line with recent changes
Fixed 1
  • VIES panel was no longer visible in backend due to a jQuery error

Summary

In this release we changed the way Natura and RiferimentoNormativo nodes on XML files are added. Both fields are required when AliquotaIVA is equal to zero.

Before this release, we were forcing Natura and RiferimentoNormativo based on intra/extra EU status and on the fact that WHMCS is used to provide services.

In the end we realised that this was an hypercorrection also because we found out that some of our customers are using WHMCS not to sell services but for things like rentals that follow a different legislation. That said, from now on BX will be more flexible to use.

Improved 3
  • Email address (PEC) is no longer capitalized
  • Even though we support only the official templates of WHMCS (backend), we improved our JS/CSS so that BX is usable also with Lara Admin
  • Due to a weird glitch we found on one of our customer's WHMCS, we added a feature that makes sure that "p" namespace in the XML is always added as prefix to FatturaElettronica node
Changed 1
  • Natura and RiferimentoNormativo are no longer based on intra/extra EU status