diff --git a/addons/l10n_be/__init__.py b/addons/l10n_be/__init__.py index 48ec75c990b..106dad19d23 100644 --- a/addons/l10n_be/__init__.py +++ b/addons/l10n_be/__init__.py @@ -2,5 +2,3 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import wizard -#import xml_export -#import partner_vat_listing diff --git a/addons/l10n_be/__openerp__.py b/addons/l10n_be/__openerp__.py index 910ffc7dc85..e50f9ad0734 100644 --- a/addons/l10n_be/__openerp__.py +++ b/addons/l10n_be/__openerp__.py @@ -43,7 +43,6 @@ Wizards provided by this module: ], 'data': [ 'account_chart_template.xml', - #'account_financial_report.xml', 'account_pcmn_belgium.xml', 'account_tax_template.xml', #'wizard/l10n_be_account_vat_declaration_view.xml', @@ -55,7 +54,6 @@ Wizards provided by this module: 'account_chart_template.yml', 'security/ir.model.access.csv', 'views/report_vatintraprint.xml', - #'report_vat_statement.xml', ], 'demo': [ 'demo/l10n_be_demo.yml', diff --git a/addons/l10n_be/account_financial_report.xml b/addons/l10n_be/account_financial_report.xml deleted file mode 100644 index a9f3413349e..00000000000 --- a/addons/l10n_be/account_financial_report.xml +++ /dev/null @@ -1,914 +0,0 @@ - - - - - - - - Bilan - - no_date_range - - - - ACTIF - - - - - - TOTAL DE L'ACTIF - BE_ACTIF - - balance = BE_20_28.balance + BE_29_58.balance; credit = BE_20_28.credit + BE_29_58.credit; debit = BE_20_28.debit + BE_29_58.debit - - - - - 20/28 - Actifs immobilisés - BE_20_28 - - balance = BE_20.balance + BE_21.balance + BE_22_27.balance + BE_28.balance; credit = BE_20.credit + BE_21.credit + BE_22_27.credit + BE_28.credit; debit = BE_20.debit + BE_21.debit + BE_22_27.debit + BE_28.debit - - - - - 20 - Frais d'établissement - BE_20 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 21 - Immobilisations incorporelles - BE_21 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 22/27 - Immobilisations corporelles - BE_22_27 - - balance = BE_22.balance + BE_23.balance + BE_24.balance + BE_25.balance + BE_26.balance + BE_27.balance; credit = BE_22.credit + BE_23.credit + BE_24.credit + BE_25.credit + BE_26.credit + BE_27.credit; debit = BE_22.debit + BE_23.debit + BE_24.debit + BE_25.debit + BE_26.debit + BE_27.debit - - - - - 22 - Terrains et constructions - BE_22 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 23 - Installations, machines et outillage - BE_23 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 24 - Mobilier et matériel roulant - BE_24 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 25 - Location-financement et droits similaires - BE_25 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 26 - Autres immobilisations corporelles - BE_26 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 27 - Immobilisations en cours et acomptes versés - BE_27 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 28 - Immobilisations financières - BE_28 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 29/58 - Actif circulants - BE_29_58 - - balance = BE_29.balance + BE_3.balance + BE_40_41.balance + BE_50_53.balance + BE_54_58.balance + BE_490_1.balance; credit = BE_29.credit + BE_3.credit + BE_40_41.credit + BE_50_53.credit + BE_54_58.credit + BE_490_1.credit; debit = BE_29.debit + BE_3.debit + BE_40_41.debit + BE_50_53.debit + BE_54_58.debit + BE_490_1.debit - - - - - 29 - Créances à plus d'un an - BE_29 - - balance = BE_290.balance + BE_291.balance; credit = BE_290.credit + BE_291.credit; debit = BE_290.debit + BE_291.debit - - - - - 290 - Créances commerciales - BE_290 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 291 - Autres créances - BE_291 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 3 - Stocks et commandes en cours d'exécution - BE_3 - - balance = BE_30_36.balance + BE_37.balance; credit = BE_30_36.credit + BE_37.credit; debit = BE_30_36.debit + BE_37.debit - - - - - 30/36 - Stocks - BE_30_36 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 27 - Commandes en cours d'exécution - BE_37 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 40/41 - Créances à un an au plus - BE_40_41 - - balance = BE_40.balance + BE_41.balance; credit = BE_40.credit + BE_41.credit; debit = BE_40.debit + BE_41.debit - - - - - 40 - Créances commerciales - BE_40 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 41 - Autres créances - BE_41 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 50/53 - Placements de trésorerie - BE_50_53 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 54/58 - Valeurs disponibles - BE_54_58 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 490/1 - Comptes de régularisation - BE_490_1 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - PASSIF - - - - - - TOTAL DU PASSIF - BE_ACTIF - - balance = BE_UNAFFECTED_EARNINGS.balance + BE_10_15.balance + BE_16.balance + BE_17_49.balance; credit = BE_UNAFFECTED_EARNINGS.credit + BE_10_15.credit + BE_16.credit + BE_17_49.credit; debit = BE_UNAFFECTED_EARNINGS.debit + BE_10_15.debit + BE_16.debit + BE_17_49.debit - - - - - 10/15 - Capitaux propres - BE_10_15 - - balance = BE_10.balance + BE_11.balance + BE_12.balance + BE_13.balance + BE_14.balance + BE_15.balance + BE_19.balance; credit = BE_10.credit + BE_11.credit + BE_12.credit + BE_13.credit + BE_14.credit + BE_15.credit + BE_19.credit; debit = BE_10.debit + BE_11.debit + BE_12.debit + BE_13.debit + BE_14.debit + BE_15.debit + BE_19.debit - - - - - 10 - Capital - BE_10 - - balance = BE_100.balance - BE_101.balance; credit = BE_100.credit - BE_101.credit; debit = BE_100.debit - BE_101.debit - - - - - 100 - Capital souscrit - BE_100 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 101 - Capital non appelé - BE_101 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 11 - Primes d'émission - BE_11 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 12 - Plus-values de réévaluation - BE_12 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 13 - Réserves - BE_13 - - balance = BE_130.balance + BE_131.balance + BE_132.balance + BE_133.balance; credit = BE_130.credit + BE_131.credit + BE_132.credit + BE_133.credit; debit = BE_130.debit + BE_131.debit + BE_132.debit + BE_133.debit - - - - - 130 - Réserve légale - BE_130 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 131 - Réserves indisponibles - BE_131 - - balance = BE_1310.balance + BE_1311.balance; credit = BE_1310.credit + BE_1311.credit; debit = BE_1310.debit + BE_1311.debit - - - - - 1310 - Pour actions propres - BE_1310 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 1311 - Autres - BE_1311 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 132 - Réserves immunisées - BE_132 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 133 - Réserves disponibles - BE_133 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 14 - Bénéfice (Perte) reporté(e) - BE_14 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 149 - Bénéfice (Perte) en cours - BE_UNAFFECTED_EARNINGS - - balance = NEP.balance - sum.balance - - from_beginning - - - - - 15 - Subsides en capital - BE_15 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 19 - Avance aux associés sur répartition de l'actif net - BE_19 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 16 - Provisions et impôts différés - BE_16 - - balance = BE_160_5.balance + BE_168.balance; credit = BE_160_5.credit + BE_168.credit; debit = BE_160_5.debit + BE_168.debit - - - - - 160/5 - Provisions pour risques et charges - BE_160_5 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 168 - Impôts différés - BE_168 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 17/49 - Dettes - BE_17_49 - - balance = BE_17.balance + BE_42_48.balance + BE_492_3.balance; credit = BE_17.credit + BE_42_48.credit + BE_492_3.credit; debit = BE_17.debit + BE_42_48.debit + BE_492_3.debit - - - - - 17 - Dettes à plus d'un an - BE_17 - - balance = BE_170_4.balance + BE_175.balance + BE_176.balance + BE_178_9.balance; credit = BE_170_4.credit + BE_175.credit + BE_176.credit + BE_178_9.credit; debit = BE_170_4.debit + BE_175.debit + BE_176.debit + BE_178_9.debit - - - - - 170/4 - Dettes financières - BE_170_4 - - balance = BE_172_3.balance + BE_174_0.balance; credit = BE_172_3.credit + BE_174_0.credit; debit = BE_172_3.debit + BE_174_0.debit - - - - - 172/3 - Etablissements de crédit, dettes de location-financement et assmilisées - BE_172_3 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 174/0 - Autres emprunts - BE_174_0 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 175 - Dettes commerciales - BE_175 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 176 - Acomptes recus sur commandes - BE_176 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 178/9 - Autres dettes - BE_178_9 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 42/48 - Dettes à un an au plus - BE_42_48 - - balance = BE_42.balance + BE_43.balance + BE_44.balance + BE_46.balance + BE_45.balance + BE_47_8.balance; credit = BE_42.credit + BE_43.credit + BE_44.credit + BE_46.credit + BE_45.credit + BE_47_8.credit; debit = BE_42.debit + BE_43.debit + BE_44.debit + BE_46.debit + BE_45.debit + BE_47_8.debit - - - - - 42 - Dettes à plus d'un an échéant dans l'année - BE_42 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 43 - Dettes financières - BE_43 - - balance = BE_430_8.balance + BE_439.balance; credit = BE_430_8.credit + BE_439.credit; debit = BE_430_8.debit + BE_439.debit - - - - - 430/8 - Etablissements de crédit - BE_430_8 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 439 - Autres emprunts - BE_439 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 44 - Dettes commerciales - BE_44 - - balance = BE_440_4.balance + BE_441.balance; credit = BE_440_4.credit + BE_441.credit; debit = BE_440_4.debit + BE_441.debit - - - - - 440/4 - Fournisseurs - BE_440_4 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 441 - Effets à payer - BE_441 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 46 - Acomptes recus sur commandes - BE_46 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 45 - Dettes fiscales, salariales et sociales - BE_45 - - balance = BE_450_3.balance + BE_454_9.balance; credit = BE_450_3.credit + BE_454_9.credit; debit = BE_450_3.debit + BE_454_9.debit - - - - - 450/3 - Impôts - BE_450_3 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 454/9 - Rémunérations et charges sociales - BE_454_9 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 47/8 - Autres dettes - BE_47_8 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 492/3 - Comptes de régularisation - BE_492_3 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - - - - Compte de résultats - - date_range - - - - Compte des résultats - account_report_generic - - - - - - - - Produits et charges d'exploitation - BE_PRODUITS - - - - - - 9900 - Marge brute d'exploitation - BE_9900 - - account_id - balance = BE_70.balance - BE_60_61.balance; credit = BE_70.credit - BE_60_61.credit; debit = BE_70.debit - BE_60_61.debit - - - - - 70 - Chiffre d'affaires - BE_70 - - - account_id - balance = -sum.balance; credit = sum.credit; debit = sum.debit - - - - - 60/61 - Approvisionnements, marchandises, services et biens divers - BE_60_61 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 62 - Rémunérations, charges sociales et pensions - BE_62 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 630 - Amortissements et réductions de valeur sur frais d'établissement, sur immobilisations incorporelles et corporelles - BE_630 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 631/4 - Réductions de valeur sur stocks, sur commandes en cours d'exécution et sur créances commerciales: dotations (reprises) - BE_631_4 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 635/7 - Provisions pour risques et charges: dotations (utilisations et reprises) - BE_635_7 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 640/8 - Autres charges d'exploitation - BE_640_8 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 649 - Charges d'exploitation portées à l'actif au titre de frais de restructuration - BE_649 - - - account_id - balance = sum.balance; credit = sum.credit; debit = sum.debit - - - - - 9901 - Bénéfice (Perte) d'exploitation - BE_9901 - - balance = BE_9900.balance - BE_62.balance - BE_630.balance - BE_631_4.balance - BE_635_7.balance - BE_640_8.balance - BE_649.balance; credit = BE_9900.credit - BE_62.credit - BE_630.credit - BE_631_4.credit - BE_635_7.credit - BE_640_8.credit - BE_649.credit; debit = BE_9900.debit - BE_62.debit - BE_630.debit - BE_631_4.debit - BE_635_7.debit - BE_640_8.debit - BE_649.debit - - - - - 75 - Produits financiers - BE_75 - - - balance = -sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 65 - Charges financières - BE_65 - - - balance = sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 9902 - Bénéfice (Perte) courant(e) avant impôts - BE_9902 - - balance = BE_9901.balance + BE_75.balance - BE_65.balance; credit = BE_9901.credit + BE_75.credit - BE_65.credit; debit = BE_9901.debit + BE_75.debit - BE_65.debit - - - - - 76 - Produits exceptionnels - BE_76 - - - balance = -sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 66 - Charges exceptionnelles - BE_66 - - - balance = sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 9903 - Bénéfice (Perte) courant(e) avant impôts - BE_9903 - - balance = BE_9902.balance + BE_76.balance - BE_66.balance; credit = BE_9902.credit + BE_76.credit - BE_66.credit; debit = BE_9902.debit + BE_76.debit - BE_66.debit - - - - - 780 - Prélèvements sur les impôts différés - BE_780 - - - balance = -sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 680 - Transfert sur les impôts différés - BE_680 - - - balance = sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 67/77 - Impôts sur le résultat - BE_67_77 - - - balance = sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 9904 - Bénéfice (Perte) de l'exercice - BE_9904 - - balance = BE_9903.balance + BE_780.balance - BE_680.balance - BE_67_77.balance; credit = BE_9903.credit + BE_780.credit - BE_680.credit - BE_67_77.credit; debit = BE_9903.debit + BE_780.debit - BE_680.debit - BE_67_77.debit - - - - - 789 - Prélèvements sur les réserves immunisées - BE_789 - - - balance = -sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 689 - Transfert aux réserves immunisées - BE_689 - - - balance = sum.balance; credit = sum.credit; debit = sum.debit - account_id - - - - - 9905 - Bénéfice (Perte) de l'exercice à affecter - BE_9905 - - balance = BE_9904.balance + BE_789.balance - BE_689.balance; credit = BE_9904.credit + BE_789.credit - BE_689.credit; debit = BE_9904.debit + BE_789.debit - BE_680.debit - - - - - diff --git a/addons/l10n_be/partner_vat_listing.py b/addons/l10n_be/partner_vat_listing.py deleted file mode 100644 index 2c886e9be56..00000000000 --- a/addons/l10n_be/partner_vat_listing.py +++ /dev/null @@ -1,97 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - -from openerp import models, api, _ -from openerp.tools.misc import formatLang - - -class ReportL10nBePartnerVatListing(models.AbstractModel): - _name = "l10n.be.report.partner.vat.listing" - _description = "Partner VAT Listing" - - @api.model - def get_lines(self, context_id, line_id=None): - lines = [] - - partner_ids = self.env['res.partner'].search([('vat_subjected', '!=', False), ('vat', 'ilike', 'BE%')]).ids - if not partner_ids: - return lines - tag_ids = [self.env['ir.model.data'].xmlid_to_res_id(k) for k in ['l10n_be.tax_tag_base_00', 'l10n_be.tax_tag_base_01', 'l10n_be.tax_tag_base_02', 'l10n_be.tax_tag_base_03', 'l10n_be.tax_tag_base_45']] - tag_ids_2 = [self.env['ir.model.data'].xmlid_to_res_id(k) for k in ['l10n_be.tax_tag_base_01', 'l10n_be.tax_tag_base_02', 'l10n_be.tax_tag_base_03']] - self.env.cr.execute("""SELECT sub1.partner_id, sub1.name, sub1.vat, sub1.turnover, sub2.vat_amount - FROM (SELECT l.partner_id, p.name, p.vat, SUM(l.balance) as turnover - FROM account_move_line l - LEFT JOIN res_partner p ON l.partner_id = p.id - LEFT JOIN account_move_line_account_tax_rel amlt ON l.id = amlt.account_move_line_id - LEFT JOIN account_tax_account_tag tt on amlt.account_tax_id = tt.account_tax_id - WHERE tt.account_account_tag_id IN %s - AND l.partner_id IN %s - AND l.date >= %s - AND l.date <= %s - GROUP BY l.partner_id, p.name, p.vat) AS sub1 - LEFT JOIN (SELECT l2.partner_id, SUM(l2.balance) as vat_amount - FROM account_move_line l2 - LEFT JOIN account_tax_account_tag tt2 on l2.tax_line_id = tt2.account_tax_id - WHERE tt2.account_account_tag_id IN %s - AND l2.partner_id IN %s - AND l2.date > %s - AND l2.date < %s - GROUP BY l2.partner_id) AS sub2 ON sub1.partner_id = sub2.partner_id - """, (tuple(tag_ids), tuple(partner_ids), context_id.date_from, context_id.date_to, tuple(tag_ids_2), tuple(partner_ids), context_id.date_from, context_id.date_to)) - for record in self.env.cr.dictfetchall(): - columns = [record['vat'].replace(' ', '').upper(), record['turnover'], record['vat_amount']] - if not self.env.context.get('no_format', False): - currency_id = self.env.user.company_id.currency_id - columns[1] = formatLang(self.env, columns[1], currency_obj=currency_id) - columns[2] = formatLang(self.env, columns[2], currency_obj=currency_id) - lines.append({ - 'id': record['partner_id'], - 'type': 'partner_id', - 'name': record['name'], - 'footnotes': context_id._get_footnotes('partner_id', record['partner_id']), - 'columns': columns, - 'level': 2, - 'unfoldable': False, - 'unfolded': False, - }) - return lines - - @api.model - def get_title(self): - return _('Partner VAT Listing') - - @api.model - def get_name(self): - return 'l10n_be_partner_vat_listing' - - @api.model - def get_report_type(self): - return 'no_comparison' - - @api.model - def get_template(self): - return 'account_reports.report_financial' - - -class ReportL10nBePartnerVatListingContext(models.TransientModel): - _name = "l10n.be.partner.vat.listing.context" - _description = "A particular context for the generic tax report" - _inherit = "account.report.context.common" - - def get_report_obj(self): - return self.env['l10n.be.report.partner.vat.listing'] - - @api.multi - def remove_line(self, line_id): - return - - @api.multi - def add_line(self, line_id): - return - - def get_columns_names(self): - return [_('VAT Number'), _('Turn Over'), _('VAT Amount')] - - @api.multi - def get_columns_types(self): - return ['text', 'number', 'number'] diff --git a/addons/l10n_be/report_vat_statement.xml b/addons/l10n_be/report_vat_statement.xml deleted file mode 100644 index 2ce14f14458..00000000000 --- a/addons/l10n_be/report_vat_statement.xml +++ /dev/null @@ -1,376 +0,0 @@ - - - - - - Déclaration périodique à la TVA - date_range - - - - Total de contrôle - - - - - - - Opérations - - - - - - - II A la sortie - - - - - - - 00 - Opérations soumises à un régime particulier - BETAX00 - balance = sum.credit - - - - never - - - - 01 - Opérations avec TVA à 6% - BETAX01 - balance = sum.credit - - - - never - - - - 02 - Opérations avec TVA à 12% - BETAX02 - balance = sum.credit - - - - never - - - - 03 - Opérations avec TVA à 21% - BETAX03 - balance = sum.credit - - - - never - - - - 44 - Services intra-communautaires - BETAX44 - balance = sum.credit - - - - never - - - - 45 - Opérations avec TVA due par le cocontractant - BETAX45 - balance = sum.credit - - - - never - - - - 46 - Livraisons intra-communautaire exemptées - BETAX46 - balance = BETAX46L.balance + BETAX46T.balance - - - - - - 46L - Livraisons biens intra-communautaire exemptées - BETAX46L - balance = sum.credit - - - - never - - - - 46T - Livraisons biens intra-communautaire exemptées - BETAX46T - balance = sum.credit - - - - never - - - - 47 - Autres opérations exemptées - BETAX47 - balance = sum.credit - - - - never - - - - 48 - Notes de crédit aux opérations grilles [44] et [46] - BETAX48 - balance = BETAX48s44.balance + BETAX48s46L.balance + BETAX48s46T.balance - - - - - - 48s44 - Notes de crédit aux opérations grilles [44] - BETAX48s44 - balance = sum.debit - - - - never - - - - 48s46L - Notes de crédit aux opérations grilles [46L] - BETAX48s46L - balance = sum.debit - - - - never - - - - 48s46T - Notes de crédit aux opérations grilles [46T] - BETAX48s46T - balance = sum.debit - - - - never - - - - 49 - Notes de crédit aux opérations du point II - BETAX49 - balance = sum.debit - - - - never - - - - - III A l'entrée - - - - - - - 81 - Marchandises, matières premières et auxiliaires - BETAX81 - balance = sum.balance - - - - never - - - - 82 - Services et biens divers - BETAX82 - balance = sum.balance - - - - never - - - - 83 - Biens d'investissement - BETAX83 - balance = sum.balance - - - - never - - - - 84 - Notes de crédits sur opérations case [86] et [88] - BETAX84 - balance = sum.credit - - - - never - - - - 85 - Notes de crédits autres opérations - BETAX85 - balance = sum.credit - - - - never - - - - 86 - Acquisition intra-communautaires et ventes ABC - BETAX86 - balance = sum.balance - - - - never - - - - 87 - Autres opérations - BETAX87 - balance = sum.balance - - - - never - - - - 88 - Acquisition services intra-communautaires - BETAX88 - balance = sum.balance - - - - never - - - - - Taxes - - - - - - - IV Dues - - - - - - - 54 - TVA sur opérations des grilles [01], [02], [03] - BETAX54 - balance = sum.credit - - - - never - - - - 55 - TVA sur opérations des grilles [86] et [88] - BETAX55 - balance = sum.debit - - - - never - - - - 56 - TVA sur opérations de la grille [87] - BETAX56 - balance = sum.debit - - - - never - - - - 57 - TVA relatives aux importations - BETAX57 - balance = sum.debit - - - - never - - - - 61 - Diverses régularisations en faveur de l'Etat - BETAX61 - balance = sum.credit - - - never - - - - 63 - TVA à reverser sur notes de crédit recues - BETAX63 - balance = sum.credit - - - - never - - - - - V Déductibles - - - - - - - 59 - TVA déductible - BETAX59 - balance = sum.debit - - - - never - - - - 64 - TVA à recuperer sur notes de crédit delivrées - BETAX64 - balance = sum.debit - - - - never - - - - - Partner VAT Listing - account_report_generic - - - - - - diff --git a/addons/l10n_be/xml_export.py b/addons/l10n_be/xml_export.py deleted file mode 100644 index 1c8c8663967..00000000000 --- a/addons/l10n_be/xml_export.py +++ /dev/null @@ -1,283 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. -from openerp import models, api, _ -from openerp.exceptions import UserError -import calendar - - -class AccountFinancialReportXMLExport(models.AbstractModel): - _inherit = "account.financial.report.xml.export" - - @api.model - def is_xml_export_available(self, report_name, report_id=None): - if report_name == 'l10n.be.report.partner.vat.listing' or (report_name == 'account.financial.report' and report_id == self.env['ir.model.data'].xmlid_to_res_id('l10n_be.account_financial_report_l10n_be_tva0')): - return True - else: - return super(AccountFinancialReportXMLExport, self).is_xml_export_available(report_name, report_id) - - def do_xml_export(self, context): - if context.get_report_obj()._name == 'account.financial.report' and context.get_report_obj().id == self.env['ir.model.data'].xmlid_to_res_id('l10n_be.account_financial_report_l10n_be_tva0'): - return self._l10n_be_vat_export(context) - if context.get_report_obj()._name == 'l10n.be.report.partner.vat.listing': - return self._l10n_be_partner_vat_export(context) - else: - return super(AccountFinancialReportXMLExport, self).do_xml_export(context) - - @api.model - def check(self, report_name, report_id=None): - if report_name == 'account.financial.report' and report_id == self.env['ir.model.data'].xmlid_to_res_id('l10n_be.account_financial_report_l10n_be_tva0'): - company = self.env.user.company_id - vat_no = company.partner_id.vat - if not vat_no: - return _('No VAT number associated with your company.') - default_address = company.partner_id.address_get() - address = self.env['res.partner'].browse(default_address.get("default", company.partner_id)) - if not address.email: - return _('No email address associated with the company.') - if not address.phone: - return _('No phone associated with the company.') - return True - if report_name == 'l10n.be.report.partner.vat.listing': - company = self.env.user.company_id - vat_no = company.partner_id.vat - if not vat_no: - return _('No VAT number associated with your company.') - default_address = company.partner_id.address_get() - address = default_address.get('invoice', company.partner_id) - if not address.email: - return _('No email address associated with the company.') - if not address.phone: - return _('No phone associated with the company.') - return True - else: - return super(AccountFinancialReportXMLExport, self).check(report_name, report_id) - - def _l10n_be_partner_vat_export(self, context): - seq_declarantnum = self.env['ir.sequence'].get('declarantnum') - company = self.env.user.company_id - company_vat = company.partner_id.vat - - company_vat = company_vat.replace(' ', '').upper() - SenderId = company_vat[2:] - issued_by = company_vat[:2] - dnum = company_vat[2:] + seq_declarantnum[-4:] - street = city = country = '' - addr = company.partner_id.address_get(['invoice']) - if addr.get('invoice', False): - ads = self.env['res.partner'].browse([addr['invoice']])[0] - phone = ads.phone and ads.phone.replace(' ', '') or '' - email = ads.email or '' - city = ads.city or '' - zip = ads.zip or '' - if not city: - city = '' - if ads.street: - street = ads.street - if ads.street2: - street += ' ' + ads.street2 - if ads.country_id: - country = ads.country_id.code - - annual_listing_data = { - 'issued_by': issued_by, - 'company_vat': company_vat, - 'comp_name': company.name, - 'street': street, - 'zip': zip, - 'city': city, - 'country': country, - 'email': email, - 'phone': phone, - 'SenderId': SenderId, - 'period': context.date_from[0:4], - 'comments': context.summary or '', - } - - data_file = """ - - - %(SenderId)s - %(comp_name)s - %(street)s - %(zip)s - %(city)s""" - if annual_listing_data['country']: - data_file += "\n\t\t%(country)s" - data_file += """ - %(email)s - %(phone)s - """ - data_file = data_file % annual_listing_data - - data_comp = """ - - %(SenderId)s - %(comp_name)s - %(street)s - %(zip)s - %(city)s - %(country)s - %(email)s - %(phone)s - - %(period)s - """ % annual_listing_data - - # Turnover and Farmer tags are not included - date_from = context.date_from[0:4] + '-01-01' - date_to = context.date_from[0:4] + '-12-31' - lines = context.get_report_obj().with_context(no_format=True, date_from=date_from, date_to=date_to).get_lines(context) - - data_client_info = '' - seq = 0 - sum_turnover = 0.00 - sum_tax = 0.00 - for line in lines: - seq += 1 - sum_turnover += line['columns'][1] - sum_tax += line['columns'][2] - amount_data = { - 'seq': str(seq), - 'only_vat': line['columns'][0][2:], - 'turnover': '%.2f' % line['columns'][1], - 'vat_amount': '%.2f' % line['columns'][2], - } - data_client_info += """ - - %(only_vat)s - %(turnover)s - %(vat_amount)s - """ % amount_data - - amount_data_begin = { - 'seq': str(seq), - 'dnum': dnum, - 'sum_turnover': sum_turnover, - 'sum_tax': sum_tax, - } - data_begin = """ - -""" % amount_data_begin - - data_end = """ - - %(comments)s - - -""" % annual_listing_data - - return data_file + data_begin + data_comp + data_client_info + data_end - - def _l10n_be_vat_export(self, context): - list_of_tags = ['00', '01', '02', '03', '44', '45', '46', '47', '48', '49', '54', '55', '56', '57', '59', '61', '62', '63', '64', '71', '72', '81', '82', '83', '84', '85', '86', '87', '88', '91'] - company = self.env.user.company_id - - vat_no = company.partner_id.vat - if not vat_no: - raise UserError(_('No VAT number associated with your company.')) - - vat_no = vat_no.replace(' ', '').upper() - - default_address = company.partner_id.address_get() - address = self.env['res.partner'].browse(default_address.get("default", company.partner_id)) - - issued_by = vat_no[:2] - - send_ref = str(company.partner_id.id) + str(context.date_from[5:7]) + str(context.date_to[:4]) - starting_month = context.date_from[5:7] - ending_month = context.date_to[5:7] - quarter = str(((int(starting_month) - 1) / 3) + 1) - - date_from = context.date_from[0:7] + '-01' - date_to = context.date_to[0:7] + '-' + str(calendar.monthrange(int(context.date_to[0:4]), int(ending_month))[1]) - lines = context.get_report_obj().with_context(no_format=True, date_from=date_from, date_to=date_to).get_lines(context) - - data = {'client_nihil': False, 'ask_restitution': False, 'ask_payment': False} - - if not address.email: - raise UserError(_('No email address associated with the company.')) - if not address.phone: - raise UserError(_('No phone associated with the company.')) - file_data = { - 'issued_by': issued_by, - 'vat_no': vat_no, - 'only_vat': vat_no[2:], - 'cmpny_name': company.name, - 'address': "%s %s" % (address.street or "", address.street2 or ""), - 'post_code': address.zip or "", - 'city': address.city or "", - 'country_code': address.country_id and address.country_id.code or "", - 'email': address.email or "", - 'phone': address.phone.replace('.', '').replace('/', '').replace('(', '').replace(')', '').replace(' ', ''), - 'send_ref': send_ref, - 'quarter': quarter, - 'month': starting_month, - 'year': str(context.date_to[:4]), - 'client_nihil': (data['client_nihil'] and 'YES' or 'NO'), - 'ask_restitution': (data['ask_restitution'] and 'YES' or 'NO'), - 'ask_payment': (data['ask_payment'] and 'YES' or 'NO'), - 'comments': context.summary or '', - } - - data_of_file = """ - - - %(only_vat)s - %(cmpny_name)s - %(address)s - %(post_code)s - %(city)s - %(country_code)s - %(email)s - %(phone)s - - - - %(only_vat)s - %(cmpny_name)s - %(address)s - %(post_code)s - %(city)s - %(country_code)s - %(email)s - %(phone)s - - - """ % (file_data) - - if starting_month != ending_month: - # starting month and ending month of selected period are not the same - # it means that the accounting isn't based on periods of 1 month but on quarters - data_of_file += '\t\t%(quarter)s\n\t\t' % (file_data) - else: - data_of_file += '\t\t%(month)s\n\t\t' % (file_data) - data_of_file += '\t%(year)s' % (file_data) - data_of_file += '\n\t\t\n' - data_of_file += '\t\t\t' - cases_list = [] - for line in lines: - if line['name'].startswith('91') and ending_month != 12: - # the tax code 91 can only be send for the declaration of December - continue - currency_id = self.env.user.company_id.currency_id - if line['columns'][0] and not currency_id.is_zero(line['columns'][0]): - for tag in list_of_tags: - if line['name'].startswith(tag): - cases_list.append((tag, line['columns'][0])) - del tag - cases_list = sorted(cases_list, key=lambda a: a[0]) - for item in cases_list: - grid_amount_data = { - 'code': str(int(item[0])), - 'amount': '%.2f' % abs(item[1]), - } - data_of_file += '\n\t\t\t%(amount)s' % (grid_amount_data) - - data_of_file += '\n\t\t' - data_of_file += '\n\t\t%(client_nihil)s' % (file_data) - data_of_file += '\n\t\t' % (file_data) - data_of_file += '\n\t\t%(comments)s' % (file_data) - data_of_file += '\n\t \n' - - return data_of_file