Question or Problem Statement:
How can I populate custom fields on the InvoiceDetail object? Is the only way to do this via an API call after the record has been created?
Your documentation for the InvoiceItem shows that it only supports the Query method. How can you update a InvoiceItem when the Invoice is in draft status?
The "Invoice Detail" custom field, or the Invoice Item custom field, could ONLY be updated thru an API call against the Invoice Item object. Furthermore, this is ONLY field that supports the update() call -- all other fields of the Invoice Item object could not be updated. You may refer to our documentation at Edit Custom Fields
Lastly, we have an existing enhancement request to support the process of updating the invoice custom fields thru the web UI. Here's the link from our forums: