- APPS
- Foreign Trade Export, Logistics 19.0
| Lines of Code | 1316 |
| Technical name | viin_foreign_trade_export |
| License | OPL-1 |
| Website | https://viindoo.com/apps/modules/19.0/viin_foreign_trade_export |
| Read description for | v 17.0 v 18.0 |
| Required Apps | Invoicing (account) Purchase (purchase) Discuss (mail) Inventory (stock) |
| Included Dependencies | Foreign Trade, Logistics Viindoo Base Accounting Foundation Payment with Payment Lines |
| Extensions | Foreign Trade Export & Logistics Currency Rate Foreign Trade Export & Click and Collect |
Every export declared, cleared and booked — straight from the sales order
For companies that sell abroad, in Vietnam and worldwide: sales, warehouse, customs and accounting teams
Foreign Trade & Logistics Management – Export: the order flags itself, goods wait in the export customs zone, the declaration and the export duty entry follow.
At a Glance
The facts of Foreign Trade Export, Logistics, version 0.0.4, in one place. Published by Viindoo.
Is this you?
“Which of today’s orders are exports? Nobody checks until customs ask for the paperwork.”
“The truck left before customs cleared the goods.”
“We retype the order into the declaration and work out the export duty in a spreadsheet.”
“The accountant rebuilds the duty entry by hand, and the figures can still be edited after customs confirmed them.”
“A declaration entered by mistake is painful to undo.”
What changes
Which orders are exports?
→ Spot every export at a glance: the order flags itself from its delivery address, and a filter lists them all.
Goods leave before customs clear them.
→ Hold the goods in the export customs zone: the last delivery to the customer is refused until the declaration is confirmed.
Retyping and spreadsheets.
→ Start the declaration in one click: lines, customs value and the duty of each product are already filled.
Hand-built entries and editable figures.
→ Get the duty entry posted for you on confirmation, then lock the figures customs confirmed.
Undoing a declaration.
→ Void a declaration with one click, or reverse its entry when you must keep the trail.
How it works
Order confirmed
The sales representative confirms the order to a customer abroad; two deliveries are created and the warehouse is next.
Goods into the customs zone
The warehouse keeper validates the first delivery; the goods wait in the export customs zone and the specialist is next.
Declare
The import/export specialist creates the declaration from the order, checks the duty and opens it for customs.
Clear
When customs accept, the specialist confirms: the duty entry is posted and the warehouse keeper can send the goods to the customer.
Pay
An accountant with the Invoicing rights pays the duty in one payment; the declaration closes by itself.
Check and, if needed, void
The accountant checks the voucher and the payment, and voids a declaration entered by mistake.
Key Features
Export orders flag themselves
An order is an export when its goods leave the country of your warehouse, judged by the delivery address. A pickup in your own country stays a domestic sale.
Goods wait in the customs zone
Deliveries of an export order go through the export customs zone, and the last leg to the customer stays blocked until customs have cleared the goods.
Declaration in one click
Create the customs declaration from the order or the delivery, with its lines, customs value and currency rate already filled.
Export duty per product
The duty of each product is computed on the customs value, and the tax groups are totalled for the report.
Entries posted, figures locked
Confirming posts one entry per duty, payment closes the declaration, and what customs confirmed can no longer be edited.
Void cleanly
Cancel a declaration entered by mistake with its customs vouchers (a payment of its taxes stays posted for accounting), or reverse the entry at today’s date to keep the audit trail.
Who it is for
Sales representative
No more guessing which orders are exports: the order says so, and shows its declaration.
Warehouse keeper
Cannot ship uncleared goods by mistake: the system stops the last delivery.
Import/export specialist
Declares in minutes instead of retyping, and clears the file in one confirmation.
Accountant and chief accountant
Gets the duty entry on the right accounts, locked figures, and a clean way to void.
Best for: manufacturers, traders and distributors that sell abroad — Vietnamese companies working with VN customs on the Circular 99 or Circular 133 charts, and international companies on the generic chart.
What This App Does Not Do
Read this before you buy. Everything below is something the app deliberately leaves to another app or to you.
It does not handle export VAT.
Export VAT stays on the sales invoice (0% in Vietnam); do not configure it on customs declarations.
It does not add export duty to the value of goods.
The duty is posted as a revenue deduction payable to customs; no landed cost is created.
It does not treat in-store pickups as exports.
A customer abroad who collects the goods in your shop is a domestic sale; the small Click and Collect bridge applies this rule when the eCommerce is installed.
Works Well With
Apps from the same stack, built to fit this one.
Foreign Trade, Logistics
The base: customs zones, customs taxes and the rules every declaration follows.
Foreign Trade Import, Logistics
The same process for goods you buy from abroad.
Foreign Trade & Logistics Currency Rate
Converts the declaration at the bank transfer rate; its export bridge installs itself.
Foreign Trade Export & Click and Collect
Keeps in-store pickups of foreign customers out of the export flow; installs itself with the eCommerce.
See it at work
Everything below was taken on a database seeded with demo business data, on this series — not a mock-up and not a screenshot from an older version.
An order to a customer abroad flags itself as an export
The goods cannot reach the customer before customs clear them
The declaration arrives with its lines and its export duty computed
Confirming posts the duty entry for you
One payment closes the declaration
The export duty is set once, on the tax
Try Foreign Trade Export, Logistics
Open the export customs declarations on the vendor’s demo database, or follow the step-by-step user guide that ships with the app.
Live demo: v19demo-int.viindoo.comFrequently Asked Questions
How does Odoo know an order is an export?
By the delivery address: the order is an export when the country of the delivery address is set and differs from the country of the warehouse that ships the goods. You can still tick or clear the box by hand on a quotation.
My foreign customer picks the goods up at my shop. Is that an export?
No. The goods do not leave the country, so it is a domestic sale. With the eCommerce, the small Click and Collect bridge applies this by itself.
Does it post export VAT?
No. Export VAT is the 0% tax of the sales invoice; in Vietnam, do not configure export VAT on customs declarations. The declaration posts the export duty.
Can I change a declaration after customs confirmed it?
No: the date, rate, lines and taxes are locked because the entries are posted with those values. Cancel the declaration and create a new one.
Which Odoo version and editions does it support?
Odoo 19.0 — Odoo Community, Odoo Enterprise and Viindoo Cloud. Upgrades to a newer Odoo series are a separate purchase for that series.
Can it convert at the bank rate?
Yes, with Foreign Trade & Logistics Currency Rate: its export bridge installs itself and the declaration takes the transfer rate of the bank of its journal, else of the company’s main bank.
How do I get support?
Write to apps.support@viindoo.com with your Odoo version and the technical name viin_foreign_trade_export; pre-sales questions go to sales@viindoo.com.
Need help with Foreign Trade Export, Logistics?
For questions, implementation support or a custom feature, contact Viindoo.
Pre-Sales & Partnership
sales@viindoo.comAll Viindoo apps: Viindoo Apps
Technical Requirement
- Odoo version: 19.0
- Editions: Odoo Community, Odoo Enterprise, Viindoo Cloud
- Required modules: sale_stock, viin_foreign_trade
- License: OPL-1
Changelog
- 2026-10-23 Improved 0.0.4: accountants (Basic level or above, the Accounting Administrator and the read-only auditor) read every export declaration from Invoicing > Customs Declarations; the customs team reads customer invoices and vendor bills only, no journal entry.
- 2026-10-23 Fixed 0.0.4: journal entries, declaration lines and customs tax rows are indexed by their declaration, so opening a declaration stays fast on large databases.
- 2026-10-22 Fixed 0.0.4: cancelling a paid or part-paid declaration leaves the payment of its export taxes posted and unreconciled for an accountant to reallocate or refund.
- 2026-10-22 Improved 0.0.4: Taxes Payment is shown to Invoicing users only. A Foreign Trade user who is a salesman limited to his own documents reads every export declaration. Known limit: a user who is both a Foreign Trade user and an Invoicing user (or an accountant) reads only the foreign sales orders unless he also has a Sales role that shows all orders; like any Inventory user, a Foreign Trade user can update sales orders from the warehouse side. Inventory and Sales users open the export declarations read-only, without their accounting fields and buttons.
- 2026-10-21Improved0.0.3: an order is an export when its goods leave the country of the shipping warehouse, judged by the delivery address; an in-store pickup of a foreign customer is a domestic sale (Click and Collect bridge).
- 2026-10-19New0.0.3 for Odoo 19.0: each export tax is posted from its tax distribution — revenue deduction debited, amount payable to customs credited; no landed cost. A confirmed declaration with nothing to pay can be set done.
- 2026-10-19ImprovedMulti-step deliveries (pick, pack, ship) are declared on the transfer into the export customs zone. The customs rate, date, lines and taxes of a confirmed declaration are locked.
- 2026-10-19FixedAccounting users without Inventory rights can reverse journal entries and issue credit notes. Export customs taxes and their tax groups are visible only within the declaration’s company; salespeople and accounting readers can read tax groups but not change them.
About Viindoo
Viindoo builds and maintains more than 1,000 apps on the Odoo App Store for the Community and Enterprise editions and runs them on Viindoo Cloud. A purchase of Foreign Trade Export, Logistics covers the 19.0 series: bug fixes on the module reach you through the store, questions go to apps.support@viindoo.com with the technical name viin_foreign_trade_export, and moving to a newer Odoo series is a separate purchase for that series. Source code is delivered with the module and stays yours to read and adapt.
Foreign Trade Export, Logistics
Who this guide is for. The sales representatives who quote goods to customers abroad, the warehouse keepers who send them out through the customs zone, the import/export specialists who declare them to customs, the chief accountant and the accountants who pay the export duty, check the entries and void a declaration, and the Administrator who prepares the app. It is also written for the managers who want to see what the export process looks like before they buy.
Note
Extends Foreign Trade, Logistics - see its documentation for the setup shared by import and export (customs zones, customs taxes, accounts, the rules every declaration follows).
Overview
When you sell goods to a customer abroad, the goods leave your warehouse through a customs zone and wait there until customs clear them. You declare them to the customs authority, you may owe it export duty, and your accountants need the customs taxes posted on the right accounts. With Foreign Trade Export, Logistics you do all this from the sales order to the payment without leaving Odoo:
- a sales order is flagged Foreign Export by itself when its goods leave the country of your warehouse, judged by the Delivery Address of the order; a pickup in your own country stays a domestic sale;
- the delivery of an export order goes through the Export - Custom Zone of your warehouse, and the last leg to the customer is blocked until customs have cleared the goods;
- the export customs declaration is created from the order or from the delivery, with its lines, its customs value and the export duty of each product already computed;
- when customs confirm the declaration, Odoo posts one customs voucher per tax, in the accounts of the tax;
- the taxes are paid in one payment, which closes the declaration;
- a declaration entered by mistake can be cancelled, or its vouchers reversed.
The process
| Stage | Who acts | What happens | Hand-off |
|---|---|---|---|
| 1 | Sales Representative | Creates the quotation for the customer abroad, checks that Foreign Export is ticked, and confirms the order. Two deliveries are created. | To the Warehouse Keeper |
| 2 | Warehouse Keeper | Validates the first delivery: the goods move from the stock to the export customs zone and cannot go further yet. | To the Import/Export Specialist |
| 3 | Import/Export Specialist | Creates the customs declaration, checks the lines and the taxes, presses Open, then Confirm Customs Clearance once customs accept it. | Back to the Warehouse Keeper, and to the Accountant |
| 4 | Warehouse Keeper | Once the declaration is confirmed, validates the second delivery: the goods leave for the customer. | |
| 5 | Accountant | Pays the customs taxes with Taxes Payment. The declaration is Done. | |
| 6 | Accountant | Checks the customs voucher and the payment, and voids the declaration if it was entered by mistake. |
Who does what
| Role | What they do | Access right to assign |
|---|---|---|
| Administrator | Installs the app, turns on delivery addresses on orders, prepares the products, the customs taxes and the journals, and gives each person their access right. | Administrator role, plus the Administrator access rights of Foreign Trade, Accounting and Inventory |
| Sales Representative | Quotes and confirms the export orders, checks the Foreign Export box, reads the declarations of their own orders. | Sales: User |
| Warehouse Keeper | Moves the goods into the export customs zone and, once customs have cleared them, out to the customer. | Inventory: User (also included in Foreign Trade: User) |
| Import/Export Specialist | Creates, confirms, sets done and cancels export customs declarations; reads the foreign sales orders and the customer invoices; has no other journal entry and no accounting report; like any Inventory user, can update sales orders from the warehouse side. | Foreign Trade: User (it includes Inventory: User, not Invoicing) |
| Accountant | Reads every export declaration and its customs vouchers from Invoicing ‣ Customs Declarations ‣ Export; pays the customs taxes, checks the customs vouchers and the payment, reverses a voucher. | Accounting: Basic, Show Full Accounting Features or Administrator to read and pay; Show Accounting Features - Readonly (auditor) to read only |
| Chief Accountant | Owns the customs taxes, their accounts and the Customs Declarations fiscal position. | Accounting: Administrator |
The example of this guide. The company works in US dollars and has its warehouse in the United States. It sells 100 Aurora Desk Lamp to Hamburg Office Trading GmbH in Germany at EUR 75 each (EUR 7,500 in total). The customs rate is 1 EUR = 1.12 USD, so the taxable value is USD 8,400.00, and the export duty is 5%, that is USD 420.00. Every amount you see in the screens and in the tables below comes from this one shipment.
Setup (for the Administrator)
Install the app
- Open Apps.
- Search for Foreign Trade Export, Logistics and press Install. The apps it relies on (Foreign Trade, Logistics, Sales and Inventory) are installed with it.
Two small modules install themselves when their parents are there; they add no screen and no setting:
- Foreign Trade Export & Click and Collect, when the eCommerce Click and Collect (in-store pickup) is installed. A customer abroad who collects the goods in your shop is a domestic sale, not an export.
- Foreign Trade Export & Logistics Currency Rate, when Foreign Trade & Logistics Currency Rate is installed. It makes the rate of an export declaration follow the bank transfer rate, as described in the specialist chapter below.
Prepare the base setup
Everything that import and export share is set up as the guide of Foreign Trade, Logistics describes (open it): Enable Foreign Import/Export on the warehouse, the customs authority of the Export - Custom Zone, the Customs Clearance Journal and the customs taxes. A declaration cannot be confirmed without the journal.
Show the delivery address on orders
The country of the Delivery Address decides whether an order is an export. The field appears on the order only when delivery addresses are turned on.
- Open Invoicing ‣ Configuration ‣ Settings.
- Tick Customer Addresses (Select specific invoice and delivery addresses) and press Save.
Give each person their access right
- Open Settings ‣ Users & Companies ‣ Users and select the person.
- On the Access Rights tab, choose the access right of their job from the table of the overview. The import/export specialists get Foreign Trade: User.
Sales representatives and warehouse keepers open the export declarations read-only, without their accounting fields and buttons. Like any Inventory user, a Foreign Trade user can update sales orders from the warehouse side. A Foreign Trade user who is a sales representative limited to his own documents reads every export declaration. Known limit: a user who is both a Foreign Trade user and an Invoicing user (or an accountant) reads only the foreign sales orders, unless he also has a Sales role that shows all orders.
A Foreign Trade user reads customer invoices and vendor bills, but no other journal entry, and has no Journal Entries button on the declaration. Accountants (Basic level or above, the Accounting Administrator and the read-only auditor) find the export declarations under Invoicing ‣ Customs Declarations ‣ Export and read them only; they cannot create, change, confirm or cancel a declaration. Paying the customs taxes needs the Invoicing rights, which Foreign Trade: User does not include.
Set the export duty of the product
A declaration line takes the customs taxes of its product, the field Foreign Exporting Taxes.
- Open Inventory ‣ Products ‣ Products and select the product.
- On the General Information tab, add the export duty to Foreign Exporting Taxes, for example 5% Export Duty.
Note
On the product form the field Foreign Exporting Taxes has its own row, below Sales Taxes, and is hidden on a combo product. In the screen above, 0% Exports is the sales tax of the invoice and 5% Export Duty is the export duty of the declaration. On the generic chart of accounts the sales tax of an export product is 0% Exports: the customs value of a line is the price of the order line with its taxes, so a sales tax other than 0% would raise the customs value.
Customs taxes and the Customs Declarations position (for the Chief Accountant)
The customs taxes are ordinary taxes that the accountants configure in Invoicing ‣ Configuration ‣ Accounting ‣ Taxes. A customs tax of an export has the type Sales and two tax lines in Distribution for Invoices: +100% of the tax and -100% of the tax, on two different accounts. The +100% line is the amount owed to the customs authority (here Customs Taxes Payable); the -100% line is the other side, a deduction from the revenue (here Product Sales). The declaration posts both sides from this pair, so there is no counterpart account to choose later.
The tax also carries the fiscal position Customs Declarations (the field Fiscal Position). This position is never applied automatically, and the taxes that belong to it are posted by customs declarations only: they are not offered in the tax field of an invoice line, and they are never matched when a document is imported. Your invoices keep their own taxes, for an export usually 0% Exports.
Note
In Vietnam, do not configure export VAT on customs declarations: export VAT is the 0% VAT of the sales invoice. The customs declaration carries the export duty only.
Sales Representative: sell abroad
Quote the order
- Open Sales ‣ Orders ‣ Quotations and press New.
- Choose the Customer, then the Delivery Address. The order is an export when the country of the Delivery Address is set and differs from the country of the warehouse that ships the goods (the country of your company when the warehouse has no address). When no delivery address is chosen, the address of the customer decides.
- Add the products with their quantity. The Pricelist gives the currency of the order.
When the goods go abroad, the box Foreign Export is ticked for you.
The same customer with a delivery address in your own country is a domestic sale: the box stays empty, the delivery is a plain delivery and no customs declaration is needed. A customer in your own country whose goods are shipped abroad is an export. What counts is where the goods go, not where the customer lives.
You can tick or clear Foreign Export by hand while the order is a quotation; your choice is kept until the delivery address, the warehouse or the company changes, and it cannot be changed once the order is confirmed. On Sales ‣ Orders ‣ Quotations, the filter Export Orders lists all the export orders.
Note
A customer abroad who collects the goods in your shop with Click and Collect is a domestic sale: the goods never leave the country. The small module Foreign Trade Export & Click and Collect applies this rule by itself when the eCommerce is installed. The same customer delivered abroad by a carrier stays an export. Installing the module later does not recompute orders that already exist: clear Foreign Export on an open order if needed.
Confirm the order
Press Confirm. The order becomes a sales order and two deliveries are created (the Delivery button shows 2): one from the stock to the export customs zone, and one from the customs zone to the customer. The button Create Customs Clearance Request appears for the people who hold the Foreign Trade right; the Import/Export Specialist uses it in a later chapter. As soon as a declaration exists, a smart button Customs Declaration takes you to it.
The goods are shipped through a customs zone whatever the delivery steps of the warehouse (direct delivery, picking and delivery, or picking, packing and delivery): the last step before the customer always starts from the export customs zone.
Warehouse Keeper: send the goods out through the customs zone
Move the goods into the customs zone
- Open the order and press Delivery, or open Inventory ‣ Operations ‣ Transfers ‣ Internal, and select the transfer whose Operation Type is Export - Custom Zone (its Destination Location is the customs zone).
- Check the quantities and press Validate.
The goods are now in the export customs zone. The Import/Export Specialist can declare them: the button Create Customs Clearance Request is also on this transfer.
The goods cannot reach the customer yet
The second delivery, from the customs zone to the customer (its Operation Type is Export - Delivery, listed under Inventory ‣ Operations ‣ Transfers ‣ Deliveries), cannot be validated until customs have confirmed the declaration of the first one. Until then validating it is refused, and the message names both transfers. Wait for the declaration to be Confirmed by Custom, then validate the delivery: the goods are on their way to the customer.
Import/Export Specialist: declare the goods and clear them
Create the declaration
- Once the goods are in the customs zone, press Create Customs Clearance Request on the order or on the transfer. You can also open Foreign Trade ‣ Customs Clearance Document ‣ Export Customs Clearance Request and press New.
- The Customs Authority comes from the customs zone; choose it once if it is empty, Odoo remembers it for the next declarations. The Tax Payment Term comes from the customs authority, or from the default of the Settings, and the Customs Clearance Journal from the Settings.
- Fill Customs Doc. Number with the number customs gave to the declaration, and adjust Request Date and Clearance Date (the date customs cleared the goods).
- Press Save.
The declaration takes the order, the transfer and the currency of the order. One declaration can cover several orders of the same customer and currency, as long as every selected transfer belongs to one of the selected orders. The Invoices field is optional.
Check the lines, the rate and the taxes
The lines of Operations come from the transfer: each line shows the product, the quantity, the unit of measure, the customs taxes of the product, the Unit Price and the Currency Taxable Value of the sales order, and its Taxable Value in the currency of your company. You do not add or delete lines: add or remove transfers on the declaration to change them. The price is that of the order line with its taxes.
When the order is in a foreign currency, the field Currency Rate shows the rate to your currency on the Clearance Date (here 1 EUR = 1.12 USD). You can correct it while the declaration is a draft; the taxes follow.
Note
Foreign Trade & Logistics Currency Rate adds the rules of the bank transfer rate. When it is installed together with this app, the small module Foreign Trade Export & Logistics Currency Rate installs by itself, and the rate of an export declaration is the transfer rate of the bank of the Customs Clearance Journal, otherwise of the company's main bank, on the Clearance Date. Changing the journal or the clearance date of a declaration that customs have not confirmed refreshes the rate; once confirmed, the rate is kept. Without it, the standard currency rate of that date is used, as in the screens of this guide.
The Taxes Computation tab shows one row per product and per customs tax, in the currency of your company: the tax, named in the language of the person reading the declaration, whether it is VAT (Is VAT), the Tax Account owed to customs, the Counterpart Account, the Tax Payment Term and the Tax Amount. The Tax Groups tab totals them per tax group. In the example, the taxable value is 100 x EUR 75 x 1.12, that is USD 8,400.00, and the duty is 5% of it, that is USD 420.00.
Open the declaration
Press Open: the declaration is Waiting Confirmation by Custom. Open is refused when there is no line, when a transfer is not validated, or when another declaration that is not cancelled already covers a transfer; the message says which. In this status you can still press Cancel.
Confirm the clearance
When customs accept the declaration, press Confirm Customs Clearance. Odoo then, in one step:
- posts one customs voucher per customs tax in the Customs Clearance Journal (the Journal Entries button), dated on the Clearance Date: in the example, one voucher for the duty, debiting Product Sales and crediting Customs Taxes Payable, due 30 days later;
- moves the declaration to Confirmed by Custom, which releases the goods: the delivery from the customs zone to the customer can now be validated.
An export declaration creates no landed cost and has no valuation rule: any product can be declared, whatever its costing method.
What is locked after the confirmation
The taxes are posted with the values of the moment, so from now on the Clearance Date, the Currency, the Currency Rate, the transfers, the lines and the taxes cannot be changed. The screen shows them read-only; any other way of writing them, such as an import file, is refused with a message that names the field. Only a Draft declaration can be deleted.
Pay the taxes and close the declaration
- On the declaration Confirmed by Custom, press Taxes Payment.
- In the window, check the Partner (the customs authority), the Journal (a bank or cash journal with a manual outgoing payment method), the Payment Type, the Payment Date and the Amount. The line shows Customs Taxes Payable for the open customs vouchers.
- Press Pay.
Taxes Payment needs the Invoicing rights: the specialist pays when he also holds Invoicing, otherwise an accountant (Basic level or above, or the Accounting Administrator) does. The payment is posted and reconciled with the customs payable, and the declaration becomes Done by itself: Taxes Payment disappears and nothing is left to do. Set Done is for the declaration that has nothing to pay (all its customs taxes are 0%): it shows right after the confirmation and you press it to close the declaration. Set Done is refused while a tax is unpaid or a customs voucher is not posted.
If the payment is later cancelled or unreconciled, or a voucher is reset to draft, the declaration goes back to Confirmed by Custom.
Accountant: check the entries and void a declaration
Check the entries of the declaration
Accountants open the declaration, read-only, from Invoicing ‣ Customs Declarations ‣ Export. The Journal Entries button of the declaration lists its customs vouchers, its payment and any reversal. Open the voucher to see its Journal Items.
The entries of the example, on the generic chart of accounts, are the following. The sales invoice of the goods is the standard Odoo invoice and is not part of the declaration.
| Entry | Account | Debit (USD) | Credit (USD) |
|---|---|---|---|
| Customs voucher, 5% Export Duty | Product Sales | 420.00 | |
| Customs Taxes Payable | 420.00 | ||
| Payment of the customs taxes | Customs Taxes Payable | 420.00 | |
| Outstanding Payments | 420.00 |
Customs Taxes Payable is empty once the payment is posted: the voucher credits it, the payment debits it. The voucher carries the tax grids of the tax distribution, when the tax has any, so the duty reaches the tax report. On the Vietnamese charts, the same entries use the accounts of that chart.
Void a declaration with Cancel
A declaration entered by mistake is voided with Cancel. As an export declaration creates no landed cost, Cancel is available while the declaration is Waiting Confirmation by Custom, Confirmed by Custom or Done. A paid declaration is cancelled the same way, even when only part of its taxes is paid: like a cancelled sales order, it never touches the payment. The payment stays posted and is no longer reconciled with the cancelled vouchers, so its amount is outstanding on the customs taxes payable account for an accountant to reallocate or refund.
- Open the declaration and press Cancel.
The declaration is Cancelled and its customs voucher is cancelled. When the taxes were already paid (the declaration is Done), the payment stays posted and its amount is outstanding. Reset to Draft puts a cancelled declaration back to Draft.
Reverse a voucher instead
Your accounting policy may ask you to keep the voucher and offset it with an entry. Use a reversal.
- On the declaration, press Journal Entries and open the customs voucher.
- Press Reverse Entry, keep the Reversal date as today and press Reverse.
A voucher reversed with today's date is voided: its payable is settled by the reversal, its tax row reads unpaid, the declaration stays Confirmed by Custom, Taxes Payment has nothing left to pay (0.00) and Set Done is refused. The reversal appears among the Journal Entries of the declaration. A reversal dated in the future is posted later by the scheduler and leaves the voucher in force until then.
If the taxes were already paid when you reverse the voucher, the declaration goes back to Confirmed by Custom, but the payment stays posted: its Customs Taxes Payable debit stays open. Deal with the payment as your accounting policy requires.
Troubleshooting
- The box Foreign Export is not ticked on an order that goes abroad. Check the Delivery Address of the order: its country must be set and differ from the country of the warehouse. Without a delivery address, the address of the customer decides. If delivery addresses are not shown on the order, ask the Administrator to tick Customer Addresses in the Invoicing settings.
- The button Create Customs Clearance Request is not there. On the order, check that it is confirmed, that Foreign Export is ticked, that no declaration exists yet for it, and that you hold the right Foreign Trade: User. On a transfer, it also needs the transfer to be Ready or Done, to end in a customs zone, to come from a sales order and to have no declaration yet.
- "The selected sales orders should have the same commercial partner" / "same currency". A declaration covers orders of one customer in one currency; split the shipment into two declarations.
- "Please validate the transfer ... before you can open this request!" The delivery into the customs zone is not validated yet. Validate it, then press Open.
- "Customs clearance document for transfer ... exists". Another declaration that is not cancelled already covers the transfer: use it, or cancel or delete it.
- "Please create some operations." The declaration has no line: select the order and the transfer.
- "You cannot process the transfer ... while its original transfer ... requires a customs declaration document". Create and confirm the declaration of the first delivery before you validate the delivery to the customer.
- "... customs declaration document ... has not been confirmed by the customs authority. Please get it confirmed first!" The declaration exists but is not Confirmed by Custom yet: press Confirm Customs Clearance on it, then validate the delivery.
- "The field ... of the customs declaration ... cannot be changed once it is confirmed" / "The lines of the customs declaration ... cannot be added, changed or removed once it is confirmed". The declaration is locked; see the section on the locks. Cancel it and create a new one if the values are wrong.
- "You cannot set done for the declaration ... while some of its customs taxes are unpaid." Pay the taxes with Taxes Payment; the declaration closes by itself.
- "The tax ... cannot be declared to the customs authority: its invoice distribution must have exactly one +100% and one -100% tax line." Ask the Chief Accountant to complete the distribution of the customs tax with two lines on two different accounts, the payable one outside the tax closing.
- "You can only delete a draft record!" Only a Draft declaration can be deleted; cancel the others.
FAQ
Is the export VAT posted by the declaration? No. The declaration posts the customs taxes of the products, here the export duty. The VAT of an export is the 0% tax of the sales invoice; in Vietnam, do not configure export VAT on customs declarations.
Can one declaration cover several orders? Yes, when they have the same customer and the same currency, and every selected transfer belongs to a selected order.
My customer is abroad but picks the goods up at my shop. Is it an export? No. The goods do not leave the country: the order is a domestic sale, with no export customs zone and no declaration. With the eCommerce, the small module Foreign Trade Export & Click and Collect does this by itself.
Can I change the rate or a line after customs confirmation? No. Cancel the declaration as described and create a new one.
Which rate converts the customs value? The currency rate of the declaration, by default the standard rate of the Clearance Date; with the bank rate module, the transfer rate of the bank of the journal or of the company's main bank.
Why do my invoices not offer the export duty? The customs taxes belong to the Customs Declarations fiscal position and are posted by declarations only. Your invoices carry their own sales taxes.
Where are the entries of a declaration? On the declaration, Journal Entries (vouchers, payment, reversals). On an entry, the search field Export Customs Declaration finds them from the accounting side.
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.