
Published: 02/24/2026/9:29 pm
This document describes the Vision33 Duty Reporting Solution for distilleries and breweries in the EU using the Brutos brewery and distillery applications from Vision33.
The scenarios covered are described below and the user should check that it will cover the requirements for duty reporting for their business. No liability will be accepted by Vision33 for incorrect data or reporting requirements not adequately covered by this solution.
So, it is essential that the reports are thoroughly checked by the user to ensure that it meets their requirement accurately. The Duty Audit Report is provided for this purpose and it will include all stock issues and receipts from/to duty free (DF) warehouses and between duty free (DF) warehouses and duty paid (DP) warehouses. It also provides sufficient supporting data for the user to understand how the duty value has been calculated.
If you are unsure about any definitions, rules or values referred to within this document please always refer to Excise guidelines in the relevant country.
If any requirements are not wholly satisfied by the solution, then please report to the Vision33 Product Services Team.
When dealing with exports only the customer country is considered. It does not currently use the delivery address if this is different.
This document is for guidance only and no liability will be accepted for any errors or inaccuracies that may be contained within or the reports described. Always test a new version for accurate results.
DF Duty Free Movement or Stock Status in a duty suspended warehouse
DP Duty Paid/Payable Movement or Stock Status in a duty paid warehouse
L Litre
HL Hectolitre (100 litres)
HL% Hectolitres x ABV
L% Litres x ABV
LPA Litres Pure Alcohol, Litres x ABV%
ABV % Alcohol By Volume as a decimal number value
ABV% % Alcohol By Volume as a percentage value
UDF User Defined Field
UDT User Defined Table
UDO User Defined Object
UDV User Defined Value query on a SAP form
By default, when alcohol is produced or imported it is liable for duty. When it is produced this is normally when the alcohol is packaged or can be declared fit for consumption but the final decision on the duty point is decided by the Revenue. A location can be certified as duty suspended by the Revenue, in which case production and imports are received into the warehouse duty free and this is usually the case.
Goods will become duty payable when they leave duty suspension and moved to a location that is not duty suspended and they become duty paid (DP). This could be:
To illustrate this, consider the following scenarios:
Note that reduced duty rates may apply for beer, but the full standard rate is payable when buying beer from a domestic supplier who does not qualify for the reduced rate.
CRITICAL SETTING
To define the duty status of a warehouse, set the duty status below as appropriate.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1OCkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=mYMh4hxJya9wWDpSfdTeDMVcAnHcehWyhQEb3eyPwIOhNADmvS7ziGTs696U337ZYWtjWuZOOwbkCNXkKthjbM8pE8-NvJKU6LHV~AvlF6Ds1R~HGprRlsjXR0qUEmJGqJG6yhoRyBV4V-uaa8dPNLbM8A7ttcXxgoiCVgQovD6JAF~T-SAfMCfrvDZdISaqeJEbyCfbbKQtIim7pAptuP5qedjrm53WQXOlyF6dop2qSVM30k-JohvOpJep68KWV-fipT6dgubeusulXmRJuc3Y-~KltzgUT0JylGMMmOsYwwdu9Tml0vKrwqi1Qtcbz-21370-Swip~CFJnpJ~GQ__&Key-Pair-Id=K2TK3EG287XSFC)
Set to DF for warehouses that are duty suspended, storing duty free product. This should include all tanks if the premises are classed as duty suspended.
Set to DP for warehouses that are not duty suspended, storing duty paid product. Note that this can be a requirement for a customer returns QC warehouse, see relevant section below.
The Business Partner UDF on the warehouse can be allocated to a Business Partner where the warehouse is owned or managed by a 3rd party, for example a contract brewer. This is used in the duty function to identify the source supplier of goods.
Brewery/Distillery tanks, receivers and other bulk storage locations can also be set to DF, which they will be if within the duty suspended location, but this may not impact on your duty reporting. This is because items belonging to item groups which are not set to “Duty Relevant” are excluded from duty reports, so, for example, movements of bright beer and proofed spirit can be excluded. However, it will be necessary to properly define the duty status of a tank if a movement of stock from a DF tank to a DP tank may occur and therefore should accrue a duty liability. This can happen, if for example stock is bought in duty free, but is then blended with some duty paid stock. It is not allowed to mix DF and DP like this, so the DF stock has first to be converted to DP stock, which is achieved by transferring it from a DF location to a DP tank. It is then issued to production from here as DP stock.
It is essential that duty free and duty paid goods are not mixed within the same SAP warehouse but instead booked to a warehouse flagged with the appropriate status – DP or DF. Otherwise we have no way of knowing whether duty has been paid for the goods or not. It is your responsibility to manage this.
If the user needs to define QC warehouses of any description, then it will be necessary to define them as DF or DP as appropriate. Duty paid goods returned by a customer should be booked into a DP warehouse. Any issues from a DP warehouse will not affect duty liability unless the issue is recorded with a reason code of “Destroyed” which will then generate a duty credit.
Remember that if goods are transferred from a DF to a DP warehouse then a duty liability will be generated and this includes transfers to any QC warehouses defined as DP.
If you do not define a warehouse address and country then it will be assumed that it is in your company country, as defined in Company Details. If it is in a different country then it will treated as an export, so duty free.
A warehouse Business Partner UDF is provided on the warehouse to indicate the owner of the warehouse, and this is validated against the Business Partners table. This can be required to identify the owner of goods supplied when the goods are received before any purchasing document has been recorded. This is often the case when a contract brewer is producing goods and a production order completion is processed, into the contract brewer warehouse, before goods are invoiced.
The above works if the receipt of goods has been processed at the time of the transaction i.e. all document and supplier references are available. But in the case of a new system then stock batches are recorded as opening balances only and no further references are available. The problem that remains is that if goods cannot be identified by supplier then it may not be possible to identify the relevant duty rate to be applied on issue, therefore invalidating the duty reports.
To circumvent this issue a UDF has been added to the batch record to record the batch source i.e. supplier. This will be used, if recorded, if further data is unavailable.
A “Location” in SAP groups warehouses together for reporting and processing purposes. It may be a geographical location or logical e.g. used to separate a brewery and distillery on the same duty suspended premises.
All warehouses used in Brutos systems must be defined with a location. If they are not defined with a location then they will not be able to be used in Brutos dashboards and reports and will not be included in duty reports. A location might be “Main” for the main storage and brewery/distillery location or may refer to another geographical location.
You may have one or more warehouses set to duty status DF but movements between these warehouses will not affect duty liability if they are all within the duty suspended location. So, movements are only reported when they are between DF & DP warehouses within the same company bond, see below.
The exception to this is when the warehouses are in different countries, in which case no duty will be calculated regardless of any other considerations.
You can record your Excise Number and warehouse keeper in company details, as below.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1OSkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=oN~pUINdHWaXt~J8FQV9lVVbgHAGIdq5Zz3Pt5qhJz40bDCYxDqtwBrT26Yg-mhFv6Dn7~vpaHQNpfEG6KyeFeJfJg4jzZddwEL9jtDav1aU24ZXrGxrPx3qxV8Uhhkb55Iw9WHHGT6zml0nZameU0EYTbZrVm1uEBDHcssnPRHQDeYIlShLwmsRjuxRLY9u1sGICTIsFhO3Ex4tLdVAW7RmlYekmGBHNZRMJrpUyJSunXIaZ47gR7YgpFUIPy8mO5kZZueiSyJjCGUgCtZk7d8wxsOpSjYRLPgutbXcZ~O0BdJhgJOAS2kcqotvpu74Wo~IS03RMVZPAcI4RUZamQ__&Key-Pair-Id=K2TK3EG287XSFC)
If you use a 3PL for delivering goods to customers and they have their own excise number, e.g. London City Bond, then they will be handling the duty liability for issues from that warehouse and invoicing you the duty amount for goods despatched. To manage this you need to record their excise number in the warehouse setup for that 3PL. If you don’t then a duty liability will be generated when you issue goods from that warehouse. Details are the same as company details above, as below.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSgzOCkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=pYfMryAWLOJUHvOm~0WWxrvMT-aDQAUcMA4wNgq~uoRQgCrMBYa3HYwQv9JE2jfalB2Whn7vXSZUTb6jZSDRO9xFjagWl6uI~dBxd-L3V5w7c0yzY4vjr9O-Lkdk7~P8CH4h5rT~u18rhb8~CZnTs1LxozdVS7G1TsXKmLZ1hhK1327da9QYzTL8OdckXx5Or3GTe04gwQc-5d3-NphQcLJUEr8yi6x5WhoZgJ2FGkBLyrQRcOk3cJOn4WcuF1DnBV0pxsaGP5Iiv8Pkjy9-CyFAnnsKsZgbVmU~5B67VkO6A9AJQrBDgHyT24DFatM37Gv97nh09SejQC6gvJ5oZA__&Key-Pair-Id=K2TK3EG287XSFC)
You do not need to enter your own excise number in your warehouses because this will default to the company excise number.
To define the duty status of a customer, set the duty status below as appropriate on the BP General tab.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSgzOSkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=aJvLnsOFTCxPVAzr4otWZfTPm97mg3D9BmT7GE3EF0V9L60mjkutFuCZLPfo1oKMNj1j0G8giWN4BuCJhlDQBOJ5P5sFhEgVstgc~ANIj2LVfWZqonMii9In0a8bReYxzDYmC6YrGM-iia2gU6rtkOdLO9uu32rRif8s2oTtXaxdoeDmBzLcktbgxsaS-gqWg5F7v030KHRUI2u58rLL5yMqlSnvIbLol3ZQyuQeQ-NFw5dbeJ5CBZjDCa-Hsq7tbXaeDVV-3HcbZ81tYgYOTK4EYeB3Gur3fxENgHgK0EaHAchJh~I4Gqn43qS6mPaFD2NpW3gCPYvOTkkThIVrVg__&Key-Pair-Id=K2TK3EG287XSFC)
The field has been relabelled “Duty Status” but the standard SAP label is “Factoring Indicator” and is database field OCRD.Indicator. This value copies from the customer record to customer documents and it is the document value that is used in duty calculations. This allows you to change the duty status of a specific order/delivery document at a point in time without affecting historical transactions.
This can also be used on suppliers to indicate the duty status of purchased goods. If goods are supplied duty free then duty will become liable when goods are issued from duty suspension, just like manufactured goods. But if they are supplied duty paid then no further duty will be payable. If this is not set on the supplier record then duty paid supply is assumed.
If the BP Duty Status is not specified then it will be assumed to be Duty Paid i.e. a duty liability will be calculated for sales and duty will be considered as included for purchases.
If the customer location is in another country (different to company settings except as below) then it is DF/duty free and the duty liability is transferred to the destination country. This logic sets the default status in duty reports for these customers so the duty status on the Business Partner in these cases is not strictly speaking required but it is good practice and likely to lead to fewer mistakes if this field is always populated.
Some countries may treat another country as the same jurisdiction as the local country for tax purposes and if so the SAP countries table must be updated by ticking the Domestic column. An example is Isle of Man for the UK.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0MCkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=Hqu39Yc9m0z5pxsQXM87SynJp0hyUxc8K9yqKxeTT2Bi6mLlMZGWu9IOgVTmOe4l-HTykt3fiXCSBhxFX8~oQKL9QUJ8fJrknA3aJWNaFa1icnEnRwC0h4RUUPTsVQ9zAOZwQo6i1ctku2SSKM3ojEW7y9XPfeemTdNfNVQ1i419kqTyy10BlK6B~o0FyLoC0D7KKkbP1UOjjqM4oYcdLlprPhujt3VtP9UoRw4vQCqRlj2fgixQs-WG1WaLwh0jRUs~dXxA4jxhl3bgCmPMJloyNbfrnFaJ6XAt-v2f-SczFvb4ml2SaeGB9df5yhs~wDZytJp0DyOdyh0c7wq9Eg__&Key-Pair-Id=K2TK3EG287XSFC)
Duty status is not currently defined by delivery address country but this may need to be considered.
However, purchased goods may be liable for duty at a different rate than the company rate, for example if the supplier is a brewery on a small brewery reduced rate. In this case then you need to define a duty table entry for that supplier specifying the rate to be applied, see later.
CRITICAL SETTING
To define whether or not an item will be included in duty calculations and reports it is necessary to specify the inclusion on an item group UDF, OITB.U_V33_B_DutyRelevant – Y or N, as illustrated below:
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0MSkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=asoixe2guk~9W45Tk6g9Y3lolZjtUa9jJEXhtSXvUij7cpu2zYbUHIEkYFeLd2D9igiEEGgyLU037rqd8y0HS-Oj39kWuiECuLMOxEonkANsgejCBhY6sqiF332v8iRfqvuAzgvRwxRW-ekK1Lq9IeW9~-6XbPXL93Co6YslhyxWd2MU5V-zdCy6ymXXp10ofrA~ckKv2MtRP9wpn4gyKBINwmnWe1l5ojPYGUCmLz7dIN40UJvVeJyviZnj0lqi8rbIEYYvQNiJhVaRs~r-sxW1FDW8fz6o9NkjXgGcZ0rZ2tOPtr~-4-K5pcGSQQrSGn~2-trZPzDyJIJFnQUxsg__&Key-Pair-Id=K2TK3EG287XSFC)
On a new system these values should be correctly set for you but if you have been upgraded from an earlier version of the duty solution, or have defined any new item groups, then it may need setting. The default value is N.
The Duty Rates table is a SAP User Defined Table (UDT) and can be found under Tools>User Defined Windows>V33_B_DUTYRATES, as below:
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0MikucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=Us5Xo7Fk4XFObMyaSKYZtI70aFYUqMc4dhv~YYu3xDkS6ZFMI83cWQz8J5xdlQmlruS~SgiVNxWwMLjRyf73X61VTxQy0loYe5~N4PUlo--yWQR1l9d0kQlrmjOTLnf3geYcRM~lqaflqs27bWJ~eOmc3X6NFuY1l6bgAO8dpQEvr4GD580o7wubKftUPrQl5prZCf8k43HBCLpG28ZkflYWWGsqBqvMcokPtVbNmBGR5Z80o2wcjCiRdZKrexAaEOghG--k~Z~QAUu4ALmlFbZY6Lt4ZgDHxT4KfxhJCX2t7DFKUaNoaolj7crCXITwqIRhZzr7D1XSURKBVY6iRQ__&Key-Pair-Id=K2TK3EG287XSFC)
EU duty rates are not the same in every country, but the same calculation logic applies, more or less. There is sufficient flexibility in the rates table setup to cater for all requirements.
Reduced rate may apply for small breweries in some countries. Less than 60,000 HL in the UK and 40,000 HL in Ireland for example, for beer only. If a reduced rate applies then enter into the Excise Duty Rates table as your standard rate. If however you work with a smaller contract brewer who pays a lower rate than you and beer is delivered to you duty free then you need to create a unique line for that supplier by entering the supplier code in that column, the ABV and date range and their reduced rate in the standard rate column. This will then take precedence over your standard rate, when a beverage is sourced from that supplier, and the lower supplier rate will be applied. See screenshot below.
If the goods are supplied duty paid then no further duty is payable on issue but a duty included value will still be calculated for reporting purposes, only in the extended sales analysis report.
If you need the batch source supplier functionality but did not process the production/GRPO receipt in SAP then you can record the supplier in a “Source” batch UDF, validated against the BP table, used for this purpose only.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0MykucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=cgMIHWun~XYAvCU1JKItQ8OY4lzBt-RAF69nuMujm49bGsDGlxbedHkSnWuId~HoHd5PiQdZ~XD2Yk9nu6ER9zXytbCsIHAEtvnhOHBeiHnJHh5wPsfLRG4G~0-HLzaD3dBo0VbO73l6RMCQfZQ97bQdBiYtdJg6hJ1MHQom~dX8NDbkrSDFb8NpvF8w2D2~KBqYOsIAVRrCyS-6NiCafFhRPpvD2kfUHqoKTjkueILiaNB1-tqWnewnbjYLT-BkCH8d~oe6TkstbtobuyzID9ylUz823EmuhUomPD1gQLDs0qXIM9IbyoBWguSnwXuWeq7oIdpxsZABU6T-BPSi5g__&Key-Pair-Id=K2TK3EG287XSFC)
The full standard rate applies to imported beers even if the brewery qualifies for a reduced rate.
The rates then vary depending on the type and ABV (or Plato in Switzerland, see below) of the alcohol. The rates, defined as a monetary value in local currency, are entered in a UDT (V33_DUTYRATES) as below.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0NCkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=Yl~Fz99563t21Sw4JAEhVUzpUi5SreF9LH7eUxBQqwuI2vXRtrhIPe9uzl0Y19JSJSOetxqIxnW-pck6Jhs0nHccRq1FdsY~V1qSKNjmOO0iTcd81HBfjdIT1-US4XM52RpOa3nIR-NZvtfxmYGAzmBnNXZFGErEa4s4fncKJ2pvxEgpHWggI3PFB~qRiiMFKg0zJYK47X62c5vh~KtcIKIBFIvbKuag-MrmJS2J8jyigdCSYzbrkYSbJ9qa4uks3NKIqE8z6vnmeTYoAf24izQEYezRcj0faDCP-LZ8~9GeKSnPzzNuhu4~v4NyVcSnk1ebbX5kbFD38EU3Zf7URQ__&Key-Pair-Id=K2TK3EG287XSFC)
The code and name columns are unique values and have no other meaning and the name may be edited if required.
Columns with drop down list of values are as follows:
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0NSkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=WFrxd~OJRph61IRpXA7QAGQBZlBIMd-Z2LfbuFKuINrU3PFCG0Et7Z-0sl0H8GrqR3p6n0SjNpmfqbPey1U-29J-sAWdYdO7uHT~DHpKenlNqoJGKjkS~-iZJYidC56N4F~J3mC29HTCSVtiri77tXolou5XA~XAsiqJEe9W~BADzC01ayhfI-YB42c4Ornv3k2LX5tiAJ0YNU7GxnGUABzf-5H518Z12Ep-foJKQEG1JplCWzLycs-~m4g-RWD4RpxS25PDKh-q9aLaBAy74mWGQQjiFCAcU6O2CA-SMlR4pIzi~cfS8YlDx5GUzTgxPcKtx0IHLy7T4XGm9nzTfQ__&Key-Pair-Id=K2TK3EG287XSFC)
The above values are user defined and are set in the Brutos UDT Brand Duty Groups.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0NikucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=rehWXqpDc1It7ObCjzNNYcz5dIz8T-csg~gJ3HuVCyTjz2lId6peOMAdm2mbv~apErQDBz3AYuirxx6PoyhCTeJ4nhdVSCcVWfgiDiBvx~5oWTw7guwj9KFX7pa5T9rdNy7DWEgey2ooj4DZFlBT~EQTC25OQytlkIUDYS8L07rmAfMXkgW9aArZ-stAtzwF-4h4D3WI1vvPQv6-8~wkzReB~rMxpchyGLYimBwKdzIjtU1vNe8f93OEgXs~JCgUR94dWrTe3Y2pDnkO0DGKZwsUXZirbLmyLfzBLXr4Y4j1-yYQv0fbr-vGS1XXxvv0VmgkwCjt6zUTI7GKbS9XlA__&Key-Pair-Id=K2TK3EG287XSFC)
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0NykucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=hPCb~UBkSi9YqrVqoX4aXJz3t5wFH-9GJ7ixjhVzEjXGlZbEnIDpv-Uq91EmVzJLxighps4A-9jL3vsAdb6BalNy6uHmklm-RiP9D1zFtqt8~sl~AGLQ94mWw3-NEshPvhihAL73JPpM7aY2Dyxt4uG6qgCeogHSjAtV6BP9FupsBnRMS3IXt7yHHDyXY3P1iL3UKxZe5la287tqoScfpKoWJgNQTwBwpsLjy0vUrHcgGI7RfFpeExbBnIjH40RRUB4nGME1r0oVk3ssvt09QkYh1M4YSqw~Q98D~vtRfJwDEUxFWncglPa~nrvWL0KTfoOnXWFb0qy8I2Aw2FdeSw__&Key-Pair-Id=K2TK3EG287XSFC)
Duty rates can change so when this happens enter new lines for the bands required with the new duty rate start date. The duty rate calculation will use the latest applicable rate compared to the stock movement date. An end date has been added so that entries can be expired if a new entry supersedes an older entry or if there are no later entries for the same conditions e.g. a reduced rate supplier. If the end date is not filled in it will continue to run from the start date until it is expired by an end date. ABV ranges must not overlap. Note: this is a change from previous duty versions so if you have upgraded you may need to update previous ABV ranges as appropriate. Also note that in the UK the rules changed on 01/08/23 – prior to this date the range was defined as greater than the lower ABV and less than or equal to the higher ABV, but after this date the range is defined as equal to or greater than the lower ABV and less than the higher ABV. The table need to reflect this change for all date ranges. See illustration above.
The Goods column is the alcohol type and is validated against an Orchestrated UDO table (ORC_CATEGORY) which is used in Brand Master Data and is illustrated later.
Lower and Upper Limits define the ABV band and must not overlap. Note: this is a change from previous duty versions so if you have upgraded you may need to update previous ABV ranges as appropriate.
Volume unit and Multiplier are there to define how you need to calculate the duty liability for different alcohol types and countries.
For example:
Beer in most of the EU will have values VolumeUnit=HL and Multiplier=ABV (HL%)
Spirits in most of the EU will have values VolumeUnit=LPA and Multipler=None (LPA)
Beer in Switzerland will have values VolumeUnit=HL and Multiplier=°P
Spirits will use LPA as the stocking and duty volume measure.
The minimum container volume column is for recent UK legislation due to come into force 01/08/2023. This is known as the draught beverage relief. Changes have been made to facilitate the definition of a reduced rate for beverages delivered in a container size of “n” Litres or more (n defined in table).
Reduced rates are entered as above.
You must ensure that the litre volume is populated in the pack types table and also containers per case. If container per case is not filled in it will default to 1. A new UDF has been created in the rates table to define the minimum container size in litres in any duty band defined and the applicable reduced rate is entered in the reduced rate column. This column was previously used to define a reduced rate for a small brewery or a 3rd party (e.g. contract brewer) small brewery. A small brewery reduced rate will now be entered in the rate (standard) column, as noted above. In future any regular reduced rate (e.g. small brewery) will be defined in the standard rate column as it will always apply. An entry of a container size reduced rate should be entered into the reduced rate column and its application will depend on the entry of a minimum container size in Litres.
This can also apply to bulk sales of beer, for example in serving tanks. This would need serving tanks to be setup as pack types and a BoM created to consume Bright Beer. If the serving tank pack type is defined as >20L (or whatever is set in the rates table) then a reduced will apply. For situations where the business sells bulk beer in tankers in can be sold in litres or whatever and the associated “pack type” flagged as Bulk in a new UDF in the pack types table.
The ABV is recorded on the Brand Master and/or on the Item Master and is required to identify the duty rate applicable for duty calculations. A batch record UDF to record batch ABV has also been added.
When ABV is required it will take the first valid value found in the sequence below:
Batch
Item Master
Brand
The Brand Master is the default location for recording ABV but the Item Master option will cater for cases where the Brand includes mixed ABVs. A brand should however always be assigned to an item subject to duty as this also defines the alcohol type, which is required to look up duty rates.
Always enter the ABV when creating new brands/items or no duty liability can be calculated. Also see alcohol types below.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0OCkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=pFPvMr5d8SoWdkxRq8EhiQk5mhLEn8IAdunIADhMB428MR6lzNOLYIDtSua5xWXddYO6exYYSrfXEev9ciVxYSd~ohEHZIMmjhN6FhArBrV-LUEt8hbbNPqAROhX0DJYc2lOHE568y~zNxfZS-RduqhHWU7041flK9RQaxA1qyP8OGDugNc9W2KS3sMjkjTjJb6bj-Bq0gsodaC2I9hQy897~tJpNVZo5XrsmpeZ1XrQLyyn2fmntDASH0j~EwjNvGSH41o~FoMZ49-MWFRyEqEMYXlONKVgjs5mKffTFSeVOvm6py75uAsRMkytZwBo4DD~6P~rQmVtdLoap3KoHw__&Key-Pair-Id=K2TK3EG287XSFC)
If this not recorded then the duty calculation will not be effective.
All duty reporting is based on this fixed ABV by brand which is allowed by the Revenue if it has been subjected to laboratory analysis or independently tested at least annually. Usually, the Revenue will accept the labelled ABV, known as the declared strength and this is what we use.
Swiss duty calculations are based on degrees plato (°P) and all of the above also applies to Plato, which is an additional multiplier option. Target Plato is defined on the Brewing data tab of the brand master at the bottom and must be filled in for the duty report to work, as with ABV for other countries. The difference is that the Plato value is not actually used in the duty volume calculation, as is ABV, but it is only used for duty band definition and the duty value is calculated as volume x rate x 1. We define the multiplier as °P only because we can also use this definition to determine the brand values to use but the effective rate is 1 in this case.
The rate defined in the Duty rates table above is applied to a calculated volume of alcoholic product. The calculation can vary depending on the type of alcohol and the following examples apply in the UK and Ireland.
Beer is in HL% (HL x ABV)
Cider is in HL
Wine is in HL
Spirits is in LPA (L x ABV%)
However, the calculation method can also vary by country, e.g. Sweden calculates a duty volume using L% for beer, so the precise method required can be defined in the Duty rates table by selecting the relevant Volume Unit and Multiplier, as below.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg0OSkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=g3Mvi8NL0JBh-BbvsISSXPFVNPVFucwJOCKKajuTcy1yqVwXbqNlLf1tbZ1d0uCvRwuHNSdKu~nvX5k6pSd5kqTmpZ-UI3l7YOiKUs75sxwLadE-qKZPhLJMf6GBEubDPTbyEwHJoVSNB9P47xdfp1vh9FnLGPFs5FEx54sAQ9ZmqwfTlQWis5ImmzZWDb-LwoU~mXAtMevl0LenSQvJXHACTqCNAJaK3EHr25QHyE5tyQtzdCJfCNOIBewty9yqJPU4KW3yRO8MrJSO65tnNfccKN0cNgqnFEtQJBPbfTKNStt06r-8tWGh04~aSr0qYf4cAFw0VpZcnxWI4BpUAA__&Key-Pair-Id=K2TK3EG287XSFC)
Note that ABV% is the numeric value e.g. 4.5 for 4.5% ABV whereas ABV is the decimal fraction e.g. 0.7 for 70% ABV.
You must also ensure that you have selected the correct Pack Type for an item for the duty calculations to work correctly. This might be the case or keg e.g.
C24330
K30
or when recording liquid volumes then these should be set to an appropriate pack type UoM e.g.
UoM-L / L
UoM-HL / HL
UoM-LPA / LPA
NOTE: You may need to manually add LPA to the pack types table.
The duty volumes are calculated from Litre/HL etc conversions entered into the Pack Types table for each package, so you must ensure that these have been entered and validated for all pack types in use.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1MCkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=cp1GXZctQiasjZ~GsiOgmDp4OY6dFbTLHz5~zlJ7QPNasz6K2XWrYNWHMaY0h8Wv4IMsRO1w9LhfHx8TL3-4DjkIvEJN6a61DU-erVj0RYxi9yQjYRQGfPZjvsZmOMJoA8PQAv2QeG0K7gTlOVmf3pZP6mpo6J8LCQ6exLiTWJTeXUQtel2l7dBgqOucPLT8~oqx-OlR4gvLOr03LpDe9UhwAkf4GluolVzXLE1dwo5oIzIhEigaWDVwBK52m-JhfQFFK67Nng7efQfekgDihOv09w6v6Ka9aHYCfAoh1azY50nkz2w6g5LmiikkpKVctosuuSPXj1dgPZSW724dLQ__&Key-Pair-Id=K2TK3EG287XSFC)
The alcohol type is required to correctly identify the applicable duty rate band in the Duty rates table and is defined as the Brand Duty Group. Select a value when creating new brands and define the ABV, as above.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1MSkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=S7Hsp7jo6K0m3fRuC~mHhx1kfTZ9-IlrXK1equyn-sarunab1Gqt3YLOZq4O~3DHnpClmbeXWGhZ4z-XTEHPmfoRiVqANvHltt9al9QkdDC~pLQ5I5e4XdXnnDgxGzP65ffrAIylyvByVx~DjljSMlGkDLOLg27YQEmCFv8tRrwBoWrAo0Iuhxfh6y5JKG5YyvwVZf7ZGyPkZKScrpfxlqwVvcuAgdDUWIFW8HFqA3sAZIBoyOwsNr7-oTuFfxpTLBSE39WShc5l8lBqNwOsXTPHsfUTY00T4BvX~YF7baVOPLg~lf7sgIg1VY4Y6Ov5wx1tU7A3HZwORpKSLnr7zg__&Key-Pair-Id=K2TK3EG287XSFC)
This is the same table used in validation of Goods in the Duty Rates table above.
So, an item MUST be assigned to a brand for duty calculations to be enabled. This includes 3rd party beers that are not produced in the brewery. This is in any case good practice, because without a brand code the item will not be available for reporting in many standard reports. The brand could be generic e.g. Specials but then the ABV will need to be recorded on the Item Master.
We are not using the type values yet but may do so in the future to define spirit types and this is required in some countries. The type field can be assigned in a new OB 4.7 field, Category Type, which you can see in the screenshot above, and is a subset of Category.
Any stock movement conforming to the rules defined in this document will be included in the duty reports.
The standard transaction types that will be required by most breweries, when they qualify for duty are:
Deliveries from a DF warehouse
Invoices if not based on a delivery
Goods Issues dependent on reason code
Goods Receipts dependent on reason code
Stock Transfers between DF and DP
Note that it is the actual stock movement that is reported which may not be the customer invoice if a SAP delivery has been transacted.
Exceptions are as noted below.
If customer returns are received into a DF warehouse (which is usually the case with your main stock warehouse) then it is assumed that:
The transaction will therefore generate a duty credit within the main report to convert the duty status of the goods back to DF in the DF warehouse.
If you need to return goods that were issued DF to the customer then check that the return/credit document duty status is set correctly, as in the Business Partner section above. If the customer is already set to DF then the return/credit will also be set to DF automatically and no duty liability will be calculated. The goods should however be received into a DF warehouse, so that you are not mixing duty free and duty paid goods, which may mean that you need a DF QC warehouse in addition to the one described below.
If you need to return goods that were delivered duty paid but you do not want the receipt to generate a duty credit e.g. if the goods are damaged/spoiled and need inspection before being destroyed, then you should receive into a QC warehouse flagged as DP. A duty credit will not be calculated in this scenario as you are transferring from DP (the customer) to DP (the warehouse).
The goods can then be issued from your QC DP warehouse with a Destroyed reason code later if this is required. See below. These transactions will be reported separately in the summary report but will be detailed with all other transactions in the duty audit report.
Alternatively, if you decide that the goods can be resold then transfer back to your DF warehouse and a duty credit will be calculated and the goods will become duty free again.
A Stock reason code UDF, and related UDT, has been added for flexible user setup and reporting of stock adjustments.
NOTE: you must amend any sample reason codes with your own GL account codes, or set to blank for default, before use.
This is intended for use in Goods Issues, Goods Receipts and Stock Count Posting only although you may also see the UDF in other SAP marketing documents. You may select a reason code in other documents but the functionality described below will not be available.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1MikucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=mE9F8Gzm9BTWVOa81nVPRqQv-9fmQelKrrvWc1pmorSYM1U-kzr1QY4nYcGMaTHXJzHbmOHkTcDR0stJBhJKFWyxHTykquVx5WIychn-NoWw68hMtXzghQifsz0hZHy5SumlfpFSHGizccOMsauErrrLiqJURe4-KY3auESIObRmh7agfeo~uVCvJNsoyn8ZfIR2jasJJtWyETC8UbDiWJZVvk3NsMe14fV-yjDAT9MQzM02FhgqU4huw0yqpYm2kK-DHlthVdJmUGEBYAFtU0P4EWv7sEqFZW-YMKE0tGNJJuHdarXYdLOSXRpy2ZapnrmT29v~0rldv-qSvvFyYg__&Key-Pair-Id=K2TK3EG287XSFC)
The list of reasons is user defined – select a reason code or “Define New” from the list displayed above to create and update reasons.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1MykucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=h3Z9C0N4QinsIaQR71Gcn1dYN7-URnE2NwURzesUkwRwMxTScy2JulQRX-lOlfnF0Cvdr3pFc8iZuKP2N0ml7B~Xm976ksvs9mrXMBzdeo~ikn4EoBM~SpLzJJIxzQB8YNEIMykQjp12liAZVNj8k7B~B794GaxkcDiV69B1Auld-qXiW5ziS-rL-9UPIa5kV0libZV9hehPwDXfWtwvFho30zq0sMRGO2T1v1BGivYuQ6IHWp2JV9yu4d3mj1IwxFP7uiVeoH7kt471FfNXUAdfJUG2Z98703QL5Sk5gC-x7cH9MF25CkrPj2qsFNljPs7hO7pgGWDrf05qaKMFzg__&Key-Pair-Id=K2TK3EG287XSFC)
If a GL code is not entered then the standard SAP assigned GL code will be used. So, for the Adjustment reason code above the GL code will still be defined by the item group assigned to the item. If a GL code is entered then this will be used instead of the item group GL code so that you can set it to a more appropriate account e.g. for events costs.
You would not normally expect a miscellaneous adjustment to affect the duty liability so set this to DF with a blank GL code.
Events & Promotions above have been set to DP so duty will be calculated for these reason codes. So, if you use this process for issuing to an event you may also receive back unused stock with the same reason code and the duty liability will be credited.
You can set the GL Code to an appropriate account so it will be expensed here when issued and credited back if goods are later returned unused and are booked back in with a Goods Receipt to the same reason code.
Select destroyed as above to define as destroyed in the duty sense but you can define multiple reasons if you wish.
If a duty liable beverage is destroyed it will become eligible for a duty credit, if it was previously duty paid. Product should be received into a QC warehouse set to DP, as above, and issued with the D reason code when this is permitted for duty purposes. If you use the Destroyed reason code for product issued from a DF warehouse, then no duty credit will be calculated because the goods are defined as DF so there is no duty to credit.
Issues of a beverage issued from a DP warehouse with a reason code of “D” as above will affect the duty liability. Destroyed product is also reported separately and has its own report, see reporting section below.
A base query has been defined as a SQL Function, “V33_B_EUDuty”, that can be reused by any reporting tool that supports SQL queries. The function will be installed in the user database and can be called with date parameters, as below:
SELECT * FROM V33_B_EUDuty (@SDate, @EDate)
or
SELECT * FROM V33_B_EUDuty ('20250301', '20250331')
It reports on actual stock movements and dates from the documents that generated the stock movements. So, this could be a delivery note or if there was no delivery then it will be the invoice.
The base function includes all stock movements so duty queries will need to be filtered for duty relevant items only.
The base duty function is the foundation for the next 2 reports.
Any modifications should be made outside the base SQL function query to avoid it from being overwritten by a duty solution upgrade. If you need to modify this function then please speak to Vision33.
The Duty Audit Report is a SAP SQL Query run from Query manager in the Finance category and is by document line. It is based on the SQL function V33_B_EUDuty with filters for duty relevant item groups and selected transaction types so that only relevant transactions are displayed.
By default in includes:
Sales invoices
Sales Credits
Sales Deliveries
Sales Returns
Stock issues, excluding PdO disassemblies
Stock Transfers
It allows a user to check the breakdown and setup of the transactions, sufficient to validate the summary report described in the next section.
NOTE: If there is any missing data it will make your duty calculations invalid and you will not be able to rely on the reports.
Missing data should be obvious e.g. a blank ABV means no brand or brand ABV set, a blank volume means no pack type or pack type volume set.
So, check the audit report carefully as your first step.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1NCkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=fXswTqsQjlkf6AYpr3upTfyB8R9gZfOjeqdFMz6mAZoNWEGtKrAMBviqQn9mrYbW4rdxKOvxUOqDxtFS7fVm6jUbhlELjdV~OZesJTjdDfkQKpxzuqP40jQk8avLsGiyW1Q7Lr6sO3u7MncMSkFOIKys13fuAnNip~VGwRvSDl9hykroFkT2kZl8sC5A79iR-K4TuJGuVZt2SaXOxtLz-rRz6745lYAo-zrRWqR20Esd5XeFC24x94PfcpLCJ-TFGNlWbnOCLGmdJsP95OfCnPbhefLhcyvWZEG6RXwM8iGZV~BrLZm0ubEexufeGm7SLrvY37IPoBecSYmHZgEAbw__&Key-Pair-Id=K2TK3EG287XSFC)
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1NSkucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=hdxNz53NfLQQ3XVuG3ZRhysRCajfTUMwwDCI3ou0ItYmjeVcBhJv4FRZvRHXJsGzKPsjjiXQbkVrvF1mSlgNfpjhqUmDBLO6K1MYlc-IM46Zn8FbEbiJ0h-oqo4rdDxlNJ8vJRCkKBtyzgEXfenAjJicAgo4rxgl0ahfRLuDTIZ6dfc1XZjds5bf62Tm485S2SYGxyCl4N0VD31W6Q0JBCwyaoGxCDyAFm3qE1MT4gJb~i9w2eGRyzLKlmaQnWTdPRpjfkblYSEJHqgqvVPewVw4p4ZcU-ZwxF7PvUy3-Zn6n-E8B64FBzxA75ZpJf3EZ25hBi3VugiMkMyL-3LzKg__&Key-Pair-Id=K2TK3EG287XSFC)
The audit report has been expanded to report at batch line level. This is to allow for recording of ABV at batch level and also to identify the source of the batch so that supplier duty rates can be defined and also so that an included duty value can be calculated, even when this is not generated when goods are issued i.e. when goods are supplied duty paid. This also applies to contract brewing agreements when the contract brewer qualifies for different duty rates that are applicable to the main company.
The Duty Summary report is a Crystal Report and is summarised by item. It is located in the Financial Reports, Accounting menu. It does not include destroyed goods.
It may be submitted to the Revenue to support the duty return.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1NikucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=CUPGlP3Ebia9Q7NpzlOM2h6aQpmQXk~C9~Ulbc2BliOGj2wtAESoaRNiSY4j4FYtO5m5DBUuXLX7vtfyGFwhkBrZ56bzz4-cPxESRJn0NffmQa-v5vLZtFogc70~Rf9IvxaYF4g2P7XHj5rVGEMo3d6WeM0LHtwq4bRGtQZ8i5gmiJSfrMruOnctYivlRlARlKVx3gIP-NRKXDtVpi~eERLU7wTnUtgPB3PFn1BQQ9jSiYKxxGOPhkU0phyTfqVdDQHp9af8qbUIamdhkAwx~sCLyJ63QuwcQVRjlhQc2RzHIkHzAuGb-jM0IzfJKX2PoMCIi~gzprKoXb7Q2EvONw__&Key-Pair-Id=K2TK3EG287XSFC)
A new report has been added to provide the most common reporting requirements and some additional useful features.
Common reporting requirements have been included, such as customer, sales person, item, groups, brands, pack types, volumes, revenue and cost of goods sold.
The report operates at batch level so that actual batch sources can be identified when these may come from internal production, contract brewed production and third party bought in product.
It also deals with the issue that revenue can be inflated when the selling price includes an uplift for duty value but the cost of goods sold does not.
So, a duty calculation per batch is provided, regardless of when the duty liability was incurred, which could be when sold, transferred to a duty paid location or purchased duty paid from a supplier.
The following explanations will help you to understand the report columns:
Batch Sell this is the pro rata’d value from the document line when there are multiple batches.
Duty Inc the value of duty included in the transction
RevenueAdj revenue value with duty deducted
BatchUnitCost original cost of a batch unit (without moving average calculations)
BatchCost same for the whole batch
COGSValue cost posted to GL by SAP
The batch cost and COGS value can be different because if you receive several batches with different costs then SAP will calculate a new average and the latter is what is posted to GL COGS accounts.
If you need the batch source functionality but did not process the production/GRPO receipt in SAP then you can record the supplier in a batch UDF, validated against the BP table, for this purpose.
This report only reports goods destroyed i.e. issues with a stock reason code that is set as Destroyed in the new Stock reasons table (see above), or the old Orchestrated variance reason=“D” (Destroyed), from a “DP” (Duty Paid) warehouse.
It also adds extra detail on the source of the goods destroyed for audit purposes. The source data will include any receipts into the duty paid warehouse used for issuing the goods with the same item code and batch number. You can of course transact multiple batches, and these will all be displayed. So, if there is any discrepancy between these (receipts and issues) then the quantities on the “Batches Destroyed Data” section may not match the quantities on the “Batches Source Data” section. You would not normally expect this to be the case so If there is a discrepancy then you should investigate.
.png?Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9kemY4dnF2MjRlcWhnLmNsb3VkZnJvbnQubmV0L3VzZXJmaWxlcy8zODI4MS80ODk1MS9ja2ZpbmRlci9pbWFnZXMvcXUvMjAyNi9pbWFnZSg1NykucG5nIiwiQ29uZGl0aW9uIjp7IkRhdGVMZXNzVGhhbiI6eyJBV1M6RXBvY2hUaW1lIjoxNzc2MTk5MzE3fX19XX0_&Signature=Io7VBGbosrok4k6BXRgUc-TKHr3K-8m~WudNEObmICHB4QkgUGvgjQbATJHhG5CMLCuuNWnIZ93WAR8dA2OQqe2Fz8EC98osY3ZOwxq-pJCcOGTKzAPnb8WFsX3NS~HOMmXf5Qkuk2GK0zuCAUmHtMkJNaL8FHh4BSt6YK2CAgb3oCeuClBdCY-zjJ2zPK063hohHDs4x~ES0Br1kAGeVnzAYf6NE~5wqH~ujk3dy-hrKYX21QmhUxLHrYp0YWnrNGdLgtymH2Rn-z~K3RZlbcx3KkUZgJxnC9Pt4D9ItgOQYfEoiwJTfuACrf1vax0wxUcy4XjXGAk-NS-VVjoOnQ__&Key-Pair-Id=K2TK3EG287XSFC)
|
Date |
Author |
Rev. |
Comment |
|
|
|
|
ORCHESTRATED (LEGACY) |
|
25/10/2017 |
Bruce Holden |
1.0 |
Initial document |
|
26/10/2017 |
Bruce Holden |
1.1 |
minor revisions |
|
30/11/2017 |
Bruce Holden |
1.2 |
Revised for Destroyed credit & variance reason codes liabilities |
|
05/02/2018 |
Bruce Holden |
1.3 |
Added new flags to brand master for duty rate behaviour, standard and reduced rates to duty table. |
|
28/03/2018 |
Bruce Holden |
1.4 |
Additional fields in duty rates table to define volume calculation method. |
|
22/06/2018 |
Bruce Holden |
2.0 |
Base Query moved to SQL Function for improved flexibility and reuse in reports. Extended logic added for returns, credits and QC Improved destroyed reason logic from a DP warehouse Cancelled documents excluded All stock movements in/out of a DF location now included in base function to allow for extended reporting e.g. Irish stock reconciliation LPA added for spirits reporting Added warehouse location with logic for movements between DF & DP locations for report grouping Various small improvements and clarifications |
|
29/06/2018 |
Bruce Holden |
2.01 |
Added duty reconciliation report description. Fixed report parameters issue |
|
24/09/2018 |
Bruce Holden |
2.1 |
Added degrees plato duty band UDFs, excise rates UDT calculation method and query modification for Swiss localisation. Some clarification of application of duty rates. |
|
04/12/2018 |
Bruce Holden |
2.2 |
Stock transfers between warehouses in different countries will not now generate duty calculations. |
|
08/01/2019 |
Bruce Holden |
2.3 |
Correction to duty rates table for degrees plato. |
|
28/03/2019 |
Bruce Holden |
2.4 |
Modified for duty liable movement between tanks. Separation of destroyed goods. New report for destroyed goods. |
|
30/04/2019 |
Bruce Holden |
2.5 |
Added item master UDF for ABV as an alternative to brand. New item group UDF – duty relevant, set Y to include in reports. New movement direction indicator for use in report filters. The base SQL function now includes all warehouse transactions to fully enable stock reconciliation reports. This also required some changes to duty report logic. |
|
22/05/2019 |
Bruce Holden |
2.6 |
Added setup for excise number and warehouse keeper to company and warehouse. Issues from a different excise number are now excluded in the duty reports. Note – this is now in revision and unavailable in 2.7 |
|
02/10/2019 |
Bruce Holden |
2.7 |
Increased use of CTE's in the SQL function for improved modularity |
|
21/01/2020 |
Bruce Holden |
2.8 |
Added batch UDF for supplier, to use in op bals where source is required but otherwise not available. Added warehouse UDF V33_Source, validated to OCRD, for contract brewers production source. Added supplier UDF to duty rates table. Amended duty rate calculation to use supplier specific rate where this applies - either warehouse owner for contract brewers or supplier for bought in beer. Brand Duty Rates are now obsolete and are no longer used, superceded by supplier rates above. Added new Stock reason UDT with UDFs for GL account, duty status and destroyed. Modified function to use this along with old VarReason UDF. Added LPA as a volume unit in V33_DutyRates UDT. Modified function to use this. |
|
24/03/2020 |
Bruce Holden |
2.9 |
Reintroduced reason code DF/DP transactions to Goods Receipts |
|
16/04/2020 |
Bruce Holden |
2.10 |
Added Extended Sales Analysis Report, including all beer attributes and adjustment for duty value included in sale. Removed DutyRelevant filter from function and added to Audit Report. So that it can be used for all stock movements and sales, inc merchandise for example. |
|
26/06/2020 |
Bruce Holden |
2.11 |
Added BaseEntry and BaseLine for use in extended sales analysis v1.2 joins. Was not always recognising batch source correctly because of NULLs. |
|
31/12/2020 |
Bruce Holden |
2.12 |
OwnerDutyStatus was not being considered in calculation of Duty Action. Created OriginDutyStatus. |
|
14/07/2021 |
Bruce Holden |
2.13 |
Added Stock reason UDFs to Stock Count. |
|
20/01/2023 |
Bruce Holden |
2.14 |
Added new OCRY UDF V33_Domestic, Y value will consider that country to be same jurisdiction as local country, and amended logic for duty status and region. |
|
08/06/2023 |
Bruce Holden |
2.15 |
UK reduced rates for draught beverage – min container sizes. 2 new UDFs in Duty Rates table for min container size in L and a Bulk indicator for bulk deliveries of beer. Also an end date to duty bands to terminate old entries. |
|
|
|
|
BRUTOS from VISION33 |
|
4/08/2023 |
Bruce Holden |
3.0 |
Conversion to Brutos |
|
29/05/2024 |
Bruce Holden |
3.1 |
Further incorporation into Brutos with new UDFs and UDTs. |
|
4/12/2024 |
Bruce Holden |
3.2 |
Corrections to reason code and destroyed behaviour. Column “Category” renamed to DutyGroup”. |
| 28/08/2025 | Bruce Holden | 3.3 | Allow for NULLs in Duty Rates L1 & L2, maybe only a HANA issue |
| 17/09/2025 | Bruce Holden | 3.4 | Removed bin location duty status logic. Commented out as IG mod. Added Pack Name |
| 23/12/2025 | Bruce Holden | 3.5 | Added CreateDate from OIVL (BT mod) Removed final rounding to 2dp, changed in 3.2 3.4 omitted transfer receiptwhs, fixed (but not BT done before this fix) |
Previous
|
Last modified: 02/25/2026/11:00 am |