Invoicing with InvoiceXpress for WooCommerce – Pro Changelog

3.2.2 – 2021-07-02

  • Issue VAT MOSS Credit notes instead of regular Credit notes for VAT MOS invoices

3.2.1 – 2021-07-01

  • Fix Credit Notes for VAT MOSS invoices
  • Allow issuing of VAT MOSS invoices for non-Portuguese stores

3.2.0 – 2021-06-30

  • Compliance with the new EU VAT for cross-border e-commerce rules
  • Make sure only administrators or store managers can redownload PDFs or request the AT Code
  • Fix a bug on automatic receipts for Simplified invoices and VAT MOSS invoices
  • Better debugging
  • Tested with WooCommerce 5.5.0-rc.1 and WordPress 5.8-beta4-51251

3.1.0 – 2021-06-07

  • Invoice shipping costs as “other” instead of “service”
  • Add country prefix to the VAT number
  • Avoid automatic invoicing for older orders
  • Allow using the same InvoiceXpress contact, even if there’s no VAT number associated with it, by returning true to the new invoicexpress_woocommerce_allow_contact_reuse_without_vat filter
  • Fix email notification when failing to send the document via the InvoiceXpress method
  • Several fixes and improvements on the pending errors screen
  • Moved the sendErrorEmail, set_email_to_html and get_blogname methods from the Base Controller to the Plugin class for more flexibility
  • Settings screen reorganization and technical support terms and conditions link
  • Add Update URI header
  • Complete VAT Controller code refactoring
  • Remove legacy code
  • Tested with WooCommerce 5.4.0-rc.1 and WordPress 5.8-alpha-51064

3.0.4 – 2021-04-14

  • Fix a bug on the PDF fetching routine introduced in the last version

3.0.3 – 2021-04-12

  • Remove built-in PHP Curl Class and use the WordPress HTTP API exclusively
  • Fix PHP notice while getting order item tax name
  • Fix a bug on the redownload pdf class
  • Remove code to support old Hellodev Woocommerce Inventory Manager plugin
  • Sanitize request data

3.0.2 – 2021-04-06

  • Bugfix when issuing Delivery notes and Return delivery notes after an Invoice (Pro version)

3.0.1 – 2021-04-05

  • Better handling of tax names
  • Unify the method of getting order items also for Credit notes (Pro version)
  • Remove the invoicexpress_woocommerce_shipping_and_fee_ref_unique filter
  • Small readme.txt adjustments

3.0.0 – 2021-04-03

  • Possibility to fix pending errors, or dissociate them from the order so that they can be issued again, for these document types: Invoice-receipt, Invoice, Simplified invoice, VAT MOSS invoice, Proforma, Quote, Delivery note, and Return delivery note
  • New option to get AT Code after 1 minute (using the WordPress cron) instead of immediately (Pro version)
  • New action invoicexpress_woocommerce_fetch_at_code to be able to programmatically fetch the AT Code for an order
  • Add order note with a link to fetch AT Code after a Delivery note is issued (Pro version)
  • Better automation error emails
  • Added $order_object and $error_message to the automation error emails subject, heading, and body filters (Pro version)
  • Fix negative values for fees and shipping on Credit Notes
  • Code refactoring and optimization
  • Several minor fixes
  • Tested with WordPress 5.8-alpha-50650 and WooCommerce 5.2.0-rc.1

2.8.4 – 2021-02-23

  • Delete sequences and default taxes options when the InvoiceXpress API account is changed
  • New invoicexpress_woocommerce_pro_is_valid_order_type filter to be able to stop invoicing, without an error, for example for marketplace sub-orders
  • Fixed shipping and fee costs being sent as strings and not floats to the InovoiceXpress API
  • Tested with WooCommerce 5.1.0-beta.1 and 5.7-beta3-50388

2.8.3 – 20020-12-30

  • Add randomness to the documents file names
  • Remove Great Britain and Isle of Man from EU VAT countries, from 2021 January 1st onwards, for VAT exemption and VAT MOSS issuing proposes
  • Tested with WooCommerce 4.9.0-rc.1 and WordPress 5.7-alpha-49862
  • And a Happy New Year!

