[DBTech] DragonByte eCommerce

[DBTech] DragonByte eCommerce [Paid] 3.4.0

No permission to buy ($29.95)
You are apparently the only VAT-registered organisation that has your exact setup. I've used multiple accounting software in the decade and a half I've been VAT registered, and none of them have had the problems your software has.

I would strongly recommend getting better accounting software that doesn't rely solely on one payment processor. I can personally recommend Xero, alongside this addon by Xon: https://atelieraphelion.com/products/xero-invoice-sync.76/ which automatically pushes itemised invoices into Xero.
This has nothing to do with the software we're using. We're actually using Sage which is comparable with Xero.
This is to do with Paypal not getting VAT information sent through from eCommerce.
To illustrate, here is the order from eCommerce
2.jpg
And here is the transaction in Paypal.
3.jpg
As you can see, the VAT is not sent through to Paypal.
Not only is it wrong to say the integration is incorrect, but as I pointed out earlier (and provided instructions for), you can add a notice during checkout that says applicable taxes will be added during payment. This is consistent with most online businesses where VAT rate depends on the buyer’s country.
If the tax is not being passed to Paypal, then the integration is incorrect. If you're using the standard Xenforo Paypal integration then @Kier @Chris D please investigate.
Displaying a notice to the user is irrelevant. It's the Paypal invoice which needs to be correct. Once it is, then when Sage (or Xero or any other similar accounting software) connects to Paypal to reconcile the accounts, it will get the tax correct. It can't as it currently stands.
Lastly, setting the tax rate being passed to PayPal will occasionally introduce rounding errors that prevent payments from being correctly flagged as paid.
Really? I'm not convince that's the case, but even it is, that would be better than having an error as significant as this.

You're sounding a bit defensive and I'm sorry if this is coming across as attacking you as I'm not. I'm trying to help you get your already excellent addon improved so that it's correctly interfacing with PayPal and I don't have to run this query to get the information we need directly from the ecommerce tables for our finance department each month.

Code:
SELECT FROM_UNIXTIME(completed_date, '%Y %M %D'), taxable_order_total,sales_tax,cost_amount,currency,business_title,address1,address2,address3,address4,country_code,sales_tax_id
FROM xf_dbtech_ecommerce_order LEFT JOIN xf_dbtech_ecommerce_address ON xf_dbtech_ecommerce_order.address_id = xf_dbtech_ecommerce_address.address_id
WHERE order_state = 'completed'
and sales_tax > 0
ORDER BY order_id desc
 
Last edited:
Really? I'm not convince that's the case, but even it is, that would be better than having an error as significant as this.
I have multiple commits dating back to 2018 where I encountered this very problem. Having a semi-random set of transactions fail to automatically confirm is much, much worse. It means you have no idea if customers will receive their paid-for products unless you manually go check every single transaction that goes through your site.

If you use PayPal's tax system (where it auto-adds tax to the payment amounts) and set your site's prices to be excl. tax, you can add a notice to your users that VAT will be added during checkout where applicable.

Alternatively, you could combine PayPal's tax system with the "Include sales tax in order total sent to the payment processor" setting turned off.

You're sounding a bit defensive and I'm sorry if this is coming across as attacking you as I'm not.
What you have to understand is that when it comes to people's actual money, I can't simply make potentially breaking changes because one or two people have difficulties with their accounting software. I think you'll also be forced to agree that blanket statements such as "conforming to proper financial accounting requirements" aren't exactly the most neutral statements possible :)

eCommerce has conformed to proper financial accounting requirements for 5+ years. That is as long as I have been running it for DBTech, and I have never heard any complaints from either my accountant or HMRC.
 
What you have to understand is that when it comes to people's actual money, I can't simply make potentially breaking changes because one or two people have difficulties with their accounting software.
We're not having difficulties with our accounting software. I'm not sure it would necessarily break other peoples' systems if eCommerce were to start sending the correct tax information to PayPal.
I think you'll also be forced to agree that blanket statements such as "conforming to proper financial accounting requirements" aren't exactly the most neutral statements possible :)
Sure and I apologise for being too strident. I'll be the first to admit that I'm not familiar with payment systems and I'm the last person who wants to be. It's bloody boring! So I could have some option set incorrectly somewhere. What I need, though, is to charge VAT and the PayPal invoice to show that. Is that possible?
eCommerce has conformed to proper financial accounting requirements for 5+ years. That is as long as I have been running it for DBTech, and I have never heard any complaints from either my accountant or HMRC.
First of all, I think most eCommerce users will not be VAT registered.
But for those who are, I wouldn't be at all surprised if all of them are just ignoring the VAT on digital sales through eCommerce and flying under the tax radar.
Unless I've got an option wrong somewhere to send the tax figure through to PayPal.
 
If you use PayPal's tax system (where it auto-adds tax to the payment amounts) and set your site's prices to be excl. tax, you can add a notice to your users that VAT will be added during checkout where applicable.

Alternatively, you could combine PayPal's tax system with the "Include sales tax in order total sent to the payment processor" setting turned off.
What do you do?
 
Somewhere in PayPal’s settings there’s a way to add tax to each txn based on the buyer’s country. Use those settings and turn the mentioned setting off.
I already had the tax amount set up for all the countries but PayPal isn't adding tax.
Is that because this setting is ticked?
4.webp
and unticking it will tell PayPal to add tax?
 
This is not a classifieds addon, all products sold will have their payments deposited into your account.

That being said, yes there is an API :) https://www.dragonbyte-tech.com/pages/ecommerce-api-endpoints/
That is fine, the actual invoicing happens off platform. We get a listing fee, the fulfilment of the product is then handled outside of us.
I note you have a permission of "Can add product" which will help somewhat and I can roll my own extra stuff on top.

With the API I notice you have an "Update" product but not a create, is there any plan to add that?
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

3.3.0

Update highlights

This version is a large upgrade with multiple new features and changes, many of which were requested by our community 🎉

The biggest new feature is Order generation / edit in the AdminCP. You're now able to edit Pending orders and add products to a user's cart, change pricing tiers and licenses for digital products' renewal orders. You can also generate a new order either manually or by adding all non-Lifetime licenses to a user's cart, or only add...

Read the rest of this update entry...
 
  • Like
Reactions: Xon
This is an incredible e-commerce add-on and just another example of how awesome a developer @DragonByte Tech is. I am curious how I can remove the word "cart" from the cart icon in navigation? That area is a little crowded for me, as is, and the ability to remove the word and just leave the cart icon up with be a HUGE help.

--- a side note for future development, if at all possible, would be having the cart icon only appear when someone has items actively in their cart. --

Thanks for any insight or help you can provide!

J
 
This is an incredible e-commerce add-on and just another example of how awesome a developer @DragonByte Tech is. I am curious how I can remove the word "cart" from the cart icon in navigation? That area is a little crowded for me, as is, and the ability to remove the word and just leave the cart icon up with be a HUGE help.

--- a side note for future development, if at all possible, would be having the cart icon only appear when someone has items actively in their cart. --

Thanks for any insight or help you can provide!

J
I believe dbtech_ecommerce_navbar_checkout is the template you need to modify :)
 
I believe dbtech_ecommerce_navbar_checkout is the template you need to modify :)

You're awesome, so I think I figured it out. I realized if I remove line 12 from the code, the word 'cart' does disappear from the navigation! 🙌🙌 but that leads me to a new thought of something I'd like to implement, but I don't know how.

Where/how would I put in some type of code or whatever its called to create a mouseover tooltip/popup so that if someone mouses over the cart icon in the nav bar it'll say "Cart" (or something) -- I'd like to do the same with the icon I use for my DBTech credits currency.

Also, just out of curiosity, is there a way I can change what position the icon appears in the last? In the event I want to move it past the icon for our credits currency?

Any help would be appreciated!


Code:
<xf:if is="callable($xf.visitor, 'canViewDbtechEcommerceProducts') && $xf.visitor.canViewDbtechEcommerceProducts() && $xf.visitor.canPurchaseDbtechEcommerceProducts()">
    <a href="{{ link('dbtech-ecommerce/checkout') }}"
       class="p-navgroup-link p-navgroup-link--iconic p-navgroup-link--dbtechEcommerceCart js-badge--dbtechEcommerceCart badgeContainer{{ (callable($xf.visitor, 'getDbtechEcommerceCartItems') ? $xf.visitor.getDbtechEcommerceCartItems() : 0) ? ' badgeContainer--highlighted' : '' }}"
       data-badge="{{ (callable($xf.visitor, 'getDbtechEcommerceCartItems') ? number($xf.visitor.getDbtechEcommerceCartItems()) : 0) }}"
       data-xf-click="menu"
       data-xf-key="{{ phrase('shortcut.dbtech_ecommerce_checkout_menu')|for_attr }}"
       data-menu-pos-ref="< .p-navgroup"
       aria-label="{{ phrase('dbtech_ecommerce_cart') }}"
       aria-expanded="false"
       aria-haspopup="true">
        <i aria-hidden="true"></i>
        <span class="p-navgroup-linkText">{{ phrase('dbtech_ecommerce_cart') }}</span>
    </a>
    <div class="menu menu--structural menu--medium" data-menu="menu" aria-hidden="true"
         data-href="{{ link('dbtech-ecommerce/checkout/cart-popup') }}"
         data-nocache="true"
         data-load-target=".js-dbtechEcommerceCartMenuBody">
        <div class="menu-content">
            <h3 class="menu-header">{{ phrase('dbtech_ecommerce_cart') }}</h3>
            <div class="js-dbtechEcommerceCartMenuBody">
                <div class="menu-row">{{ phrase('loading...') }}</div>
            </div>
        </div>
    </div>
