Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Artificial Intelligence
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries ⟶
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    • Affiliate Program
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Purchase
  3. Customs Duties & Tariffs v 17.0
  4. Sales Conditions FAQ

Customs Duties & Tariffs

by Odoo Skillz https://www.odooskillz.com?utm_source=import_fees&utm_medium=App+Store&utm_campaign=App+Store
Odoo

$ 699.01

v 17.0 Third Party 19
Live Preview
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 13.0 14.0 15.0 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Versions 13.0 14.0 15.0 16.0 17.0 18.0 19.0
  • Description
  • Manifest
  • Documentation
  • License
Odoo Skillz

Price imported goods confidently from the first quote to the final landed cost

Estimate import duties, freight, insurance, and logistics costs directly on Odoo sales quotations, then turn those estimates into accurate landed costs, customs bills, and inventory valuation.

Clear Benefits

Protect margins on every sales quote

Stop guessing duties and freight when you quote customers. The module shows estimated duties, landed costs, and suggested prices per quotation line, and feeds them into an Odoo pricelist with one click.

Land costs with HS-code precision

Attach vendor bills and customs broker bills to landed costs and split every statutory fee across the right products automatically, by HS code.

Close the estimate-to-actual gap

Compare the duties you quoted against the duties you actually paid, then refine freight estimates and markup policies using the built-in variance report.

Videos

Demo

Demo

Challenges Solved

Shipping partner profiles

Create lightweight carrier and forwarder profiles and attach the logistics cost types they usually invoice. Selecting a shipping partner on a quotation, purchase order, or landed cost instantly fills the matching cost lines so you only have to enter amounts.

From quote to purchase to landed cost

One continuous workflow: quote with estimated duties and logistics costs, create the purchase order with origin country and FTA, receive the goods, land the costs, then compare estimate versus actual in the variance report.

Land costs with HS-code precision

Calculate and split every statutory import fee across the right products by HS code. The summary gives you declared value, total tariffs, and effective rate at a glance.

Seamless Customs & Shipping Bills from Landed Costs

Generate shipping and customs broker bills directly from the landed cost form, with vendor bills and transfer lines automatically linked. Multiple vendor bills and currencies can be handled in one landed cost.

Tariff Rates by Country or Region

Got different rates for different countries? No problem! Our tool allows you to set up different rates for each country or region seamlessly. You can group countries into regions and apply the same tariff schedule to all of them.

Version Support

Feature v13 v14 v15 v16 v17 v18 v19
Split Customs Duties from Customs Bills in Landed Costs - - - -
Quotation-level import duty estimation with landed-cost pricing - - - -
Preferential treaty / FTA rate support - - - -
Suggested price markup and apply-to-order-lines - - - -
Estimated vs actual duty variance report - - - -
HS Code description tooltips on every HS code field - - - -
Extra logistics cost estimation on quotations and purchase orders (shipping, port fees, VAT tax credit, broker fees, misc) - - - -
Free Trade Agreement (FTA) master records with origin-country coverage and certificate-of-origin requirement - - - -
Certificate of origin flag for treaty eligibility - - - -
HS code technical notes shown in field tooltips - - - -
Feed quotation suggested prices into an Odoo pricelist - - - -
Lightweight shipping partner / carrier profiles with quick-fill logistics cost lines - - - -
HS Codes definition per Product or Product Category - - - -
HS Codes rates by country or region - - - -
Customs Duties calculation - - - -
CIF value calculation - - - -
Manual CIF value update for each HS Code - - - -
Preview all transferred products in Landed Costs - - - -
Customs & Shipping Bills Generation from Landed Costs - - - -
Customizable Duties Fields (in Odoo Configuration) - - - -
Editable Customs Duties amounts per HS Code in Landed Costs (sometimes required to match customs bills) - - - -
Multiple vendor Bills per Landed Cost (with multiple currencies support) - - - -
Multi-company support : HS Codes configuration for Products and Categories per company - - - -
Configuration option : Add 10% CIF in VAT, CESS LEVY and SSCL - - - -
Configurable customs duty rounding (Standard Precision, Round to Cents, Round to Whole Units) - - - -
17 / 18 / 19
Odoo Versions Supported
Multi
Currency & Company
CIF / FOB
Valuation Methods

Try it live - no installation required

Test the full workflow on our pre-configured demo server

Live Demo

Pre-loaded with sample HS codes, products, purchase orders, and vendor bills. Click 'Live Preview' above or scan the QR code to start.

Open Live Demo

https://www.odooskillz.com/r/import_fees_17 Open Live Demo

Complete Your Setup

Other Odoo Skillz apps that work with Customs Duties & Tariffs

POS Ultraprint

Print POS receipts and kitchen orders directly from Odoo Point of Sale with the same Ultraprint Hub license.

View app ->

Stock Ultraprint

Print labels, picking lists, and packing slips directly from Odoo Inventory with the same Ultraprint Hub license.

View app ->

POS Swipe to Delete

Let cashiers remove cart items with a simple swipe gesture on any touchscreen.

View app ->

Quick Answers

Can I estimate import duties on a sales quotation?

Yes. Enable Quotation Duty Estimation in Inventory > Configuration > Settings. An Import Duty Estimation tab appears on each quotation, where you can set origin country, freight, insurance, duty base, allocation method, treaty eligibility, and markup. The addon computes estimated duties per line and suggests prices that cover landed cost plus markup.

How do treaty / FTA rates work?

For each HS code and region you can create one standard rate row (leave Treaty / FTA empty) and any number of preferential treaty rows (fill in Treaty / FTA, e.g. Mercosur, RCEP, USMCA). When Treaty Rates Apply is checked on a quotation, the resolver uses the treaty row if one exists for the product HS code and origin region; otherwise it falls back to the standard row.

What does the Price Incl. Duty indicator mean?

It is a live checkbox on each quotation line. It turns on when the unit price matches the last applied suggested price. If you edit the price manually, the indicator turns off, so you always know which lines still reflect the duty-inclusive suggested price.

Can I add extra logistics costs to a quotation?

Yes - enable Logistics Cost Estimation in Inventory > Configuration > Settings. A Logistics Costs tab then appears on quotations and purchase orders, where you can add cost lines by category, allocate them to order lines by value, weight, volume, quantity or manual, and mark recoverable VAT/tax credits so they do not inflate the landed cost.

Can I manage Free Trade Agreements as real records?

Yes - use Inventory > Configuration > Free Trade Agreements. Each FTA lists the origin countries it covers and whether a certificate of origin is required. Link the FTA to a per-region HS code rate row, then check Treaty Rates Apply (and Certificate of Origin Available when required) on the quotation to get the preferential rate.

Can a quotation feed its prices into a pricelist?

Yes - after applying suggested prices, click Feed to Pricelist on the Import Duty Estimation tab and choose a target pricelist. One fixed-price item is created or updated per product.

Can a shipping partner pre-fill logistics cost lines?

Yes - create a Shipping Partner under Inventory > Configuration > Shipping Partners and attach the cost types it provides. Selecting that partner on a quotation, purchase order or landed cost and clicking Fill Logistics Cost Lines inserts empty logistics cost lines for each cost type, ready for you to enter amounts.

Can the module handle consolidated containers with multiple purchase orders from different suppliers?

Yes. Use Odoo's standard partial transfers to receive multiple POs against the same container. The addon then lets you attach multiple vendor bills (shipping, customs broker, etc.) to a single Landed Cost and allocates the costs proportionally across all products from all POs.

Can I track customs paid per unit / SKU?

Yes. Because customs duties are calculated per HS Code and linked to specific products, the duty amount is stored in the stock valuation layer for each unit. You can report on it using the Landed Cost Analysis or standard Odoo inventory valuation reports.

Can I enter the actual customs duty paid instead of using the automatic calculation?

Absolutely. The calculated duty field in each HS Code line of a Landed Cost is fully editable. Simply replace the theoretical value with the actual amount from your customs invoice. This is a common requirement when theoretical rates don't match the bill exactly.

How do I configure different tariff rates for different countries?

Create one HS Code record and add multiple rate lines under it, each linked to a different country or region. When you create a Purchase Order, select the origin country; the addon automatically pulls the correct rate for that country.

Can I try the module on a test database?

Yes. Click the 'Live Preview' button at the top of this page to access our demo server, or use the QR code below. The demo is pre-loaded with sample HS codes, products, and purchase orders so you can test the full workflow immediately.

How are customs duty amounts calculated?

Per-country HS-code rates, treaty (FTA) preferential rates, CIF value handling and fallback rules are all supported. The exact formulas and resolution order are documented in the full documentation included with the module (doc/full_documentation.pdf), or contact us for a walkthrough.

Do you support quotation-level duty estimation and FTA records?

Yes - quotation-level duty estimation, extra logistics costs, FTA master records, pricelist feeds and shipping partner profiles are all supported. Full setup details are in the documentation included with the module (doc/full_documentation.pdf), or contact us.

Which accounting accounts does the addon create?

The addon creates the dedicated stock accounts it needs and you can remap them to your own chart of accounts. The account-by-account explanation is in the full documentation included with the module (doc/full_documentation.pdf), or contact us.

Get Started

Quick Chat

+1(914)313-9889

Email Us

contact@odooskillz.com

Book Demo

15min demo

Website

odooskillz.com

Built by Odoo Skillz | support@odooskillz.com | odooskillz.com

Find this app useful? Leave a review on the Odoo App Store - your feedback helps us improve.

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Sales (sale_management)
• Discuss (mail)
• Invoicing (account)
• Purchase (purchase)
• Inventory (stock)
Lines of code 4533
Technical Name import_fees
LicenseOPL-1
Websitehttps://www.odooskillz.com?utm_source=import_fees&utm_medium=App+Store&utm_campaign=App+Store

Odoo Skillz

Setup

1. HS Codes setup (added by this module)

  • This allows you to input various import rates and taxes. The feature is available in Inventory > Configuration > HS Codes.
  • To enable customs duties calculation, the new Harmonized Code field should be defined either on the Product or on the Product Category hierarchy.
Harmonized codes list

Harmonized codes list

Troubleshooting

Issue Cause Solution
Products show zero value in Landed Cost allocation Product cost was 0.00 when the warehouse receipt was confirmed. The Stock Valuation Layer (SVL) is frozen at receipt time. Set the product's Standard Price or Average Cost BEFORE confirming the receipt. If already confirmed at zero, correct the product cost and re-receive, or use a manual adjustment.
Customs duties are not splitting across products Products are not linked to an HS Code. The addon needs the HS Code to know which duty rate to apply. Go to Inventory > Products, open each imported product, and set the Harmonized Code field (or set it on the Product Category).
Calculated duties don't match the customs invoice Theoretical rates may differ from actual billed amounts due to rounding rules, exchange rate timing, or special tariff adjustments. In the Landed Cost, open the HS Code line and manually edit the Calculated Duty field to match your invoice. You can also change the rounding precision in Inventory > Configuration > Settings.
Multi-currency vendor bills show wrong amounts Exchange rates between the PO currency, bill currency, and company currency are not aligned. Ensure exchange rates are up to date in Accounting > Configuration > Currencies. The addon uses Odoo's standard exchange rate mechanism.

Odoo Skillz

www.odooskillz.com

Getting Started with Customs Duties

This tutorial walks you through your first complete customs-duties calculation from start to finish. By the end you will have:

  • One HS Code configured with real tariff rates
  • A product assigned to that HS Code
  • A confirmed Landed Cost with automatically calculated customs duties
  • A clear picture of what the numbers mean

Estimated time: 15 minutes.

Before you begin

Check these two prerequisites before creating your first HS Code.

1. Product category valuation method

Customs duties attach to your inventory through Landed Costs. Landed Costs require Automated (Perpetual) Inventory Valuation. Confirm this is enabled:

  1. Go to Inventory > Configuration > Product Categories.
  2. Open the category your imported products belong to (typically All or a child of it).
  3. Under the Account Properties tab, verify: - Costing Method is set to Average Cost (AVCO) or First In First Out (FIFO). - Inventory Valuation is set to Automated.
  4. Save if you made changes.

If you switch from Manual to Automated valuation, Odoo will warn you and create an opening journal entry. This is normal.

2. Enable multi-currency (if your supplier invoices in a foreign currency)

  1. Go to Accounting > Configuration > Settings.
  2. Enable Currencies.
  3. Activate the currency your supplier uses (e.g. USD, EUR) and set an exchange rate.

Step 1 - Create an HS Code

  1. Go to Inventory > Configuration > HS Codes.
  2. Click New.
  3. Fill in the fields:
Field Example value Notes
HS Code 9403.20.00 The official tariff heading
Description Wooden furniture Free-text label
CID Rate 0.25 25% Customs Import Duty
Surcharge 0.10 10% Surcharge on CID
VAT Rate 0.15 15% VAT
PAL Rate 0.02 2% Port Authority Levy (leave 0 if not applicable)
SSCL Rate 0.025 2.5% Social Security Contribution Levy
  1. Save the record.

