Initial commit: L10N_Europe packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:52 +02:00
commit 9803722600
2377 changed files with 380711 additions and 0 deletions

View file

@ -0,0 +1,54 @@
# United Kingdom - Accounting
This is the latest UK Odoo localisation necessary to run Odoo accounting for UK SME's with:
=================================================================================================
- a CT600-ready chart of accounts
- VAT100-ready tax structure
- InfoLogic UK counties listing
- a few other adaptations
## Installation
```bash
pip install odoo-bringout-oca-ocb-l10n_uk
```
## Dependencies
This addon depends on:
- account
- base_iban
- base_vat
## Manifest Information
- **Name**: United Kingdom - Accounting
- **Version**: 1.0
- **Category**: Accounting/Localizations/Account Charts
- **License**: LGPL-3
- **Installable**: False
## Source
Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `l10n_uk`.
## License
This package maintains the original LGPL-3 license from the upstream Odoo project.
## Documentation
- Overview: doc/OVERVIEW.md
- Architecture: doc/ARCHITECTURE.md
- Models: doc/MODELS.md
- Controllers: doc/CONTROLLERS.md
- Wizards: doc/WIZARDS.md
- Reports: doc/REPORTS.md
- Security: doc/SECURITY.md
- Install: doc/INSTALL.md
- Usage: doc/USAGE.md
- Configuration: doc/CONFIGURATION.md
- Dependencies: doc/DEPENDENCIES.md
- Troubleshooting: doc/TROUBLESHOOTING.md
- FAQ: doc/FAQ.md

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph L10n_uk Module - l10n_uk
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for l10n_uk. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,7 @@
# Dependencies
This addon depends on:
- [account](../../odoo-bringout-oca-ocb-account)
- [base_iban](../../odoo-bringout-oca-ocb-base_iban)
- [base_vat](../../odoo-bringout-oca-ocb-base_vat)

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon l10n_uk or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-ocb-l10n_uk"
# or
uv pip install odoo-bringout-oca-ocb-l10n_uk"
```

View file

@ -0,0 +1,11 @@
# Models
Detected core models and extensions in l10n_uk.
```mermaid
classDiagram
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: l10n_uk. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon l10n_uk
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,8 @@
# Security
This module does not define custom security rules or access controls beyond Odoo defaults.
Default Odoo security applies:
- Base user access through standard groups
- Model access inherited from dependencies
- No custom row-level security rules

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon l10n_uk
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
# Copyright (C) 2011 Smartmode LTD (<http://www.smartmode.co.uk>).

View file

@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
# Copyright (C) 2011 Smartmode LTD (<http://www.smartmode.co.uk>).
{
'name': 'United Kingdom - Accounting',
'version': '1.0',
'category': 'Accounting/Localizations/Account Charts',
'description': """
This is the latest UK Odoo localisation necessary to run Odoo accounting for UK SME's with:
=================================================================================================
- a CT600-ready chart of accounts
- VAT100-ready tax structure
- InfoLogic UK counties listing
- a few other adaptations""",
'author': 'SmartMode LTD',
'website': 'https://www.odoo.com/app/accounting',
'depends': [
'account',
'base_iban',
'base_vat',
],
'data': [
'data/l10n_uk_chart_data.xml',
'data/account.account.template.csv',
'data/account.chart.template.csv',
'data/account.tax.group.csv',
'data/account_tax_report_data.xml',
'data/account_tax_data.xml',
'data/account_chart_template_data.xml',
],
'demo': [
'demo/l10n_uk_demo.xml',
'demo/demo_company.xml',
],
'license': 'LGPL-3',
}

View file

@ -0,0 +1,101 @@
"id","code","name","account_type","reconcile","chart_template_id:id"
"0010","0010","Software","asset_fixed","FALSE","l10n_uk"
"0011","0011","Software Depreciation","asset_fixed","FALSE","l10n_uk"
"0020","0020","Patents & Trademarks","asset_fixed","FALSE","l10n_uk"
"0021","0021","Patents & Trademarks Depreciation","asset_fixed","FALSE","l10n_uk"
"0030","0030","Fixtures and fittings","asset_fixed","FALSE","l10n_uk"
"0031","0031","Fixtures and fittings Depreciation","asset_fixed","FALSE","l10n_uk"
"0040","0040","Land and buildings","asset_fixed","FALSE","l10n_uk"
"0041","0041","Land and buildings Depreciation","asset_fixed","FALSE","l10n_uk"
"0050","0050","Motor vehicles","asset_fixed","FALSE","l10n_uk"
"0051","0051","Motor vehicles Depreciation","asset_fixed","FALSE","l10n_uk"
"0060","0060","Office equipment (inc computer equipment)","asset_fixed","FALSE","l10n_uk"
"0061","0061","Office equipment (inc computer equipment) Depreciation","asset_fixed","FALSE","l10n_uk"
"0070","0070","Plant and machinery","asset_fixed","FALSE","l10n_uk"
"0071","0071","Plant and machinery Depreciation","asset_fixed","FALSE","l10n_uk"
"1001","1001","Stock","asset_current","TRUE","l10n_uk"
"1002","1002","Work in Progress","asset_current","FALSE","l10n_uk"
"1003","1003","Finished Goods","asset_current","FALSE","l10n_uk"
"1100","1100","Debtors Control Account","asset_receivable","TRUE","l10n_uk"
"1101","1101","Sundry Debtors","asset_receivable","TRUE","l10n_uk"
"1102","1102","Other Debtors","asset_current","FALSE","l10n_uk"
"1104","1104","Debtors Control Account (PoS)","asset_receivable","TRUE","l10n_uk"
"1240","1240","Company Credit Card","asset_current","TRUE","l10n_uk"
"1103","1103","Prepayments","asset_current","FALSE","l10n_uk"
"2100","2100","Creditors Control Account","liability_payable","TRUE","l10n_uk"
"2101","2101","Sundry Creditors","liability_current","FALSE","l10n_uk"
"2102","2102","Other Creditors","liability_current","FALSE","l10n_uk"
"2200","2200","Sales Tax Control Account","liability_current","FALSE","l10n_uk"
"2201","2201","Purchase Tax Control Account","asset_current","FALSE","l10n_uk"
"2202","2202","HMRC - VAT Account","liability_payable","TRUE","l10n_uk"
"2204","2204","Manual Adjustments ヨ VAT","liability_current","FALSE","l10n_uk"
"2210","2210","P.A.Y.E. & NI","liability_payable","TRUE","l10n_uk"
"2220","2220","Net Wages","liability_payable","TRUE","l10n_uk"
"2230","2230","Pension Fund","liability_payable","TRUE","l10n_uk"
"2150","2150","Bad debt provision","liability_current","FALSE","l10n_uk"
"2109","2109","Accruals","liability_current","FALSE","l10n_uk"
"2320","2320","Corporation Tax","liability_payable","TRUE","l10n_uk"
"2300","2300","Loans","liability_current","FALSE","l10n_uk"
"2310","2310","Hire Purchase","liability_current","FALSE","l10n_uk"
"2330","2330","Mortgages","liability_current","FALSE","l10n_uk"
"3000","3000","Called up share capital","equity","FALSE","l10n_uk"
"3010","3010","Share premium account","equity","FALSE","l10n_uk"
"3020","3020","Revaluation reserve","equity","FALSE","l10n_uk"
"3030","3030","Other reserves","equity","FALSE","l10n_uk"
"4000","4000","Sales category 1","income","FALSE","l10n_uk"
"4001","4001","Sales category 2","income","FALSE","l10n_uk"
"4002","4002","Sales category 3","income","FALSE","l10n_uk"
"4003","4003","Sales category 4","income","FALSE","l10n_uk"
"5000","5000","Cost of sales 1","expense","FALSE","l10n_uk"
"5001","5001","Cost of sales 2","expense","FALSE","l10n_uk"
"5002","5002","Cost of sales 3","expense","FALSE","l10n_uk"
"5003","5003","Cost of sales 4","expense","FALSE","l10n_uk"
"6000","6000","Marketing, POS","expense","FALSE","l10n_uk"
"6001","6001","Exhibitions and events","expense","FALSE","l10n_uk"
"6002","6002","PR","expense","FALSE","l10n_uk"
"6010","6010","Distribution vehicles","expense","FALSE","l10n_uk"
"6020","6020","Distribution salaries and wages","expense","FALSE","l10n_uk"
"6030","6030","Shipping","expense","FALSE","l10n_uk"
"7000","7000","Directors pension","expense","FALSE","l10n_uk"
"7001","7001","Directors remuneration","expense","FALSE","l10n_uk"
"7010","7010","Admin gross salaries","expense","FALSE","l10n_uk"
"7011","7011","Management gross salaries","expense","FALSE","l10n_uk"
"7012","7012","Employers NIC","expense","FALSE","l10n_uk"
"7020","7020","Subcontractors payments","expense","FALSE","l10n_uk"
"7610","7610","Consultancy","expense","FALSE","l10n_uk"
"7620","7620","Legal and professional charges","expense","FALSE","l10n_uk"
"7601","7601","Accounting","expense","FALSE","l10n_uk"
"7602","7602","Auditing","expense","FALSE","l10n_uk"
"7110","7110","Light, heat and power","expense","FALSE","l10n_uk"
"7100","7100","Rent and rates","expense","FALSE","l10n_uk"
"7120","7120","Repairs, renewals and maintenance","expense","FALSE","l10n_uk"
"7300","7300","Car hire","expense","FALSE","l10n_uk"
"7301","7301","Car fuel","expense","FALSE","l10n_uk"
"7302","7302","Car maintenance","expense","FALSE","l10n_uk"
"7502","7502","Telephone","expense","FALSE","l10n_uk"
"7503","7503","Internet & hosting","expense","FALSE","l10n_uk"
"7504","7504","Mobiles","expense","FALSE","l10n_uk"
"7505","7505","Stationery","expense","FALSE","l10n_uk"
"7506","7506","Office consumables","expense","FALSE","l10n_uk"
"7507","7507","Postage and Carriage","expense","FALSE","l10n_uk"
"7508","7508","Books","expense","FALSE","l10n_uk"
"7509","7509","Network costs","expense","FALSE","l10n_uk"
"7510","7510","Software expenses","expense","FALSE","l10n_uk"
"7511","7511","Other computer costs","expense","FALSE","l10n_uk"
"7512","7512","Recruitment fees","expense","FALSE","l10n_uk"
"7513","7513","Other admin expenses","expense","FALSE","l10n_uk"
"7700","7700","Exchange gains/losses","expense","FALSE","l10n_uk"
"7710","7710","Other sundry expenses","expense","FALSE","l10n_uk"
"7850","7850","Bad debts","expense","FALSE","l10n_uk"
"7910","7910","Bank, credit card and other financial charges","expense","FALSE","l10n_uk"
"8000","8000","Intangible assets depn","expense","FALSE","l10n_uk"
"8001","8001","Tangible assets depn","expense","FALSE","l10n_uk"
"8200","8200","Donations","expense","FALSE","l10n_uk"
"8300","8300","Entertaining","expense","FALSE","l10n_uk"
"8400","8400","Insurance","expense","FALSE","l10n_uk"
"8500","8500","Travel and subsistence","expense","FALSE","l10n_uk"
"9000","9000","Profits/Losses on disposals of assets","income","FALSE","l10n_uk"
"4900","4900","Bank Interest received","income","FALSE","l10n_uk"
"4910","4910","Investment Interest received","income","FALSE","l10n_uk"
"7900","7900","Interest paid","expense","FALSE","l10n_uk"
"8800","8800","Corporation tax expense","expense","FALSE","l10n_uk"
1 id code name account_type reconcile chart_template_id:id
2 0010 0010 Software asset_fixed FALSE l10n_uk
3 0011 0011 Software Depreciation asset_fixed FALSE l10n_uk
4 0020 0020 Patents & Trademarks asset_fixed FALSE l10n_uk
5 0021 0021 Patents & Trademarks Depreciation asset_fixed FALSE l10n_uk
6 0030 0030 Fixtures and fittings asset_fixed FALSE l10n_uk
7 0031 0031 Fixtures and fittings Depreciation asset_fixed FALSE l10n_uk
8 0040 0040 Land and buildings asset_fixed FALSE l10n_uk
9 0041 0041 Land and buildings Depreciation asset_fixed FALSE l10n_uk
10 0050 0050 Motor vehicles asset_fixed FALSE l10n_uk
11 0051 0051 Motor vehicles Depreciation asset_fixed FALSE l10n_uk
12 0060 0060 Office equipment (inc computer equipment) asset_fixed FALSE l10n_uk
13 0061 0061 Office equipment (inc computer equipment) Depreciation asset_fixed FALSE l10n_uk
14 0070 0070 Plant and machinery asset_fixed FALSE l10n_uk
15 0071 0071 Plant and machinery Depreciation asset_fixed FALSE l10n_uk
16 1001 1001 Stock asset_current TRUE l10n_uk
17 1002 1002 Work in Progress asset_current FALSE l10n_uk
18 1003 1003 Finished Goods asset_current FALSE l10n_uk
19 1100 1100 Debtors Control Account asset_receivable TRUE l10n_uk
20 1101 1101 Sundry Debtors asset_receivable TRUE l10n_uk
21 1102 1102 Other Debtors asset_current FALSE l10n_uk
22 1104 1104 Debtors Control Account (PoS) asset_receivable TRUE l10n_uk
23 1240 1240 Company Credit Card asset_current TRUE l10n_uk
24 1103 1103 Prepayments asset_current FALSE l10n_uk
25 2100 2100 Creditors Control Account liability_payable TRUE l10n_uk
26 2101 2101 Sundry Creditors liability_current FALSE l10n_uk
27 2102 2102 Other Creditors liability_current FALSE l10n_uk
28 2200 2200 Sales Tax Control Account liability_current FALSE l10n_uk
29 2201 2201 Purchase Tax Control Account asset_current FALSE l10n_uk
30 2202 2202 HMRC - VAT Account liability_payable TRUE l10n_uk
31 2204 2204 Manual Adjustments ヨ VAT liability_current FALSE l10n_uk
32 2210 2210 P.A.Y.E. & NI liability_payable TRUE l10n_uk
33 2220 2220 Net Wages liability_payable TRUE l10n_uk
34 2230 2230 Pension Fund liability_payable TRUE l10n_uk
35 2150 2150 Bad debt provision liability_current FALSE l10n_uk
36 2109 2109 Accruals liability_current FALSE l10n_uk
37 2320 2320 Corporation Tax liability_payable TRUE l10n_uk
38 2300 2300 Loans liability_current FALSE l10n_uk
39 2310 2310 Hire Purchase liability_current FALSE l10n_uk
40 2330 2330 Mortgages liability_current FALSE l10n_uk
41 3000 3000 Called up share capital equity FALSE l10n_uk
42 3010 3010 Share premium account equity FALSE l10n_uk
43 3020 3020 Revaluation reserve equity FALSE l10n_uk
44 3030 3030 Other reserves equity FALSE l10n_uk
45 4000 4000 Sales category 1 income FALSE l10n_uk
46 4001 4001 Sales category 2 income FALSE l10n_uk
47 4002 4002 Sales category 3 income FALSE l10n_uk
48 4003 4003 Sales category 4 income FALSE l10n_uk
49 5000 5000 Cost of sales 1 expense FALSE l10n_uk
50 5001 5001 Cost of sales 2 expense FALSE l10n_uk
51 5002 5002 Cost of sales 3 expense FALSE l10n_uk
52 5003 5003 Cost of sales 4 expense FALSE l10n_uk
53 6000 6000 Marketing, POS expense FALSE l10n_uk
54 6001 6001 Exhibitions and events expense FALSE l10n_uk
55 6002 6002 PR expense FALSE l10n_uk
56 6010 6010 Distribution vehicles expense FALSE l10n_uk
57 6020 6020 Distribution salaries and wages expense FALSE l10n_uk
58 6030 6030 Shipping expense FALSE l10n_uk
59 7000 7000 Directors pension expense FALSE l10n_uk
60 7001 7001 Directors remuneration expense FALSE l10n_uk
61 7010 7010 Admin gross salaries expense FALSE l10n_uk
62 7011 7011 Management gross salaries expense FALSE l10n_uk
63 7012 7012 Employers NIC expense FALSE l10n_uk
64 7020 7020 Subcontractors payments expense FALSE l10n_uk
65 7610 7610 Consultancy expense FALSE l10n_uk
66 7620 7620 Legal and professional charges expense FALSE l10n_uk
67 7601 7601 Accounting expense FALSE l10n_uk
68 7602 7602 Auditing expense FALSE l10n_uk
69 7110 7110 Light, heat and power expense FALSE l10n_uk
70 7100 7100 Rent and rates expense FALSE l10n_uk
71 7120 7120 Repairs, renewals and maintenance expense FALSE l10n_uk
72 7300 7300 Car hire expense FALSE l10n_uk
73 7301 7301 Car fuel expense FALSE l10n_uk
74 7302 7302 Car maintenance expense FALSE l10n_uk
75 7502 7502 Telephone expense FALSE l10n_uk
76 7503 7503 Internet & hosting expense FALSE l10n_uk
77 7504 7504 Mobiles expense FALSE l10n_uk
78 7505 7505 Stationery expense FALSE l10n_uk
79 7506 7506 Office consumables expense FALSE l10n_uk
80 7507 7507 Postage and Carriage expense FALSE l10n_uk
81 7508 7508 Books expense FALSE l10n_uk
82 7509 7509 Network costs expense FALSE l10n_uk
83 7510 7510 Software expenses expense FALSE l10n_uk
84 7511 7511 Other computer costs expense FALSE l10n_uk
85 7512 7512 Recruitment fees expense FALSE l10n_uk
86 7513 7513 Other admin expenses expense FALSE l10n_uk
87 7700 7700 Exchange gains/losses expense FALSE l10n_uk
88 7710 7710 Other sundry expenses expense FALSE l10n_uk
89 7850 7850 Bad debts expense FALSE l10n_uk
90 7910 7910 Bank, credit card and other financial charges expense FALSE l10n_uk
91 8000 8000 Intangible assets depn expense FALSE l10n_uk
92 8001 8001 Tangible assets depn expense FALSE l10n_uk
93 8200 8200 Donations expense FALSE l10n_uk
94 8300 8300 Entertaining expense FALSE l10n_uk
95 8400 8400 Insurance expense FALSE l10n_uk
96 8500 8500 Travel and subsistence expense FALSE l10n_uk
97 9000 9000 Profits/Losses on disposals of assets income FALSE l10n_uk
98 4900 4900 Bank Interest received income FALSE l10n_uk
99 4910 4910 Investment Interest received income FALSE l10n_uk
100 7900 7900 Interest paid expense FALSE l10n_uk
101 8800 8800 Corporation tax expense expense FALSE l10n_uk

View file

@ -0,0 +1,2 @@
"id","name","property_account_receivable_id:id","property_account_payable_id:id","property_account_expense_categ_id:id","property_account_income_categ_id:id","income_currency_exchange_account_id:id","expense_currency_exchange_account_id:id","default_pos_receivable_account_id:id","property_tax_payable_account_id:id","property_tax_receivable_account_id:id","use_anglo_saxon"
"l10n_uk","UK Tax and Account Chart Template (by SmartMode)","1100","2100","5000","4000","7700","7700","1104","2202","2202","True"
1 id name property_account_receivable_id:id property_account_payable_id:id property_account_expense_categ_id:id property_account_income_categ_id:id income_currency_exchange_account_id:id expense_currency_exchange_account_id:id default_pos_receivable_account_id:id property_tax_payable_account_id:id property_tax_receivable_account_id:id use_anglo_saxon
2 l10n_uk UK Tax and Account Chart Template (by SmartMode) 1100 2100 5000 4000 7700 7700 1104 2202 2202 True

View file

@ -0,0 +1,5 @@
id,name,country_id/id
tax_group_0,TAX 0%,base.uk
tax_group_5,TAX 5%,base.uk
tax_group_175,TAX 17.5%,base.uk
tax_group_20,TAX 20%,base.uk
1 id name country_id/id
2 tax_group_0 TAX 0% base.uk
3 tax_group_5 TAX 5% base.uk
4 tax_group_175 TAX 17.5% base.uk
5 tax_group_20 TAX 20% base.uk

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<function model="account.chart.template" name="try_loading">
<value eval="[ref('l10n_uk.l10n_uk')]"/>
</function>
</data>
</odoo>

