Show international customers what their order will cost.
A customer finds the right product, reaches checkout and sees a price they are happy to pay. Then the parcel arrives with an unexpected customs bill.
ePAL Cross Border Calculator prevents that shock. It helps WooCommerce merchants calculate cross-border charges before the customer places an order. It brings product classification, VAT, customs duty and shipping-related taxes into the checkout calculation, so you can show a clearer landed cost and choose how those charges will be handled.
Most checkouts calculate. ePAL optimises. For eligible baskets, ePAL can compare available IOSS and customs duty treatments to help you avoid charging more than the applicable Tax and Duty regulations require. Why would anyone want to charge - or pay - more tax or duties than they have to?
What ePAL helps you do
- Calculate landed costs at checkout. Show international buyers the product price alongside applicable VAT, customs duty and shipping-related charges. Works with your existing Shipper or we can provide options to fill in the gaps.
- Calculate the correct Tax & Duties for discounted products, even where dynamic discounts are added in the checkout.
- Handle complex baskets. Calculate charges at product-line level, including baskets containing products with different tax or duty treatments. It also accounts for customs duty attributable to shipping where applicable.
- Prepare products for cross-border sales. Add and manage HS6 customs classifications, including product-by-product or bulk "Make ePAL Ready" actions to identify and populate classifications and tax rates in one click. Bulk-edit Country of Origin for multiple products from the WooCommerce Products list.
- Support EU IOSS workflows. Check IOSS eligibility and apply the appropriate treatment for eligible B2C consignments.
- Optimise customs duty. Where applicable, compare flat-rate duty optimisation options and automatically apply the eligible treatment configured for your store and your products.
- Support B2B transactions. Validate a customer's Tax/VAT ID and apply configured reverse-charge treatment where appropriate.
- Keep checkout and fulfilment connected. Pass calculation and order information through to the ePAL platform for relevant shipping and customs workflows.
- Check every order before shipping. See whether ePAL priced an order successfully, review warnings or errors to see if you need additional paperwork for the destination country and inspect the tax and duty breakdown for each order line.
- Leverage ePAL calculations for Tax & Duty reporting and reclaims. When a customer returns a product, especially one from a basket of products, ePAL can tell you how much tax and duty you can reclaim for that one product being returned.
ePAL supports DDP and DAP workflows. The charges you collect at checkout, and whether a recipient may have to pay charges later, depend on your chosen workflow and shipping arrangements. However, ePAL also facilitates 3PLs, Shippers and Logistics partners to convert DAP shipments to DDP, so tax and duties can be collected before the border, reducing delays, returns and delivery refusals.
How it works
- Install the plugin and connect it to your ePAL Global account.
- Configure your tax, customs, IOSS and checkout settings.
- Prepare your products with the customs information needed for calculation.
- When a customer enters or changes their destination, ePAL calculates the applicable charges through its API.
- The checkout presents the calculated amounts according to your display settings. The calculation is linked to the resulting WooCommerce order.
The plugin works with your WooCommerce store and existing shipping setup. Optional ePAL shipping-provider features are available for merchants who need them.
Who is it for?
ePAL is for WooCommerce merchants selling across borders (or who want to) and allows merchants to give customers a clearer price before payment. It also allows merchants to reduce manual work around tax and customs reporting and reclaims. It is particularly useful for stores shipping to EU and US customers, handling mixed-product baskets, using IOSS, or offering DDP and DAP approaches.
Pricing and support
The plugin is free to install. Its calculations require an active ePAL Global account and connection to the ePAL Global API. See
https://epalglobal.com/ for the current service terms.
Each cross-border transaction is charged at 1.5%, capped at €1 (limited promo) but only when the customer clicks Buy. There are no extra charges for abandoned baskets, no charges for accessing the ePAL portal and no minimum spend or minimum contract commitment.
Every new signup is given €10,000 worth of cross-border transactions fee-free (also a limited promo).
For setup guidance, visit
https://docs.epalglobal.com/documents/index.html. For help, email support@epalglobal.com.
5.4.3
- United States orders missing package length, width, or height now show an alert on the order screen. Enter the dimensions to re-check the shipping rate, or dismiss the alert for that order
- Refreshed the WordPress.org listing description and tags
5.4.2
- Orders shipped outside your configured working zone are no longer sent to ePAL or billed
- Each product now sends only its own country of origin; the store's ship-from country is no longer used as the origin of every product. Products without one use the default country of origin set in your ePAL dashboard
- Product and shipping charges are sent to ePAL under their new name, additionalCharges. Your saved charge settings are unchanged
- Removed the Demo/Live environment toggle from the Configure tab
5.4.1
- New setting to choose how taxes and duties appear at checkout: every fee separately (default), grouped as "Taxes" and "Customs Duties", or one "Landed Cost" line
- Changing the destination country now also clears the Duty on Shipping and Tax on Duties fees
- The transaction recorded by ePAL now matches the order total to the cent, including shipping, tax on shipping and duty on shipping
- Fixed tax and duty fees occasionally rounding a cent low
5.4.0
Discounts and coupons
- ePAL now calculates from the effective pre-ePAL transaction price (post-discount, post-coupon), so it stays accurate alongside dynamic-pricing and bulk-discount plugins
- Cached ePAL quotes are now price-aware — changing a discount or coupon fetches a fresh quote instead of reusing a stale cached price
- Fixed a rare mix-up where two cart lines for the same product could receive each other's tax/duty amounts; each cart line now gets its own quote
- Cart and order totals are now always calculated by WooCommerce; ePAL tax and duty are applied as non-taxable fees rather than being reconstructed into the subtotal/total
- Domestic B2B pricing and checkout displays now use the effective transactional price, consistent with the rest of the plugin
- Fixed rounding on tiered discounts so a line's tax and duty split always adds back up to the line total
Orders screens
- New "Processed by ePAL" column on the Orders list: a green / amber / red / N-A light on every order, so you can see at a glance which orders ePAL priced cleanly and which need attention
- New "ePAL Messages" panel on the order screen listing the errors and warnings ePAL returned for that order, with the Orders-list status badge now linking straight to it
- The Orders list filter is now a single dropdown covering both the "Processed by ePAL" states and B2B VAT invoice eligibility; existing bookmarked filter links still work
- The order item table now shows the full ePAL breakdown per line: price including tax, price excluding tax, tax, duties, duty on shipping, tax on duties, line total and the amount actually charged
Fixes
- Fixed orders being saved with no ePAL tax on the block checkout: a blank street, city or postcode in a part-typed address made the ePAL API reject the whole quote. Blank optional address fields are now left out instead of being sent empty
- Added a reconciliation safety net: when ePAL charges tax or duty that never reached the WooCommerce order, the order is flagged with an admin note instead of quietly under-charging
- Fixed the admin "Validate with ePAL" button failing on billing-only and admin-created orders; it now falls back to the billing address when no shipping address is stored
- Fixed the catalogue "includes tax" price note describing the pre-discount price, and duplicating itself on shops running a strikeout pricing plugin
- The product SKU is now sent to ePAL as the product identifier, improving classification accuracy
5.3.0
- Customs duty is now calculated on the shipping cost as well as on the goods, matching how destination customs assess landed cost
- Bulk-edit Country of Origin for many products at once from the Products list
- "Make ePAL Ready" now asks for a distinct short description when the same HS6 code is used more than once
- Certified against WordPress 7.1
- Installation details now accompany every ePAL request so support can diagnose store issues faster
- Fixed a duplicated logo block on the settings screen and the placement of the bulk-edit controls on the Products list
5.2.1
- Fixed a checkout that ended in an order sometimes being reported to ePAL as a dropped basket
- Fixed stray empty-basket quotes (fired on the thank-you page) creating junk checkout journeys next to the real one
- Updated ePAL website, documentation and service links
5.2.0
- Checkout journeys: the quotes from a single checkout are now linked to each other and to the order they become, so ePAL can report quote-to-sale conversion and identify dropped baskets
- Order references sent to ePAL now use your WooCommerce order number instead of an internal calculation reference
5.1.1
- Flat Rate Duty Optimisation is now an independent setting — it no longer requires IOSS Validation to be enabled, and its settings rows stay visible when IOSS Validation is switched off
5.1.0
- Updated visuals across the admin and checkout interface
5.0.5
- Bulk "Make ePAL Ready" action for classifying multiple products at once
- Reworked "Make ePAL Ready" product UI for clearer HS6 code management
- Added a procedure for handling bulk HS6 classification when the merchant already has / knows some HS6 codes
- IOSS number is no longer sent for validated B2B consignments (IOSS is B2C-only), so B2B orders are charged full customs duties as required
- Fixed stale cached tax state after B2B Tax ID changes
- Button loading states now show a proper ring spinner across all admin buttons (sign-in/sign-up, wallet, address validation, order actions, tax sync, Make ePAL Ready), replacing the previous rotating refresh icon
- Security hardening: prefixed AJAX action names, nonce and capability checks on the product save handler, stricter output escaping
- Removed a stray development backup file from the shipped package
5.0.4
- Fixed "Make ePAL Ready" not updating the Formal Description field from the primary HS6 code
- Fixed duplicate HS6 codes losing their description or tax rate when the product is saved
- Fixed re-adding an existing HS6 code creating a duplicate row instead of updating it
- Fixed the loading spinner rotating off-centre on the product HS6 buttons
- Fixed script errors that disabled the Formal Description character counter and the shipping tax display
5.0.3
- Added an IOSS validation toggle; when disabled, the IOSS Number field is hidden and ePAL skips IOSS validation so customs duties are charged in full, including consignments under €150
5.0.2
- Support for multiple HS6 codes per product with a primary code selection
- Flat-rate duty optimisation at checkout to minimise the Customs Duty required by the regulations
- IOSS vs non-IOSS side-by-side comparison at checkout so merchants can see the most cost-effective shipping method, weighing 'flat rate' against 'normal' Customs Duty
- Faster checkout when the ePAL API is unreachable (shorter timeout with graceful degradation)
5.0.1
- Repository and packaging restructure as the WordPress.org submission baseline; no storefront behaviour changes
5.0.0
- WordPress.org repository preparation release
- Renamed plugin to "ePAL Cross Border Calculator" (slug: epal-cross-border-calculator)
- Documented external ePAL Global API usage
- Improved security and validation handling
- Enhanced WooCommerce compatibility
- Improved customs and VAT processing workflows
- General stability improvements