Currently, the update-invoice tool requires all line item fields to be provided on every update, and any fields not included are lost. The underlying Xero API supports partial line item updates when a LineItemID is included — only the fields provided are changed, and others (including unit price) are preserved.
Exposing LineItemID in the list-invoices response and accepting it in update-invoice would allow targeted updates such as updating only the quantity on a draft invoice, leaving the unit price (entered manually to 4dp) untouched.
Currently, the update-invoice tool requires all line item fields to be provided on every update, and any fields not included are lost. The underlying Xero API supports partial line item updates when a LineItemID is included — only the fields provided are changed, and others (including unit price) are preserved.
Exposing LineItemID in the list-invoices response and accepting it in update-invoice would allow targeted updates such as updating only the quantity on a draft invoice, leaving the unit price (entered manually to 4dp) untouched.