2.8.2 – 2020-12-17

  • Avoid issuing documents for orders with negative valued items
  • Better logic when showing the “Issue Receipt” order action
  • Get support link on Updater.php so it can be used by all extensions
  • Make sure to not issue a Credit note if an Invoice document does not exist which is odd because we were already looking for a Receipt
  • Modules register_hooks() now run on after_setup_theme to allow the theme functions.php file hook into any filters available
  • New invoicexpress_woocommerce_allow_{$document_type} filters to be able to deactivate some documents (even if activated on the options) via filters. Caution: It can break automatic documents if the current_user_can() function is used to determine returning false to the filter.
  • Fix order date replacements on emails when WPML is active and order language is not the same as the current WordPress language
  • Tested with WooCommerce 4.8.0 and WordPress 5.7-alpha-49782

2.8.1 – 2020-11-11

  • Remove manual Receipt order action if “Issue automatic receipt” is set
  • Bugfix when loading new customer data on the order edit screen
  • Bugfix when adding order item meta to the invoicing title
  • Tested with WooCommerce 4.7.0 and WordPress 5.6-beta1-49314

2.8.0 – 2020-10-09

  • Tracking of document finalization and email sending status, and the possibility to fix it, when the InvoiceXpress API times out, on a new “Pending errors” screen (experimental, only for Invoice-receipts)
  • Choose automatic document errors email address instead of always using the WordPress admin email
  • Fully discontinue the bulk invoices functionality as announced on 2019-10-11
  • Fully discontinue the “Update order status” functionality as announced on 2019-11-06
  • Soft discontinue the “Document cancelation” functionality
  • Option to remove license key, if WP_DEBUG is set to true and for technical support proposes only
  • Slightly change the document observations field position on the order edit screen
  • Fix fatal error on the WCFM Marketplace frontend order edit screen
  • Fix invoicing entity when the “General” tab options are not yet saved
  • Better debugging
  • PHP required version raised to 7.0
  • Tested with WooCommerce 4.6.0-rc.1 and WordPress 5.6-alpha-49064

2.7.1.1 – 2020-06-12

  • Better PDF naming – Fix file extension

2.7.1 – 2020-06-12

  • Better PDF naming

2.7.0 – 2020-05-28

  • Several changes on the “Invoices and Credit notes” settings to better clarify that Invoice-receipts are recommended in most scenarios
  • New exemption motive for COVID-19 related sales to the Portuguese State, other public organisms, and non-profits
  • Allow issuing of partial Credit notes for order shipping and fees
  • Fix Credit notes shipping and fees references
  • Show exemption reason field on orders with partial exemptions
  • Add $order_object to the get_due_date function and invoicexpress_woocommerce_{$type}_validity filter
  • Tested with WooCommerce 4.2.0-beta.1 and WordPress 5.5-alpha-47861

2.6.2.2 – 2020-05-13

  • Fix static VatController get_exemption_reasons() method

2.6.2 – 2020-05-12

  • Exemption reasons code refactor
  • New invoicexpress_woocommerce_after_update_order_meta_frontend action after updating order meta in the checkout
  • EU B2B tax exemption motive setting
  • Tested with WooCommerce 4.1.0 and WordPress 5.5-alpha-47783

2.6.1 – 2020-04-22

  • Partial Receipts on Invoice-receipts
  • Better customer search on InvoiceXpress to avoid duplicates
  • Tested with WooCommerce 4.1.0-rc.1 and WordPress 5.5-alpha-47609

2.6.0.1 – 2020-04-16

  • Bugfix when products included as order items are deleted before a document is issued

2.6.0 – 2020-04-08

  • It’s now possible to issue VAT MOSS Invoices (Pro version – experimental)
  • Fix get_eu_vat_countries after WooCommerce 4.0.0 (Pro version)
  • Tested with WooCommerce 4.1.0-beta.1 and WordPress 5.5-alpha-47547

2.5.3.1 – 2020-03-14

  • Tested with WooCommerce 4.0.0

2.5.3 – 2020-02-08

  • WooCommerce Subscriptions integration bugfix: VAT code must be copied to renewals
  • Unique references for Shipping and Order Fees (can be reverted by returning false to invoicexpress_woocommerce_shipping_and_fee_ref_unique)
  • New filters to allow developers do add other items to the document based on the last added one: invoicexpress_woocommerce_items_after_document_item_add, invoicexpress_woocommerce_items_after_document_shipping_add and invoicexpress_woocommerce_items_after_document_fee_add

2.5.2.1 – 2020-01-20

  • Fix invoicing after the last update when WooCommerce Admin is active

2.5.2 – 2020-01-17

  • WooCommerce Subscriptions compatibility
  • Check if the order is valid to avoid issuing documents for special types of orders like Subscriptions, for example

2.5.1.1 – 2020-01-15

  • Change plugin website

2.5.1 – 2020-01-14

  • Bugfix for WordPress versions below 5.0

2.5 – 2020-01-04

  • Move VAT Field options to the “Taxes” tab
  • Code refactoring: WooCommerce EU VAT Assistant and EU VAT Number integration
  • Prevent automatic invoices for orders with tax exemption
  • Check for table and create it if needed on the scheduled documents cron
  • Bugfix: Credit notes were being created even if the order didn’t have a Receipt

2.4.10.2 – 2019-12-21

  • Spanish translation corrections – thanks to Fernando Tellado
  • Better translators descriptions

2.4.10 – 2019-12-20

  • Get delivery guide AT Code after getting the PDF instead of before
  • Show our notices when WooCommerce Admin 0.23.2 (or above) is active
  • Spanish translation – thanks Caribay Camacho
  • Tested with WooCommerce 3.9.0-beta.2 and WordPress 5.3.3-alpha-46995

2.4.9.1 – 2019-12-12

  • Small tweaks on the version upgrade routine
  • Tested with WooCommerce 3.9.0-beta.1 and WordPress 5.3.1-alpha-46771

2.4.9 – 2019-11-26

  • Show updates for extensions on the API settings page
  • Use Select2 on settings select fields
  • Fix multiselect settings field and allow for `optgroup` on settings select fields

2.4.8 – 2019-11-25

  • Fix multiselect settings fields
  • Pass manual or automatic mode to the preventDocumentIssuing method thus allowing preventing the issuing of documents based on that
  • Add the reason the document issuing was prevented as an order note
  • Tested with WordPress 5.3.1-alpha-46771

2.4.7 – 2019-11-16

  • Get delivery guide AT Code
  • Change ReDownload PDF behavior
  • Tested with WordPress 5.3.0

2.4.6 – 2019-11-06

  • Fix a bug where Receipts would not be sent by email on InvoiceXpress PDF file mode
  • Move “Automatic document errors email” to the General settings
  • Soft discontinue “Update order status”
  • Better email sending debug

2.4.5 – 2019-10-29

  • Automatic receipts can now be issued on a different status

2.4.4 – 2019-10-16

  • Automatic documents tweaks and better debug
  • Allow developers to silently prevent document issuing
  • Code clean-up and reuse

2.4.3 – 2019-10-11

  • New invoicexpress_woocommerce_before_document_email action
  • When the automatic receipts are active, do them before sending the Invoice email, so that the “Paid” badge of the new templates is shown on the PDF file
  • Small Updater fix
  • Soft discontinue bulk Invoices
  • Check for updates on the API settings screen
  • Use version constant instead of getting it from the database each time it’s needed
  • Fix setting the receipt id and permalink on the order meta
  • Fix PHP notice when sending an email using the new hybrid mode
  • Fix PHP notice when issuing a receipt
  • Tested with WooCommerce 3.8.0-beta.1 and WordPress 5.2.4-alpha-46074

2.4.2 – 2019-10-07

  • Fix CSS loading on the settings page and improve field sizes
  • Small fix when downloading the PDF file from InvoiceXpress
  • Feedback when WordPress email sending fails (from WooCommerce 3.8.0 onwards)
  • New hybrid Email/PDF mode
  • A better explanation of the new Email/PDF methods
  • Fix document type names on My Account
  • Fix Automatic receipt issuing for Invoices and Simplified invoices

2.4.1 – 2019-10-03

  • Fix delivery guide email recipient
  • Fix endpoint and global logo parameter when using the new InvoiceXpress email sending method
  • Create an order note when the email is sent with the new InvoiceXpress email sending method
  • Add a div id on the My Account documents list so that store owners can style it with CSS

2.4.0 – 2019-10-02

  • Better feedback when the document is issued (and finalized) on InvoiceXpress but the PDF could not be downloaded (and sent to the client)
  • Ability to repeat the download (and sending to the client) process when it fails the first time
  • PDF fetching and sending code refactor
  • Send documents using InvoiceXpress instead of WordPress
  • List documents on My Account – Orders
  • Load order.js, cancel.js, and credit.js only on the order edit screen
  • UX fix on the settings fields
  • Load the default refund motive into the Reason for refund field
  • Reason for a refund on the Credit notes observations
  • Warning when not using WP-Admin interface on the same language as the default WPML language, because translatable strings may get mixed up

