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 | 
|  | @ -103,9 +103,10 @@ class Config(): | ||||||
|             'cam_max_width', |             'cam_max_width', | ||||||
|             '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', | ||||||
|             #'cam_hr', |             #'cam_hr', | ||||||
|         ] |         ] | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue