Создание строки счета с использованием API WebService для Odoo (OpenERP) для переполнения стека

Я пытаюсь создать строку счета, используя следующий код:

    // 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))

Другой массив необходим, потому что этот формат представляет собой список триплетов.

2

Решение

Для тебя 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

2

Другие решения

Вы добавили модуль 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/

0

По вопросам рекламы [email protected]