> For the complete documentation index, see [llms.txt](https://kb.bevica.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kb.bevica.com/documentation/guides/duty-compliance-and-tax/duty_controlled_items.md).

# Duty Controlled Items

Configure and work with duty-controlled items, variants, and inventory constraints.

To effectively manage Duty, both logistically and financially, the relevant item's **Duty Controlled** flag must be set to Yes.

{% hint style="warning" %}
**Prerequisites**

The **Duty Management** fasttab in Bevica Setup must be completed.
{% endhint %}

### Setting Duty Controlled manually on the item card

The **Duty Controlled** flag itself cannot be set directly, Bevica applies logic to try to set the flag when the **Duty Code** field is populated. This is so that a number of checks can be performed.

When you populate the **Duty Code** field:

* If it relies on **L%Alc** or **HL%ALC** to calculate duty and both **Alc % Vol.** and **Unit Volume** are filled in, then **Duty Controlled** is set automatically.
* If it relies on **HL** or **Nil** to calculate duty and **Unit Volume** is filled in, then **Duty Controlled** is set automatically.

In both cases, as well as setting the **Duty Controlled** flag, the Item's **Costing Method** is set to FIFO and two Item Variants (Duty Free, Duty Paid) are created in the background. You can see this by navigating on the item card to Actions, Item, Variants.

See Checking Alc. % Vol. for more details on how to ensure Alc. % Vol. values are correct.

### Setting Duty Controlled via a Configuration Package

The same checks apply to setting Duty Controlled on an item via a Configuration Package. The Duty Controlled flag should not be on the package itself. As package data is being applied, when the Duty Code is validated it will try to set the Duty Controlled flag using the checks above.

If **Validate Field** is set to No on the **Duty Code** field inside the Configuration package table, it will not apply the logic that sets the **Duty Controlled** flag. You may end up in a situation where all the Duty related fields are populated but the item is not set correctly (the Duty Free and Duty Paid Item Variants are not created). If this happens, there is a 'Correct Item Duty Status' routine in Bevica Setup (Actions, Admin Centre, Data Updates) which will create missing item variants on duty controlled items.

**For this reason we always recommend the Duty Code field is validated.**

{% hint style="info" %}
On any item configuration package make sure that you:

* Include the **Alc % Vol**, **Unit Volume**, and **Duty Code** fields and all are ticked to be validated.
* Ensure the **Alc % Vol.** and **Unit Volume** fields are before the **Duty Code**.
* *Do not include* the **Duty Controlled** field - this will be populated by the system as part of validating the Duty Code.
  {% endhint %}

### Non Duty Controlled items

Items such as point of sale material and food stuffs need not be Duty Controlled. In these cases, there is no need to populate the **Duty Code**, and no Duty Free / Duty Paid Variants will be created against them. These items can be used on both Duty Free and Duty Paid transactions.

{% hint style="info" %}
Variants can be added manually to non-duty controlled items, however, there is validation to prevent the Duty Free & Duty Paid variant code being added to non-duty controlled items.
{% endhint %}

### Troubleshooting

If you have posted transactions against an item (i.e., there are **Item Ledger Entries** against it) that is not Duty Controlled but was supposed to be, you cannot populate the **Duty Code** field or set the Duty Controlled flag. In these cases, you will need to create a new item for that stock.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://kb.bevica.com/documentation/guides/duty-compliance-and-tax/duty_controlled_items.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
