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

78
12

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

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

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

спросил(а) 2021-01-26T16:04:04+03:00 5 месяцев, 4 недели назад
1
Решение
77

В поле 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

ответил(а) 2021-01-26T16:04:04+03:00 5 месяцев, 4 недели назад
46

Вы добавили модуль account.tax?
https://apps.openerp.com/apps/modules/7.0/account_tax_invoice/

Вы можете назначить несколько налогов для Продукта. Предполагая, что вы настроили соответствующие налоги, вы должны использовать меню Sales ‣ Products ‣ Products для открытия и редактирования определения продукта, а затем:

выберите один или несколько налогов на продажу для любых продуктов, которые вы можете продать, которые могут включать в себя налог с продаж или выходного налога на добавленную стоимость и налог с продаж,

выберите один или несколько налогов на покупку для любых продуктов, которые вы можете приобрести, которые могут включать налог на покупку или налог на добавленную стоимость и налог на покупку Eco.

Как правило, когда вы совершаете покупку или продажи, налоги, присваиваемые продукту, используются для расчета налогов, причитающихся или причитающихся.


Дополнительная информация о том, как odoo обрабатывает налоги в https://doc.odoo.com/6.1/book/3/3_9/tax_structure/

ответил(а) 2021-01-26T16:04:04+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема