This question has been flagged
1 Reply
2762 Views

We have been successfully using Odoo 10 for invoicing labor on contract for over the past year.  About two months ago the Delivered Quantity field of the Sales Order stopped updating.  We are using the same sales order, the same product, the same project, and the same task as has worked previously.  We have not exceeded the ordered quantity.

About two invoicing cycles ago time entries recorded to the same Task and same Project as we have been using all along stopped increasing the delivered quantity.  Now when we create a new Invoice from the Sales Order, it includes previously invoiced hours in the total to invoice.  Consequently, we now have to manually calculate the number of hours to invoice our customer for the billing period.  This is obviously a significant problem.

We have reviewed the Odoo source code and the database structure in an attempt to understand how individual order lines are marked as delivered and attempted to discovery if there is a way to update the delivered quantity value manually for the Sales Order so that Odoo will generate invoices with the correct number of labor hours again.  Unfortunately, this has not yet revealed any solutions.

We would be very appreciative if anyone could assist us in restoring the proper tracking of delivered labor on time sheets in Odoo.


Thanks in advance!


--- UPDATE ---


After further investigation we have found the problem was different than originally described.  The Delivered Quantity is updating properly, it is the Invoiced Quantity that has stopped updating.  When we create an invoice and finalize it, the Invoiced total does not increase after the Invoice is generated and confirmed.

Each time we run an invoice the new delivered hours are subtracted from the invoiced hours to obtain the hours to invoice. Since the invoiced hours has stopped updating, the invoice generated includes hours previously invoiced.

Can anyone shed some light into how the Invoiced total is calculated and how we can manually correct it in the database?

Thanks!

Avatar
Discard
Author Best Answer

I believe that we have identified the cause of this issue.  All of the invoiced hours where inserted into the system during our first attempt to use the import tools to bring in timesheet data from employee spreadsheet records.  It seems that the Import system may not execute the model logic appropriately leaving the referential fields in the database not properly initialized.

We have since implemented a custom importer using the XML-RPC interface and it works great.  The full life-cycle of timesheet data ingestion, invoicing, and validation now works as expected.

In our two years of experience leveraging Odoo, the import system has been perhaps the most perplexing and frustrating aspect of the system.  That it can, based on our findings, result in leaving the database in an inconsistent and broken state, it would seem advisable to avoid using it.

Hope this is helpful to others.     

Avatar
Discard

This is helpful to others. Import is EXTREMELY powerful but with that power comes a great responsibility to understand the model structure and the implications of the import action. Thanks for summarizing so well.