Счета поставщиков и типы счетов

Мне удалось создать счет поставщика. У меня сейчас проблема в том, что я не могу оплатить счет, который я создаю (по коду). Кажется, это связано с тем, что для оплаты используется неверный аккаунт?

Ошибка: ничего не происходит, состояние события не меняется с открытого на оплаченное, но когда я вручную меняю учетную запись на «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)

person maazza    schedule 09.04.2013    source источник
comment
В чем проблема? Чего вы ожидаете и что происходит?   -  person YXD    schedule 09.04.2013


Ответы (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,

Здесь вам нужно использовать счет расходов продукта или категории продукта.

person Priyesh Solanki    schedule 10.04.2013
comment
Хотелось бы, чтобы в этот проект были добавлены более общие шаблоны счетов: github.com/radzhome/fedex-commercial. -счет - person radtek; 27.04.2016