Skip to content

Commit

Permalink
Merge pull request #237 from vrenaville/add_account_invoice_tax_required
Browse files Browse the repository at this point in the history
[ADD] account_invoice_tax_required
  • Loading branch information
sbidoul committed Jul 1, 2015
2 parents 3d48da8 + 2a16cb3 commit c5fae5f
Show file tree
Hide file tree
Showing 7 changed files with 223 additions and 0 deletions.
38 changes: 38 additions & 0 deletions account_invoice_tax_required/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Account invoice with tax required in invoice line
==================================================

This module adds functional a check on invoice
to force user to set tax on invoice line.



Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-financial-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
`here <https://github.com/OCA/account-financial-tools/issues/new?body=module:%20account_invoice_tax_required%0Aversion:%208.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.


Credits
=======

Contributors
------------

* Vincent Renaville <vincent.renaville@camptocamp.com>

Maintainer
----------

.. image:: http://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: http://odoo-community.org

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

To contribute to this module, please visit http://odoo-community.org.

20 changes: 20 additions & 0 deletions account_invoice_tax_required/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author Vincent Renaville. Copyright 2015 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import models
31 changes: 31 additions & 0 deletions account_invoice_tax_required/__openerp__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author Vincent Renaville. Copyright 2015 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': "Tax required in invoice",
'version': "1.0",
"author": "Camptocamp,Odoo Community Association (OCA)",
'website': "http://www.camptocamp.com",
'category': "Localisation / Accounting",
'license': "AGPL-3",
'depends': ["account"],
'data': [
],
'installable': True,
}
34 changes: 34 additions & 0 deletions account_invoice_tax_required/i18n/account_invoice_tax_require.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_tax_required
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-06-15 11:36+0000\n"
"PO-Revision-Date: 2015-06-15 11:36+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: account_invoice_tax_required
#: model:ir.model,name:account_invoice_tax_required.model_account_invoice
msgid "Invoice"
msgstr ""

#. module: account_invoice_tax_required
#: code:addons/account_invoice_tax_required/models/account_invoice.py:29
#, python-format
msgid "Invoice has a line with product %s with no taxes"
msgstr ""

#. module: account_invoice_tax_required
#: code:addons/account_invoice_tax_required/models/account_invoice.py:39
#, python-format
msgid "No Taxes Defined!"
msgstr ""

34 changes: 34 additions & 0 deletions account_invoice_tax_required/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_tax_required
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 8.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-06-15 11:36+0000\n"
"PO-Revision-Date: 2015-06-15 11:36+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: account_invoice_tax_required
#: model:ir.model,name:account_invoice_tax_required.model_account_invoice
msgid "Invoice"
msgstr "Facture"

#. module: account_invoice_tax_required
#: code:addons/account_invoice_tax_required/models/account_invoice.py:29
#, python-format
msgid "Invoice has a line with product %s with no taxes"
msgstr "La facture a un produit %s sans taxe"

#. module: account_invoice_tax_required
#: code:addons/account_invoice_tax_required/models/account_invoice.py:39
#, python-format
msgid "No Taxes Defined!"
msgstr "Aucunes taxes définies"

20 changes: 20 additions & 0 deletions account_invoice_tax_required/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author Vincent Renaville. Copyright 2015 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import account_invoice
46 changes: 46 additions & 0 deletions account_invoice_tax_required/models/account_invoice.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author Vincent Renaville. Copyright 2015 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp import models, api, exceptions, _


class AccountInvoice(models.Model):
_inherit = "account.invoice"

@api.multi
def test_invoice_line_tax(self):
errors = []
error_template = _("Invoice has a line with product %s with no taxes")
for invoice in self:
for invoice_line in invoice.invoice_line:
if not invoice_line.invoice_line_tax_id:
error_string = error_template % (invoice_line.name)
errors.append(error_string)
if errors:
errors_full_string = ','.join(x for x in errors)
raise exceptions.Warning(_('No Taxes Defined!'),
errors_full_string)
else:
return True

@api.multi
def invoice_validate(self):
self.test_invoice_line_tax()
res = super(AccountInvoice, self).invoice_validate()
return res

0 comments on commit c5fae5f

Please sign in to comment.