2013-04-09 97 views
0

我成功地生成了供應商發票。 我現在的問題是我無法支付我創建的發票(通過代碼)。 這似乎是由於不正確的帳戶用於付款?供應商發票和賬戶類型

錯誤是:什麼也沒有發生,事件的狀態不會從開放支付到付款 ,但是當我手動將賬戶從演示數據更改爲'X111111債權人(測試)'時,它可以毫無問題地獲得支付。

這裏是我的代碼:

for commission in self.browse(cr, uid, ids, context=context): 
     if commission.supplier_invoice.id: 
      continue 
     journal_ids = self.pool.get('account.journal').search(cr, uid, 
                   [('type', '=', 'purchase'), 
                   ('company_id', '=', 
                   commission.invoice.company_id.id)], 
                   limit=1) 
     if not journal_ids: 
      raise osv.except_osv(_('Error!'), # TODO change text message 
           _('Please define sales journal for this company: "%s" (id:%d).') % (
            'dummy', 'dummy')) 
     invoice_line = { 
      'name': 'commission', 
      'sequence': 5, 
      'invoice_id': False, 
      'account_id': commission.salesperson.partner_id.property_account_receivable.id, 
      'price_unit': commission.commission_total, 
      'quantity': 1.0, 
     } 

     invoice_line_id = self.pool.get('account.invoice.line').create(cr, uid, invoice_line, context=context) 
     new_invoice = { 
      'name': 'commission on sale', 
      'type': 'in_invoice', 
      'reference': '', 
      'account_id': commission.salesperson.partner_id.property_account_receivable.id, 
      'partner_id': commission.salesperson.partner_id.id, 
      'journal_id': journal_ids[0], 
      'invoice_line': [(6, 0, [invoice_line_id])], 
      'currency_id': commission.invoice.currency_id.id, 
      'comment': 'test', 
      'fiscal_position': commission.salesperson.partner_id.property_account_position.id, 
      'company_id': commission.invoice.company_id.id, 
      'user_id': uid 
     } 
     invoice_id = self.pool.get('account.invoice').create(cr, uid, new_invoice, context=context) 

     self.write(cr, 
        uid, 
        [commission.id], 
        {'supplier_invoice': invoice_id}, 
        context=context) 
+0

什麼問題?你期望發生什麼,發生了什麼? – YXD 2013-04-09 13:07:50

+0

問題更新 – maazza 2013-04-09 13:11:25

回答

1

關於發票創建,

'account_id': commission.salesperson.partner_id.property_account_receivable.id 

在這裏,你需要使用的,而不是應收賬款應付賬款爲您要創建供應商發票。所以代碼應該是這樣的:

'account_id': commission.salesperson.partner_id.property_account_payable.id 

關於發票行創建,

'account_id': commission.salesperson.partner_id.property_account_receivable.id, 

在這裏,您需要使用產品或產品類別的費用帳戶。

+0

希望看到更多通用發票模板添加到此項目中:https://github.com/radzhome/fedex-commercial-invoice – radtek 2016-04-27 07:19:44