2.3.1 – 2019-09-10

  • Fix bug where invoicing documents could be repeatedly issued after the order had a credit note
  • Show our notices when WooCommerce Admin is active
  • Fix bug issuing Quotes and Proformas

2.3.0 – 2019-08-26

  • Automatic documents scheduling (via developer hooks)
  • Performance improvements on the settings pages
  • New developer hooks
  • Better version upgrade routines
  • Better debugging
  • Better licensing control

2.2.1 – 2019-08-09

  • Product unit for virtual products (default: service)
  • Plugin version on scripts and styles
  • New invoicexpress_woocommerce_document_item, invoicexpress_woocommerce_document_shipping and invoicexpress_woocommerce_document_fee developer filters to allow manipulation or exclusion of each document line
  • Use the order get_coupon_codes method from WooCommerce 3.7.0 forward
  • Better feedback when the VAT number is missing and is required
  • EU B2B Tax exemption explanation
  • Under the hood: Change delivery guide automatic generation action name for normalization and future scheduling

2.2.0.1 – 2019-08-01

  • Fix bug on delivery and return guides when the shipping and billing country is not the same

2.2.0 – 2019-07-17

  • New option to set the default unit of measurement: Product or Service
  • New invoicexpress_woocommerce_document_item_unit, invoicexpress_woocommerce_document_shipping_unit and invoicexpress_woocommerce_document_fee_unit filters to allow developers to change each document item unit of measurement
  • WordPress 4.9 minimum requirement
  • PHP 5.6 minimum requirement
  • Translations update
  • Tested with WooCommerce 3.7.0-beta.1

2.1.9 – 2019-06-27

  • Several changes on the licensing so that extensions can use it
  • Third parties can now prevent the issuing of documents when using the invoicexpress_woocommerce_{$type}_data filters
  • Fix on the plugin version update on the database
  • Translations update
  • Tested with WordPress 5.2.3-alpha-45552

2.1.8 – 2019-06-12

  • Try to avoid issuing duplicate automatic documents when PayPal has both IPN and PDT notifications active
  • Fix PHP notice when creating new orders on wp-admin and automatic invoices or transport guides are activated
  • Better tax exemption descriptions
  • Better debugging
  • Tested with WooCommerce 3.6.4 and WordPress 5.2.2-RC1

2.1.7 – 2019-05-24

  • Experimental partial VAT exemption
  • Prevent automatic invoicing of orders without values, unless explicitly activated on the options
  • Better error handling and feedback from the InvoiceXpress API
  • Fix VAT exemption error for documents and items with no value
  • Initial implementation of generic handling actions so that they can be logged by an external debug plugin
  • Composer update and plugin initialization refactoring for better PHP 7.3 compatibility
  • Tested with WooCommerce 3.6.3 and WordPress 5.2.1

2.1.6 – 2019-04-27

  • Fix bug on Bulk Invoices
  • Fix VAT on Shipping and Fees
  • Tested with WooCommece 3.6.2

2.1.5 – 2019-04-03

  • EU VAT Number by WooCommerce support  for EU VAT exemption on B2B
  • Use wp_remote_get instead of fopen
  • Small bugfix on a string
  • Tested with WooCommerce 3.6.0 (RC 1)

2.1.4.6 – 2019-03-19

  • Fix product description on some multilingual configurations
  • Shipping and fee name now have a prefix
  • Tested with WooCommerce 3.6.0 (beta 1) and WordPress 5.1.1

2.1.4.5 – 2019-03-05

  • Shot VAT field on the order admin screen even when “YITH WooCommerce Checkout Manager” is in use
  • Do not show tax exemption field on the order admin screen when the order total is zero
  • Code cleanup

2.1.4.4 – 2019-02-28

  • Bugfix when editing the VAT number on My Account – Billing Address
  • Tested with WooCommerce 3.5.5 and WordPress 5.1

2.1.4.3 – 2019-02-19

  • New invoicexpress_woocommerce_document_item_title_with_meta filter to disable the item meta on the document item description
  • Code cleanup

2.1.4.2 – 2019-02-18

  • Use get_order_number() instead of get_id() for documents reference, for compatibility with plugins that manipulate the order number
  • New function to set the item description for all the document types
  • Item description now includes all item meta, which is particularly useful for variations
  • New invoicexpress_woocommerce_document_item_title filter

2.1.4.1 – 2019-02-12

  • InvoiceXpress links fix

2.1.4 – 2019-02-12

  • Prevent issuing any document if the order contains non WooCommerce core coupon types
  • New invoicexpress_woocommerce_allowed_coupon_types filter to allow coupon types
  • New method and invoicexpress_woocommerce_prevent_document_issuing filter that allows developers to prevent the document issuing based on the order details

2.1.3 – 2019-02-01

  • Bugfix on the invoicexpress_woocommerce_document_language filter
  • Tested with WooCommerce 3.5.4

2.1.2 – 2019-01-16

  • Bugfix on the default tax exemption motive for Portuguese businesses exempt from taxes

2.1.1 – 2019-01-11

  • New filter on the document’s filename: invoicexpress_woocommerce_document_filename
  • A small adjustment on default documents filename
  • Bugfix on Invoices-receipt email
  • Tested with WooCommerce 3.5.3 and WordPress 5.0.3

2.1.0 – 2019-01-02

  • Future-proofing by using InvoiceXpress API v2 in JSON
  • Document language now based on an option instead of the client country
  • Caching document sequences for a small boost in performance
  • Complete refactoring of ClientChecker class and the way the client is identified on InvoiceXpress
  • Code review and elimination of duplicate code on all the controllers
  • Fix VAT number validation on the checkout and when issuing documents (both with our field and WooCommerce EU VAT Assistant)
  • Translations update
  • Tested with WordPress 5.0.2

2.0.8 – 2018-12-19

  • Use WooCommerce CRUD functions only to get and set metadata from and to orders
  • Fix the VAT number, document sequence, and delivery note fields on the order edit screen
  • Bulk invoice tax exemption bugfix
  • Fix on the JavaScript enqueues
  • Code review
  • New filter to disable WooCommerce EU VAT Assistant field status feedback on the checkout
  • Fix sending Delivery notes directly to the warehouse or the dropshipping supplier
  • Translations update

2.0.7 – 2018-12-15

  • WPML initial support
  • Tweak on the document emails’ placeholder replacements
  • Store InvoiceXpress document sequence number on order meta and show it on notifications and order notes
  • Fix Invoice-receipts and Quotes meta when storing document id and pdf link
  • Fix Receipts notifications
  • Fix Delivery and Return delivery notes translations
  • Translations update

2.0.6 – 2018-12-14

  • Send Delivery notes directly to the warehouse or the dropshipping supplier
  • Bugfix on error emails for Automatic invoices
  • Fix some translations

2.0.5 – 2018-12-14

  • Add plugin version to the settings page title
  • Propagate the invoicexpress_woocommerce_after_document_issue and invoicexpress_woocommerce_after_document_finish developer filters to all documents
  • Fix some translations

2.0.4 – 2018-12-14

  • Code review
  • Associate same order Invoices to Guides and vice versa on InvoiceXpress
  • Translations update
  • Refactor possible status and not recommended status for automatic documents
  • WooCommerce EU VAT Assistant link update
  • Fix automatic documents when a custom order status exist
  • Fix Transport guide loaded time for automatic documents
  • Fix automatic receipts notifications for shop admins

2.0.3 – 2018-12-13

  • Update translations
  • Fix automatic documents notifications for shop admins
  • Several Transport guides fixes
  • Fix translation loading
  • Tested with WordPress 5.0.1

2.0.2 – 2018-12-12

  • Fix textdomain so that the Free version uses the WordPress.org GlotPress

2.0.1 – 2018-12-12

  • Fix fatal error on specific situations when updating plugin database version
  • Fix automatic invoices tax exemption check

2.0.0 – 2018-12-10

  • Under new management.
  • Changed the plugin name.
  • Extensive code overhaul and bug fixing (can contain breaking changes).
  • WooCommerce 3.x and PHP 7.x compatibility reviewed.
  • Removed WooCommerce backward compatibility (below 3.x).
  • Applied WordPress Coding Standards.
  • Refactored the settings screen.
  • Added email placeholders.
  • Refactored email invoice fields.
  • Fix mandatory VAT field when “WooCommerce EU VAT Assistant by Aelia” is installed and active.
  • Option not to change order status when issuing documents (by default).
  • Removed check for WooCommerce deprecated functions.
  • Requirements check for `allow_url_fopen` and `curl`.
  • Developer filters (actions and filters).
  • And much more…