Description of the problem: When an item in an invoice is not 16% standard VAT rated, the KRA expects an "Item Code". These "Item Code"s were formerly referred to as HS Codes, however this was never an accurate description of what they were, since they never shared in the nomenclature of the Harmonised System and they refer to services (as opposed to just goods). Examples of KRA Item Codes: - 0001.12.00 The exportation of goods (0%) - 0010.21.00 Tea and coffee brokerage services (exempted) - 0001.13.14 Natural gas in gaseous state (8%) The KRA's item code system consists of several components: - A code, of the format 'XXXX.XX.XX' (where X is a digit [0-9]) - A description explaining the use case of the code - The tax rate specific to code, this can be interpreted as "using this code justifies using the tax rate that you have on the invoice line" There are few conceptual problems with the application of these codes, since they don't exactly match the way things are approached in Odoo. I took care in the examples to include the "Exportation of goods" code. Which should be used to justify all zero-rated taxes on exports. I also included an example where, for instance, natural gas is rated at 8%. From the two examples above, it is clear that the code does not relate directly to the product, which is where the fields are currently represented. Instead, the relationship is more accurately between the code and the line that it describes. However, to avoid putting the code on the line and complicating the 'account.move.line' model further, we can the relationship between the code and the tax. This means that for each code the user finds themselves using, there will have to be a specific tax, for example (with respect to the examples above): - "Zero Rated Exports (0%)" - "Tea/Coffee Brokerage (0%)" - "Natural gas (8%)" In this commit: A new model representing the KRA item codes is added in l10n_ke, along with a many2one relation to it on the account.tax.template/account.tax models. Accompanying views for the new l10n.ke.item.code model and the many2one field on the tax are added. In l10n_ke/data the item codes themselves are added in csv format. L10n_ke/security is added, and ir.model.access.csv to describe access rights for the new l10n.ke.item.code model. The account tax template is updated to add a default export tax with the appropriate export item code applied to it. In l10n_ke_edi_tremol, the move validation and serialisation (in which invoice data is serialised for sending to the device) is updated to handle the new schema. The inheritance of product and the additional item-code related fields is removed from l10n_ke_edi_tremol as they are no longer required, the same is true of the associated views. closes odoo/odoo#112013 Related: odoo/upgrade#4528 Signed-off-by: Josse Colpaert <jco@odoo.com>
5 lines
159 B
Python
5 lines
159 B
Python
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
from . import template_ke
|
|
from . import l10n_ke_item_code
|
|
from . import account_tax
|