Question

Does anyone know of extension for Magento 2 that calculates import duty tax for international sales?

Or a service that provides this, similar to duty calculator, that I can build extension that connects to it?

Was it helpful?

Solution

You can use Avalara. It's a bit pricey, but has the concept of Landed Cost (international tax and duties). There's no official plugin yet, but last I heard it's on their roadmap for completion this year. You can also choose to have Avalara automatically file for you.

Website: https://www.avalara.com/

Here's a link to a magento 2 module, but only does domestic and VAT: https://www.classyllama.com/documentation/extensions/avatax-magento-2-module

Here's a link to the their API docs for landed cost: https://developer.avalara.com/api-reference/landedcost/

Here's an example web service response:

{
  "date": "2016-01-01T00:00:00.000Z",
  "incoterms": "DAP",
  "source": {
    "country": "US"
  },
  "destination": {
    "country": "CA",
    "region": "CA-BC"
  },
  "entityType": "B2C",
  "currency": "USD",
  "shipping": {
    "cost": 50,
    "insurance": 50,
    "mode": "ground",
    "express": true
  },
  "items": [
    {
      "id": "1",
      "hsCode": "930700",
      "description": "Swords",
      "price": 100,
      "quantity": 10,
      "units": [
        {
          "name": "kg",
          "amount": 10,
          "total": 10
        }
      ],
      "netPrice": 1000,
      "regulations": [],
      "taxesAndFees": {
        "duties": {
          "amount": 70,
          "details": [
            {
              "amount": 70,
              "name": "Import Duty",
              "taxBasis": 1000
            }
          ]
        },
        "taxes": {
          "amount": 128.4,
          "details": [
            {
              "amount": 53.5,
              "name": "General Sales Tax",
              "taxBasis": 1070
            },
            {
              "amount": 74.9,
              "name": "Provincial Sales Tax",
              "taxBasis": 1070
            }
          ]
        }
      },
      "rates": {
        "taxes": [
          {
            "type": "General Sales Tax",
            "rate": "5%",
            "currency": "CAD",
            "jurisdiction": {
              "country": "CA",
              "region": "CA-BC"
            }
          },
          {
            "type": "Provincial Sales Tax",
            "rate": "7%",
            "currency": "CAD",
            "jurisdiction": {
              "country": "CA",
              "region": "CA-BC"
            }
          }
        ],
        "duties": [
          {
            "hsCode": "9307000000",
            "type": "Import Duty",
            "rate": "7%",
            "currency": "CAD",
            "jurisdiction": {
              "country": "CA",
              "region": "CA-BC"
            }
          }
        ]
      }
    }
  ],
  "status": {
    "result": "success"
  },
  "taxesAndFees": {},
  "landedCost": {
    "details": {
      "items": {
        "amount": 1000
      },
      "shipping": {
        "amount": 100
      },
      "duties": {
        "amount": 70,
        "details": [
          {
            "name": "Import Duty",
            "amount": 70
          }
        ]
      },
      "taxes": {
        "amount": 128.4,
        "details": [
          {
            "name": "General Sales Tax",
            "amount": 53.5
          },
          {
            "name": "Provincial Sales Tax",
            "amount": 74.9
          }
        ]
      }
    },
    "messages": [
      "Shipment meets CA import duty de minimis threshold. Therefore, import duty applies.",
      "Estimated import customs duty & tax calculated. Buyer is the importer of record and will pay import customs duty & tax upon arrival in destination country."
    ],
    "isCrossBorder": true,
    "amount": 1298.4,
    "costInsuranceFreight": 1100,
    "dutiesTaxesAndFees": 198.4,
    "obligations": {
      "buyer": [
        {
          "currency": "USD",
          "amount": 198.4
        },
        {
          "currency": "CAD",
          "amount": 263.00281
        }
      ]
    }
  }
}

One thing to keep in mind is that to calculate duties you have to know your HTSCode and configure that to get sent up with the API call for each line item. You can search those here: https://hts.usitc.gov/

Also important, the Magento2 Module that I posted a link to above can be a bit difficult to integrate, but grit through it and I'm sure you'll do fine. Avalara has decided to build it's own extension in house, and we are anxiously waiting for it's release.

OTHER TIPS

Looking for the same thing. We ship to Canada from US and need an extension that can automatically calculate import and duty taxes(Landed cost).

Anyone have any recommendations?

Full disclosure, I am with Zonos.

Zonos provides duty and taxes calculations options for either the shopping or checkout experience in Magento. You can still use your current rates/shipping carrier.

Easy JS integration to estimate taxes and duties while shopping. This is free but it is not yet on the Magento store. Should be soon. https://hello.zonos.com

For adding duties and taxes to the checkout, Zonos (previously iGlobal Stores has this) https://marketplace.magento.com/iglobal-iglobal-main.html

Zonos also has API to calculate shipping and duties and taxes.

Note: A total landed cost is different than duties and taxes. If you can't calculate your shipper's brokerage, disbursement or bond fees, you will be short on your calculation and in eCommerce that can be very expensive.

What makes up a total landed cost?

https://docs.zonos.com/docs/landed-cost

  • Taxes
  • Duty
  • Advancement Fee
  • Brokerage Fee
  • DDP Fee
  • Local Currency
  • Other Fees
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top