Added cam_invoice_skonto
parent
8dba8a2003
commit
ebd56999ff
|
|
@ -0,0 +1,27 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# OpenERP, Open Source Management Solution
|
||||||
|
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||||
|
#
|
||||||
|
# cam_invoice_skonto, Custom Module for OpenERP
|
||||||
|
# Copyright (C) 2014 Camadeus Consulting GmbH (<http://www.camadeus.at>).
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
#
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
import cam_invoice_skonto
|
||||||
|
|
||||||
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# OpenERP, Open Source Management Solution
|
||||||
|
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||||
|
#
|
||||||
|
# cam_invoice_skonto, Custom Module for OpenERP
|
||||||
|
# Copyright (C) 2014 Camadeus Consulting GmbH (<http://www.camadeus.at>).
|
||||||
|
#
|
||||||
|
# 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': 'Camadeus Invoice Skonto',
|
||||||
|
'version': '1.0',
|
||||||
|
'category': 'Custom',
|
||||||
|
'description':
|
||||||
|
"""
|
||||||
|
- Fügt die Felder Netto Tage, Skonto Tage, Skonto Prozent zu Zahlungsbedingungen (account.payment.term) hinzu.
|
||||||
|
- Fügt die Felder Skonto Fälligkeit und Betrag inkl. Skonto zur Rechnung (account.invoice) hinzu.
|
||||||
|
""",
|
||||||
|
'author': 'camadeus GmbH',
|
||||||
|
'website': 'http://www.camadeus.at',
|
||||||
|
'depends': ['account'],
|
||||||
|
'data': [
|
||||||
|
'cam_invoice_skonto_view.xml',
|
||||||
|
'cam_invoice_skonto_data.xml',
|
||||||
|
],
|
||||||
|
'installable': True,
|
||||||
|
'auto_install': False,
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
@ -0,0 +1,85 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# OpenERP, Open Source Management Solution
|
||||||
|
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||||
|
#
|
||||||
|
# cam_invoice_skonto, Custom Module for OpenERP
|
||||||
|
# Copyright (C) 2014 Camadeus Consulting GmbH (<http://www.camadeus.at>).
|
||||||
|
#
|
||||||
|
# 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.osv import fields, osv
|
||||||
|
from openerp import models, fields as f, api
|
||||||
|
import openerp.addons.decimal_precision as dp
|
||||||
|
from datetime import date, timedelta, datetime
|
||||||
|
|
||||||
|
class account_payment_term(osv.osv):
|
||||||
|
_inherit = 'account.payment.term'
|
||||||
|
|
||||||
|
_columns = {
|
||||||
|
'netto_tage': fields.integer('Netto Tage'),
|
||||||
|
'skonto_tage': fields.integer('Skonto Tage'),
|
||||||
|
'skonto_prozent': fields.float('Skonto Prozent'),
|
||||||
|
}
|
||||||
|
|
||||||
|
def write(self, cr, uid, ids, values, context=None):
|
||||||
|
if context is None:
|
||||||
|
context = {}
|
||||||
|
|
||||||
|
tl_obj = self.pool.get('account.payment.term.line')
|
||||||
|
for pay_term in self.browse(cr, uid, ids, context=context):
|
||||||
|
# Delete old account.payment.term.line
|
||||||
|
for tl_id in pay_term.line_ids:
|
||||||
|
tl_obj.unlink(cr, uid, tl_id.id, context=context)
|
||||||
|
# Create new account.payment.term.line based on netto_tage
|
||||||
|
days = 0
|
||||||
|
if('netto_tage' in values):
|
||||||
|
days = values['netto_tage']
|
||||||
|
else:
|
||||||
|
days = pay_term.netto_tage
|
||||||
|
values['line_ids'] = [(0,0, {'payment_id':pay_term.id, 'value': 'balance', 'days': days, 'days2':0})]
|
||||||
|
|
||||||
|
return super(account_payment_term, self).write(cr, uid, ids, values, context=context)
|
||||||
|
|
||||||
|
def create(self, cr, uid, vals, context=None):
|
||||||
|
if context is None:
|
||||||
|
context = {}
|
||||||
|
|
||||||
|
new_id = super(account_payment_term, self).create(cr, uid, vals, context=context)
|
||||||
|
self.write(cr, uid, new_id, {'netto_tage': vals['netto_tage']}, context=context)
|
||||||
|
|
||||||
|
return new_id
|
||||||
|
|
||||||
|
class account_invoice(models.Model):
|
||||||
|
_inherit = 'account.invoice'
|
||||||
|
|
||||||
|
@api.one
|
||||||
|
def _skonto_betrag_inkl(self):
|
||||||
|
if self.payment_term and self.payment_term.skonto_prozent:
|
||||||
|
self.skonto_betrag_inkl = self.amount_total * (1 - self.payment_term.skonto_prozent/100.0)
|
||||||
|
|
||||||
|
skonto_faelligkeit = f.Date(string=u'Skonto Fälligkeit', readonly=True)
|
||||||
|
skonto_betrag_inkl = f.Float(string='Betrag inkl. Skonto', digits=dp.get_precision('Account'), readonly=True, compute='_skonto_betrag_inkl')
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def action_skonto_faelligkeit_assign(self):
|
||||||
|
for inv in self:
|
||||||
|
if inv.payment_term and inv.payment_term.skonto_tage:
|
||||||
|
inv.write({'skonto_faelligkeit': datetime.strptime(inv.date_invoice, '%Y-%m-%d') + timedelta(days=inv.payment_term.skonto_tage)})
|
||||||
|
return True
|
||||||
|
|
||||||
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# OpenERP, Open Source Management Solution
|
||||||
|
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||||
|
#
|
||||||
|
# cam_invoice_skonto, Custom Module for OpenERP
|
||||||
|
# Copyright (C) 2014 Camadeus Consulting GmbH (<http://www.camadeus.at>).
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
#
|
||||||
|
##############################################################################
|
||||||
|
-->
|
||||||
|
|
||||||
|
<openerp>
|
||||||
|
<data>
|
||||||
|
<record id="account.act_open" model="workflow.activity">
|
||||||
|
<field name="action">action_date_assign()
|
||||||
|
action_move_create()
|
||||||
|
action_number()
|
||||||
|
invoice_validate()
|
||||||
|
action_skonto_faelligkeit_assign()</field>
|
||||||
|
</record>
|
||||||
|
</data>
|
||||||
|
</openerp>
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
##############################################################################
|
||||||
|
#
|
||||||
|
# OpenERP, Open Source Management Solution
|
||||||
|
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||||
|
#
|
||||||
|
# cam_invoice_skonto, Custom Module for OpenERP
|
||||||
|
# Copyright (C) 2014 Camadeus Consulting GmbH (<http://www.camadeus.at>).
|
||||||
|
#
|
||||||
|
# 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/>.
|
||||||
|
#
|
||||||
|
##############################################################################
|
||||||
|
-->
|
||||||
|
|
||||||
|
<openerp>
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<!-- account.payment.term -->
|
||||||
|
<record id="view_payment_term_form" model="ir.ui.view">
|
||||||
|
<field name="name">cam_invoice_skonto.payment.term.form</field>
|
||||||
|
<field name="model">account.payment.term</field>
|
||||||
|
<field name="inherit_id" ref="account.view_payment_term_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//form[@string='Payment Term']/separator[@string='Computation']" position="replace">
|
||||||
|
</xpath>
|
||||||
|
<xpath expr="//form[@string='Payment Term']/field[@name='line_ids']" position="replace">
|
||||||
|
<group col="4">
|
||||||
|
<field name="skonto_tage"/>
|
||||||
|
<field name="netto_tage"/>
|
||||||
|
<field name="skonto_prozent"/>
|
||||||
|
</group>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<!-- account.invoice -->
|
||||||
|
<record id="invoice_form" model="ir.ui.view">
|
||||||
|
<field name="name">cam_invoice_skonto.invoice.form</field>
|
||||||
|
<field name="model">account.invoice</field>
|
||||||
|
<field name="inherit_id" ref="account.invoice_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="date_due" position="after">
|
||||||
|
<field name="skonto_faelligkeit"/>
|
||||||
|
</field>
|
||||||
|
<field name="residual" position="before">
|
||||||
|
<field name="skonto_betrag_inkl"/>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</openerp>
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
|
|
@ -104,6 +104,7 @@ class Config():
|
||||||
'oerp_no_phoning_home',
|
'oerp_no_phoning_home',
|
||||||
'cam_custom',
|
'cam_custom',
|
||||||
'custom_reports',
|
'custom_reports',
|
||||||
|
'cam_invoice_skonto',
|
||||||
#'crm',
|
#'crm',
|
||||||
#'sale',
|
#'sale',
|
||||||
#'cam_hr_overtime',
|
#'cam_hr_overtime',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue