I now have two custom functions that are unable to function across certain ranges of my Invoice history because Books won't permit updating a past invoice in either of the two following conditions:
A). The invoice was charged through a Payment Gateway that is no longer setup, and therefore no longer exists in your system (e.g. switching Stripe to Authorize.net). In other words, any transactions that are associated with a card processor that is subsequently removed from the system are essentially "frozen" at that point and can never be edited or altered again.
B). The payment type used for a transaction is not one of the standard Zoho Books configurable online payment gateways, but instead something specific to another sales channel, such as Cash on Delivery in Commerce. I imagine that this would similarly be an issue for other sales channels like Amazon, Etsy, etc. as such transactions aren't using the standard payment types in Books as well.
The error message for the latter is as follows:
"code": 4020, "message": "The payment gateways listed below are yet to be configured : Cash on Delivery. You can select only the payment gateway(s) which are configured already."
What purpose is this limitation intended to serve?
I should also emphasize that the edits being made to the Invoices in no way ever attempt to alter the either the form of payment or any of the item prices... or anything else for that matter that would result in any difference in the the total dollar amount of the Invoice. Even manual changes are denied.