Я пытаюсь создать строку счета, используя следующий код:
// Invoice line creation
$result = $models->execute_kw($db, $uid, $password,
'account.invoice.line', 'create',
array(array(
'Invoice'=>$invoice,
'invoice_id'=>$invoice_id,
'product_id'=>$product_id,
'quantity'=>$product_quantity,
'name'=>$product_name,
'price_unit'=>$product_price,
'invoice_line_tax_id'=>array($odoo_tax_id)
)));
Реестр создается в счет-фактуре, но он не облагается налогом.
ОБНОВИТЬ
Продукт, использованный для строки счета, был создан перед использованием:
// Product creation
$product_id = $models->execute_kw($db, $uid, $password,
'product.product', 'create',
array(array(
'default_code'=>$product_ref,
'name'=>$product_name,
'list_price'=>$product_price,
))
);
И счет был создан с использованием:
// Invoice creation
$invoice_id = $models->execute_kw($db, $uid, $password,
'account.invoice', 'create',
array(array('partner_id'=>$parter_id,'account_id'=>$odoo_invoice_account_id)));
$invoice = $models->execute_kw($db, $uid, $password,
'account.invoice', 'read', array($invoice_id),
array());
ОБНОВИТЬ
Следуя ответу Кристофа Комбелла, я закончил следующим кодом:
'invoice_line_tax_id'=>array(array(4, $tax_id,false))
Другой массив необходим, потому что этот формат представляет собой список триплетов.
Для тебя invoice_line_tax_id
поле, попробуйте заменить array($odoo_tax_id)
с array(6, 0, array($odoo_tax_id))
Не уверен насчет синтаксиса PHP, в Python это будет (6, 0, [tax_id])
Это задокументировано в https://www.odoo.com/documentation/8.0/reference/orm.html#openerp.models.Model.write
Вы добавили модуль account.tax?
https://apps.openerp.com/apps/modules/7.0/account_tax_invoice/
Вы можете назначить несколько налогов на продукт. Предполагая, что вы настроили
соответствующие налоги, вы бы использовали меню Продажи Sales Продукты ‣
Продукты, чтобы открыть и отредактировать определение продукта, затем:выберите один или несколько налогов на продажу для любых продуктов, которые вы можете продавать,
который может включать налог с продаж или выходной НДС и экологический налог с продаж,выберите один или несколько налогов на покупку для любых продуктов, которые вы можете
покупка, которая может включать налог на покупку или входной НДС и покупку
Эко Налог.Как правило, когда вы совершаете покупку или продажу, налоги назначаются
продукт используется для расчета причитающихся или причитающихся налогов.
Больше информации о том, как odoo обращается с налогами на https://doc.odoo.com/6.1/book/3/3_9/tax_structure/