Seems that the account_anglo_saxon is broken with the latest openerp updates. :-( Prerequisite: Stock location must have GL-account Product category must have stock_input, stock_output and price_diff GL-account Product must have configured product-category Reproduction steps: 1. Create a PO 2. Receive the goods in stock 3. Go to the invoice, change the product price, so a price-diff is there. 4. Accept the (changed) invoice. Error pop up. (if there is no price-diff created on the invoice, everything works ok) The error-message is: ++++++++++++++++++++++++++++++++++++++++++ Environment Information : System : Linux-2.6.28-15-generic-i686-with-Ubuntu-9.04-jaunty OS Name : posix Distributor ID: Ubuntu Description: Ubuntu 9.04 Release: 9.04 Codename: jaunty Operating System Release : 2.6.28-15-generic Operating System Version : #49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009 Operating System Architecture : 32bit Operating System Locale : en_US.UTF8 Python Version : 2.6.2 OpenERP-Client Version : 5.0.2 Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last): File "/home/jverlaan/openerp/5_0_2/server/bin/netsvc.py", line 240, in dispatch result = LocalService(service_name)(method, *params) File "/home/jverlaan/openerp/5_0_2/server/bin/netsvc.py", line 73, in __call__ return getattr(self, method)(*params) File "/home/jverlaan/openerp/5_0_2/server/bin/service/web_services.py", line 577, in exec_workflow res = service.exec_workflow(db, uid, object, method, id) File "/home/jverlaan/openerp/5_0_2/server/bin/osv/osv.py", line 59, in wrapper return f(self, dbname, *args, **kwargs) File "/home/jverlaan/openerp/5_0_2/server/bin/osv/osv.py", line 137, in exec_workflow res = self.exec_workflow_cr(cr, uid, obj, method, *args) File "/home/jverlaan/openerp/5_0_2/server/bin/osv/osv.py", line 130, in exec_workflow_cr return wf_service.trg_validate(uid, obj, args[0], method, cr) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/wkf_service.py", line 81, in trg_validate res2 = instance.validate(cr, id, ident, signal) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/instance.py", line 49, in validate workitem.process(cr, witem, ident, signal, force_running, stack=stack) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 62, in process ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 175, in _split_test _join_test(cr, t[0], t[1], ident, stack) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 183, in _join_test create(cr,[activity], inst_id, ident, stack) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 42, in create process(cr, res, ident, stack=stack) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 54, in process result = _execute(cr, workitem, activity, ident, stack) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/workitem.py", line 108, in _execute wkf_expr.execute(cr, ident, workitem, activity) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/wkf_expr.py", line 68, in execute return _eval_expr(cr, ident, workitem, activity['action']) File "/home/jverlaan/openerp/5_0_2/server/bin/workflow/wkf_expr.py", line 58, in _eval_expr ret = eval(line, env) File "", line 1, in File "/home/jverlaan/openerp/5_0_2/server/bin/osv/orm.py", line 168, in return lambda *args, **argv: getattr(self._table, name)(self._cr, self._uid, [self._id], *args, **argv) File "/home/jverlaan/openerp/5_0_2/addons/account/invoice.py", line 500, in action_move_create iml = self._get_analytic_lines(cr, uid, inv.id) File "/home/jverlaan/openerp/5_0_2/addons/account/invoice.py", line 458, in _get_analytic_lines iml = self.pool.get('account.invoice.line').move_line_get(cr, uid, inv.id) File "/home/jverlaan/openerp/5_0_2/addons/account_anglo_saxon/invoice.py", line 106, in move_line_get 'taxes':line['taxes'], KeyError: 'taxes' ++++++++++++++++++++++++++++++++++++++