When a QuickBooks Online invoice update has no effect, check whether you are writing to a read-only field like Balance. Update the invoice line items or record a payment to move the balance, and remember that updates also require the current SyncToken on the object.

Context: Stack Overflow #18780750 (accepted answer, 4 votes): the asker's invoice update code ran without errors but the balance never changed. The accepted answer is blunt: Balance is a read-only field on Invoice and cannot be updated. It is derived from the line items and payments, so setting it is silently ignored. The fix is to change the invoice lines or record a payment instead of writing to Balance directly.