More EU-VAT 2015 Updates, New Invoice Tweaks

  • Jason@DPD
  • December 30, 2014

We’ve just released several small tweaks to our EU-VAT 2015 support, new invoice, and admin:

EU-VAT 2015 Custom Rates

You can now enter your own country specific rates for EU-VAT countries that override the default rate. While the default published rates will work for most people, there are some special classes of product in some countries that have a non-standard rate. You can now enter the optional rate in the VAT tax integration.

EU-VAT 2015 Custom Rates

Invoice Tweaks:

Based on feedback on our new invoice format, we’ve done the following:

  • Compacted the layout so that it prints on one page. Note: Adding extra text to the invoice, or invoices with many items may force it to print on more than 1 page.
  • Fixed store logo on invoices where it wasn’t displaying in some cases
  • Added invoice option to disaply custom fields
  • Added invoice.css to theme assets so you can customize the invoice CSS to your liking

Added Country Blacklist Rules:

For vendors who want to restrict sale of their products from specific countries you can now create Country blacklist rules by going to Blacklist in the left menu, adding a new rule, and selecting the country.

The country blacklist works on GeoIP lookup using the buyer’s IP address.

Vendors can also always edit their Supported Countries under Shipping to remove countries they do not want to allow sale to from the shipping address country selector.

EU-VAT 2015 Module and New Invoice Released

  • Jason@DPD
  • December 29, 2014
  • 1 Comment

We’re making a lot of EU-VAT related changes here at the end of the year and updates will be rolling out over the next couple days in preparation for the Jan 1st deadline. Here are the current changes:

New EU-VAT 2015 Module Released:

This weekend we released the new EU-VAT 2015 tax module.

You can now configure your stores for the 2015 EU-VAT changes by following the instructions in this updated KB article:

EU-VAT changes that are being released in the next few days:

  • Set your own EU-VAT 2015 rate per tax class (we’ll provide the default country rates, you can override them if you sell a special class of item)
  • We’re going to record the tax class and update the reporting to show rate charged by tax class (for when you set a non-standard rate as above).
  • Expanding the reporting after the 1st. This is non-critical for the 1st since reports are due quarterly, but we’ll get it in there in the next week or so.

Tax Advice:

We have had a flood of tickets asking us for tax advice. I’m sorry, but we’re not tax professionals and we are not qualified to give you tax advice. We strongly encourage you to speak to your accountant or tax professional for advice on if you need to collect EU-VAT.

Specifically, we have been asked by numerous US vendors who have no tax nexus in the EU if they have to collect VAT for EU sales. This has prompted a number of US vendors to ask for the option to disable EU sales completely. We strongly suggest you speak to your accountant or tax professional on if this is a wise decision and the enforceability of EU tax law on non-EU countries.

  • Based on the feedback we’re getting in tickets, we will be implementing the blocking of sales to EU countries. However, this is a large project and it may not be released by the 1st.

New Invoice Template:

As part of the EU-VAT 2015 changes and as a general upgrade to all DPD stores we have implemented a new invoice template based on Bootstrap 3 for responsiveness and print layout for all stores running the current cart version. This new invoice includes all sales data collected by default. It also includes the required EU-VAT 2015 data.

The invoice is now a set template that that includes everything a vendor has ever asked us to include on the template- literally everything from the purchase. There are the standard above / below text areas like every other page of the cart so you can add custom text.

We have already received some feedback on the new invoice. Some of it is good, some bad.

We are going to make the following changes to the invoice over the next few days based on that feedback:

  • Make custom field responses shown on the invoice optional (Theme -> Invoice Page Option checkbox)
  • Compact the layout a bit to keep it printing on one page
  • Show store name or logo correctly at the top of the invoice. This is bug that is being corrected ASAP.
  • Add an invoice-custom.css to the theme assets for advanced customization if desired.

2015 EU-VAT Changes

  • Jason@DPD
  • December 16, 2014

EU VAT laws are changing for electronic service, or ‘e-service’, providers. Today, in line with existing EU VAT rules, the VAT on e-services is charged based on the location of the merchant but, from 01 January 2015, the VAT on e-services must be calculated based on the end customer’s location.

Changes to DPD and your Sales Process

There are a number of changes that vendors have to make:

  • Identify the location of their customers and collect evidence
  • Validate VAT numbers for B2B transactions
  • Apply the correct VAT rate and display it on invoices in destination currency
  • Issue e-invoices in the destination language
  • Store evidence for 10 years
  • Create a quarterly EU MOSS return
  • Be audit ready