</xf:if>
 
Hey there! I am curious if there's any future enhancements that may allow for weight other than lbs, for example, I have several items that weight in the oz's not lbs.

I am more curious though about any potential for USPS, and other carrier integration for shipping cost configuration, mailing labels, scheduling, or what have you?

Thanks! <3
 
Where/how would I put in some type of code or whatever its called to create a mouseover tooltip/popup so that if someone mouses over the cart icon in the nav bar it'll say "Cart" (or something) -- I'd like to do the same with the icon I use for my DBTech credits currency.
Open dbtech_ecommerce_core.less and change the &--dbtechEcommerceCart i:after block, specifically .m-faContent(@fa-var-shopping-cart, .88em);

For Credits, it's dbtech_credits_app_nav.less and &.p-navgroup-link--dbtech-credits i:after.

Also, just out of curiosity, is there a way I can change what position the icon appears in the last? In the event I want to move it past the icon for our credits currency?
It's the account_visitor_menu template modification, though I'm not sure if you can change the display order yourself.

Hey there! I am curious if there's any future enhancements that may allow for weight other than lbs, for example, I have several items that weight in the oz's not lbs.

I am more curious though about any potential for USPS, and other carrier integration for shipping cost configuration, mailing labels, scheduling, or what have you?
There's currently no plans to make any significant changes for physical items, carrier integration in particular is unlikely to ever be added unless someone specifically pays for it to be added. I personally have no need for that functionality, and adding support for every carrier internationally would be... a task 😅
 
Open dbtech_ecommerce_core.less and change the &--dbtechEcommerceCart i:after block, specifically .m-faContent(@fa-var-shopping-cart, .88em);

For Credits, it's dbtech_credits_app_nav.less and &.p-navgroup-link--dbtech-credits i:after.

Thank you for all the answers and this is the last time I'll be a pain (or will try for it to be the last time! lol) ... I did find what you said...


Code:
.p-navgroup-link
{
    &--dbtechEcommerceCart i:after
    {
        .m-faBase();
        display: inline-block;
        min-width: 1em;
        .m-faContent(@fa-var-shopping-cart, .88em);
        
        <xf:set var="$addOnId">ThemeHouse/UIX</xf:set>
        <xf:if is="{$xf.addOns.{$addOnId}}">
            <xf:macro template="uix_icons.less" name="content" arg-icon="shopping-cart" />
        </xf:if>
    }

I am just not very familiar with touching these things and don't want to break anything I cannot fix :D ...would you mean guiding me a little more as to where I add in the tooltip/mouseover text, please?

Thank you!
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

3.3.1

Update highlights

This version aims to improve upon and fix some issues with the new Order Creation feature in v3.3.0. You can now more easily delete orders in the AdminCP via some new Delete buttons. Furthermore, you now receive more feedback about invalid orders as opposed to just having them silently disappear.

Lastly, a server error with the "What's new" navigation entry has been resolved.


Complete Change Log

Change: "Delete order" buttons now...

Read the rest of this update entry...
 
DragonByte Tech updated [DBTech] DragonByte eCommerce with a new update entry:

3.3.2

Update highlights

This version resolves an oversight with the Shipping Method formula; previously, q referred to the number of items being shipped, not the quantity. For instance, if you had 100 of Product A and 1 of Product B, q = 2.

In this version, q = 101.

If you would like to keep using the previous functionality, a new token t has been introduced that behaves like before.

Please check your shipping formula...

Read the rest of this update entry...
 
Top Bottom