Feature Overview
Duty Setup is the foundation of the Duty Reporting app. Before the app can track, calculate, or report on any duty obligations, you must define the duty types your company works with, the rates that apply to them over time, and which items carry duty — and at what conversion factor. You also configure which customers, vendors, and posting groups are exempt from duty, so the system can automatically apply the correct treatment when transactions are posted.
The app supports multiple duty types simultaneously, each with its own unit of measure, rate history, and item linkages. Duty rates are date-effective, meaning you can maintain a full history of rate changes and the system will always apply the rate valid on the posting date of the transaction. Items are linked to one or more duty codes with a conversion factor (quantity per item unit of measure) that converts the item's stock quantity into the duty unit — for example, litres of alcohol per case of beer.
Duty Posting Setup controls whether a given combination of General Business Posting Group and Duty Code is treated as duty-free. This is the primary mechanism for making entire vendor or customer groups exempt. Individual customer exemptions can be added directly on the Customer Card for finer-grained control.
Key Facts
| Topic | Detail |
|---|---|
| Duty codes page | Duties |
| Duty rates page | Duty Rates (accessed from the Duty card) |
| Item duty setup page | Item Duty Setup (accessed from the Item card or list) |
| Duty posting setup page | Duty Posting Setup |
| Customer exemptions page | Customer Duty Exemptions (accessed from the Customer card) |
| Rate lookup | Date-effective — the rate valid on the posting date is applied automatically |
| Units of measure | Each duty code has its own unit; items define a conversion factor (Qty. per Item Unit of Measure) |
| Item Charge linkage | Each duty code must reference an Item Charge for settlement and reimbursement invoice line creation |
Getting Started
- Open Duties and create a new Duty Code. Enter a short code, a description, and the Unit of Measure that the duty authority uses (e.g. litres, kg).
- On the Duty card, set Item Charge No. to the Item Charge you will use when posting duty settlement invoices and reimbursement credit memos to the general ledger.
- If this duty is a Warehousekeeper duty (bonded warehouse scenario), enable the Warehousekeeper flag. Leave it off for standard imposition duties.
- From the Duty card, open Duty Rates and add at least one rate line. Set a Starting Date and the applicable Duty Rate. Add additional lines whenever rates change — the system always picks the most recent rate on or before the posting date.
- Open the Item Card for each item subject to this duty. Go to the Duty Reporting FastTab (or open Item Duty Setup from the item). Create a line linking the item to the Duty Code and enter Qty. per Item Unit of Measure — the number of duty units per item unit of measure (e.g. 0.75 if each unit is a 75cl bottle and the duty unit is litres).
- Open Duty Posting Setup and add lines for each combination of Gen. Bus. Posting Group and Duty Code where duty-free treatment applies. Enable the Duty-free toggle on those lines.
- For any individual customers who are duty-exempt regardless of their posting group, open the Customer Card, navigate to Customer Duty Exemptions, and add a line for the relevant Duty Code.
- Verify your setup by checking the Duties list — each code should show a valid Unit of Measure and Item Charge No. before you go live.
Related Features
Duty Setup connects directly to all other areas of the Duty Reporting app. The Customs Warehouse feature extends the standard setup with location-specific configuration and introduces the Suspension entry type, which requires the Warehousekeeper flag on the Duty Code. The Duty Entries and the Duty Lifecycle feature depends entirely on Item Duty Setup being present for an item — if no setup exists, no duty entries are created when the item is transacted. The Duty Settlement, Reimbursement, and Reporting feature requires a valid Item Charge No. on each Duty Code, as this is what drives the purchase invoice and credit memo lines created during the settlement and reimbursement processes.
User Stories
US-01: Create a new duty code
As a Business Manager
I want to create a duty code for a new type of excise duty
So that the system can track and calculate obligations for this duty type across all relevant items and transactions
Setup:
- Open Duties from the search or the Duty Reporting menu.
- Select New to create a new record.
- Enter a short Code (up to 10 characters) that identifies this duty type.
- Enter a Description that makes it recognisable to users.
- Set the Unit of Measure Code to the unit used by the duty authority (e.g. LTR for litres, KG for kilograms).
- Set Item Charge No. to the item charge that will be used to post duty costs to the general ledger during settlement and reimbursement.
- Save the record.
Note: The Item Charge No. is mandatory before the settlement and reimbursement processes can create purchase invoice or credit memo lines for this duty.
US-02: Set the Warehousekeeper flag for a bonded warehouse duty
As a Business Manager
I want to flag a duty code as a Warehousekeeper duty
So that items received into a customs warehouse location are suspended rather than immediately imposed, and the system handles the bonded warehouse duty lifecycle correctly
Setup:
- Open Duties and find or create the relevant duty code.
- Enable the Warehousekeeper toggle on the duty card.
- Ensure at least one location is configured in Customs Warehouse Setup (see the Customs Warehouse article) before transacting items with this duty.
Note: When this flag is set, the system will error if a duty-subject item with this code is received on a location that is not configured as a Customs Warehouse. Only enable this flag if you have at least one customs warehouse location set up.
US-03: Add a date-effective duty rate
As a Accountant
I want to add a new duty rate with a starting date for an existing duty code
So that the system automatically applies the correct rate on transactions posted on or after that date, without affecting historical entries
Setup:
- Open Duties and open the relevant duty code.
- From the duty card, open Duty Rates.
- Select New and enter the Starting Date from which this rate applies.
- Enter the Duty Rate — the amount of duty per duty unit of measure.
- Save. The system will now use this rate for all transactions posted on or after the starting date.
Note: You can maintain a full rate history by adding multiple lines. The system always selects the line with the most recent Starting Date that is on or before the transaction posting date. There is no end date — rates remain valid until superseded by a newer line.
US-04: Link an item to a duty code
As a Purchasing Agent
I want to link an item to a duty code and specify the conversion factor
So that the system automatically creates duty entries whenever this item is purchased, sold, or transferred
Setup:
- Open the Item Card for the item subject to duty.
- Navigate to the Duty Reporting FastTab, or search for Item Duty Setup and filter on the item.
- Select New and set the Duty Code to the relevant duty code.
- Enter Qty. per Item Unit of Measure — the number of duty units (in the duty's unit of measure) contained in one unit of the item as stocked. For example, if the item is a 75cl bottle and the duty unit is litres, enter 0.75.
- Save. The system will now create duty entries automatically for all posted item transactions involving this item.
Note: If an item carries multiple duty obligations (e.g. both an excise duty and an environmental levy), add one line per duty code. The system handles multiple duties per item independently.
US-05: Configure duty-free treatment for a vendor posting group
As a Accountant
I want to mark a General Business Posting Group as duty-free for a specific duty code
So that purchases from vendors in that group do not generate imposition duty entries — only carryforward entries
Setup:
- Open Duty Posting Setup from the search or the Duty Reporting menu.
- Select New and set Gen. Bus. Posting Group to the posting group assigned to the relevant vendors.
- Set Duty Code to the duty code in question.
- Enable the Duty-free toggle.
- Save.
Note: When a purchase is posted from a vendor whose Gen. Bus. Posting Group matches a duty-free line in Duty Posting Setup, the system creates a Carryforward entry instead of an Imposition entry. Carryforward entries are immediately settled and do not appear in the settlement run.
US-06: Configure duty-free treatment for a customer posting group
As a Accountant
I want to mark a General Business Posting Group as duty-free for a specific duty code on the customer side
So that sales to customers in that group automatically trigger a duty reimbursement when shipped
Setup:
- Open Duty Posting Setup.
- Select New and set Gen. Bus. Posting Group to the posting group assigned to the relevant customers.
- Set Duty Code to the duty code in question.
- Enable the Duty-free toggle.
- Save.
Note: When a sales shipment is posted to a customer whose Gen. Bus. Posting Group matches a duty-free line, the system automatically creates a Reimbursement duty entry. This reimbursement can then be processed through the Create Duty Reimbursement batch to generate a purchase credit memo line.
US-07: Grant an individual customer a duty exemption
As a Sales Order Processor
I want to add a duty exemption for a specific customer on a specific duty code
So that sales to this customer always generate a reimbursement, regardless of their General Business Posting Group
Setup:
- Open the Customer Card for the customer.
- Navigate to Customer Duty Exemptions (available as an action or related page from the customer card).
- Select New and set Duty Code to the duty code for which this customer is exempt.
- Save.
Note: Customer-level exemptions take precedence over Duty Posting Setup. If a customer has an exemption line for a duty code, the system will treat them as duty-free for that code regardless of their posting group. This is useful for customers who have obtained a specific duty licence or exemption certificate.
US-08: Update a duty rate when the authority changes it
As a Accountant
I want to add a new rate line with the effective date of the rate change
So that transactions posted before the change date retain the old rate, and transactions from the new date use the updated rate
Setup:
- Open Duties and open the relevant duty code.
- From the duty card, open Duty Rates.
- Add a new line with the Starting Date set to the date the new rate takes effect.
- Enter the new Duty Rate.
- Save. Do not delete or modify the existing rate lines — they are needed for historical accuracy.
Note: The system performs a date-filtered lookup on duty rates at posting time. The rate on the resulting entry reflects the rate that was valid on that posting date, ensuring that the duty entries ledger is historically accurate even after rate changes.
US-09: Link an item to multiple duty codes
As a Purchasing Agent
I want to assign more than one duty code to an item
So that all applicable duty obligations are tracked independently for that item
Setup:
- Open the Item Card or navigate to Item Duty Setup.
- Add a line for each duty code that applies to the item, each with its own Qty. per Item Unit of Measure conversion factor.
- Save.
Note: The system processes each duty code independently when item transactions are posted. Each results in its own set of duty entries. Duty Posting Setup and customer exemptions are also evaluated independently per duty code.
US-10: Remove a duty code that is no longer in use
As a Business Manager
I want to delete a duty code that is no longer applicable
So that the setup list stays clean and users are not confused by obsolete codes
Setup:
- Open Duties and select the duty code to remove.
- Attempt to delete the record.
- The system will block deletion if any Duty Entries exist for this code. If blocked, do not proceed — the code must be retained for historical integrity.
- If no entries exist, confirm the deletion.
Note: Duty codes with existing entries — even fully settled ones — cannot be deleted. This protects the integrity of the duty ledger. If you want to prevent the code from being used on new items, remove it from all Item Duty Setup lines instead.
Field Reference
| Field | Where to find it | What it does | Default |
|---|---|---|---|
| Code | Duties | Unique identifier for the duty type | — |
| Description | Duties | Descriptive name shown in reports and lists | — |
| Unit of Measure Code | Duties | The unit in which duty is measured and reported | — |
| Warehousekeeper | Duties | Flags the duty as a bonded warehouse (suspension) duty | Off |
| Item Charge No. | Duties | The item charge used to post duty costs on settlement and reimbursement invoices | — |
| Starting Date | Duty Rates | The first date from which this rate applies | — |
| Duty Rate | Duty Rates | Amount of duty per duty unit of measure | — |
| Item No. | Item Duty Setup | The item subject to this duty | — |
| Duty Code | Item Duty Setup | The duty code that applies to the item | — |
| Qty. per Item Unit of Measure | Item Duty Setup | Conversion factor: duty units per item unit | — |
| Gen. Bus. Posting Group | Duty Posting Setup | The posting group to which this rule applies | — |
| Duty Code | Duty Posting Setup | The duty code to which this rule applies | — |
| Duty-free | Duty Posting Setup | If enabled, transactions for this group/code combination are treated as duty-free | Off |
| Customer No. | Customer Duty Exemptions | The customer who is exempt | — |
| Duty Code | Customer Duty Exemptions | The duty code for which the exemption applies | — |