Step 2 - Assign the HS Code to a product

You can assign an HS Code at the product level or the product category level. Category-level assignment applies to all products in that category automatically.

Per product:

  1. Go to Inventory > Products > Products and open the product.
  2. On the General Information tab, find the Harmonized Code field.
  3. Select the HS Code you just created.
  4. Save.

Per product category (recommended when you have many products):

  1. Go to Inventory > Configuration > Product Categories.
  2. Open the category.
  3. Set the Harmonized Code field.
  4. Save.

Step 3 - Create a Purchase Order and receive the goods

  1. Go to Purchase > Orders > Purchase Orders and click New.
  2. Set the vendor and add a product line with the product from Step 2.
  3. Confirm the order (click Confirm Order).
  4. When goods arrive, open the order and click Receive Products.
  5. Set the quantities, then click Validate.

The receipt is now done. Odoo has created a stock move.

Step 4 - Create a Landed Cost with customs duties

  1. From the confirmed purchase order, click the Landed Costs smart button, or go to Inventory > Operations > Landed Costs and click New.

  2. In the Transfers field, select the stock receipt from Step 3.

  3. Add the vendor bill for customs fees (optional - needed to match the payment later): - Click the Vendor Bill field and select or create the bill.

  4. Click Calculate Customs Duties.

    The addon reads the HS Code rates for each product line, calculates CIF, then computes every applicable fee (CID, Surcharge, VAT, SSCL, PAL, etc.).

  5. Review the Customs Duties lines that appear. Each product group gets its own line showing the total duty amount.

  6. Click Validate to post the Landed Cost to the general ledger.

Step 5 - Verify the result

After validation, two things happen automatically:

Inventory value updated Open a product and go to the In Stock tab. The unit cost now reflects the added customs duties. For example, if you received 100 units at $10 each and paid $300 in customs duties, the new unit cost is $13.

Journal entries posted Click the Journal Entry smart button on the Landed Cost to see the double-entry posting. The debit goes to Stock Valuation (131300) and the credit goes to Stock Expenditure Input (131150), which will be settled when the vendor bill is paid.

What happens if the calculated amount differs from the actual bill?

This is common. The addon calculates duties based on the tariff rates on file. Customs authorities may apply a slightly different amount.

To adjust: 1. Open the Landed Cost (before validation). 2. Find the customs duty line for the relevant product group. 3. Edit the Amount field directly to match the actual invoice. 4. Then validate.

You can also change the rounding mode in Inventory > Configuration > Settings > Customs Duties (options: none, cents, whole dollars).

Next steps

  • Advanced topics - duty rate formulas, rate resolution priority, quotation-level estimation, and the stock accounts the addon creates - are documented in the full documentation included with the module (doc/full_documentation.pdf), or ask us directly.
Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
  • Ratings
  • Discuss
There are no ratings yet!
Cost is not changed based on landed cost
by
Nurlan Farajov
on 1/30/25, 6:24 AM

Hi, I was testling live preview, I followed instructions, used VAT and CIF rates, but I didn't see products cost changed, also inventory valuation shows 0 for that product. I followed those steps:

  1. Created HS code and attached to storable product
  2. purchased that product, created bill, confirmed
  3. Created landed cost, added Receipt and Bill to that landed cost, calculated tariff, computed and validated


In the end, I need to see inventory valuation for that product is changed, but it is not unfortunately 

Re: Cost is not changed based on landed cost
by
Odoo Skillz Team
on 1/30/25, 9:13 AM Author

Dear Nurlan,

I see that you have correctly set up both products, and that the valuation was correctly done :



The zero valuation you're seeing is in the following screenshot (the +7.00 and -7.00 entries) is actually normal behavior when this is an internal transfer! Here's why:

When you make an internal transfer between locations, Odoo creates two entries:

  • One positive entry (+7.00)
  • One negative entry (-7.00)

These entries cancel each other out value-wise because you're not actually adding or removing value from your inventory - you're just moving it from one location to another. Think of it like moving money between your own bank accounts - your total wealth doesn't change!

  

By the way, the Product 2 you created received the right valuation ($18.15).

Let me know if you have any other question.

www.odooskillz.com


Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with