Odoo Help

0

XML-RPC Question: Why do account.analytic.line not become invoiceable when importing through xmlrpc?

By
Michael Hucke
on 2/17/17, 6:07 AM 212 views

Just have written an importer for OpenProject Ticket System to Odoo 10.0.

Everything works just perfect and automatic. Except one issue, where we just found a workaround, but no real solution yet.

Therefor i'll describe what we do and the workaround:

Maybe i am just missing something obvious someone may give the hint for me.

Excerpt of what the code does:

 # create sale.order for each imported project    .....
            odoo_id = ProjectProject.create(project_project)    .....
        saleorder = {                    'state': 'draft',                    'date_order': mk_date(row['created_on']),                    'user_id': 1,                    'currency_id': 1,                    'client_order_ref': 'Ticketsystem',                    'partner_id': partner_id[0],                    'partner_invoice_id': partner_id[0],                    'partner_shipping_id': partner_id[0],                    'project_id': pid[0]['analytic_account_id'][0], # Kostenstelle                    'project_project_id': odoo_id, # Projekt                    'picking_policy': 'direct',                    'pricelist_id': 1,                    'note': 'created from openproject import',                    'origin': project_project['openproject_id'],                    'warehouse_id': 1,                    'order_line': [                        (0, 0, {                            'product_uom_qty': 1,                            'product_uom': 5,                            'product_id': general_service_product, # this is product.product of type service, order_policy "timesheet"                        }),                    ],                }        SaleOrder = odoo.get_model('sale.order')        so_id = SaleOrder.search([('origin', '=', project_project['openproject_id'])])        if len(so_id) == 0:
            SaleOrder.create(saleorder)    .....
        # create account.analytic.line    .....
        accaline = {            'openproject_id': row['id'], # used to be able to update/add timesheet entries from openproject            'account_id': none2false(lookup_project_aa(lookup_project(row['project_id']))), # Analysekonto / many2one            'amount': row['hours'] * o.gethourprice(row['id']), # Betrag / monetary            'company_id': 1, # Unternehmen / many2one            'date': mk_date(row['spent_on']), # Datum / date            'name': cleantext(row['comments']), # Beschreibung / char            'product_id': general_service_product, # Produkt / many2one            'project_id': lookup_project(row['project_id']), # Projekt / many2one            'task_id': lookup_task('work_package_id'), # Aufgabe / many2one            'unit_amount': row['hours'], # Anzahl / float            'user_id': lookup_user(row['user_id']), # Benutzer / many2one            }        AccountAnalyticLine = odoo.get_model('account.analytic.line') # this is my xml-rpc factory        odoo_id = AccountAnalyticLine.search([('openproject_id', '=', accaline['openproject_id'])])        if not odoo_id:
            odoo_id = AccountAnalyticLine.create(accaline)    .....


After doing such import, Account analytic lines are all there.

But in Sales/Sales to invoice there is nothing to be invoiced.

Expected Result:

 

- all imported analytic entries should be on "sales to invoice"

Observed Result:

 

No imported entries appear to be invoiced

Workaround:

1. go into Accounting/Advisor/Analytic entries and select & export all, just one unimportant field like "ref".

2. re-import file from 1.

After this, all analytic entries are found to be billable under "Sales to invoice". Although there is no observable result in analytic entries.

Question:

What can be done programmatically to make those analytic entries invoiceable directly with import, without described workaround?

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

5 follower(s)

Stats

Asked: 2/17/17, 6:07 AM
Seen: 212 times
Last updated: 2/17/17, 7:58 AM