We have been busy making changes to DPD to meet the new 2015 EU-VAT regulations. These changes will be available as a new 2015 EU VAT tax class available in the tax setup section of your DPD store prior to Jan 1st 2015.

Identify the location of their customers and collect evidence

DPD already collects the shipping address for the customer and IP address and stores them with the transaction in DPD. This meets VAT location identification requirements.

Validate VAT numbers for B2B transactions

DPD verifies that VAT IDs are valid using VIES when they are entered in the cart.

Apply the correct VAT rate and display it on invoices in destination currency

DPD is changing our VAT rate calculations to meet the new destination based 2015 rules. These rules can be summed up as:

  • Same zone, with VAT ID = Buyer charged VAT
  • Same zone, without VAT ID = Buyer charged VAT
  • Different zone, with VAT ID = No VAT charged
  • Different zone, without VAT ID = Destination VAT charged
  • non-EU = No VAT charged.

We will be doing automatic currency conversion, using Open Exchange Rates for the VAT amount charged at the time of sale to put the VAT amount charged in the destination country’s currency.

Issue e-invoices in the destination language

DPD has completely rewritten the invoice template to include all required information including seller and buyer address and VAT info. We have translated the entire invoice to the 26 languages commonly in use in the EU.

Store evidence for 10 years, Create a quarterly EU MOSS return, Be audit ready

We have made it easy, through a new VAT Report view to export what VAT you have charged for each country. We have also made the above changes to the invoices so that you can print them out and store a record of the transactions to meet any and all record keeping requirements.

DPD will keep your transactions for as long as you are a customer, but we are not a long-term data storage provider. You should always keep a record of your transactions for record keeping and audit compliance reasons.

How to set up the 2015 EU-VAT Rules in DPD

On Jan 1st you will need to switch your stores over to using the new 2015 EU-VAT Tax Rules.

1. Log in to DPD
2. Go to Preferences in the left menu for each store and enter your VAT ID and location information, then save.
2. Go to Tax in the left menu for each store
3. Edit each tax class and remove any old “VAT” or “EU-VAT” rules from your existing table rate tax classes, then save
4. Enable the new 2015 EU-VAT tax rules for each tax class.

DPD Update: PDF Stamping Improvements, Better Key Management, Minor Tweaks

  • Jason@DPD
  • September 29, 2014
  • 1 Comment

This weekend we released a major update to the PDF stamping system as well as tweaked a few settings for vendors.

PDF Stamper – Faster, Leaner, use Any PDF Version

We have upgraded our PDF Stamping / Buyer Tracking system to be faster and use less memory on our server for each stamp operation. This means we can reliably stamp larger PDF files than our previously published 30MB recommendation. Our new recommended maximum file size is 75MB. If your file is larger please test to make sure we can open and stamp your PDF.

We have also improved our PDF version support- we now support any PDF version, although you should always test advanced features added to PDFs (Reader Extended, Forms) before offering your product to the public. We do our best to support everything, but due to the million different combinations of features its hard to guarantee compatibility with every PDF.

Always preview your PDF or send yourself a free download before offering your product to the public! If the preview link on the setup page doesn’t load the PDF correctly then your PDF can’t be opened or stamped for some reason. Consult the KB for PDF stamping or send us a support request to take a look.

As always, to stamp a PDF we need an unencrypted (unsecured) PDF uploaded to DPD. You can optionally encrypt the PDF after stamping in our system if you must delver them encrypted. You should be aware though- most mobile devices can not open encrypted PDFs.

Other tweaks and improvements:

  • Upgraded the manage key codes page to allow for selecting and deleting multiple keys at once.
  • Updated DKK currency to DKr
  • Added ability to force shipping address collection even if products or tax/shipping rules do not require it.
  • Tweaked Google Analytics integration to properly track purchases that go to pending (such as e-check payments) instead of being activated immediately.
  • Other small backend improvements to speed and deployment performance
  • Added #support-message ID to the support message on the delivery page so it can be hidden or styled with your theme’s custom.css

DPD Now Supports Groups in Mailchimp Lists

  • Jason@DPD
  • September 17, 2014
  • No Comments

Freddie_winkWe’re happy to announce that this morning we released another often requested feature- group support for Mailchimp integrations.

As always, vendors can select which mailing list they want to send buyers from a store to. Now, you can also optionally specify group options for subscribers based on store or product.

Store Group

If you want to use the same mailing list across multiple stores, DPD now lets you put all purchases from a specific store into a Mailchimp group.

By using a store group you’ll be able to segment sending to your list shared across multiple stores by the store they purchased from.

