2013-04-09 3 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

+0

вопрос обновлен – maazza

ответ

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