[DBTech] DragonByte eCommerce

xF2 Add-on [DBTech] DragonByte eCommerce 3.2.1

No permission to download
Update highlights

This version adds a new feature; a BBCode embed for products. You can copy a product's BBCode from its "Share product" widget on the product information page and paste it into any XF text box that supports BBCode.

The Commissions page has also been tweaked in order to make individual transactions easier to read, as well as fixing some display issues with negative amounts (e.g. chargebacks / refunds).

Lastly, about half a dozen reported bugs have been resolved.


Complete Change Log

Feature: Ability to embed products in posts
Change: Use a separate phrase for "Paid" (invoice) from "Paid" (product costs money)
Change: Reworked the "Applicable Payments" section of the "Outstanding Payments" page for Commissions to be easier to read
Change: Standardised the purchase log status phrases
Fix: XR Product Manager importer would not convert serialized fields correctly
Fix: Download chooser form did not respect download visibility state
Fix: Moving categories would not immediately trigger a permission rebuild
Fix: Fixed an issue where assigned products would not appear in the "generate licenses" list even after assigning someone as a Distributor
Fix: Fixed an issue where cancelled / refunded transactions would not correctly update the Commission value on the Outstanding Payments page
Fix: Fixed an issue where the Order Clean-up feature was not working as intended
Fix: Fixed an issue where the Order Reminder feature was not working as intended
Fix: Fixed an issue where the License Expiry Reminder feature was not working as intended
Update highlights

After a successful Beta period, it's time to release the Gold version of DragonByte eCommerce v1.4.0!

This version contains multiple usability improvements and enhancements. The "Simplified download interface" option has been made obsolete, and its functionality has been merged with the "normal" downloads interface.
This means users will have an easier time downloading their licenses, as download buttons are now more readily available.

Furthermore, when viewing releases on the Product information page, the download versions any given release applies to will now display in the list, reducing confusion for people stuck on older platforms of your product.

This version also contains future-proofing for PHP 7.4 / XenForo v2.1.3.

Lastly, about half a dozen discovered bugs have been resolved.


Complete Change Log

Feature: Added a list of versions each individual release applies to when viewing the Releases tab on the product info page
Feature: The "Download" button on the "Licenses" tab on the product info page now appears in all scenarios
Change: Eliminated the "Simplified downloads interface" option and switched its functionality to a style property (controls whether the grouped download interface shows up when clicking a license)
Change: The user who added a download to a product is now stored in the download record
Change: Set version_string as required in the Download entity
Change: Changed the way API calls are made, in order to support the HTTP Proxy feature in XenForo
Fix: PHP 7.4 compatibility fix
Fix: Respect deleted/moderated when displaying list of releases
Fix: Fix errors on install
Fix: Fix for server error in license entity
Fix: When editing products, the global "Enable content tagging" setting was not respected
Fix: Fix a few issues with the download cache for download versions
Fix: Fix alerting on new product update (fall back to product if the download user does not exist)
Fix: The user who added a download to a product will now correctly show in the news feed / update alert
Fix: Fixed an issue where removing the last item from an order would not delete the order itself.
Fix: Fix various issues with the "Generated downloads cache" feature
Update highlights

This update features some important changes in relation to VAT and PayPal.

If you sell your products via PayPal, and use accounting software like QuickBooks to manage your bookkeeping, it would previously have been difficult to utilise the VAT features in eCommerce while maintaining records in your accounting software. Transactions would either fail to import or be imported with incomplete data.

This happened because eCommerce would specifically tell PayPal how much sales tax to add separately to each transaction, bypassing any sales tax rates you set up in your interface.

There is now a new setting for controlling whether the order cost sent to PayPal is inclusive of tax. If this setting is turned off, PayPal will use the sales tax rates as defined in your PayPal account settings to apply sales tax.

If a valid VAT ID was added to the order, eCommerce will tell PayPal to not add any tax to the order, unless the person placing the order is from the same country as your business.
If both the seller and the customer is located in the same country, VAT should always be added and each party will be able to reclaim the VAT from the tax authority.

---
The next version (v1.4.0) will have even more updates with regards to VAT. The tentative feature list:

  • Sales tax ID will be stored in the address book, rather than the order. This means recurring customers won't have to keep re-entering their VAT ID every time they place an order.

  • If VAT is enabled in the tax settings, addresses with VAT IDs will be placed under moderation and appear in the "Approval Queue" in XenForo. You can then look up the VAT ID and see whether the user entered their correct business address.

  • A new user group permission will be added to allow chosen user groups to bypass the address moderation requirement, if you do not wish / need to use the address moderation feature.

  • If an address is under moderation, a notice will appear on the checkout screen letting them know they will still be charged VAT until the address is approved.

  • Addresses with approved VAT IDs will not be editable and customers will not be able to delete them from their address books. This is to prevent older order records from being rendered incomplete.

  • Addresses will become searchable / editable in the AdminCP.
The goal of this update is to ensure that your business is compliant with all tax authorities and their varying record keeping requirements.

I'm aiming to make the update as frictionless as possible for your existing customers. All past sales tax IDs will be imported into the corresponding address entries. The existing form field for entering a VAT ID during checkout will simply be changed to apply to the currently selected billing address, rather than the order itself.

As always, it's not possible to provide an ETA for this update.


Complete Change Log

Feature: Add new setting for controlling whether tax amount is included in the amount sent to the payment processor
Change: Update sales tax calculation to only exclude sales tax if VAT is enabled and the user is from a different VAT country
Fix: Fix product description not saving
Fix: Fixed an issue where add-on products would generate an alert if the user is watching the category
Update highlights

This release is a quick update to address an issue where visibility checks were not being performed for add-on products being displayed in the sidebar in the product view. This could lead to soft-deleted products, or products you have restricted permissions for, to still appear (albeit not purchasable).

To test whether this fix has resolved any issue you may be experiencing, ensure the dbtech_ecommerce_product_wrapper template is either not customised or that this line:
<xf:foreach loop="$product.Children" value="$childProduct">
now reads:
<xf:foreach loop="$product.Children" value="$childProduct" if="$childProduct.canView()">
And then try viewing the product page as a guest (such as via Incognito mode).

As part of the process of reviewing this issue, I also found minor optimisation possibilities that slightly reduced the amount of queries needed to generate the product view page.


Complete Change Log

Change: Reduced the number of queries needed to load the product view page
Fix: Fixed an issue where visibility checks were not being performed on add-on products before display on the product view page