Product Groups

We’ve also added the ability to assign a group to the purchase of specific products.

This will allow you to laser focus your campaigns to a specific product or products purchased.

Mailchimp Group Support

Using Mailchimp Groups with DPD:

1. Set up your groups in Mailchimp.

2. Log in to DPD and go to Integrations in the left menu of DPD.

3. Add a new Mailchimp integration, or edit your existing integration.

4. Once you have entered your Mailchimp API key and selected your list DPD will automatically pull in the groups for the selected mailing list.

5. Simply assign which group you would like all purchases in the store to be assigned to under Store Group and/or add product specific rules below by selecting the product and then selecting which group we should tag the subscriber with.

You can use any combination of the store group and product specific groups (or just one or the other) at once.

DPD Update: Customer Merge, Free Product Email Template, Bug Fixes

  • Jason@DPD
  • September 11, 2014

Last night we added a couple often requested features and released several bug fixes and tweaks.

Customer Merge Function

DPD vendors can now merge customers in to one customer record. Previously, you were unable to change a customer’s email address (which is how they’re identified in our system) with another customer. Now if you try to change a customer’s email to one that already exists we’ll ask you if you want to merge the customer records:


New Free Purchase Email Template

We’ve added a new template to free purchases, including products with a 0 price, “send free download” products, and sales that result in a 0 total after discounts/coupons.

You can customize this email independently of your paid thank you email template. We have gone ahead and copied your paid email template to your free email template so if you’ve already customized your paid email it will still be sent to free purchases instead of the default template.

This is so you can format free purchases and giveaways differently from paid purchase thank you emails, if desired.

Other Fixes and Tweaks in this update:

  • Fixed the profile PayPal email not being used for affiliate MassPay files in some cases. Now DPD will use the profile PayPal email if it exists, and the account email if it does not.
  • Fixed refund status for partial PayPal refunds. DPD will not mark the purchase as refunded and disable download for partial refunds now.
  • Fixed state/province not persisting on cart shipping form error.
  • Additional logging for purchases to aid in management and customer support investigation. Additional logging can be seen in the purchase log on each purchase page.
  • Fixed cart sale notices not being sent to the correct address in some instances.
  • Fixed cloning (copying) a product with non-latin letters in its name.
  • Added shipping_street2 merge var to the default invoice. If it exists it will be shown, if not the merge var is hidden.
  • Made available custom field response merge vars to purchase email templates. You can now use { custom_x } using your custom field IDs to merge them.
  • Updated spanish cart translations with help of a native speaker vendor.
  • Added “Capture” to the list of refundable actions.
  • Fixed the display of processor fees for Stripe that were disabled in the last update (oops!)

You can now integrate DPD with Drip Email Marketing

  • Jason@DPD
  • September 4, 2014
  • No Comments

Drip Email Marketing AutomationThe fine folks at Drip, an email marketing automation company, have written integration instructions for DPD using our notification URL feature. Now without writing a line of code you can now trigger almost any action in Drip when someone makes a purchase through DPD.

What makes Drip special? From Drip’s website:

Most email service providers (ESPs) are built to send email newsletters to a static list of subscribers. Drip can do this as well, but our main differentiation from traditional ESPs is our email automation. This makes it dead simple to move people into and out of multiple autoresponder sequences based on things they do: click certain links, open certain emails, express interest in a topic, etc…

Drip is not focused solely on a specific phase of email sending such as marketing or customer retention. We have invested heavily to support the following five stages of email sending: marketing, lead nurturing, trial lifecycle, customer retention/lifecycle, and post-cancellation.

We are laser-focused on serving the unique needs of SaaS applications and sellers of digital goods such as software, ebooks and online courses.

Their Drip integration instructions for DPD are straightforward and easy to understand- its essentially copy and paste a URL from Drip in to the DPD notification URL integration and then tell Drip what you want to do with the buyers.

We’ve been in contact with the Drip team and we’ll do our best to get help for any DPD vendors that need assistance with integrating the two services!

SOLVED: SoftLayer Datacenter Issues Leading to Decreased DPD Performance

  • Jason@DPD
  • August 27, 2014
  • No Comments

DPD’s primary servers are located in the Softlayer Washington, DC Datacenter. At approximately 1:30PM they had a fiber optic cable damaged that resulted in 6 minutes of downtime. As they are completing repairs there has been poor network performance connecting to the DPD servers. This impacts all DPD services including mail, product downloads, and the vendor admin.

Status updates are being posted to the two primary Softlayer twitter accounts:

Aug 26, 2014 1:26 PM EST: 6 minutes of downtime when fiber cable was cut. Because of the short downtime period, this was not a critical event.

Aug 26, 2014 1:32 PM EST: All DPD services restored. Our server and data were not affected- this is a network issue with the cables between data centers.

Ongoing: Softlayer Update: “Until WDC01 redundant links are completely restored, customers may experience higher than normal network latency and some packet loss.”

DPD posted a notice in the DPD admin and company twitter accounts.

Aug 26, 2014 4:00 PM EST: Softlayer Update: “Fiber crews are replacing the severed network link between WDC01 and WDC02. This work is expected to take several hours to complete.”

Aug 26, 2014 10:31 PM: Softlayer Update: “The crews encountered difficulty in pulling the cable through the conduit, so the repair has not been completed yet.”

Aug 27, 2014 1:00 AM: Performance seems to be improving. There is no Softlayer update at this time but we are monitoring network traffic to the DPD servers and throughput is rising.

Aug 27, 2014 10:45 AM: Softlayer announced that the repairs were completed. We’re still experiencing latency issues and we’re working with the provider to address them.

Aug 27, 2014 12:38 AM: All network issues are resolved.


1. A major fiber optic interconnect was severed at the SoftLayer datacenter in Washington, DC where DPD’s primary servers are located. This resulted in a 6 minute period of downtime while switching to backup lines.

2. While SoftLayer was repairing the severed line, all DPD traffic was moving over backup lines that struggled with the capacity, leading to poor DPD performance for about 23 hours.

3. The line was fixed. After several hours the traffic was returning to correct levels as it was re-routed back to the primary lines and bottlenecks were addressed.

Total time on error was 6 minutes.

Total time for degraded performance was 23.5 hours.

DPD Update: Authorize + Capture flow to prevent double charges, New Extra Sale Notice integration

  • Jason@DPD
  • August 25, 2014
  • 1 Comment

Today we released an update that changes the way we charge credit card transactions to prevent double submits of payment information resulting in double charges.

Authorize + Capture Flow for Credit Card Transactions

This change is somewhat technical and should be invisible to buyers but will address an important support issue affecting credit card users.

DPD has always used javascript to prevent double submits of the payment form in the DPD cart. However, recently there have been more and more timeouts when submitting charges to mainly Paypal Payments Pro where their site would fail to load (outside of DPD’s control), the buyer would give up and reload the page defeating any javascript we could do, and submit a duplicate charge.

The change released today now splits Authorize (to see if the funds are available) and capture (to actually charge the card) in to two separate transactions. This lets us double-check to see if there is more than one capture being sent for a transaction and cancel any duplicates before they are charged.

The end result should be no more double charges for customers even if the payment processor (PayPal, Stripe,, etc.) time out.

Extra Sale Notification Email Integration

Another often requested feature, We’ve added an integration that lets you send an extra sale notice email to anyone you choose on a per-store basis. This email is the exact email that the account owner gets if they select the “Send sale notice emails” option in their profile.

This is a per-store setting and you can add as many extra sale notice emails as you like.

DPD Update: Use your own S3 File Fulfillment, UI Updates, Bug Fixes

  • Jason@DPD
  • August 13, 2014
  • No Comments

Today we released a new purchase action that allows you to deliver a file from your own S3 bucket. This is an often requested feature for advanced users only.

This is an advanced feature that will cost you money.

Have no illusions about this feature–

Its complicated to set up, requires that you generate and enter your AWS credentials and file URLs, and will cost you money in addition to your DPD monthly fee. This is only for advanced users only.

You are responsible for all storage and bandwidth/delivery fees incurred through Amazon S3 for files delivered from your S3 account.

The vast majority of users will use DPD’s built in file storage and delivery by using a simple “Deliver File..” action. This uses the storage space included with your DPD plan and does not charge any additional fees for storage or bandwidth. With a deliver file action all you need to do is upload a file to DPD and that is it.

Other changes in this update:

  • Updated the UI on DPD Admin list views (purchase actions, payment processors, shipping, etc.)
  • Tweaked the way we handle duplicate PayPal IPNs to prevent transaction errors.
  • Fixed an issue where empty 3rd party conversion tracking integrations would cause checkout failure
  • Removed a restriction that would cause hard coded “continue shopping” URLs in the button code to not work as expected
  • Updated UPS integration to assume all addresses are residential
  • Required javascript enabled to complete checkout where tax is collected, eliminating a way to avoid taxes.
  • Added new graphics and logos throughout the DPD admin
  • Removed unused legacy admin plugins to improve performance