This still puts most of the load on the customer in terms of building out dunning schedules, handling renewals, etc.
And "beauty" in invoices is not a value proposition. An invoice sitting in someone's inbox is ugly, no matter how pretty it is.
Invoicing software is an exercise in corner cases. Having the renewal date differ from the initial invoice date; sending out invoices 45 days before they're due, except when (...), on days that end in (...), when the moon is a waxing gibbous, etc
Delivering this as an api "solves" it by allowing for unlimited customization, but the customer for this would want it to be checkboxes, not code.