Hi Paul,
Thanks for reaching out, and for following up with the additional note about the Stripe/PayPal flags.
To answer your questions directly: you aren't missing a trick, and neither of these are glitches. The API is currently designed to process exactly what is explicitly sent in the payload. It doesn't automatically pull in web interface defaults—like default bank accounts or payment gateway flags—if those fields are left out of the request.
I completely understand why you'd want it to work this way, especially to keep your app's permissions as locked down as possible. However, the development team explained that the API works this way to allow for intentional omissions. If the API automatically filled in missing values with account defaults, it would actually remove the ability for developers to intentionally leave those fields blank—a flexibility that many of our current API users rely on.
Because of this, you will need to explicitly include both the bank account details and your preferred Stripe/PayPal flags directly in your API calls if you want them applied to the generated invoices.
I’ve shared your use case with our development team. While we can't change this behaviour right now without breaking integrations for users who rely on leaving those fields empty, they are keeping a close eye on demand to see if we can figure out a different way to support this in the future.
All the best,
John