37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from config.config import *
|
|
import sys
|
|
import json
|
|
import xmlrpc.client
|
|
|
|
array = sys.argv[1]
|
|
data = json.loads(array)
|
|
|
|
common = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
|
|
uid = common.authenticate(db, username, password, {})
|
|
|
|
if uid:
|
|
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
|
|
partners_id = models.execute_kw(db, uid, password, 'res.partner', 'search', [[]])
|
|
# print(json.dumps(partners_id))
|
|
|
|
invoice_vals = []
|
|
for partner in data:
|
|
invoice_val = {
|
|
'name': partner['name'],
|
|
'partner_id': partner['partners_id'],
|
|
'invoice_date': partner['invoice_date'],
|
|
'ref': 'create from api',
|
|
'move_type': 'out_invoice',
|
|
}
|
|
invoice_lines = []
|
|
for product in partner['invoice_line_ids']:
|
|
invoice_lines.append((0,0, {
|
|
'product_id': product['product_id'],
|
|
'quantity': product['quantity'],
|
|
}))
|
|
invoice_val.update({'invoice_line_ids': invoice_lines})
|
|
invoice_vals.append(invoice_val)
|
|
print(invoice_vals)
|
|
|
|
invoice_id = models.execute_kw(db, uid, password, 'account.move', 'create', [invoice_vals])
|
|
print(invoice_id) |