View file

@ -0,0 +1,308 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="ST0" model="account.tax.template">
<field name="description">ST0</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">sale</field>
<field name="name">Zero rated sales</field>
<field name="amount_type">percent</field>
<field name="amount">0</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="ST2" model="account.tax.template">
<field name="description">ST2</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">sale</field>
<field name="name">Exempt sales</field>
<field name="amount_type">percent</field>
<field name="amount">0</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="PT0" model="account.tax.template">
<field name="description">PT0</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">purchase</field>
<field name="name">Zero rated purchases</field>
<field name="amount_type">percent</field>
<field name="amount">0</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="PT2" model="account.tax.template">
<field name="description">PT2</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">purchase</field>
<field name="name">Exempt purchases</field>
<field name="amount_type">percent</field>
<field name="amount">0</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="PT8" model="account.tax.template">
<field name="description">PT8</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">purchase</field>
<field name="name">Standard rated purchases from EC</field>
<field name="amount_type">percent</field>
<field name="amount">20</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box9_tag'), ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2201'),
'plus_report_expression_ids': [ref('account_tax_report_line_vat_box2_tag')],
}),
(0,0, {
'factor_percent': -100,
'repartition_type': 'tax',
'account_id': ref('2201'),
'minus_report_expression_ids': [ref('account_tax_report_line_vat_box4_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box9_tag'), ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2201'),
'minus_report_expression_ids': [ref('account_tax_report_line_vat_box2_tag')],
}),
(0,0, {
'factor_percent': -100,
'repartition_type': 'tax',
'account_id': ref('2201'),
'plus_report_expression_ids': [ref('account_tax_report_line_vat_box4_tag')],
}),
]"/>
</record>
<record id="PT5" model="account.tax.template">
<field name="description">PT5</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">purchase</field>
<field name="name">Lower rate purchases (5%)</field>
<field name="amount_type">percent</field>
<field name="amount">5</field>
<field name="tax_group_id" ref="tax_group_5"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2201'),
'plus_report_expression_ids': [ref('account_tax_report_line_vat_box4_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2201'),
'minus_report_expression_ids': [ref('account_tax_report_line_vat_box4_tag')],
}),
]"/>
</record>
<record id="ST5" model="account.tax.template">
<field name="description">ST5</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">sale</field>
<field name="name">Lower rate sales (5%)</field>
<field name="amount_type">percent</field>
<field name="amount">5</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2200'),
'plus_report_expression_ids': [ref('account_tax_report_line_vat_box1_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2200'),
'minus_report_expression_ids': [ref('account_tax_report_line_vat_box1_tag')],
}),
]"/>
</record>
<record id="ST4" model="account.tax.template">
<field name="description">ST4</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">sale</field>
<field name="name">Sales to customers in EC</field>
<field name="amount_type">percent</field>
<field name="amount">0</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box8_tag'), ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box8_tag'), ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="PT7" model="account.tax.template">
<field name="description">PT7</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">purchase</field>
<field name="name">Zero rated purchases from EC</field>
<field name="amount_type">percent</field>
<field name="amount">0</field>
<field name="tax_group_id" ref="tax_group_0"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box9_tag'), ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box9_tag'), ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record id="ST11" model="account.tax.template">
<field name="description">ST11</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">sale</field>
<field name="name">Standard rate sales (20%)</field>
<field name="amount_type">percent</field>
<field name="amount">20</field>
<field name="tax_group_id" ref="tax_group_20"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2200'),
'plus_report_expression_ids': [ref('account_tax_report_line_vat_box1_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box6_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2200'),
'minus_report_expression_ids': [ref('account_tax_report_line_vat_box1_tag')],
}),
]"/>
</record>
<record id="PT11" model="account.tax.template">
<field name="description">PT11</field>
<field name="chart_template_id" ref="l10n_uk"/>
<field name="type_tax_use">purchase</field>
<field name="name">Standard rate purchases (20%)</field>
<field name="amount_type">percent</field>
<field name="amount">20</field>
<field name="tax_group_id" ref="tax_group_20"/>
<field name="invoice_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2201'),
'plus_report_expression_ids': [ref('account_tax_report_line_vat_box4_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5,0,0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_tax_report_line_exd_vat_box7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('2201'),
'minus_report_expression_ids': [ref('account_tax_report_line_vat_box4_tag')],
}),
]"/>
</record>
</odoo>

