Initial commit: L10N_Me Africa packages

This commit is contained in:
Ernad Husremovic 2025-08-29 15:20:53 +02:00
commit c265268138
611 changed files with 75334 additions and 0 deletions

View file

@ -0,0 +1,55 @@
# Morocco - Accounting
This is the base module to manage the accounting chart for Morocco.
====================================================================
Ce Module charge le modèle du plan de comptes standard Marocain et permet de
générer les états comptables aux normes marocaines (Bilan, CPC (comptes de
produits et charges), balance générale à 6 colonnes, Grand livre cumulatif...).
L'intégration comptable a été validé avec l'aide du Cabinet d'expertise comptable
Seddik au cours du troisième trimestre 2010.
## Installation
```bash
pip install odoo-bringout-oca-ocb-l10n_ma
```
## Dependencies
This addon depends on:
- base
- account
## Manifest Information
- **Name**: Morocco - Accounting
- **Version**: N/A
- **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_ma`.
## 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_ma Module - l10n_ma
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_ma. 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,6 @@
# Dependencies
This addon depends on:
- base
- [account](../../odoo-bringout-oca-ocb-account)

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_ma or install in UI.

View file

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

View file

@ -0,0 +1,11 @@
# Models
Detected core models and extensions in l10n_ma.
```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_ma. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon l10n_ma
- 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_ma
```

View file

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

View file

@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.

View file

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
# Copyright (c) 2010 kazacube (http://kazacube.com).
{
'name': 'Morocco - Accounting',
'author': 'kazacube',
'category': 'Accounting/Localizations/Account Charts',
'description': """
This is the base module to manage the accounting chart for Morocco.
====================================================================
Ce Module charge le modèle du plan de comptes standard Marocain et permet de
générer les états comptables aux normes marocaines (Bilan, CPC (comptes de
produits et charges), balance générale à 6 colonnes, Grand livre cumulatif...).
L'intégration comptable a été validé avec l'aide du Cabinet d'expertise comptable
Seddik au cours du troisième trimestre 2010.""",
'website': 'http://www.kazacube.com',
'depends': ['base', 'account'],
'data': [
'data/l10n_ma_chart_data.xml',
'data/account_tax_group_data.xml',
'data/account_tax_report_data.xml',
'data/account_tax_data.xml',
'data/account_chart_template_data.xml',
],
'license': 'LGPL-3',
}

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_ma.l10n_kzc_temp_chart')]"/>
</function>
</data>
</odoo>

View file

@ -0,0 +1,324 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- account chart -->
<record id="l10n_kzc_temp_chart" model="account.chart.template">
<field name="property_account_receivable_id" ref="pcg_34211"/>
<field name="property_account_payable_id" ref="pcg_4411"/>
<field name="property_account_income_categ_id" ref="pcg_7111"/>
<field name="property_account_expense_categ_id" ref="pcg_6111"/>
<field name="income_currency_exchange_account_id" ref="pcg_733"/>
<field name="expense_currency_exchange_account_id" ref="pcg_633"/>
<field name="default_pos_receivable_account_id" ref="pcg_3489"/>
</record>
<!-- Account Tax Template -->
<record model="account.tax.template" id="tva_exo">
<field name="name">Exonere de TVA VENTES</field>
<field name="description">Exonere de TVA VENTES</field>
<field name="type_tax_use">sale</field>
<field name="amount">0</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_0"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {'repartition_type': 'tax'}) ]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {'repartition_type': 'tax'}) ]"/>
</record>
<record model="account.tax.template" id="tva_exo1">
<field name="name">Exonere de TVA ACHATS</field>
<field name="description">Exonere de TVA ACHATS</field>
<field name="type_tax_use">purchase</field>
<field name="amount">0</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_0"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {'repartition_type': 'tax'}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {'repartition_type': 'base'}),
(0,0, {'repartition_type': 'tax'}),
]"/>
</record>
<record model="account.tax.template" id="tva_vt20">
<field name="name">TVA 20% VENTES</field>
<field name="description">TVA 20% VENTES</field>
<field name="type_tax_use">sale</field>
<field name="amount">20</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_20"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_taux_normal_20_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445520'),
'plus_report_expression_ids': [ref('tax_report_taux_normal_tva_20_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_taux_normal_20_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445520'),
'minus_report_expression_ids': [ref('tax_report_taux_normal_tva_20_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_vt14">
<field name="name">TVA 14% VENTES</field>
<field name="description">TVA 14% VENTES</field>
<field name="type_tax_use">sale</field>
<field name="amount">14</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_14"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_tauz_reduit_ht_14_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445514'),
'plus_report_expression_ids': [ref('tax_report_taux_rediut_tva_14_tag')],
}),]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_tauz_reduit_ht_14_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445514'),
'minus_report_expression_ids': [ref('tax_report_taux_rediut_tva_14_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_vt10">
<field name="name">TVA 10% VENTES</field>
<field name="description">TVA 10% VENTES</field>
<field name="type_tax_use">sale</field>
<field name="amount">10</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_10"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('account_report_taux_reduit_base_ht_10_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445510'),
'plus_report_expression_ids': [ref('tax_report_taux_reduit_tva_10_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('account_report_taux_reduit_base_ht_10_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445510'),
'minus_report_expression_ids': [ref('tax_report_taux_reduit_tva_10_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_vt07">
<field name="name">TVA 7% VENTES</field>
<field name="description">TVA 7% VENTES</field>
<field name="type_tax_use">sale</field>
<field name="amount">7</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_7"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_taux_reduit_ht_7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445507'),
'plus_report_expression_ids': [ref('tax_report_taux_reduit_tva_7_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_taux_reduit_ht_7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_445507'),
'minus_report_expression_ids': [ref('tax_report_taux_reduit_tva_7_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_ac20">
<field name="name">TVA 20% ACHATS</field>
<field name="description">TVA 20% ACHATS</field>
<field name="type_tax_use">purchase</field>
<field name="amount">20</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_20"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_achats_importation_ht_20_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455220'),
'plus_report_expression_ids': [ref('tax_report_achats_importation_tva_20_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_achats_importation_ht_20_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455220'),
'minus_report_expression_ids': [ref('tax_report_achats_importation_tva_20_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_acim">
<field name="name">TVA 20% ACHATS (immobilisation)</field>
<field name="description">TVA 20% ACHATS (immobilisation)</field>
<field name="type_tax_use">purchase</field>
<field name="amount">20</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_20"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_immobilisations_base_ht_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_34551'),
'plus_report_expression_ids': [ref('tax_report_immobilisations_deductible_tva_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_immobilisations_base_ht_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_34551'),
'minus_report_expression_ids': [ref('tax_report_immobilisations_deductible_tva_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_ac14">
<field name="name">TVA 14% ACHATS</field>
<field name="description">TVA 14% ACHATS</field>
<field name="type_tax_use">purchase</field>
<field name="amount">14</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_14"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_achats_importation_ht_14_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455214'),
'plus_report_expression_ids': [ref('tax_report_achats_importation_tva_14_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_achats_importation_ht_14_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455214'),
'minus_report_expression_ids': [ref('tax_report_achats_importation_tva_14_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_ac10">
<field name="name">TVA 10% ACHATS</field>
<field name="description">TVA 10% ACHATS</field>
<field name="type_tax_use">purchase</field>
<field name="amount">10</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_10"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_achats_importation_ht_10_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455210'),
'plus_report_expression_ids': [ref('tax_report_achats_importation_tva_10_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_achats_importation_ht_10_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455210'),
'minus_report_expression_ids': [ref('tax_report_achats_importation_tva_10_tag')],
}),
]"/>
</record>
<record model="account.tax.template" id="tva_ac07">
<field name="name">TVA 7% ACHATS</field>
<field name="description">TVA 7% ACHATS</field>
<field name="type_tax_use">purchase</field>
<field name="amount">7</field>
<field name="amount_type">percent</field>
<field name="chart_template_id" ref="l10n_kzc_temp_chart"/>
<field name="tax_group_id" ref="tax_group_tva_7"/>
<field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'plus_report_expression_ids': [ref('tax_report_achat_importation_ht_7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455207'),
'plus_report_expression_ids': [ref('tax_report_achats_importation_tva_7_tag')],
}),
]"/>
<field name="refund_repartition_line_ids" eval="[(5, 0, 0),
(0,0, {
'repartition_type': 'base',
'minus_report_expression_ids': [ref('tax_report_achat_importation_ht_7_tag')],
}),
(0,0, {
'repartition_type': 'tax',
'account_id': ref('pcg_3455207'),
'minus_report_expression_ids': [ref('tax_report_achats_importation_tva_7_tag')],
}),
]"/>
</record>
</odoo>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="tax_group_tva_0" model="account.tax.group">
<field name="name">TVA 0%</field>
<field name="country_id" ref="base.ma"/>
</record>
<record id="tax_group_tva_7" model="account.tax.group">
<field name="name">TVA 7%</field>
<field name="country_id" ref="base.ma"/>
</record>
<record id="tax_group_tva_10" model="account.tax.group">
<field name="name">TVA 10%</field>
<field name="country_id" ref="base.ma"/>
</record>
<record id="tax_group_tva_14" model="account.tax.group">
<field name="name">TVA 14%</field>
<field name="country_id" ref="base.ma"/>
</record>
<record id="tax_group_tva_20" model="account.tax.group">
<field name="name">TVA 20%</field>
<field name="country_id" ref="base.ma"/>
</record>
</data>
</odoo>

View file

@ -0,0 +1,416 @@
<?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.ma"/>
<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="tax_report_ventilation_chiffre_affaires_imposable" model="account.report.line">
<field name="name">Ventilation du chiffre daffaires imposable</field>
<field name="aggregation_formula">MATAXB_1.balance + MATAXB_2.balance + MATAXB_3.balance + MATAXB_4.balance + MATAXB_5.balance + MATAXB_6.balance + MATAXB_7.balance + MATAXB_8.balance</field>
<field name="children_ids">
<record id="tax_report_taux_normal_20" model="account.report.line">
<field name="name">TAUX NORMAL DE 20% (Base HT)</field>
<field name="code">MATAXB_1</field>
<field name="expression_ids">
<record id="tax_report_taux_normal_20_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX NORMAL DE 20% (Base HT)</field>
</record>
</field>
</record>
<record id="tax_report_taux_normal_tva_20" model="account.report.line">
<field name="name">TAUX NORMAL DE 20% (TVA exigible)</field>
<field name="code">MATAXB_2</field>
<field name="expression_ids">
<record id="tax_report_taux_normal_tva_20_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX NORMAL DE 20% (TVA exigible)</field>
</record>
</field>
</record>
<record id="tax_report_tauz_reduit_ht_14" model="account.report.line">
<field name="name">TAUX REDUIT DE 14% (Base HT)</field>
<field name="code">MATAXB_3</field>
<field name="expression_ids">
<record id="tax_report_tauz_reduit_ht_14_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX REDUIT DE 14% (Base HT)</field>
</record>
</field>
</record>
<record id="tax_report_taux_rediut_tva_14" model="account.report.line">
<field name="name">TAUX REDUIT DE 14% (TVA exigible)</field>
<field name="code">MATAXB_4</field>
<field name="expression_ids">
<record id="tax_report_taux_rediut_tva_14_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX REDUIT DE 14% (TVA exigible)</field>
</record>
</field>
</record>
<record id="account_report_taux_reduit_base_ht_10" model="account.report.line">
<field name="name">TAUX REDUIT DE 1O% (Base HT)</field>
<field name="code">MATAXB_5</field>
<field name="expression_ids">
<record id="account_report_taux_reduit_base_ht_10_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX REDUIT DE 1O% (Base HT)</field>
</record>
</field>
</record>
<record id="tax_report_taux_reduit_tva_10" model="account.report.line">
<field name="name">TAUX REDUIT DE 1O% (TVA exigible)</field>
<field name="code">MATAXB_6</field>
<field name="expression_ids">
<record id="tax_report_taux_reduit_tva_10_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX REDUIT DE 1O% (TVA exigible)</field>
</record>
</field>
</record>
<record id="tax_report_taux_reduit_ht_7" model="account.report.line">
<field name="name">TAUX REDUIT DE 7% (Base HT)</field>
<field name="code">MATAXB_7</field>
<field name="expression_ids">
<record id="tax_report_taux_reduit_ht_7_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX REDUIT DE 7% (Base HT)</field>
</record>
</field>
</record>
<record id="tax_report_taux_reduit_tva_7" model="account.report.line">
<field name="name">TAUX REDUIT DE 7% (TVA exigible)</field>
<field name="code">MATAXB_8</field>
<field name="expression_ids">
<record id="tax_report_taux_reduit_tva_7_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">TAUX REDUIT DE 7% (TVA exigible)</field>
</record>
</field>
</record>
</field>
</record>
<record id="tax_report_ventilation_des_deductions" model="account.report.line">
<field name="name">Ventilation des déductions</field>
<field name="aggregation_formula">1ACHATS_NON_IMMOBILISES_BASE_HT.balance + 1ACHATS_NON_IMMOBILISES_TVA_DEDUCTIBLE.balance + IMMOBILISATIONS_BASE_HT.balance + IMMOBILISATIONS_TVA_DEDUCTIBLE.balance</field>
<field name="children_ids">
<record id="tax_report_achats_non_immobilises_ht" model="account.report.line">
<field name="name">1-ACHATS NON IMMOBILISES (Base HT)</field>
<field name="code">1ACHATS_NON_IMMOBILISES_BASE_HT</field>
<field name="aggregation_formula">TRAVAUX_A_FACONS_HT.balance + SOUSTRAITANCE_TRAVAUX_IMMOBILIERS_HT.balance + BIENS_MATERIELS_BASE_HT.balance + PRESTATIONS_DE_SERVICES_BASE_HT.balance</field>
<field name="children_ids">
<record id="tax_report_travaux_facons_ht" model="account.report.line">
<field name="name">Travaux à façons (HT)</field>
<field name="code">TRAVAUX_A_FACONS_HT</field>
<field name="expression_ids">
<record id="tax_report_travaux_facons_ht_formula" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">external</field>
<field name="formula">sum</field>
<field name="subformula">editable;rounding=2</field>
</record>
</field>
</record>
<record id="tax_report_sous_traitance_immobiliers_ht" model="account.report.line">
<field name="name">Sous-traitance (travaux immobiliers) (HT)</field>
<field name="code">SOUSTRAITANCE_TRAVAUX_IMMOBILIERS_HT</field>
<field name="expression_ids">
<record id="tax_report_sous_traitance_immobiliers_ht_formula" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">external</field>
<field name="formula">sum</field>
<field name="subformula">editable;rounding=2</field>
</record>
</field>
</record>
<record id="tax_report_biens_materiels_ht" model="account.report.line">
<field name="name">Biens matériels (Base HT)</field>
<field name="code">BIENS_MATERIELS_BASE_HT</field>
<field name="aggregation_formula">ACHATS_A_LIMPORTATION_20_HT.balance + ACHATS_A_LINTERIEUR_20_HT.balance + ACHATS_A_LIMPORTATION_14_HT.balance + ACHATS_A_LINTERIEUR_14_HT.balance + ACHATS_A_LIMPORTATION_10_HT.balance + ACHATS_A_LINTERIEUR_10_HT.balance + ACHAT_A_LIMPORTATION_7_HT.balance + ACHAT_A_LINTERIEUR_7_HT.balance</field>
<field name="children_ids">
<record id="tax_report_achats_importation_ht_20" model="account.report.line">
<field name="name">Achats à l'importation (20%) (HT)</field>
<field name="code">ACHATS_A_LIMPORTATION_20_HT</field>
<field name="expression_ids">
<record id="tax_report_achats_importation_ht_20_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'importation (20%) (HT)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_ht_20" model="account.report.line">
<field name="name">Achats à l'intérieur (20%) (HT)</field>
<field name="code">ACHATS_A_LINTERIEUR_20_HT</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_ht_20_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'intérieur (20%) (HT)</field>
</record>
</field>
</record>
<record id="tax_report_achats_importation_ht_14" model="account.report.line">
<field name="name">Achats à l'importation (14%) (HT)</field>
<field name="code">ACHATS_A_LIMPORTATION_14_HT</field>
<field name="expression_ids">
<record id="tax_report_achats_importation_ht_14_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'importation (14%) (HT)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_ht_14" model="account.report.line">
<field name="name">Achats à l'intérieur (14%) (HT)</field>
<field name="code">ACHATS_A_LINTERIEUR_14_HT</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_ht_14_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'intérieur (14%) (HT)</field>
</record>
</field>
</record>
<record id="tax_report_achats_importation_ht_10" model="account.report.line">
<field name="name">Achats à l'importation (10%) (HT)</field>
<field name="code">ACHATS_A_LIMPORTATION_10_HT</field>
<field name="expression_ids">
<record id="tax_report_achats_importation_ht_10_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'importation (10%) (HT)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_ht_10" model="account.report.line">
<field name="name">Achats à l'intérieur (10%) (HT)</field>
<field name="code">ACHATS_A_LINTERIEUR_10_HT</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_ht_10_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'intérieur (10%) (HT)</field>
</record>
</field>
</record>
<record id="tax_report_achat_importation_ht_7" model="account.report.line">
<field name="name">Achat à l'importation (7%) (HT)</field>
<field name="code">ACHAT_A_LIMPORTATION_7_HT</field>
<field name="expression_ids">
<record id="tax_report_achat_importation_ht_7_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achat à l'importation (7%) (HT)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_ht_7" model="account.report.line">
<field name="name">Achat à l'intérieur (7%) (HT)</field>
<field name="code">ACHAT_A_LINTERIEUR_7_HT</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_ht_7_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achat à l'intérieur (7%) (HT)</field>
</record>
</field>
</record>
</field>
</record>
<record id="tax_report_prestations_services_ht_1" model="account.report.line">
<field name="name">Prestations de services (Base HT)</field>
<field name="code">PRESTATIONS_DE_SERVICES_BASE_HT</field>
<field name="expression_ids">
<record id="tax_report_prestations_services_ht_1_formula" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">external</field>
<field name="formula">sum</field>
<field name="subformula">editable;rounding=2</field>
</record>
</field>
</record>
</field>
</record>
<record id="tax_report_achats_immobilises_deductible_tva" model="account.report.line">
<field name="name">1-ACHATS NON IMMOBILISES (TVA déductible)</field>
<field name="code">1ACHATS_NON_IMMOBILISES_TVA_DEDUCTIBLE</field>
<field name="aggregation_formula">TRAVAUX_A_FACONS_TVA_DEDUCTIBLE.balance + SOUSTRAITANCE_TRAVAUX_IMMOBILIERS_TVA_DEDUCTIBLE.balance + BIENS_MATERIELS_TVA_DEDUCTIBLE.balance + PRESTATIONS_DE_SERVICES_TVA_DEDUCTIBLE.balance</field>
<field name="children_ids">
<record id="tax_report_travaux_facons_tva" model="account.report.line">
<field name="name">Travaux à façons (TVA déductible)</field>
<field name="code">TRAVAUX_A_FACONS_TVA_DEDUCTIBLE</field>
<field name="expression_ids">
<record id="tax_report_travaux_facons_tva_formula" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">external</field>
<field name="formula">sum</field>
<field name="subformula">editable;rounding=2</field>
</record>
</field>
</record>
<record id="tax_report_sous_traitance_immobiliers_tva" model="account.report.line">
<field name="name">Sous-traitance (travaux immobiliers) (TVA déductible)</field>
<field name="code">SOUSTRAITANCE_TRAVAUX_IMMOBILIERS_TVA_DEDUCTIBLE</field>
<field name="expression_ids">
<record id="tax_report_sous_traitance_immobiliers_tva_formula" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">external</field>
<field name="formula">sum</field>
<field name="subformula">editable;rounding=2</field>
</record>
</field>
</record>
<record id="tax_report_biens_materiels_tva" model="account.report.line">
<field name="name">Biens matériels (TVA déductible)</field>
<field name="code">BIENS_MATERIELS_TVA_DEDUCTIBLE</field>
<field name="aggregation_formula">ACHATS_A_LIMPORTATION_20_TVA.balance + ACHATS_A_LINTERIEUR_20_TVA.balance + ACHATS_A_LIMPORTATION_14_TVA.balance + ACHATS_A_LINTERIEUR_14_TVA.balance + ACHATS_A_LIMPORTATION_10_TVA.balance + ACHATS_A_LINTERIEUR_10_TVA.balance + ACHAT_A_LIMPORTATION_7_TVA.balance + ACHAT_A_LINTERIEUR_7_TVA.balance</field>
<field name="children_ids">
<record id="tax_report_achats_importation_tva_20" model="account.report.line">
<field name="name">Achats à l'importation (20%) (TVA)</field>
<field name="code">ACHATS_A_LIMPORTATION_20_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_importation_tva_20_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'importation (20%) (TVA)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_tva_20" model="account.report.line">
<field name="name">Achats à l'intérieur (20%) (TVA)</field>
<field name="code">ACHATS_A_LINTERIEUR_20_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_tva_20_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'intérieur (20%) (TVA)</field>
</record>
</field>
</record>
<record id="tax_report_achats_importation_tva_14" model="account.report.line">
<field name="name">Achats à l'importation (14%) (TVA)</field>
<field name="code">ACHATS_A_LIMPORTATION_14_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_importation_tva_14_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'importation (14%) (TVA)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_tva_14" model="account.report.line">
<field name="name">Achats à l'intérieur (14%) (TVA)</field>
<field name="code">ACHATS_A_LINTERIEUR_14_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_tva_14_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'intérieur (14%) (TVA)</field>
</record>
</field>
</record>
<record id="tax_report_achats_importation_tva_10" model="account.report.line">
<field name="name">Achats à l'importation (10%) (TVA)</field>
<field name="code">ACHATS_A_LIMPORTATION_10_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_importation_tva_10_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'importation (10%) (TVA)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_tva_10" model="account.report.line">
<field name="name">Achats à l'intérieur (10%) (TVA)</field>
<field name="code">ACHATS_A_LINTERIEUR_10_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_tva_10_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achats à l'intérieur (10%) (TVA)</field>
</record>
</field>
</record>
<record id="tax_report_achats_importation_tva_7" model="account.report.line">
<field name="name">Achat à l'importation (7%) (TVA)</field>
<field name="code">ACHAT_A_LIMPORTATION_7_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_importation_tva_7_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achat à l'importation (7%) (TVA)</field>
</record>
</field>
</record>
<record id="tax_report_achats_interieur_tva_7" model="account.report.line">
<field name="name">Achat à l'intérieur (7%) (TVA)</field>
<field name="code">ACHAT_A_LINTERIEUR_7_TVA</field>
<field name="expression_ids">
<record id="tax_report_achats_interieur_tva_7_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Achat à l'intérieur (7%) (TVA)</field>
</record>
</field>
</record>
</field>
</record>
<record id="tax_report_prestations_service_deductible_tva" model="account.report.line">
<field name="name">Prestations de services (TVA déductible)</field>
<field name="code">PRESTATIONS_DE_SERVICES_TVA_DEDUCTIBLE</field>
<field name="expression_ids">
<record id="tax_report_prestations_service_deductible_tva_formula" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">external</field>
<field name="formula">sum</field>
<field name="subformula">editable;rounding=2</field>
</record>
</field>
</record>
</field>
</record>
<record id="tax_report_immobilisations_base_ht" model="account.report.line">
<field name="name">2-IMMOBILISATIONS (Base HT)</field>
<field name="code">IMMOBILISATIONS_BASE_HT</field>
<field name="expression_ids">
<record id="tax_report_immobilisations_base_ht_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Immobilisations (Base HT)</field>
</record>
</field>
</record>
<record id="tax_report_immobilisations_deductible_tva" model="account.report.line">
<field name="name">2-IMMOBILISATIONS (TVA déductible)</field>
<field name="code">IMMOBILISATIONS_TVA_DEDUCTIBLE</field>
<field name="expression_ids">
<record id="tax_report_immobilisations_deductible_tva_tag" model="account.report.expression">
<field name="label">balance</field>
<field name="engine">tax_tags</field>
<field name="formula">Immobilisations (TVA déductible)</field>
</record>
</field>
</record>
</field>
</record>
</field>
</record>
</odoo>

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -0,0 +1,43 @@
[project]
name = "odoo-bringout-oca-ocb-l10n_ma"
version = "16.0.0"
description = "Morocco - Accounting - Odoo addon"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-base>=16.0.0",
"odoo-bringout-oca-ocb-account>=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_ma"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]