IOSS/VAT and DesktopShipper

How to set up your DesktopShipper account to Ship with or without the newly EU-required IOSS/VAT Tax Registration Id.

**Warning IOSS/VAT mapping is ONLY supported on,,,, and

Table Of Contents:


As of January 2021 shipments destined to Great Britain are required to have a VAT number supplied on the shipment to the carrier. This was previously supported via a profile setting; this is now being moved into the settings below.

Beginning July 1, 2021, the EU will require shipments bound for the EU to collect Value Added Tax at the time of purchase for all orders valued less than 150 EU (178.71 USD) and remit payment to the EU country destination.

Payments of the collected VAT must be submitted via the EU’s centralized tax registration system, IOSS (Import One Stop Shop), by the Seller or Marketplace.

  • US-Based sellers or marketplaces must register with the IOSS through an intermediary that will be the middle-layer submitting the payment on their behalf. Once registered each seller or marketplace will be provided a IOSS registration number.
  • Marketplaces such as Amazon, eBay, and Etsy will provide their clients with an IOSS registration number, as they will both collect payment at the time the order is placed, as well as remit payment on the Seller's behalf.
  • Sellers selling on their own website will need to register with an IOSS intermediary and provide their specific registration number.
  • Carriers will require the IOSS registration number to send along with the customs information on the package.



Setting up mappings-

  • Navigate to Settings -> Carriers -> Tax Value Mappings
  • Fields to map
    • Tax Value - The Tax Identification Number registered to the client and/or seller.
    • Tax Group - Groups of information that require similar information for all carriers.
      • Default - Any destination country, VAT is the only accepted Tax Type.
      • EuropeanUnion - Any country within the European Union (see list below), IOSS is the only accepted Tax Type.
      • GBVAT - Destination - Great Britain, VAT is the only accepted Tax Type.
    • Tax Value Type - Currently accepted values are IOSS and VAT.
    • Issuer Country - Drop down list of countries. Default is the clients Origin country. Certain carriers require the country in which the Tax Id is registered to be sent with the shipment request. When shipping to the EU using an intermediary, this should be set to the country the intermediary operates out of.
    • Integration - Drop down list of client integrations. Used to filter the Tax Id to a specific integration.
    • Secondary Market - Text input box. Used to filter the Tax Id to a specific Secondary Market as it comes over from the integration. 
    • Department - Text input box. Used to filter the Tax Id to a specific Department as it comes over from the integration. 


  •  Navigate to ‘Manage Your Users’ -> ‘Global Settings’. There will be a new toggle option: “For countries that require Value Added Tax codes, SKIP validating and enforcing that the code is mapped in Integration Settings.”. This option should be selected to override the requirement for sellers who are not collecting taxes at the time of check-out and are requiring recipients to pay the tax at the time of collecting their shipment. This setting is intentionally set as ‘DSAdmin’ only; unintentional clicks will cause negative feedback from the recipient to our client.


  • No additional UI/toggles on the ship screen to add Tax Ids or display the resolved Tax Id.
  • Rate error/warning Examples
    • Error – Cloud Shipping
    • Error – DSX
    • Warning – Cloud Shipping


Q and A:

  • What are my options if I use the DesktopShipper API?
    • If you are using the ‘Create Orders’ endpoint, you will want to set the ‘marketPrimaryKey’ and/or the ‘marketSecondaryKey’ to the values displayed in the above settings.
    • If you are using a Rate then Ship workflow there are two options:
      • Set the salesChannelId and marketPrimaryKey and/or the marketSecondaryKey to allow the rate to use the mappings set above.
        • salesChannelId can be resolved from the GET .../Channel endpoint of the API, this indicates which integration the order came from if you have integrations set up to pull orders into the cloud portal.
      • If you would like to pass the required information instead of using the supplied information above, you will need to set the ‘valueAddedTaxInformation.vatNumber’, ‘valueAddedTaxInformation.taxType’, and ‘valueAddedTaxInformation.issuerCountry’ in the POST Rate request where possible, as not all carriers have the same requirements.
      • If you do not wish to provide this you can override this by setting skipVATValidation to true. This, however, will force the recipient to pay the value added taxes or the carrier will bill the shipper.
    • If you are using a ‘Rate and Ship’ method where only one request is sent to get a label, you will want to set ‘valueAddedTaxInformation.vatNumber’, ‘valueAddedTaxInformation.taxType’, and ‘valueAddedTaxInformation.issuerCountry’ in the POST Ship/RateAndShip request where possible, as not all carriers have the same requirements.


Current EU Countries (06/21/2021):

Austria Belgium Bulgaria Croatia
Czech Republic Denmark Estonia Finland
France Germany Greece Hungary
Ireland Italy Latvia Lithuania
Luxembourg Malta Netherlands Poland
Portugal Republic of Cyprus Romania Slovakia
Slovenia Spain Sweden