View file

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="tax_report" model="account.report">
<field name="name">Tax Report</field>
<field name="root_report_id" ref="account.generic_tax_report"/>
<field name="country_id" ref="base.uk"/>
<field name="filter_fiscal_position" eval="True"/>
<field name="availability_condition">country</field>
<field name="column_ids">
<record id="tax_report_balance" model="account.report.column">
<field name="name">Balance</field>
<field name="expression_label">balance</field>
</record>
</field>
<field name="line_ids">
<record id="account_tax_report_line_vat_cal" model="account.report.line">
<field name="name">VAT calculations</field>
<field name="aggregation_formula">UKTAX_1.balance + UKTAX_2.balance + UKTAX_4.balance</field>
<field name="children_ids">
<record id="account_tax_report_line_vat_box1" model="account.report.line">
<field name="name">[BOX 1] VAT due on sales and other outputs</field>
<field name="code">UKTAX_1</field>
<field name="expression_ids">
<record id="account_tax_report_line_vat_box1_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">1</field>
</record>
</field>
</record>
<record id="account_tax_report_line_vat_box2" model="account.report.line">
<field name="name">[BOX 2] VAT due on acquisitions from EC</field>
<field name="code">UKTAX_2</field>
<field name="expression_ids">
<record id="account_tax_report_line_vat_box2_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">2</field>
</record>
</field>
</record>
<record id="account_tax_report_line_vat_box3" model="account.report.line">
<field name="name">[BOX 3] Total VAT due (box 1 + box 2)</field>
<field name="aggregation_formula">UKTAX_1.balance + UKTAX_2.balance</field>
</record>
<record id="account_tax_report_line_vat_box4" model="account.report.line">
<field name="name">[BOX 4] VAT reclaimed on purchases and other inputs (including acquisitions from EC)</field>
<field name="code">UKTAX_4</field>
<field name="expression_ids">
<record id="account_tax_report_line_vat_box4_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">4</field>
</record>
</field>
</record>
<record id="account_tax_report_line_vat_box5" model="account.report.line">
<field name="name">[BOX 5] VAT to pay/reclaim</field>
<field name="aggregation_formula">UKTAX_1.balance + UKTAX_2.balance - UKTAX_4.balance</field>
</record>
</field>
</record>
<record id="account_tax_report_line_exd_vat" model="account.report.line">
<field name="name">Sales and Purchases Excluding VAT</field>
<field name="aggregation_formula">UKTAX_6.balance + UKTAX_7.balance</field>
<field name="children_ids">
<record id="account_tax_report_line_exd_vat_box6" model="account.report.line">
<field name="name">[BOX 6] Total value of sales and other outputs excluding VAT (including EC supplies)</field>
<field name="code">UKTAX_6</field>
<field name="expression_ids">
<record id="account_tax_report_line_exd_vat_box6_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">6</field>
</record>
</field>
</record>
<record id="account_tax_report_line_exd_vat_box7" model="account.report.line">
<field name="name">[BOX 7] Total value of purchases and inputs excluding VAT (including EC acquisitions)</field>
<field name="code">UKTAX_7</field>
<field name="expression_ids">
<record id="account_tax_report_line_exd_vat_box7_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">7</field>
</record>
</field>
</record>
</field>
</record>
<record id="account_tax_report_line_ec_exd_vat" model="account.report.line">
<field name="name">EC Sales and Purchases excluding VAT</field>
<field name="aggregation_formula">UKTAX_8.balance + UKTAX_9.balance</field>
<field name="children_ids">
<record id="account_tax_report_line_exd_vat_box8" model="account.report.line">
<field name="name">[BOX 8] Total value of EC sales excluding VAT</field>
<field name="code">UKTAX_8</field>
<field name="expression_ids">
<record id="account_tax_report_line_exd_vat_box8_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">8</field>
</record>
</field>
</record>
<record id="account_tax_report_line_exd_vat_box9" model="account.report.line">
<field name="name">[BOX 9] Total value of EC purchases excluding VAT</field>
<field name="code">UKTAX_9</field>
<field name="expression_ids">
<record id="account_tax_report_line_exd_vat_box9_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">9</field>
</record>
</field>
</record>
</field>
</record>
</field>
</record>
</odoo>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem id="account_reports_uk_statements_menu" name="United Kingdom" parent="account.menu_finance_reports" sequence="5" groups="account.group_account_readonly"/>
<!-- Chart template -->
<record id="l10n_uk" model="account.chart.template">
<field name="name">UK Tax and Account Chart Template (by SmartMode)</field>
<field name="bank_account_code_prefix">1200</field>
<field name="cash_account_code_prefix">1210</field>
<field name="transfer_account_code_prefix">1220</field>
<field name="code_digits">6</field>
<field name="currency_id" ref="base.GBP"/>
<field name="country_id" ref="base.uk"/>
</record>
</odoo>

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="partner_demo_company_uk" model="res.partner">
<field name="name">UK Company</field>
<field name="vat"></field>
<field name="street"></field>
<field name="city"></field>
<field name="country_id" ref="base.uk"/>
<field name="state_id" ref="base.state_uk119"/>
<field name="zip"></field>
<field name="phone">+32 010 12 34 56</field>
<field name="email">info@company.ukexample.com</field>
<field name="website">www.ukexample.com</field>
</record>
<record id="demo_company_uk" model="res.company">
<field name="name">UK Company</field>
<field name="partner_id" ref="partner_demo_company_uk"/>
</record>
<function model="res.company" name="_onchange_country_id">
<value eval="[ref('demo_company_uk')]"/>
</function>
<function model="res.users" name="write">
<value eval="[ref('base.user_root'), ref('base.user_admin'), ref('base.user_demo')]"/>
<value eval="{'company_ids': [(4, ref('l10n_uk.demo_company_uk'))]}"/>
</function>
<function model="account.chart.template" name="try_loading">
<value eval="[ref('l10n_uk.l10n_uk')]"/>
<value model="res.company" eval="obj().env.ref('l10n_uk.demo_company_uk')"/>
</function>
</odoo>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="smartmode" model="res.partner">
<field name="name">SmartMode LTD</field>
<field name="is_company">1</field>
<field name="street">12, Hill Lane</field>
<field name="zip">HA4 7JW</field>
<field name="city">Ruislip</field>
<field name="country_id" ref="base.uk"/>
<field name="phone">+44 845 643 4548</field>
<field name="website">http://www.smartmode.co.uk</field>
<field name="email">smartmode@yourcompany.example.com</field>
</record>
<record id="res_partner_address_1" model="res.partner">
<field name="name">Vadim Chobanu</field>
<field name="parent_id" ref="smartmode"/>
<field name="email">vadim@smartmode.example.com</field>
<field name="active">1</field>
<field name="type">contact</field>
<field name="street">88 Wood Street, 10th floor</field>
<field name="zip">EC2V 7RS</field>
<field name="city">London</field>
<field name="country_id" ref="base.uk"/>
</record>
</data>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,44 @@
[project]
name = "odoo-bringout-oca-ocb-l10n_uk"
version = "16.0.0"
description = "United Kingdom - Accounting - Odoo addon"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-account>=16.0.0",
"odoo-bringout-oca-ocb-base_iban>=16.0.0",
"odoo-bringout-oca-ocb-base_vat>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["l10n_uk"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]